diff --git a/dist/build/bundle.dev.html b/dist/build/bundle.dev.html index e44b0581..2ca2593d 100644 --- a/dist/build/bundle.dev.html +++ b/dist/build/bundle.dev.html @@ -3,7 +3,7 @@ - fhirclient [17 Feb 2025 at 14:17] + fhirclient [27 Feb 2025 at 08:42] diff --git a/dist/build/bundle.prod.html b/dist/build/bundle.prod.html index f507508a..4b1cbd9b 100644 --- a/dist/build/bundle.prod.html +++ b/dist/build/bundle.prod.html @@ -3,7 +3,7 @@ - fhirclient [17 Feb 2025 at 14:17] + fhirclient [27 Feb 2025 at 08:42] diff --git a/dist/build/bundle.pure.dev.html b/dist/build/bundle.pure.dev.html index 531c503b..27087c34 100644 --- a/dist/build/bundle.pure.dev.html +++ b/dist/build/bundle.pure.dev.html @@ -3,7 +3,7 @@ - fhirclient [17 Feb 2025 at 14:17] + fhirclient [27 Feb 2025 at 08:42] diff --git a/dist/build/bundle.pure.prod.html b/dist/build/bundle.pure.prod.html index fd0e7176..53cc977a 100644 --- a/dist/build/bundle.pure.prod.html +++ b/dist/build/bundle.pure.prod.html @@ -3,7 +3,7 @@ - fhirclient [17 Feb 2025 at 14:17] + fhirclient [27 Feb 2025 at 08:42] diff --git a/dist/build/fhir-client.js b/dist/build/fhir-client.js index e703ef2c..8a6e4d54 100644 --- a/dist/build/fhir-client.js +++ b/dist/build/fhir-client.js @@ -3964,8 +3964,8 @@ function _ready() { url = env.getUrl(); Storage = env.getStorage(); params = url.searchParams; - key = params.get("state"); - code = params.get("code"); + key = params.get("state") || options.stateKey; + code = params.get("code") || options.code; authError = params.get("error"); authErrorDescription = params.get("error_description"); if (key) { @@ -4027,7 +4027,7 @@ function _ready() { case 29: url.searchParams.delete("complete"); // Do we have to remove the `code` and `state` params from the URL? - hasState = params.has("state"); + hasState = params.has("state") || options.stateKey ? true : false; if (isBrowser() && (0, lib_1.getPath)(env, "options.replaceBrowserHistory") && (code || hasState)) { // `code` is the flag that tell us to request an access token. // We have to remove it, otherwise the page will authorize on diff --git a/dist/build/fhir-client.js.map b/dist/build/fhir-client.js.map index 53262816..eded43e7 100644 --- a/dist/build/fhir-client.js.map +++ b/dist/build/fhir-client.js.map @@ -1 +1 @@ -{"version":3,"file":"fhir-client.js","mappings":";;;;;;;;;AAAA;AACA,EAAE,KAA0C,GAAG,oCAAO,OAAO;AAAA;AAAA;AAAA;AAAA,kGAAC;AAC9D,EAAE,CAAS;AACX,CAAC,iBAAiB;;AAElB;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB,kBAAkB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,kFAAkF;AAClF;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB;AACjB;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;AAEA,0CAA0C,OAAO;AACjD;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,gDAAgD,OAAO;AACvD;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA,GAAG;;AAEH;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;;;AAGA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG,uCAAuC,qBAAM;;AAEhD,CAAC;;;;;;;;;;;;;;;;;;AC/XD;;AAEA;AACA;AACA;;AAEAA,kBAAkB,GAAGC,UAAU;AAC/BD,YAAY,GAAGE,IAAI;AACnBF,YAAY,GAAGG,IAAI;AACnBH,iBAAiB,GAAGI,SAAS;AAC7BJ,eAAe,GAAGM,YAAY,CAAC,CAAC;AAChCN,eAAe,GAAI,YAAM;EACxB,IAAIQ,MAAM,GAAG,KAAK;EAElB,OAAO,YAAM;IACZ,IAAI,CAACA,MAAM,EAAE;MACZA,MAAM,GAAG,IAAI;MACbC,OAAO,CAACC,IAAI,CAAC,uIAAuI,CAAC;IACtJ;EACD,CAAC;AACF,CAAC,CAAE,CAAC;;AAEJ;AACA;AACA;;AAEAV,cAAc,GAAG,CAChB,SAAS,EA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A;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,MAAM;AACN;AACA;AACA,OAAO;AACP,MAAM;AACN;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA;AACA;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA,uDAAuD;AACvD,UAAU;AACV;AACA,UAAU;AACV,8EAA8E;AAC9E;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,8BAA8B,qBAAqB;AACnD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,uCAAuC,0BAA0B;AACjE;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,+BAA+B,0BAA0B,eAAe;AACxE;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iDAAiD,aAAa;;AAE9D;;AAEA,CAAC,IAAI;AACL,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,kBAAe;AACf,aAAa,mCAAmC,OAAO;AACvD,eAAe;AACf,eAAe;AACf,gBAAgB;AAChB;;;;;;;;;;;ACziBA;AACA;AACA;AACA;AACA;AACA,IAAI,KAA4D;AAChE;AACA,UAAU,CAeM;AAChB,CAAC;AACD;AACA,iBAAiB,qBAAM,mBAAmB,qBAAM;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA,KAAK;AACL,mCAAmC,EAAE,oBAAoB,EAAE,sBAAsB,EAAE;AACnF;AACA;AACA;AACA,0BAA0B;AAC1B,sCAAsC;AACtC,6DAA6D,+BAA+B;AAC5F,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,eAAe;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,QAAQ;AACzB;AACA,8DAA8D;AAC9D,wCAAwC;AACxC;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA,4CAA4C,OAAO;AACnD;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,QAAQ;AACzB;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,QAAQ;AACzB;AACA,8BAA8B;AAC9B;AACA;AACA,yBAAyB;AACzB;AACA,6BAA6B;AAC7B,6BAA6B;AAC7B;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,QAAQ;AACzB;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA,qCAAqC;AACrC;AACA;AACA;AACA,iEAAiE,EAAE,wBAAwB,EAAE;AAC7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,QAAQ;AACzB;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,eAAe;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,QAAQ;AACzB;AACA,8DAA8D;AAC9D,wCAAwC;AACxC;AACA;AACA;AACA,yBAAyB;AACzB,yBAAyB,sDAAsD,yBAAyB;AACxG;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA,yBAAyB;AACzB;AACA,6BAA6B;AAC7B,6BAA6B;AAC7B,gCAAgC,mDAAmD,+BAA+B;AAClH;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,QAAQ;AACzB;AACA,kCAAkC;AAClC;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA,mDAAmD,IAAI;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C,yCAAyC,sBAAsB;AAC/D,8CAA8C,+BAA+B;AAC7E,0CAA0C,4BAA4B;AACtE,0CAA0C,4BAA4B;AACtE,2CAA2C,4BAA4B;AACvE;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C,8CAA8C,uCAAuC;AACrF,0CAA0C,oCAAoC;AAC9E,0CAA0C,oCAAoC;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA,gDAAgD,wCAAwC;AACxF;AACA,CAAC;;;;;;;;;;;ACzTD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B,WAAW,QAAQ;AACnB,YAAY,OAAO;AACnB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;ACjKA;AACA;AACA,gCAAgC,OAAO;AACvC;AACA;AACA,oCAAoC,yBAAyB,SAAS,yBAAyB;;;;;;;;;;ACL/F,uBAAuB,mBAAO,CAAC,wFAAuB;AACtD;AACA;AACA;AACA,qCAAqC,yBAAyB,SAAS,yBAAyB;;;;;;;;;;ACJhG;AACA;AACA;AACA;AACA,yCAAyC,yBAAyB,SAAS,yBAAyB;;;;;;;;;;ACJpG;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,oCAAoC,yBAAyB,SAAS,yBAAyB;;;;;;;;;;ACzB/F;AACA;AACA;AACA,kCAAkC,yBAAyB,SAAS,yBAAyB;;;;;;;;;;ACH7F,+BAA+B,mBAAO,CAAC,wGAA+B;AACtE,qBAAqB,mBAAO,CAAC,oFAAqB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,yBAAyB,SAAS,yBAAyB;;;;;;;;;;ACTxF,oBAAoB,mBAAO,CAAC,kFAAoB;AAChD;AACA,kBAAkB,cAAc;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,+BAA+B,yBAAyB,SAAS,yBAAyB;;;;;;;;;;ACZ1F,oBAAoB,mBAAO,CAAC,kFAAoB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,kCAAkC,yBAAyB,SAAS,yBAAyB;;;;;;;;;;ACT7F;AACA;AACA;AACA,GAAG,EAAE,yBAAyB,SAAS,yBAAyB;AAChE;AACA,kCAAkC,yBAAyB,SAAS,yBAAyB;;;;;;;;;;ACL7F,qBAAqB,mBAAO,CAAC,oFAAqB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,4BAA4B,yBAAyB,SAAS,yBAAyB;;;;;;;;;;ACbvF;AACA;AACA;AACA;AACA;AACA,yCAAyC,yBAAyB,SAAS,yBAAyB;;;;;;;;;;ACLpG;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,oCAAoC,yBAAyB,SAAS,yBAAyB;;;;;;;;;;ACP/F;AACA;AACA,yFAAyF;AACzF,IAAI;AACJ;AACA;AACA,GAAG,EAAE,yBAAyB,SAAS,yBAAyB;AAChE;AACA,4CAA4C,yBAAyB,SAAS,yBAAyB;;;;;;;;;;ACRvG;AACA;AACA;AACA,mCAAmC,yBAAyB,SAAS,yBAAyB;;;;;;;;;;ACH9F;AACA;AACA;AACA,qCAAqC,yBAAyB,SAAS,yBAAyB;;;;;;;;;;ACHhG,mCAAmC,mBAAO,CAAC,gHAAmC;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,cAAc,kCAAkC;AAChE;AACA;AACA;AACA,2CAA2C,yBAAyB,SAAS,yBAAyB;;;;;;;;;;ACZtG;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA,gDAAgD,yBAAyB,SAAS,yBAAyB;;;;;;;;;;ACT3G,cAAc,sGAAiC;AAC/C,4BAA4B,mBAAO,CAAC,kGAA4B;AAChE;AACA;AACA;AACA;AACA;AACA,6CAA6C,yBAAyB,SAAS,yBAAyB;;;;;;;;;;ACPxG,cAAc,sGAAiC;AAC/C;AACA,gBAAgB;AAChB;AACA;AACA,GAAG,EAAE,yBAAyB,SAAS,yBAAyB;AAChE;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,KAAK;AACL,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,aAAa;AACb,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D;AAC1D;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,eAAe;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,QAAQ;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,+CAA+C,QAAQ;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA,+CAA+C,QAAQ;AACvD;AACA;AACA;AACA,KAAK;AACL;AACA,+CAA+C,QAAQ;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA,sCAAsC,yBAAyB,SAAS,yBAAyB;;;;;;;;;;AC/SjG;AACA;AACA;AACA,GAAG,EAAE,yBAAyB,SAAS,yBAAyB;AAChE;AACA,kCAAkC,yBAAyB,SAAS,yBAAyB;;;;;;;;;;ACL7F,wBAAwB,mBAAO,CAAC,0FAAwB;AACxD,sBAAsB,mBAAO,CAAC,sFAAsB;AACpD,iCAAiC,mBAAO,CAAC,4GAAiC;AAC1E,wBAAwB,mBAAO,CAAC,0FAAwB;AACxD;AACA;AACA;AACA,qCAAqC,yBAAyB,SAAS,yBAAyB;;;;;;;;;;ACPhG,c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,mBAAO,CAAC,iHAA0C;AAClF,qBAAqB,mBAAO,CAAC,6FAAgC;AAC7D,0BAA0B,mBAAO,CAAC,uFAA6B;;AAE/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,WAAW;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH,EAAE;AACF;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;;AAE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FAA0B;AACpD,YAAY,mBAAO,CAAC,qEAAoB;AACxC,oBAAoB,mBAAO,CAAC,yGAAsC;;AAElE;AACA;AACA;AACA;AACA,uBAAuB;AACvB,GAAG;AACH,CAAC;;;;;;;;;;;;ACXY;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;ACtGa;AACb,kBAAkB,mBAAO,CAAC,qGAAoC;AAC9D,YAAY,mBAAO,CAAC,qEAAoB;AACxC,cAAc,mBAAO,CAAC,iFAA0B;;AAEhD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,EAAE;;;;;;;;;;;;ACfW;AACb,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,qBAAqB,mBAAO,CAAC,yGAAsC;;AAEnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AClBa;AACb,kBAAkB,mBAAO,CAAC,qGAAoC;AAC9D,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,YAAY,mBAAO,CAAC,mFAA2B;;AAE/C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;ACda;AACb,sBAAsB,mBAAO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mBAAO,CAAC,uFAA6B;;AAE/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,sCAAsC,aAAa,cAAc,UAAU;AAC3E,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD,iCAAiC;AACtF;AACA;AACA;AACA,sCAAsC,sBAAsB;AAC5D;AACA;AACA;AACA,4DAA4D,iBAAiB;AAC7E;AACA,MAAM;AACN,IAAI,gBAAgB;AACpB;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACtDY;AACb,WAAW,mBAAO,CAAC,6EAAwB;;AAE3C;;AAEA,qCAAqC;AACrC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACtBa;AACb,iBAAiB,mBAAO,CAAC,2FAA+B;;AAExD,6CAA6C;AAC7C,gDAAgD;AAChD,gDAAgD;;AAEhD;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACZa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACRa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACVa;AACb,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,qBAAqB,mBAAO,CAAC,6FAAgC;AAC7D,WAAW,mBAAO,CAAC,qGAAoC;AACvD,gBAAgB,8FAAgC;AAChD,YAAY,mBAAO,CAAC,qEAAoB;AACxC,aAAa,mBAAO,CAAC,+FAAiC;AACtD,oBAAoB,mBAAO,CAAC,6GAAwC;AACpE,sBAAsB,mBAAO,CAAC,iHAA0C;AACxE,cAAc,mBAAO,CAAC,iGAAkC;;AAExD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gDAAgD,qBAAqB;AACrE;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;AC9Ea;AACb,gBAAgB,mBAAO,CAAC,+EAAyB;;AAEjD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA;;;;;;;;;;;;ACpBa;AACb,eAAe,mBAAO,CAAC,6EAAwB;;AAE/C;;AAEA;AACA;AACA;AACA,IAAI;AACJ;;;;;;;;;;;;ACTa;AACb,kBAAkB,mBAAO,CAAC,iFAA0B;AACpD,kBAAkB,mBAAO,CAAC,qGAAoC;AAC9D,WAAW,mBAAO,CAAC,qFAA4B;AAC/C,YAAY,mBAAO,CAAC,qEAAoB;AACxC,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,kCAAkC,mBAAO,CAAC,yHAA8C;AACxF,iCAAiC,mBAAO,CAAC,qHAA4C;AACrF,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,oBAAoB,mBAAO,CAAC,uFAA6B;;AAEzD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,+BAA+B,MAAM,2BAA2B;AAChE;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG,KAAK,MAAM;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,eAAe;AAC7D,mBAAmB,2CAA2C;AAC9D,CAAC,sCAAsC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,EAAE;;;;;;;;;;;;ACxDW;AACb;AACA,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,6BAA6B,mBAAO,CAAC,2GAAuC;AAC5E,kBAAkB,mBAAO,CAAC,qFAA4B;AACtD,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,WAAW,mBAAO,CAAC,mEAAmB;AACtC,4BAA4B,mBAAO,CAAC,yGAAsC;AAC1E,gBAAgB,mBAAO,CAAC,+EAAyB;;AAEjD;AACA;AACA;AACA;AACA;;AAEA,qCAAqC;;AAErC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,gBAAgB;AACpB;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;;;;;;;;;;;ACpFa;AACb,kBAAkB,mBAAO,CAAC,iFAA0B;AACpD,8BAA8B,mBAAO,CAAC,yGAAsC;AAC5E,2BAA2B,mBAAO,CAAC,uGAAqC;AACxE,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,sBAAsB,mBAAO,CAAC,6FAAgC;AAC9D,iBAAiB,mBAAO,CAAC,iFAA0B;;AAEnD;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACpBa;AACb,kBAAkB,mBAAO,CAAC,iFAA0B;AACpD,qBAAqB,mBAAO,CAAC,uFAA6B;AAC1D,8BAA8B,mBAAO,CAAC,yGAAsC;AAC5E,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,oBAAoB,mBAAO,CAAC,yFAA8B;;AAE1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,IAAI,gBAAgB;AACpB;AACA;AACA;AACA;;;;;;;;;;;;AC3Ca;AACb,kBAAkB,mBAAO,CAAC,iFAA0B;AACpD,WAAW,mBAAO,CAAC,qFAA4B;AAC/C,iCAAiC,mBAAO,CAAC,qHAA4C;AACrF,+BAA+B,mBAAO,CAAC,+GAAyC;AAChF,sBAAsB,mBAA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AC,qGAAoC;AAC9D,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,kBAAkB,mBAAO,CAAC,mFAA2B;AACrD,oBAAoB,mBAAO,CAAC,qGAAoC;AAChE,aAAa,mBAAO,CAAC,uEAAqB;AAC1C,aAAa,mBAAO,CAAC,qFAA4B;AACjD,uBAAuB,kHAA0C;AACjE,0BAA0B,mBAAO,CAAC,+GAAyC;AAC3E,sBAAsB,mBAAO,CAAC,uGAAqC;;AAEnE;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,0BAA0B;AAC9C;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA,kBAAkB,mBAAmB;AACrC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;;;;;ACpHa;AACb,eAAe,mBAAO,CAAC,6EAAwB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACjBa;AACb,WAAW,mBAAO,CAAC,qFAA4B;AAC/C,aAAa,mBAAO,CAAC,2FAA+B;AACpD,oBAAoB,mBAAO,CAAC,uGAAqC;AACjE,kBAAkB,mBAAO,CAAC,mFAA2B;;AAErD;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACZa;AACb,YAAY,mBAAO,CAAC,qEAAoB;AACxC,iBAAiB,mBAAO,CAAC,iFAA0B;;AAEnD;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC9Ba;AACb,YAAY,mBAAO,CAAC,qEAAoB;AACxC,iBAAiB,mBAAO,CAAC,iFAA0B;;AAEnD;AACA;;AAEA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACVY;AACb,YAAY,mBAAO,CAAC,qEAAoB;AACxC,iBAAiB,mBAAO,CAAC,iFAA0B;;AAEnD;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACXY;AACb,wBAAwB,mBAAO,CAAC,mGAAmC;;AAEnE;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACVa;AACb,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,kBAAkB,mBAAO,CAAC,iFAA0B;;AAEpD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACZa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACPa;AACb,iBAAiB,mBAAO,CAAC,mFAA2B;AACpD,4BAA4B,mBAAO,CAAC,2GAAuC;AAC3E,sBAAsB,mBAAO,CAAC,6FAAgC;AAC9D,kBAAkB,mBAAO,CAAC,iFAA0B;;AAEpD;;AAEA;AACA;;AAEA;AACA;AACA;AACA,yBAAyB;AACzB,KAAK;AACL;AACA;;;;;;;;;;;;ACjBa;AACb,qBAAqB,gIAAgD;AACrE,aAAa,mBAAO,CAAC,2FAA+B;AACpD,sBAAsB,mBAAO,CAAC,6FAAgC;;AAE9D;;AAEA;AACA;AACA;AACA,4CAA4C,gCAAgC;AAC5E;AACA;;;;;;;;;;;;ACZa;AACb,aAAa,mBAAO,CAAC,uEAAqB;AAC1C,UAAU,mBAAO,CAAC,iEAAkB;;AAEpC;;AAEA;AACA;AACA;;;;;;;;;;;;ACRa;AACb,cAAc,mBAAO,CAAC,yEAAsB;AAC5C,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,2BAA2B,mBAAO,CAAC,uGAAqC;;AAExE;AACA,kFAAkF;;AAElF;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACdY;AACb,YAAY,mBAAO,CAAC,mFAA2B;;AAE/C;AACA,gDAAgD;AAChD;;;;;;;;;;;;ACLa;AACb,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,mBAAmB,mBAAO,CAAC,qFAA4B;AACvD,wBAAwB,mBAAO,CAAC,mGAAmC;AACnE,sBAAsB,mBAAO,CAAC,6FAAgC;;AAE9D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACda;AACb,YAAY,mBAAO,CAAC,qEAAoB;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;ACVa;AACb,kBAAkB,mBAAO,CAAC,qGAAoC;AAC9D,0BAA0B,mBAAO,CAAC,uGAAqC;AACvE,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,6BAA6B,mBAAO,CAAC,2GAAuC;;AAE5E;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACpCa;AACb;AACA,kBAAkB,mBAAO,CAAC,qGAAoC;;AAE9D,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB,qBAAqB;AACrB,oCAAoC;AACpC,gDAAgD;AAChD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA,QAAQ;AACR,wCAAwC;AACxC;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,kBAAkB;AAChC;AACA;AACA;AACA;AACA;;AAEA,mCAAmC;AACnC,oCAAoC;;AAEpC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB,kBAAkB;AAClC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,gBAAgB,kBAAkB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,mBAAmB;AACjC;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACpLa;AACb,2BAA2B,mHAA4C;AACvE,YAAY,mBAAO,CAAC,qEAAoB;AACxC,kBAAkB,mBAAO,CAAC,iFAA0B;;AAEpD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;ACfa;AACb,kBAAkB,mBAAO,CAAC,qGAAoC;AAC9D,6BAA6B,mBAAO,CAAC,2GAAuC;AAC5E,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,kBAAkB,mBAAO,CAAC,iFAA0B;;AAEpD;AACA;AACA;;AAEA,uBAAuB,+CAA+C;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB,qBAAqB;AAC9C;AACA;AACA,yBAAyB,oBAAoB;AAC7C;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC9Ba;AACb;AACA,iBAAiB,mBAAO,CAAC,uGAAqC;AAC9D,YAAY,mBAAO,CAAC,qEAAoB;AACxC,iBAAiB,mBAAO,CAAC,iFAA0B;;AAEnD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;AClBY;AACb,WAAW,mBAAO,CAAC,qFAA4B;AAC/C,iBAAiB,mBAAO,CAAC,mFAA2B;AACpD,sBAAsB,mBAAO,CAAC,6FAAgC;AAC9D,oBAAoB,mBAAO,CAAC,yFAA8B;;AAE1D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,IAAI,UAAU;AACnB;AACA;;;;;;;;;;;;ACpBa;AACb,oBAAoB,mBAAO,CAAC,mHAA2C;;AAEvE;AACA;;;;;;;;;;;;ACJa;AACb,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,YAAY,mBAAO,CAAC,uFAA6B;AACjD,WAAW,mBAAO,CAAC,qGAAoC;AACvD,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,aAAa,mBAAO,CAAC,2FAA+B;AACpD,YAAY,mBAAO,CAAC,qEAAoB;AACxC,WAAW,mBAAO,CAAC,mEAAmB;AACtC,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,oBAAoB,mBAAO,CAAC,yGAAsC;AAClE,8BAA8B,mBAAO,CAAC,6GAAwC;AAC9E,aAAa,mBAAO,CAAC,+FAAiC;AACtD,cAAc,mBAAO,CAAC,iGAAkC;;AAExD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;ACpHa;AACb,kBAAkB,mBAAO,CAAC,qGAAoC;;AAE9D;AACA;AACA;;;;;;;;;;;;ACLa;AACb,0BAA0B,mBAAO,CAAC,uGAAqC;;AAEvE;AACA;;AAEA;AACA;AACA,6DAA6D;AAC7D;AACA;AACA;AACA;;;;;;;;;;;;ACZa;AACb,kBAAkB,mBAAO,C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ACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAM,kEAAkE;AACxE;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;;AAEP;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA,QAAQ,mFAAmF;;AAE3F;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,EAAE,oCAAoC;;;;;;;;;;;;AC3OzB;AACb;AACA,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,YAAY,mBAAO,CAAC,qEAAoB;AACxC,kCAAkC,mBAAO,CAAC,uHAA6C;AACvF,gCAAgC,wJAAwE;;AAExG;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA,CAAC;;;;;;;;;;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ACA;AACA,QAAQ;AACR;AACA,QAAQ;AACR,MAAM;AACN,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,eAAe;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,OAAO;AACP,MAAM;AACN;AACA;AACA;AACA;AACA,IAAI;AACJ,qBAAqB,aAAa;AAClC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO,IAAI,cAAc;AACzB;;AAEA;AACA;AACA;AACA,MAAM,gBAAgB;;AAEtB;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI,iFAAiF;AACrF;AACA,CAAC;;AAED;AACA;;;;;;;;;;;;AC/Ra;AACb,QAAQ,mBAAO,CAAC,uEAAqB;AACrC,cAAc,mBAAO,CAAC,yEAAsB;AAC5C,+BAA+B,mBAAO,CAAC,+GAAyC;AAChF,YAAY,mBAAO,CAAC,qEAAoB;AACxC,iBAAiB,mBAAO,CAAC,mFAA2B;AACpD,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,yBAAyB,mBAAO,CAAC,iGAAkC;AACnE,qBAAqB,mBAAO,CAAC,yFAA8B;AAC3D,oBAAoB,mBAAO,CAAC,yFAA8B;;AAE1D;;AAEA;AACA;AACA;AACA,2CAA2C,oBAAoB,eAAe,gBAAgB,aAAa;AAC3G,CAAC;;AAED;AACA;AACA,IAAI,iEAAiE;AACrE;AACA;AACA;AACA;AACA;AACA,iEAAiE,WAAW;AAC5E,QAAQ;AACR;AACA,iEAAiE,UAAU;AAC3E,QAAQ;AACR;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,+DAA+D,cAAc;AAC7E;AACA;;;;;;;;;;;;AC1Ca;AACb;AACA,mBAAO,CAAC,mGAAmC;AAC3C,mBAAO,CAAC,mFAA2B;AACnC,mBAAO,CAAC,uFAA6B;AACrC,mBAAO,CAAC,qFAA4B;AACpC,mBAAO,CAAC,yFAA8B;AACtC,mBAAO,CAAC,2FAA+B;;;;;;;;;;;;ACP1B;AACb,QAAQ,mBAAO,CAAC,uEAAqB;AACrC,WAAW,mBAAO,CAAC,qFAA4B;AAC/C,gBAAgB,mBAAO,CAAC,+EAAyB;AACjD,iCAAiC,mBAAO,CAAC,uGAAqC;AAC9E,cAAc,mBAAO,CAAC,yEAAsB;AAC5C,cAAc,mBAAO,CAAC,yEAAsB;AAC5C,0CAA0C,mBAAO,CAAC,iIAAkD;;AAEpG;AACA;AACA,IAAI,4EAA4E;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACzBY;AACb,QAAQ,mBAAO,CAAC,uEAAqB;AACrC,iCAAiC,mBAAO,CAAC,uGAAqC;AAC9E,iCAAiC,wJAAiE;;AAElG;AACA;AACA,IAAI,mEAAmE;AACvE;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACdY;AACb,QAAQ,mBAAO,CAAC,uEAAqB;AACrC,iBAAiB,mBAAO,CAAC,mFAA2B;AACpD,cAAc,mBAAO,CAAC,yEAAsB;AAC5C,+BAA+B,mBAAO,CAAC,+GAAyC;AAChF,iCAAiC,wJAAiE;AAClG,qBAAqB,mBAAO,CAAC,yFAA8B;;AAE3D;AACA;;AAEA;AACA;AACA,IAAI,8EAA8E;AAClF;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACjBY;AACb,QAAQ,mBAAO,CAAC,uEAAqB;AACrC,iBAAiB,mBAAO,CAAC,mFAA2B;AACpD,YAAY,mBAAO,CAAC,uFAA6B;AACjD,WAAW,mBAAO,CAAC,qFAA4B;AAC/C,mBAAmB,mBAAO,CAAC,qFAA4B;AACvD,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,aAAa,mBAAO,CAAC,qFAA4B;AACjD,YAAY,mBAAO,CAAC,qEAAoB;;AAExC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,yCAAyC,aAAa;AACtD,CAAC;;AAED;AACA,gCAAgC,aAAa;AAC7C,CAAC;;AAED;;AAEA,IAAI,6DAA6D;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACxDY;AACb,kBAAkB,mBAAO,CAAC,iFAA0B;AACpD,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,kBAAkB,mBAAO,CAAC,qGAAoC;AAC9D,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,wBAAwB,mBAAO,CAAC,iGAAkC;AAClE,kCAAkC,mBAAO,CAAC,uHAA6C;AACvF,aAAa,mBAAO,CAAC,qFAA4B;AACjD,0BAA0B,8IAAuD;AACjF,oBAAoB,mBAAO,CAAC,uGAAqC;AACjE,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,qBAAqB,mBAAO,CAAC,2FAA+B;AAC5D,oBAAoB,mBAAO,CAAC,qGAAoC;AAChE,oBAAoB,mBAAO,CAAC,uFAA6B;AACzD,oBAAoB,mBAAO,CAAC,yFAA8B;AAC1D,YAAY,mBAAO,CAAC,qEAAoB;AACxC,aAAa,mBAAO,CAAC,2FAA+B;AACpD,2BAA2B,sHAA8C;AACzE,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,sBAAsB,mBAAO,CAAC,6FAAgC;AAC9D,0BAA0B,mBAAO,CAAC,+GAAyC;AAC3E,sBAAsB,mBAAO,CAAC,uGAAqC;;AAEnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,iBAAiB;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,iBAAiB;AAC1B;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM,gBAAgB;;AAEtB;AACA;;AAEA,gEAAgE,oBAAoB;AACpF;AACA;;AAEA;AACA;AACA,uDAAuD,mBAAmB;AAC1E;;AAEA;AACA;;;;;;;;;;;;ACpMa;AACb,QAAQ,mBAAO,CAAC,uEAAqB;AACrC,WAAW,mBAAO,CAAC,iFAA0B;;AAE7C;AACA;AACA,IAAI,0DAA0D;AAC9D;AACA,CAAC;;;;;;;;;;;;ACRY;AACb,2BAA2B,mHAA4C;AACvE,oBAAoB,mBAAO,CAAC,yFAA8B;AAC1D,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,gBAAgB,mBAAO,CAAC,6EAAwB;AAChD,YAAY,mBAAO,CAAC,qEAAoB;AACxC,qBAAqB,mBAAO,CAAC,2FAA+B;;AAE5D;AACA;AACA;;AAEA,sCAAsC,6BAA6B,yBAAyB,eAAe;AAC3G;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG,IAAI,cAAc;AACrB;;;;;;;;;;;;ACzBa;AACb,QAAQ,mBAAO,CAAC,uEAAqB;AACrC,kBAAkB,mBAAO,CAAC,qGAAoC;AAC9D,sBAAsB,mBAAO,CAAC,6FAAgC;;AAE9D;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,IAAI,kEAAkE;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,CAAC;;;;;;;;;;;;AC/BY;AACb,QAAQ,mBAAO,CAAC,uEAAqB;AACrC,kBAAkB,mBAAO,CAAC,qGAAoC;AAC9D,iBAAiB,mBAAO,CAAC,mFAA2B;AACpD,6BAA6B,mBAAO,CAAC,2GAAuC;AAC5E,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,2BAA2B,mBAAO,CAAC,yGAAsC;;AAEzE;;AAEA;AACA;AACA,IAAI,0EAA0E;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACpBY;AACb,aAAa,yHAA+C;AAC5D,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,0BAA0B,mBAAO,CAAC,uFAA6B;AAC/D,qBAAqB,mBAAO,CAAC,yFAA8B;AAC3D,6BAA6B,mBAAO,CAAC,6GAAwC;;AAE7E;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;AC9BY;AACb,QAAQ,mBAAO,CAAC,uEAAqB;AACrC,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,6BAA6B,mBAAO,CAAC,+FAAiC;;AAEtE;AACA;AACA,IAAI,uEAAuE;AAC3E;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACXY;AACb,WAAW,mBAAO,CAAC,qFAA4B;AAC/C,oCAAoC,mBAAO,CAAC,+HAAiD;AAC7F,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,wBAAwB,mBAAO,CAAC,mGAAmC;AACnE,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,6BAA6B,mBAAO,CAAC,2GAAuC;AAC5E,gBAAgB,mBAAO,CAAC,+EAAyB;AACjD,yBAAyB,mBAAO,CAAC,mGAAmC;AACpE,iBAAiB,mBAAO,CAAC,mGAAmC;;AAE5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;AC/CY;AACb,YAAY,mBAAO,CAAC,uFAA6B;AACjD,WAAW,mBAAO,CAAC,qFAA4B;AAC/C,kBAAkB,mBAAO,CAAC,qGAAoC;AAC9D,oCAAoC,mBAAO,CAAC,+HAAiD;AAC7F,YAAY,mBAAO,CAAC,qEAAoB;AACxC,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,wBAAwB,mBAAO,CAAC,mGAAmC;AACnE,0BAA0B,mBAAO,CAAC,uGAAqC;AACvE,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,6BAA6B,mBAAO,CAAC,2GAAuC;AAC5E,yBAAyB,mBAAO,CAAC,mGAAmC;AACpE,gBAAgB,mBAAO,CAAC,+EAAyB;AACjD,sBAAsB,mBAAO,CAAC,2FAA+B;AAC7D,iBAAiB,mBAAO,CAAC,mGAAmC;AAC5D,sBAAsB,mBAAO,CAAC,6FAAgC;;AAE9D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB,oBAAoB;AAC1C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,mBAAmB;AAC3C;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;AC7IY;AACb,WAAW,mBAAO,CAAC,qFAA4B;AAC/C,oCAAoC,mBAAO,CAAC,+HAAiD;AAC7F,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,wBAAwB,mBAAO,CAAC,mGAAmC;AACnE,6BAA6B,mBAAO,CAAC,2GAAuC;AAC5E,gBAAgB,mBAAO,CAAC,+EAAyB;AACjD,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,gBAAgB,mBAAO,CAAC,+EAAyB;AACjD,iBAAiB,mBAAO,CAAC,mGAAmC;;AAE5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACrCY;AACb,WAAW,mBAAO,CAAC,qFAA4B;AAC/C,kBAAkB,mBAAO,CAAC,qGAAoC;AAC9D,oCAAoC,mBAAO,CAAC,+HAAiD;AAC7F,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,wBAAwB,mBAAO,CAAC,mGAAmC;AACnE,6BAA6B,mBAAO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,MAAM;AACN,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA,+EAA+E,iCAAiC;AAChH;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,sFAAsF,cAAc;AACpG;AACA;AACA;;AAEA,IAAI,2FAA2F;AAC/F;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED,IAAI,oDAAoD;AACxD,2BAA2B,oBAAoB;AAC/C,2BAA2B;AAC3B,CAAC;;AAED,IAAI,0EAA0E;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,IAAI,sDAAsD;AAC1D;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;;;;;ACtQa;AACb,QAAQ,mBAAO,CAAC,uEAAqB;AACrC,iBAAiB,mBAAO,CAAC,mFAA2B;AACpD,aAAa,mBAAO,CAAC,2FAA+B;AACpD,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,aAAa,mBAAO,CAAC,uEAAqB;AAC1C,6BAA6B,mBAAO,CAAC,6GAAwC;;AAE7E;AACA;;AAEA;AACA;AACA,IAAI,+DAA+D;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACtBY;AACb;AACA,mBAAO,CA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A;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,6DAA6D;AACrF;AACA,MAAM;AACN,sBAAsB,yCAAyC;AAC/D;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,+CAA+C;AACzE;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,wBAAwB;AACnC;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,wBAAwB;AACnC;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,wBAAwB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,sBAAsB;AACtD;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,CAAC,IAAI,kBAAkB;;AAEvB;AACA,sFAAsF,iBAAiB;;AAEvG;AACA;AACA;AACA;AACA,CAAC,IAAI,kBAAkB;;AAEvB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,CAAC;;AAED;;AAEA,IAAI,0DAA0D;AAC9D;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iFAAiF;AACjF;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,MAAM;AACN;;AAEA;AACA,QAAQ,oEAAoE;AAC5E;AACA,8FAA8F;AAC9F;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,kGAAkG;AAClG;;AAEA;AACA;;AAEA,QAAQ,qEAAqE;AAC7E;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;AC9fa;AACb;AACA,mBAAO,CAAC,yHAA8C;;;;;;;;;;;;ACFzC;AACb;AACA,mBAAO,CAAC,2FAA+B;AACvC,QAAQ,mBAAO,CAAC,uEAAqB;AACrC,kBAAkB,mBAAO,CAAC,iFAA0B;AACpD,qBAAqB,mBAAO,CAAC,6GAAwC;AACrE,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,WAAW,mBAAO,CAAC,qGAAoC;AACvD,kBAAkB,mBAAO,CAAC,qGAAoC;AAC9D,oBAAoB,mBAAO,CAAC,yFAA8B;AAC1D,4BAA4B,mBAAO,CAAC,2GAAuC;AAC3E,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,aAAa,mBAAO,CAAC,2FAA+B;AACpD,aAAa,mBAAO,CAAC,qFAA4B;AACjD,gBAAgB,mBAAO,CAAC,+EAAyB;AACjD,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,aAAa,yHAA+C;AAC5D,cAAc,mBAAO,CAAC,2GAAuC;AAC7D,gBAAgB,mBAAO,CAAC,6EAAwB;AAChD,qBAAqB,mBAAO,CAAC,6FAAgC;AAC7D,8BAA8B,mBAAO,CAAC,6GAAwC;AAC9E,4BAA4B,mBAAO,CAAC,yHAA8C;AAClF,0BAA0B,mBAAO,CAAC,uFAA6B;;AAE/D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,qBAAqB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,kBAAkB,qBAAqB;AACvC;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,kBAAkB,wBAAwB;AAC1C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,WAAW;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB,WAAW;AAC/B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oBAAoB,WAAW;AAC/B;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,wCAAwC;AACxC;AACA,CAAC;AACD,oCAAoC;AACpC,oBAAoB,QAAQ;AAC5B,CAAC;AACD,wCAAwC;AACxC,oBAAoB;AACpB,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA,YAAY;AACZ;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA;AACA;AACA,4BAA4B,6BAA6B;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,YAAY;AACZ;AACA;AACA,YAAY;AACZ;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,kDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,YAAY;AACZ;AACA,YAAY;;AAEZ;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,YAAY;AACZ;AACA,YAAY;;AAEZ;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,sBAAsB,2BAA2B;AACjD;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,IAAI,kBAAkB;;AAEvB;AACA;AACA;AACA;AACA,CAAC,IAAI,kBAAkB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,IAAI,8EAA8E;AAClF;AACA,CAAC;;;;;;;;;;;;ACzhCY;AACb;AACA,mBAAO,CAAC,6FAAgC;;;;;;;;;;;;ACF3B;AACb,QAAQ,mBAAO,CAAC,uEAAqB;AACrC,WAAW,mBAAO,CAAC,qFAA4B;;AAE/C;AACA;AACA,IAAI,8CAA8C;AAClD;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACV4B;AAC7B,+DAAe,aAAa;;;;;;;;;;;;ACD5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,MAAM;AACN;AACA;AACA,MAAM;AACN;AACA;AACA,CAAC,sCAAsC,SAAI;AAC3C;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,yBAAyB,cAAc;AACvC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS,yBAAyB;AAClC;;AAEA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA,+FAA+F,8BAA8B;AAC7H;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,yDAAyD;AACzD,oBAAoB;AACpB;AACA;AACA;AACA;AACA,2CAA2C;AAC3C,iCAAiC,mBAAmB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,oBAAoB;AACrD;AACA;AACA;AACA;AACA,4FAA4F;AAC5F;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,kDAAkD;AAClD;AACA;;AAEA,oBAAoB,wCAAwC;AAC5D,oBAAoB;;AAEpB;AACA;AACA,4BAA4B;;AAE5B;;AAEA;AACA;;AAEA;AACA;AACA;AACA,gCAAgC,OAAO;AACvC;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,eAAe;AAC9D;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,0BAA0B;;AAE1B,4CAA4C;AAC5C;AACA,6BAA6B,SAAS;AACtC;AACA,iDAAiD;AACjD;AACA,6BAA6B,SAAS;AACtC;AACA,mCAAmC;AACnC;AACA;AACA,gEAAgE;AAChE;AACA;AACA,6BAA6B,SAAS;AACtC;AACA,2CAA2C;AAC3C,6BAA6B,gBAAgB;AAC7C;AACA;AACA,sGAAsG;AACtG;AACA,yBAAyB,iBAAiB,SAAS;AACnD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,+CAA+C,gEAAgE;AAC/G;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;;AAEA,6DAA6D;AAC7D;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yDAAyD;AACzD,yDAAyD;AACzD,qBAAqB;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,SAAS;;AAET;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,sEAAsE;AACtE;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yDAAyD;AACzD,yDAAyD;AACzD,qBAAqB;AACrB;;AAEA;AACA;AACA,8EAA8E;AAC9E;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;AACA;AACA,SAAS;;AAET;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB;AACrB;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iDAAiD;AACjD,iDAAiD;AACjD,aAAa;;AAEb;AACA;;AAEA;AACA,+BAA+B,wBAAwB,qCAAqC;AAC5F,+BAA+B,gBAAgB;AAC/C,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED,CAAC,sEAAe,EAAE,GAAC;;;;;;;UCnmBnB;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,GAAG;WACH;WACA;WACA,CAAC;;;;;UEPD;UACA;UACA;UACA","sources":["webpack://FHIR/./node_modules/abortcontroller-polyfill/dist/abortcontroller-polyfill-only.js","webpack://FHIR/./node_modules/debug/src/browser.js","webpack://FHIR/./node_modules/debug/src/common.js","webpack://FHIR/./src/Client.ts","webpack://FHIR/./src/HttpError.ts","webpack://FHIR/./src/adapters/BrowserAdapter.ts","webpack://FHIR/./src/entry/browser.ts","webpack://FHIR/./src/lib.ts","webpack://FHIR/./src/security/browser.ts","webpack://FHIR/./src/settings.ts","webpack://FHIR/./src/smart.ts","webpack://FHIR/./src/storage/BrowserStorage.ts","webpack://FHIR/./src/strings.ts","webpack://FHIR/./node_modules/cross-fetch/dist/browser-ponyfill.js","webpack://FHIR/./node_modules/js-base64/base64.js","webpack://FHIR/./node_modules/ms/index.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/asyncToGenerator.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/classCallCheck.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/construct.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/createClass.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/defineProperty.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/getPrototypeOf.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/inherits.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/isNativeFunction.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/objectWithoutProperties.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/toPrimitive.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/toPropertyKey.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/typeof.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/wrapNativeSuper.js","webpack://FHIR/./node_modules/@babel/runtime/regenerator/index.js","webpack://FHIR/./node_modules/core-js/internals/a-callable.js","webpack://FHIR/./node_modules/core-js/internals/a-constructor.js","webpack://FHIR/./node_modules/core-js/internals/a-possible-prototype.js","webpack://FHIR/./node_modules/core-js/internals/add-to-unscopables.js","webpack://FHIR/./node_modules/core-js/internals/advance-string-index.js","webpack://FHIR/./node_modules/core-js/internals/an-instance.js","webpack://FHIR/./node_modules/core-js/internals/an-object.js","webpack://FHIR/./node_modules/core-js/internals/array-buffer-basic-detection.js","webpack://FHIR/./node_modules/core-js/internals/array-buffer-view-core.js","webpack://FHIR/./node_modules/core-js/internals/array-buffer.js","webpack://FHIR/./node_modules/core-js/internals/array-copy-within.js","webpack://FHIR/./node_modules/core-js/internals/array-fill.js","webpack://FHIR/./node_modules/core-js/internals/array-for-each.js","webpack://FHIR/./node_modules/core-js/internals/array-from-constructor-and-list.js","webpack://FHIR/./node_modules/core-js/internals/array-from.js","webpack://FHIR/./node_modules/core-js/internals/array-includes.js","webpack://FHIR/./node_modules/core-js/internals/array-iteration.js","webpack://FHIR/./node_modules/core-js/internals/array-last-index-of.js","webpack://FHIR/./node_modules/core-js/internals/array-method-has-species-support.js","webpack://FHIR/./node_modules/core-js/internals/array-method-is-strict.js","webpack://FHIR/./node_modules/core-js/internals/array-reduce.js","webpack://FHIR/./node_modules/core-js/internals/array-set-length.js","webpack://FHIR/./node_modules/core-js/internals/array-slice.js","webpack://FHIR/./node_modules/core-js/internals/array-sort.js","webpack://FHIR/./node_modules/core-js/internals/array-species-constructor.js","webpack://FHIR/./node_modules/core-js/internals/array-species-create.js","webpack://FHIR/./node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack://FHIR/./node_modules/core-js/internals/check-correctness-of-iteration.js","webpack://FHIR/./node_modules/core-js/internals/classof-raw.js","webpack://FHIR/./node_modules/core-js/internals/classof.js","webpack://FHIR/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://FHIR/./node_modules/core-js/internals/correct-is-regexp-logic.js","webpack://FHIR/./node_modules/core-js/internals/correct-prototype-getter.js","webpack://FHIR/./node_modules/core-js/internals/create-html.js","webpack://FHIR/./node_modules/core-js/internals/create-iter-result-object.js","webpack://FHIR/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://FHIR/./node_modules/core-js/internals/create-property-descriptor.js","webpack://FHIR/./node_modules/core-js/internals/create-property.js","webpack://FHIR/./node_modules/core-js/internals/define-built-in-accessor.js","webpack://FHIR/./node_modules/core-js/internals/define-built-in.js","webpack://FHIR/./node_modules/core-js/internals/define-built-ins.js","webpack://FHIR/./node_modules/core-js/internals/define-global-property.js","webpack://FHIR/./node_modules/core-js/internals/delete-property-or-throw.js","webpack://FHIR/./node_modules/core-js/internals/descriptors.js","webpack://FHIR/./node_modules/core-js/internals/document-create-element.js","webpack://FHIR/./node_modules/core-js/internals/does-not-exceed-safe-integer.js","webpack://FHIR/./node_modules/core-js/internals/dom-iterables.js","webpack://FHIR/./node_modules/core-js/internals/dom-token-list-prototype.js","webpack://FHIR/./node_modules/core-js/internals/enum-bug-keys.js","webpack://FHIR/./node_modules/core-js/internals/environment-ff-version.js","webpack://FHIR/./node_modules/core-js/internals/environment-is-ie-or-edge.js","webpack://FHIR/./node_modules/core-js/internals/environment-is-ios-pebble.js","webpack://FHIR/./node_modules/core-js/internals/environment-is-ios.js","webpack://FHIR/./node_modules/core-js/internals/environment-is-node.js","webpack://FHIR/./node_modules/core-js/internals/environment-is-webos-webkit.js","webpack://FHIR/./node_modules/core-js/internals/environment-user-agent.js","webpack://FHIR/./node_modules/core-js/internals/environment-v8-version.js","webpack://FHIR/./node_modules/core-js/internals/environment-webkit-version.js","webpack://FHIR/./node_modules/core-js/internals/environment.js","webpack://FHIR/./node_modules/core-js/internals/export.js","webpack://FHIR/./node_modules/core-js/internals/fails.js","webpack://FHIR/./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","webpack://FHIR/./node_modules/core-js/internals/flatten-into-array.js","webpack://FHIR/./node_modules/core-js/internals/function-apply.js","webpack://FHIR/./node_modules/core-js/internals/function-bind-context.js","webpack://FHIR/./node_modules/core-js/internals/function-bind-native.js","webpack://FHIR/./node_modules/core-js/internals/function-bind.js","webpack://FHIR/./node_modules/core-js/internals/function-call.js","webpack://FHIR/./node_modules/core-js/internals/function-name.js","webpack://FHIR/./node_modules/core-js/internals/function-uncurry-this-accessor.js","webpack://FHIR/./node_modules/core-js/internals/function-uncurry-this-clause.js","webpack://FHIR/./node_modules/core-js/internals/function-uncurry-this.js","webpack://FHIR/./node_modules/core-js/internals/get-built-in.js","webpack://FHIR/./node_modules/core-js/internals/get-iterator-method.js","webpack://FHIR/./node_modules/core-js/internals/get-iterator.js","webpack://FHIR/./node_modules/core-js/internals/get-json-replacer-function.js","webpack://FHIR/./node_modules/core-js/internals/get-method.js","webpack://FHIR/./node_modules/core-js/internals/get-substitution.js","webpack://FHIR/./node_modules/core-js/internals/global-this.js","webpack://FHIR/./node_modules/core-js/internals/has-own-property.js","webpack://FHIR/./node_modules/core-js/internals/hidden-keys.js","webpack://FHIR/./node_modules/core-js/internals/host-report-errors.js","webpack://FHIR/./node_modules/core-js/internals/html.js","webpack://FHIR/./node_modules/core-js/internals/ie8-dom-define.js","webpack://FHIR/./node_modules/core-js/internals/ieee754.js","webpack://FHIR/./node_modules/core-js/internals/indexed-object.js","webpack://FHIR/./node_modules/core-js/internals/inherit-if-required.js","webpack://FHIR/./node_modules/core-js/internals/inspect-source.js","webpack://FHIR/./node_modules/core-js/internals/internal-state.js","webpack://FHIR/./node_modules/core-js/internals/is-array-iterator-method.js","webpack://FHIR/./node_modules/core-js/internals/is-array.js","webpack://FHIR/./node_modules/core-js/internals/is-big-int-array.js","webpack://FHIR/./node_modules/core-js/internals/is-callable.js","webpack://FHIR/./node_modules/core-js/internals/is-constructor.js","webpack://FHIR/./node_modules/core-js/internals/is-forced.js","webpack://FHIR/./node_modules/core-js/internals/is-integral-number.js","webpack://FHIR/./node_modules/core-js/internals/is-null-or-undefined.js","webpack://FHIR/./node_modules/core-js/internals/is-object.js","webpack://FHIR/./node_modules/core-js/internals/is-possible-prototype.js","webpack://FHIR/./node_modules/core-js/internals/is-pure.js","webpack://FHIR/./node_modules/core-js/internals/is-regexp.js","webpack://FHIR/./node_modules/core-js/internals/is-symbol.js","webpack://FHIR/./node_modules/core-js/internals/iterate.js","webpack://FHIR/./node_modules/core-js/internals/iterator-close.js","webpack://FHIR/./node_modules/core-js/internals/iterator-create-constructor.js","webpack://FHIR/./node_modules/core-js/internals/iterator-define.js","webpack://FHIR/./node_modules/core-js/internals/iterators-core.js","webpack://FHIR/./node_modules/core-js/internals/iterators.js","webpack://FHIR/./node_modules/core-js/internals/length-of-array-like.js","webpack://FHIR/./node_modules/core-js/internals/make-built-in.js","webpack://FHIR/./node_modules/core-js/internals/math-float-round.js","webpack://FHIR/./node_modules/core-js/internals/math-fround.js","webpack://FHIR/./node_modules/core-js/internals/math-sign.js","webpack://FHIR/./node_modules/core-js/internals/math-trunc.js","webpack://FHIR/./node_modules/core-js/internals/microtask.js","webpack://FHIR/./node_modules/core-js/internals/new-promise-capability.js","webpack://FHIR/./node_modules/core-js/internals/not-a-regexp.js","webpack://FHIR/./node_modules/core-js/internals/object-assign.js","webpack://FHIR/./node_modules/core-js/internals/object-create.js","webpack://FHIR/./node_modules/core-js/internals/object-define-properties.js","webpack://FHIR/./node_modules/core-js/internals/object-define-property.js","webpack://FHIR/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://FHIR/./node_modules/core-js/internals/object-get-own-property-names-external.js","webpack://FHIR/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://FHIR/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://FHIR/./node_modules/core-js/internals/object-get-prototype-of.js","webpack://FHIR/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://FHIR/./node_modules/core-js/internals/object-keys-internal.js","webpack://FHIR/./node_modules/core-js/internals/object-keys.js","webpack://FHIR/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://FHIR/./node_modules/core-js/internals/object-set-prototype-of.js","webpack://FHIR/./node_modules/core-js/internals/object-to-string.js","webpack://FHIR/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://FHIR/./node_modules/core-js/internals/own-keys.js","webpack://FHIR/./node_modules/core-js/internals/path.js","webpack://FHIR/./node_modules/core-js/internals/perform.js","webpack://FHIR/./node_modules/core-js/internals/promise-constructor-detection.js","webpack://FHIR/./node_modules/core-js/internals/promise-native-constructor.js","webpack://FHIR/./node_modules/core-js/internals/promise-resolve.js","webpack://FHIR/./node_modules/core-js/internals/promise-statics-incorrect-iteration.js","webpack://FHIR/./node_modules/core-js/internals/proxy-accessor.js","webpack://FHIR/./node_modules/core-js/internals/queue.js","webpack://FHIR/./node_modules/core-js/internals/regexp-exec-abstract.js","webpack://FHIR/./node_modules/core-js/internals/regexp-exec.js","webpack://FHIR/./node_modules/core-js/internals/regexp-flags.js","webpack://FHIR/./node_modules/core-js/internals/regexp-get-flags.js","webpack://FHIR/./node_modules/core-js/internals/regexp-sticky-helpers.js","webpack://FHIR/./node_modules/core-js/internals/regexp-unsupported-dot-all.js","webpack://FHIR/./node_modules/core-js/internals/regexp-unsupported-ncg.js","webpack://FHIR/./node_modules/core-js/internals/require-object-coercible.js","webpack://FHIR/./node_modules/core-js/internals/safe-get-built-in.js","webpack://FHIR/./node_modules/core-js/internals/same-value.js","webpack://FHIR/./node_modules/core-js/internals/set-species.js","webpack://FHIR/./node_modules/core-js/internals/set-to-string-tag.js","webpack://FHIR/./node_modules/core-js/internals/shared-key.js","webpack://FHIR/./node_modules/core-js/internals/shared-store.js","webpack://FHIR/./node_modules/core-js/internals/shared.js","webpack://FHIR/./node_modules/core-js/internals/species-constructor.js","webpack://FHIR/./node_modules/core-js/internals/string-html-forced.js","webpack://FHIR/./node_modules/core-js/internals/string-multibyte.js","webpack://FHIR/./node_modules/core-js/internals/string-punycode-to-ascii.js","webpack://FHIR/./node_modules/core-js/internals/string-trim-forced.js","webpack://FHIR/./node_modules/core-js/internals/string-trim.js","webpack://FHIR/./node_modules/core-js/internals/symbol-constructor-detection.js","webpack://FHIR/./node_modules/core-js/internals/symbol-define-to-primitive.js","webpack://FHIR/./node_modules/core-js/internals/symbol-registry-detection.js","webpack://FHIR/./node_modules/core-js/internals/task.js","webpack://FHIR/./node_modules/core-js/internals/this-number-value.js","webpack://FHIR/./node_modules/core-js/internals/to-absolute-index.js","webpack://FHIR/./node_modules/core-js/internals/to-big-int.js","webpack://FHIR/./node_modules/core-js/internals/to-index.js","webpack://FHIR/./node_modules/core-js/internals/to-indexed-object.js","webpack://FHIR/./node_modules/core-js/internals/to-integer-or-infinity.js","webpack://FHIR/./node_modules/core-js/internals/to-length.js","webpack://FHIR/./node_modules/core-js/internals/to-object.js","webpack://FHIR/./node_modules/core-js/internals/to-offset.js","webpack://FHIR/./node_modules/core-js/internals/to-positive-integer.js","webpack://FHIR/./node_modules/core-js/internals/to-primitive.js","webpack://FHIR/./node_modules/core-js/internals/to-property-key.js","webpack://FHIR/./node_modules/core-js/internals/to-string-tag-support.js","webpack://FHIR/./node_modules/core-js/internals/to-string.js","webpack://FHIR/./node_modules/core-js/internals/to-uint8-clamped.js","webpack://FHIR/./node_modules/core-js/internals/try-to-string.js","webpack://FHIR/./node_modules/core-js/internals/typed-array-constructor.js","webpack://FHIR/./node_modules/core-js/internals/typed-array-constructors-require-wrappers.js","webpack://FHIR/./node_modules/core-js/internals/typed-array-from-species-and-list.js","webpack://FHIR/./node_modules/core-js/internals/typed-array-from.js","webpack://FHIR/./node_modules/core-js/internals/typed-array-species-constructor.js","webpack://FHIR/./node_modules/core-js/internals/uid.js","webpack://FHIR/./node_modules/core-js/internals/url-constructor-detection.js","webpack://FHIR/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://FHIR/./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://FHIR/./node_modules/core-js/internals/validate-arguments-length.js","webpack://FHIR/./node_modules/core-js/internals/weak-map-basic-detection.js","webpack://FHIR/./node_modules/core-js/internals/well-known-symbol-define.js","webpack://FHIR/./node_modules/core-js/internals/well-known-symbol-wrapped.js","webpack://FHIR/./node_modules/core-js/internals/well-known-symbol.js","webpack://FHIR/./node_modules/core-js/internals/whitespaces.js","webpack://FHIR/./node_modules/core-js/modules/es.array-buffer.constructor.js","webpack://FHIR/./node_modules/core-js/modules/es.array.concat.js","webpack://FHIR/./node_modules/core-js/modules/es.array.filter.js","webpack://FHIR/./node_modules/core-js/modules/es.array.find.js","webpack://FHIR/./node_modules/core-js/modules/es.array.flat.js","webpack://FHIR/./node_modules/core-js/modules/es.array.includes.js","webpack://FHIR/./node_modules/core-js/modules/es.array.iterator.js","webpack://FHIR/./node_modules/core-js/modules/es.array.join.js","webpack://FHIR/./node_modules/core-js/modules/es.array.map.js","webpack://FHIR/./node_modules/core-js/modules/es.array.slice.js","webpack://FHIR/./node_modules/core-js/modules/es.array.sort.js","webpack://FHIR/./node_modules/core-js/modules/es.array.splice.js","webpack://FHIR/./node_modules/core-js/modules/es.array.unscopables.flat.js","webpack://FHIR/./node_modules/core-js/modules/es.function.name.js","webpack://FHIR/./node_modules/core-js/modules/es.global-this.js","webpack://FHIR/./node_modules/core-js/modules/es.json.stringify.js","webpack://FHIR/./node_modules/core-js/modules/es.number.constructor.js","webpack://FHIR/./node_modules/core-js/modules/es.object.assign.js","webpack://FHIR/./node_modules/core-js/modules/es.object.get-own-property-descriptor.js","webpack://FHIR/./node_modules/core-js/modules/es.object.get-own-property-descriptors.js","webpack://FHIR/./node_modules/core-js/modules/es.object.get-own-property-symbols.js","webpack://FHIR/./node_modules/core-js/modules/es.object.keys.js","webpack://FHIR/./node_modules/core-js/modules/es.object.to-string.js","webpack://FHIR/./node_modules/core-js/modules/es.promise.all.js","webpack://FHIR/./node_modules/core-js/modules/es.promise.catch.js","webpack://FHIR/./node_modules/core-js/modules/es.promise.constructor.js","webpack://FHIR/./node_modules/core-js/modules/es.promise.finally.js","webpack://FHIR/./node_modules/core-js/modules/es.promise.js","webpack://FHIR/./node_modules/core-js/modules/es.promise.race.js","webpack://FHIR/./node_modules/core-js/modules/es.promise.reject.js","webpack://FHIR/./node_modules/core-js/modules/es.promise.resolve.js","webpack://FHIR/./node_modules/core-js/modules/es.reflect.construct.js","webpack://FHIR/./node_modules/core-js/modules/es.regexp.constructor.js","webpack://FHIR/./node_modules/core-js/modules/es.regexp.exec.js","webpack://FHIR/./node_modules/core-js/modules/es.regexp.to-string.js","webpack://FHIR/./node_modules/core-js/modules/es.string.from-code-point.js","webpack://FHIR/./node_modules/core-js/modules/es.string.includes.js","webpack://FHIR/./node_modules/core-js/modules/es.string.iterator.js","webpack://FHIR/./node_modules/core-js/modules/es.string.link.js","webpack://FHIR/./node_modules/core-js/modules/es.string.match.js","webpack://FHIR/./node_modules/core-js/modules/es.string.replace.js","webpack://FHIR/./node_modules/core-js/modules/es.string.search.js","webpack://FHIR/./node_modules/core-js/modules/es.string.split.js","webpack://FHIR/./node_modules/core-js/modules/es.string.trim.js","webpack://FHIR/./node_modules/core-js/modules/es.symbol.constructor.js","webpack://FHIR/./node_modules/core-js/modules/es.symbol.for.js","webpack://FHIR/./node_modules/core-js/modules/es.symbol.js","webpack://FHIR/./node_modules/core-js/modules/es.symbol.key-for.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.copy-within.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.every.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.fill.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.filter.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.find-index.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.find.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.for-each.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.includes.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.index-of.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.iterator.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.join.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.last-index-of.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.map.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.reduce-right.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.reduce.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.reverse.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.set.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.slice.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.some.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.sort.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.subarray.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.to-locale-string.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.to-string.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.uint8-array.js","webpack://FHIR/./node_modules/core-js/modules/esnext.global-this.js","webpack://FHIR/./node_modules/core-js/modules/web.dom-collections.for-each.js","webpack://FHIR/./node_modules/core-js/modules/web.dom-collections.iterator.js","webpack://FHIR/./node_modules/core-js/modules/web.url-search-params.constructor.js","webpack://FHIR/./node_modules/core-js/modules/web.url-search-params.js","webpack://FHIR/./node_modules/core-js/modules/web.url.constructor.js","webpack://FHIR/./node_modules/core-js/modules/web.url.js","webpack://FHIR/./node_modules/core-js/modules/web.url.to-json.js","webpack://FHIR/./node_modules/isomorphic-webcrypto/src/browser.mjs","webpack://FHIR/./node_modules/isomorphic-webcrypto/src/webcrypto-shim.mjs","webpack://FHIR/webpack/bootstrap","webpack://FHIR/webpack/runtime/global","webpack://FHIR/webpack/before-startup","webpack://FHIR/webpack/startup","webpack://FHIR/webpack/after-startup"],"sourcesContent":["(function (factory) {\n typeof define === 'function' && define.amd ? define(factory) :\n factory();\n})((function () { 'use strict';\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n }\n\n function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n }\n\n function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n }\n\n function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n }\n\n function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n }\n\n function _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return _assertThisInitialized(self);\n }\n\n function _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n }\n\n function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = _getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n }\n\n function _get() {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get.bind();\n } else {\n _get = function _get(target, property, receiver) {\n var base = _superPropBase(target, property);\n\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(arguments.length < 3 ? target : receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get.apply(this, arguments);\n }\n\n var Emitter = /*#__PURE__*/function () {\n function Emitter() {\n _classCallCheck(this, Emitter);\n\n Object.defineProperty(this, 'listeners', {\n value: {},\n writable: true,\n configurable: true\n });\n }\n\n _createClass(Emitter, [{\n key: \"addEventListener\",\n value: function addEventListener(type, callback, options) {\n if (!(type in this.listeners)) {\n this.listeners[type] = [];\n }\n\n this.listeners[type].push({\n callback: callback,\n options: options\n });\n }\n }, {\n key: \"removeEventListener\",\n value: function removeEventListener(type, callback) {\n if (!(type in this.listeners)) {\n return;\n }\n\n var stack = this.listeners[type];\n\n for (var i = 0, l = stack.length; i < l; i++) {\n if (stack[i].callback === callback) {\n stack.splice(i, 1);\n return;\n }\n }\n }\n }, {\n key: \"dispatchEvent\",\n value: function dispatchEvent(event) {\n if (!(event.type in this.listeners)) {\n return;\n }\n\n var stack = this.listeners[event.type];\n var stackToCall = stack.slice();\n\n for (var i = 0, l = stackToCall.length; i < l; i++) {\n var listener = stackToCall[i];\n\n try {\n listener.callback.call(this, event);\n } catch (e) {\n Promise.resolve().then(function () {\n throw e;\n });\n }\n\n if (listener.options && listener.options.once) {\n this.removeEventListener(event.type, listener.callback);\n }\n }\n\n return !event.defaultPrevented;\n }\n }]);\n\n return Emitter;\n }();\n\n var AbortSignal = /*#__PURE__*/function (_Emitter) {\n _inherits(AbortSignal, _Emitter);\n\n var _super = _createSuper(AbortSignal);\n\n function AbortSignal() {\n var _this;\n\n _classCallCheck(this, AbortSignal);\n\n _this = _super.call(this); // Some versions of babel does not transpile super() correctly for IE <= 10, if the parent\n // constructor has failed to run, then \"this.listeners\" will still be undefined and then we call\n // the parent constructor directly instead as a workaround. For general details, see babel bug:\n // https://github.com/babel/babel/issues/3041\n // This hack was added as a fix for the issue described here:\n // https://github.com/Financial-Times/polyfill-library/pull/59#issuecomment-477558042\n\n if (!_this.listeners) {\n Emitter.call(_assertThisInitialized(_this));\n } // Compared to assignment, Object.defineProperty makes properties non-enumerable by default and\n // we want Object.keys(new AbortController().signal) to be [] for compat with the native impl\n\n\n Object.defineProperty(_assertThisInitialized(_this), 'aborted', {\n value: false,\n writable: true,\n configurable: true\n });\n Object.defineProperty(_assertThisInitialized(_this), 'onabort', {\n value: null,\n writable: true,\n configurable: true\n });\n Object.defineProperty(_assertThisInitialized(_this), 'reason', {\n value: undefined,\n writable: true,\n configurable: true\n });\n return _this;\n }\n\n _createClass(AbortSignal, [{\n key: \"toString\",\n value: function toString() {\n return '[object AbortSignal]';\n }\n }, {\n key: \"dispatchEvent\",\n value: function dispatchEvent(event) {\n if (event.type === 'abort') {\n this.aborted = true;\n\n if (typeof this.onabort === 'function') {\n this.onabort.call(this, event);\n }\n }\n\n _get(_getPrototypeOf(AbortSignal.prototype), \"dispatchEvent\", this).call(this, event);\n }\n }]);\n\n return AbortSignal;\n }(Emitter);\n var AbortController = /*#__PURE__*/function () {\n function AbortController() {\n _classCallCheck(this, AbortController);\n\n // Compared to assignment, Object.defineProperty makes properties non-enumerable by default and\n // we want Object.keys(new AbortController()) to be [] for compat with the native impl\n Object.defineProperty(this, 'signal', {\n value: new AbortSignal(),\n writable: true,\n configurable: true\n });\n }\n\n _createClass(AbortController, [{\n key: \"abort\",\n value: function abort(reason) {\n var event;\n\n try {\n event = new Event('abort');\n } catch (e) {\n if (typeof document !== 'undefined') {\n if (!document.createEvent) {\n // For Internet Explorer 8:\n event = document.createEventObject();\n event.type = 'abort';\n } else {\n // For Internet Explorer 11:\n event = document.createEvent('Event');\n event.initEvent('abort', false, false);\n }\n } else {\n // Fallback where document isn't available:\n event = {\n type: 'abort',\n bubbles: false,\n cancelable: false\n };\n }\n }\n\n var signalReason = reason;\n\n if (signalReason === undefined) {\n if (typeof document === 'undefined') {\n signalReason = new Error('This operation was aborted');\n signalReason.name = 'AbortError';\n } else {\n try {\n signalReason = new DOMException('signal is aborted without reason');\n } catch (err) {\n // IE 11 does not support calling the DOMException constructor, use a\n // regular error object on it instead.\n signalReason = new Error('This operation was aborted');\n signalReason.name = 'AbortError';\n }\n }\n }\n\n this.signal.reason = signalReason;\n this.signal.dispatchEvent(event);\n }\n }, {\n key: \"toString\",\n value: function toString() {\n return '[object AbortController]';\n }\n }]);\n\n return AbortController;\n }();\n\n if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n // These are necessary to make sure that we get correct output for:\n // Object.prototype.toString.call(new AbortController())\n AbortController.prototype[Symbol.toStringTag] = 'AbortController';\n AbortSignal.prototype[Symbol.toStringTag] = 'AbortSignal';\n }\n\n function polyfillNeeded(self) {\n if (self.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL) {\n console.log('__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL=true is set, will force install polyfill');\n return true;\n } // Note that the \"unfetch\" minimal fetch polyfill defines fetch() without\n // defining window.Request, and this polyfill need to work on top of unfetch\n // so the below feature detection needs the !self.AbortController part.\n // The Request.prototype check is also needed because Safari versions 11.1.2\n // up to and including 12.1.x has a window.AbortController present but still\n // does NOT correctly implement abortable fetch:\n // https://bugs.webkit.org/show_bug.cgi?id=174980#c2\n\n\n return typeof self.Request === 'function' && !self.Request.prototype.hasOwnProperty('signal') || !self.AbortController;\n }\n\n (function (self) {\n\n if (!polyfillNeeded(self)) {\n return;\n }\n\n self.AbortController = AbortController;\n self.AbortSignal = AbortSignal;\n })(typeof self !== 'undefined' ? self : global);\n\n}));\n","/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\nexports.destroy = (() => {\n\tlet warned = false;\n\n\treturn () => {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t\t}\n\t};\n})();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\tlet m;\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)) && parseInt(m[1], 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.debug()` when available.\n * No-op when `console.debug` is not a \"function\".\n * If `console.debug` is not available, falls back\n * to `console.log`.\n *\n * @api public\n */\nexports.log = console.debug || console.log || (() => {});\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug');\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = require('ms');\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tlet i;\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n\t\tconst len = split.length;\n\n\t\tfor (i = 0; i < len; i++) {\n\t\t\tif (!split[i]) {\n\t\t\t\t// ignore empty strings\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tnamespaces = split[i].replace(/\\*/g, '.*?');\n\n\t\t\tif (namespaces[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(new RegExp('^' + namespaces.slice(1) + '$'));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(new RegExp('^' + namespaces + '$'));\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names.map(toNamespace),\n\t\t\t...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tif (name[name.length - 1] === '*') {\n\t\t\treturn true;\n\t\t}\n\n\t\tlet i;\n\t\tlet len;\n\n\t\tfor (i = 0, len = createDebug.skips.length; i < len; i++) {\n\t\t\tif (createDebug.skips[i].test(name)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (i = 0, len = createDebug.names.length; i < len; i++) {\n\t\t\tif (createDebug.names[i].test(name)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Convert regexp to namespace\n\t*\n\t* @param {RegExp} regxep\n\t* @return {String} namespace\n\t* @api private\n\t*/\n\tfunction toNamespace(regexp) {\n\t\treturn regexp.toString()\n\t\t\t.substring(2, regexp.toString().length - 2)\n\t\t\t.replace(/\\.\\*\\?$/, '*');\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n","import {\n absolute,\n debug as _debug,\n getPath,\n setPath,\n jwtDecode,\n makeArray,\n request,\n byCode,\n byCodes,\n units,\n getPatientParam,\n fetchConformanceStatement,\n getAccessTokenExpiration,\n assertJsonPatch,\n assert\n} from \"./lib\";\n\nimport str from \"./strings\";\nimport { SMART_KEY, patientCompartment, fhirVersions } from \"./settings\";\nimport HttpError from \"./HttpError\";\nimport BrowserAdapter from \"./adapters/BrowserAdapter\";\nimport { fhirclient } from \"./types\";\n\n// $lab:coverage:off$\n// @ts-ignore\nconst { Response } = typeof FHIRCLIENT_PURE !== \"undefined\" ? window : require(\"cross-fetch\");\n// $lab:coverage:on$\n\nconst debug = _debug.extend(\"client\");\n\n/**\n * Adds patient context to requestOptions object to be used with [[Client.request]]\n * @param requestOptions Can be a string URL (relative to the serviceUrl), or an\n * object which will be passed to fetch()\n * @param client Current FHIR client object containing patient context\n * @return requestOptions object contextualized to current patient\n */\nasync function contextualize(\n requestOptions: string | URL | fhirclient.RequestOptions,\n client: Client\n): Promise\n{\n const base = absolute(\"/\", client.state.serverUrl);\n\n async function contextualURL(_url: URL) {\n const resourceType = _url.pathname.split(\"/\").pop();\n assert(resourceType, `Invalid url \"${_url}\"`);\n assert(patientCompartment.indexOf(resourceType) > -1, `Cannot filter \"${resourceType}\" resources by patient`);\n const conformance = await fetchConformanceStatement(client.state.serverUrl);\n const searchParam = getPatientParam(conformance, resourceType);\n _url.searchParams.set(searchParam, client.patient.id as string);\n return _url.href;\n }\n\n if (typeof requestOptions == \"string\" || requestOptions instanceof URL) {\n return { url: await contextualURL(new URL(requestOptions + \"\", base)) };\n }\n\n requestOptions.url = await contextualURL(new URL(requestOptions.url + \"\", base));\n return requestOptions;\n}\n\n/**\n * Gets single reference by id. Caches the result.\n * @param refId\n * @param cache A map to store the resolved refs\n * @param client The client instance\n * @param requestOptions Only signal and headers are currently used if provided\n * @returns The resolved reference\n * @private\n */\nfunction getRef(\n refId: string,\n cache: Record,\n client: Client,\n requestOptions: RequestInit\n): Promise {\n if (!cache[refId]) {\n\n const { signal, headers } = requestOptions;\n\n // Note that we set cache[refId] immediately! When the promise is\n // settled it will be updated. This is to avoid a ref being fetched\n // twice because some of these requests are executed in parallel.\n cache[refId] = client.request({\n url: refId,\n headers,\n signal\n }).then(res => {\n cache[refId] = res;\n return res;\n }, (error: Error) => {\n delete cache[refId];\n throw error;\n });\n }\n\n return Promise.resolve(cache[refId]);\n}\n\n/**\n * Resolves a reference in the given resource.\n * @param obj FHIR Resource\n */\nfunction resolveRef(\n obj: fhirclient.FHIR.Resource,\n path: string,\n graph: boolean,\n cache: fhirclient.JsonObject,\n client: Client,\n requestOptions: fhirclient.RequestOptions\n) {\n const node = getPath(obj, path);\n if (node) {\n const isArray = Array.isArray(node);\n return Promise.all(makeArray(node).filter(Boolean).map((item, i) => {\n const ref = item.reference;\n if (ref) {\n return getRef(ref, cache, client, requestOptions).then(sub => {\n if (graph) {\n if (isArray) {\n if (path.indexOf(\"..\") > -1) {\n setPath(obj, `${path.replace(\"..\", `.${i}.`)}`, sub); \n } else {\n setPath(obj, `${path}.${i}`, sub);\n }\n } else {\n setPath(obj, path, sub);\n }\n }\n }).catch((ex) => {\n /* ignore missing references */\n if (ex.status !== 404) {\n throw ex;\n }\n });\n }\n }));\n }\n}\n\n/**\n * Given a resource and a list of ref paths - resolves them all\n * @param obj FHIR Resource\n * @param fhirOptions The fhir options of the initiating request call\n * @param cache A map to store fetched refs\n * @param client The client instance\n * @private\n */\nfunction resolveRefs(\n obj: fhirclient.FHIR.Resource,\n fhirOptions: fhirclient.FhirOptions,\n cache: fhirclient.JsonObject,\n client: Client,\n requestOptions: fhirclient.RequestOptions\n) {\n\n // 1. Sanitize paths, remove any invalid ones\n let paths = makeArray(fhirOptions.resolveReferences)\n .filter(Boolean) // No false, 0, null, undefined or \"\"\n .map(path => String(path).trim())\n .filter(Boolean); // No space-only strings\n\n // 2. Remove duplicates\n paths = paths.filter((p, i) => {\n const index = paths.indexOf(p, i + 1);\n if (index > -1) {\n debug(\"Duplicated reference path \\\"%s\\\"\", p);\n return false;\n }\n return true;\n });\n\n // 3. Early exit if no valid paths are found\n if (!paths.length) {\n return Promise.resolve();\n }\n\n // 4. Group the paths by depth so that child refs are looked up\n // after their parents!\n const groups: Record = {};\n paths.forEach(path => {\n const len = path.split(\".\").length;\n if (!groups[len]) {\n groups[len] = [];\n }\n groups[len].push(path);\n });\n\n // 5. Execute groups sequentially! Paths within same group are\n // fetched in parallel!\n let task: Promise = Promise.resolve();\n Object.keys(groups).sort().forEach(len => {\n const group = groups[len];\n task = task.then(() => Promise.all(group.map((path: string) => {\n return resolveRef(obj, path, !!fhirOptions.graph, cache, client, requestOptions);\n })));\n });\n return task;\n}\n\n/**\n * This is a FHIR client that is returned to you from the `ready()` call of the\n * **SMART API**. You can also create it yourself if needed:\n *\n * ```js\n * // BROWSER\n * const client = FHIR.client(\"https://r4.smarthealthit.org\");\n *\n * // SERVER\n * const client = smart(req, res).client(\"https://r4.smarthealthit.org\");\n * ```\n */\nexport default class Client\n{\n /**\n * The state of the client instance is an object with various properties.\n * It contains some details about how the client has been authorized and\n * determines the behavior of the client instance. This state is persisted\n * in `SessionStorage` in browsers or in request session on the servers.\n */\n readonly state: fhirclient.ClientState;\n\n /**\n * The adapter to use to connect to the current environment. Currently we have:\n * - BrowserAdapter - for browsers\n * - NodeAdapter - for Express or vanilla NodeJS servers\n * - HapiAdapter - for HAPI NodeJS servers\n */\n readonly environment: fhirclient.Adapter;\n\n /**\n * A SMART app is typically associated with a patient. This is a namespace\n * for the patient-related functionality of the client.\n */\n readonly patient: {\n\n /**\n * The ID of the current patient or `null` if there is no current patient\n */\n id: string | null\n\n /**\n * A method to fetch the current patient resource from the FHIR server.\n * If there is no patient context, it will reject with an error.\n * @param {fhirclient.FetchOptions} [requestOptions] Any options to pass to the `fetch` call.\n * @category Request\n */\n read: fhirclient.RequestFunction\n \n /**\n * This is similar to [[request]] but it makes requests in the\n * context of the current patient. For example, instead of doing\n * ```js\n * client.request(\"Observation?patient=\" + client.patient.id)\n * ```\n * you can do\n * ```js\n * client.patient.request(\"Observation\")\n * ```\n * The return type depends on the arguments. Typically it will be the\n * response payload JSON object. Can also be a string or the `Response`\n * object itself if we have received a non-json result, which allows us\n * to handle even binary responses. Can also be a [[CombinedFetchResult]]\n * object if the `requestOptions.includeResponse`s has been set to true.\n * @category Request\n */\n request: (\n requestOptions: string|URL|fhirclient.RequestOptions,\n fhirOptions?: fhirclient.FhirOptions\n ) => Promise\n\n /**\n * This is the FhirJS Patient API. It will ONLY exist if the `Client`\n * instance is \"connected\" to FhirJS.\n */\n api?: Record\n };\n\n /**\n * The client may be associated with a specific encounter, if the scopes\n * permit that and if the back-end server supports that. This is a namespace\n * for encounter-related functionality.\n */\n readonly encounter: {\n\n /**\n * The ID of the current encounter or `null` if there is no current\n * encounter\n */\n id: string | null\n\n /**\n * A method to fetch the current encounter resource from the FHIR server.\n * If there is no encounter context, it will reject with an error.\n * @param [requestOptions] Any options to pass to the `fetch` call.\n * @category Request\n */\n read: fhirclient.RequestFunction\n };\n\n /**\n * The client may be associated with a specific user, if the scopes\n * permit that. This is a namespace for user-related functionality.\n */\n readonly user: {\n\n /**\n * The ID of the current user or `null` if there is no current user\n */\n id: string | null\n\n /**\n * A method to fetch the current user resource from the FHIR server.\n * If there is no user context, it will reject with an error.\n * @param [requestOptions] Any options to pass to the `fetch` call.\n * @category Request\n */\n read: fhirclient.RequestFunction<\n fhirclient.FHIR.Patient |\n fhirclient.FHIR.Practitioner |\n fhirclient.FHIR.RelatedPerson\n >\n\n /**\n * Returns the profile of the logged_in user (if any), or null if the\n * user is not available. This is a string having the shape\n * `{user type}/{user id}`. For example `Practitioner/abc` or\n * `Patient/xyz`.\n * @alias client.getFhirUser()\n */\n fhirUser: string | null\n\n /**\n * Returns the type of the logged-in user or null. The result can be\n * `Practitioner`, `Patient` or `RelatedPerson`.\n * @alias client.getUserType()\n */\n resourceType: string | null\n };\n\n /**\n * The [FhirJS](https://github.com/FHIR/fhir.js/blob/master/README.md) API.\n * **NOTE:** This will only be available if `fhir.js` is used. Otherwise it\n * will be `undefined`.\n */\n api: Record | undefined;\n\n /**\n * Refers to the refresh task while it is being performed.\n * @see [[refresh]]\n */\n private _refreshTask: Promise | null;\n\n /**\n * Validates the parameters, creates an instance and tries to connect it to\n * FhirJS, if one is available globally.\n */\n constructor(environment: fhirclient.Adapter, state: fhirclient.ClientState | string)\n {\n const _state = typeof state == \"string\" ? { serverUrl: state } : state;\n\n // Valid serverUrl is required!\n assert(\n _state.serverUrl && _state.serverUrl.match(/https?:\\/\\/.+/),\n \"A \\\"serverUrl\\\" option is required and must begin with \\\"http(s)\\\"\"\n );\n\n this.state = _state;\n this.environment = environment;\n this._refreshTask = null;\n\n const client = this;\n\n // patient api ---------------------------------------------------------\n this.patient = {\n get id() { return client.getPatientId(); },\n read: (requestOptions) => {\n const id = this.patient.id;\n return id ?\n this.request({ ...requestOptions, url: `Patient/${id}` }) :\n Promise.reject(new Error(\"Patient is not available\"));\n },\n request: (requestOptions, fhirOptions = {}) => {\n if (this.patient.id) {\n return (async () => {\n const options = await contextualize(requestOptions, this);\n return this.request(options, fhirOptions);\n })();\n } else {\n return Promise.reject(new Error(\"Patient is not available\"));\n }\n }\n };\n\n // encounter api -------------------------------------------------------\n this.encounter = {\n get id() { return client.getEncounterId(); },\n read: requestOptions => {\n const id = this.encounter.id;\n return id ?\n this.request({ ...requestOptions, url: `Encounter/${id}` }) :\n Promise.reject(new Error(\"Encounter is not available\"));\n }\n };\n\n // user api ------------------------------------------------------------\n this.user = {\n get fhirUser() { return client.getFhirUser(); },\n get id() { return client.getUserId(); },\n get resourceType() { return client.getUserType(); },\n read: requestOptions => {\n const fhirUser = this.user.fhirUser;\n return fhirUser ?\n this.request({ ...requestOptions, url: fhirUser }) :\n Promise.reject(new Error(\"User is not available\"));\n }\n };\n\n // fhir.js api (attached automatically in browser)\n // ---------------------------------------------------------------------\n this.connect((environment as BrowserAdapter).fhir);\n }\n\n /**\n * This method is used to make the \"link\" between the `fhirclient` and the\n * `fhir.js`, if one is available.\n * **Note:** This is called by the constructor. If fhir.js is available in\n * the global scope as `fhir`, it will automatically be linked to any [[Client]]\n * instance. You should only use this method to connect to `fhir.js` which\n * is not global.\n */\n connect(fhirJs?: (options: Record) => Record): Client\n {\n if (typeof fhirJs == \"function\") {\n const options: Record = {\n baseUrl: this.state.serverUrl.replace(/\\/$/, \"\")\n };\n\n const accessToken = this.getState(\"tokenResponse.access_token\");\n if (accessToken) {\n options.auth = { token: accessToken };\n }\n else {\n const { username, password } = this.state;\n if (username && password) {\n options.auth = {\n user: username,\n pass: password\n };\n }\n }\n this.api = fhirJs(options);\n\n const patientId = this.getState(\"tokenResponse.patient\");\n if (patientId) {\n this.patient.api = fhirJs({\n ...options,\n patient: patientId\n });\n }\n }\n return this;\n }\n\n /**\n * Returns the ID of the selected patient or null. You should have requested\n * \"launch/patient\" scope. Otherwise this will return null.\n */\n getPatientId(): string | null\n {\n const tokenResponse = this.state.tokenResponse;\n if (tokenResponse) {\n // We have been authorized against this server but we don't know\n // the patient. This should be a scope issue.\n if (!tokenResponse.patient) {\n if (!(this.state.scope || \"\").match(/\\blaunch(\\/patient)?\\b/)) {\n debug(str.noScopeForId, \"patient\", \"patient\");\n }\n else {\n // The server should have returned the patient!\n debug(\"The ID of the selected patient is not available. Please check if your server supports that.\");\n }\n return null;\n }\n return tokenResponse.patient;\n }\n\n if (this.state.authorizeUri) {\n debug(str.noIfNoAuth, \"the ID of the selected patient\");\n }\n else {\n debug(str.noFreeContext, \"selected patient\");\n }\n return null;\n }\n\n /**\n * Returns the ID of the selected encounter or null. You should have\n * requested \"launch/encounter\" scope. Otherwise this will return null.\n * Note that not all servers support the \"launch/encounter\" scope so this\n * will be null if they don't.\n */\n getEncounterId(): string | null\n {\n const tokenResponse = this.state.tokenResponse;\n if (tokenResponse) {\n // We have been authorized against this server but we don't know\n // the encounter. This should be a scope issue.\n if (!tokenResponse.encounter) {\n if (!(this.state.scope || \"\").match(/\\blaunch(\\/encounter)?\\b/)) {\n debug(str.noScopeForId, \"encounter\", \"encounter\");\n }\n else {\n // The server should have returned the encounter!\n debug(\"The ID of the selected encounter is not available. Please check if your server supports that, and that the selected patient has any recorded encounters.\");\n }\n return null;\n }\n return tokenResponse.encounter;\n }\n\n if (this.state.authorizeUri) {\n debug(str.noIfNoAuth, \"the ID of the selected encounter\");\n }\n else {\n debug(str.noFreeContext, \"selected encounter\");\n }\n return null;\n }\n\n /**\n * Returns the (decoded) id_token if any. You need to request \"openid\" and\n * \"profile\" scopes if you need to receive an id_token (if you need to know\n * who the logged-in user is).\n */\n getIdToken(): fhirclient.IDToken | null\n {\n const tokenResponse = this.state.tokenResponse;\n if (tokenResponse) {\n const idToken = tokenResponse.id_token;\n const scope = this.state.scope || \"\";\n\n // We have been authorized against this server but we don't have\n // the id_token. This should be a scope issue.\n if (!idToken) {\n const hasOpenid = scope.match(/\\bopenid\\b/);\n const hasProfile = scope.match(/\\bprofile\\b/);\n const hasFhirUser = scope.match(/\\bfhirUser\\b/);\n if (!hasOpenid || !(hasFhirUser || hasProfile)) {\n debug(\n \"You are trying to get the id_token but you are not \" +\n \"using the right scopes. Please add 'openid' and \" +\n \"'fhirUser' or 'profile' to the scopes you are \" +\n \"requesting.\"\n );\n }\n else {\n // The server should have returned the id_token!\n debug(\"The id_token is not available. Please check if your server supports that.\");\n }\n return null;\n }\n return jwtDecode(idToken, this.environment) as fhirclient.IDToken;\n }\n if (this.state.authorizeUri) {\n debug(str.noIfNoAuth, \"the id_token\");\n }\n else {\n debug(str.noFreeContext, \"id_token\");\n }\n return null;\n }\n\n /**\n * Returns the profile of the logged_in user (if any). This is a string\n * having the following shape `\"{user type}/{user id}\"`. For example:\n * `\"Practitioner/abc\"` or `\"Patient/xyz\"`.\n */\n getFhirUser(): string | null\n {\n const idToken = this.getIdToken();\n if (idToken) {\n // Epic may return a full url\n // @see https://github.com/smart-on-fhir/client-js/issues/105\n if (idToken.fhirUser) {\n return idToken.fhirUser.split(\"/\").slice(-2).join(\"/\");\n }\n return idToken.profile\n }\n return null;\n }\n\n /**\n * Returns the user ID or null.\n */\n getUserId(): string | null\n {\n const profile = this.getFhirUser();\n if (profile) {\n return profile.split(\"/\")[1];\n }\n return null;\n }\n\n /**\n * Returns the type of the logged-in user or null. The result can be\n * \"Practitioner\", \"Patient\" or \"RelatedPerson\".\n */\n getUserType(): string | null\n {\n const profile = this.getFhirUser();\n if (profile) {\n return profile.split(\"/\")[0];\n }\n return null;\n }\n\n /**\n * Builds and returns the value of the `Authorization` header that can be\n * sent to the FHIR server\n */\n getAuthorizationHeader(): string | null\n {\n const accessToken = this.getState(\"tokenResponse.access_token\");\n if (accessToken) {\n return \"Bearer \" + accessToken;\n }\n const { username, password } = this.state;\n if (username && password) {\n return \"Basic \" + this.environment.btoa(username + \":\" + password);\n }\n return null;\n }\n\n /**\n * Used internally to clear the state of the instance and the state in the\n * associated storage.\n */\n private async _clearState() {\n const storage = this.environment.getStorage();\n const key = await storage.get(SMART_KEY);\n if (key) {\n await storage.unset(key);\n }\n await storage.unset(SMART_KEY);\n this.state.tokenResponse = {};\n }\n\n /**\n * Creates a new resource in a server-assigned location\n * @see http://hl7.org/fhir/http.html#create\n * @param resource A FHIR resource to be created\n * @param [requestOptions] Any options to be passed to the fetch call.\n * Note that `method` and `body` will be ignored.\n * @category Request\n */\n create(\n resource: fhirclient.FHIR.Resource,\n requestOptions?: O\n ): Promise : R>\n {\n return this.request({\n ...requestOptions,\n url: `${resource.resourceType}`,\n method: \"POST\",\n body: JSON.stringify(resource),\n headers: {\n // TODO: Do we need to alternate with \"application/json+fhir\"?\n \"content-type\": \"application/json\",\n ...(requestOptions || {}).headers\n }\n });\n }\n\n /**\n * Creates a new current version for an existing resource or creates an\n * initial version if no resource already exists for the given id.\n * @see http://hl7.org/fhir/http.html#update\n * @param resource A FHIR resource to be updated\n * @param requestOptions Any options to be passed to the fetch call.\n * Note that `method` and `body` will be ignored.\n * @category Request\n */\n update(\n resource: fhirclient.FHIR.Resource,\n requestOptions?: O\n ): Promise : R>\n {\n return this.request({\n ...requestOptions,\n url: `${resource.resourceType}/${resource.id}`,\n method: \"PUT\",\n body: JSON.stringify(resource),\n headers: {\n // TODO: Do we need to alternate with \"application/json+fhir\"?\n \"content-type\": \"application/json\",\n ...(requestOptions || {}).headers\n }\n });\n }\n\n /**\n * Removes an existing resource.\n * @see http://hl7.org/fhir/http.html#delete\n * @param url Relative URI of the FHIR resource to be deleted\n * (format: `resourceType/id`)\n * @param requestOptions Any options (except `method` which will be fixed\n * to `DELETE`) to be passed to the fetch call.\n * @category Request\n */\n delete(url: string, requestOptions: fhirclient.FetchOptions = {}): Promise\n {\n return this.request({\n ...requestOptions,\n url,\n method: \"DELETE\"\n });\n }\n\n /**\n * Makes a JSON Patch to the given resource\n * @see http://hl7.org/fhir/http.html#patch\n * @param url Relative URI of the FHIR resource to be patched\n * (format: `resourceType/id`)\n * @param patch A JSON Patch array to send to the server, For details\n * see https://datatracker.ietf.org/doc/html/rfc6902\n * @param requestOptions Any options to be passed to the fetch call,\n * except for `method`, `url` and `body` which cannot be overridden.\n * @since 2.4.0\n * @category Request\n * @typeParam ResolveType This method would typically resolve with the\n * patched resource or reject with an OperationOutcome. However, this may\n * depend on the server implementation or even on the request headers.\n * For that reason, if the default resolve type (which is\n * [[fhirclient.FHIR.Resource]]) does not work for you, you can pass\n * in your own resolve type parameter.\n */\n async patch(url: string, patch: fhirclient.JsonPatch, requestOptions: fhirclient.FetchOptions = {}): Promise\n {\n assertJsonPatch(patch);\n return this.request({\n ...requestOptions,\n url,\n method: \"PATCH\",\n body: JSON.stringify(patch),\n headers: {\n \"prefer\": \"return=presentation\",\n \"content-type\": \"application/json-patch+json; charset=UTF-8\",\n ...requestOptions.headers,\n }\n });\n }\n\n /**\n * @param requestOptions Can be a string URL (relative to the serviceUrl),\n * or an object which will be passed to fetch()\n * @param fhirOptions Additional options to control the behavior\n * @param _resolvedRefs DO NOT USE! Used internally.\n * @category Request\n */\n async request(\n requestOptions: string|URL|fhirclient.RequestOptions,\n fhirOptions: fhirclient.FhirOptions = {},\n _resolvedRefs: fhirclient.JsonObject = {}\n ): Promise\n {\n const debugRequest = _debug.extend(\"client:request\");\n assert(requestOptions, \"request requires an url or request options as argument\");\n\n // url -----------------------------------------------------------------\n let url: string;\n if (typeof requestOptions == \"string\" || requestOptions instanceof URL) {\n url = String(requestOptions);\n requestOptions = {} as fhirclient.RequestOptions;\n }\n else {\n url = String(requestOptions.url);\n }\n\n url = absolute(url, this.state.serverUrl);\n\n const options = {\n graph: fhirOptions.graph !== false,\n flat : !!fhirOptions.flat,\n pageLimit: fhirOptions.pageLimit ?? 1,\n resolveReferences: (fhirOptions.resolveReferences || []) as string[],\n useRefreshToken: fhirOptions.useRefreshToken !== false,\n onPage: typeof fhirOptions.onPage == \"function\" ?\n fhirOptions.onPage as (\n data: fhirclient.JsonObject | fhirclient.JsonObject[],\n references?: fhirclient.JsonObject | undefined) => any :\n undefined\n };\n\n const signal = (requestOptions as RequestInit).signal || undefined;\n\n // Refresh the access token if needed\n const job = options.useRefreshToken ?\n this.refreshIfNeeded({ signal }).then(() => requestOptions as fhirclient.RequestOptions) :\n Promise.resolve(requestOptions as fhirclient.RequestOptions);\n\n let response: Response | undefined;\n\n return job\n\n // Add the Authorization header now, after the access token might\n // have been updated\n .then(requestOptions => {\n const authHeader = this.getAuthorizationHeader();\n if (authHeader) {\n requestOptions.headers = {\n ...requestOptions.headers,\n authorization: authHeader\n };\n }\n return requestOptions;\n })\n \n // Make the request\n .then(requestOptions => {\n debugRequest(\n \"%s, options: %O, fhirOptions: %O\",\n url,\n requestOptions,\n options\n );\n return request(url, requestOptions).then(result => {\n if (requestOptions.includeResponse) {\n response = (result as fhirclient.CombinedFetchResult).response;\n return (result as fhirclient.CombinedFetchResult).body;\n }\n return result;\n });\n })\n\n // Handle 401 ------------------------------------------------------\n .catch(async (error: HttpError) => {\n if (error.status == 401) {\n\n // !accessToken -> not authorized -> No session. Need to launch.\n if (!this.getState(\"tokenResponse.access_token\")) {\n error.message += \"\\nThis app cannot be accessed directly. Please launch it as SMART app!\";\n throw error;\n }\n\n // auto-refresh not enabled and Session expired.\n // Need to re-launch. Clear state to start over!\n if (!options.useRefreshToken) {\n debugRequest(\"Your session has expired and the useRefreshToken option is set to false. Please re-launch the app.\");\n await this._clearState();\n error.message += \"\\n\" + str.expired;\n throw error;\n }\n\n // In rare cases we may have a valid access token and a refresh\n // token and the request might still fail with 401 just because\n // the access token has just been revoked.\n\n // otherwise -> auto-refresh failed. Session expired.\n // Need to re-launch. Clear state to start over!\n debugRequest(\"Auto-refresh failed! Please re-launch the app.\");\n await this._clearState();\n error.message += \"\\n\" + str.expired;\n throw error;\n }\n throw error;\n })\n\n // Handle 403 ------------------------------------------------------\n .catch((error: HttpError) => {\n if (error.status == 403) {\n debugRequest(\"Permission denied! Please make sure that you have requested the proper scopes.\");\n }\n throw error;\n })\n\n .then((data: any) => {\n\n // At this point we don't know what `data` actually is!\n\n // We might get an empty or falsy result. If so return it as is\n // Also handle raw responses\n if (!data || typeof data == \"string\" || data instanceof Response) {\n if ((requestOptions as fhirclient.FetchOptions).includeResponse) {\n return {\n body: data,\n response\n }\n }\n return data;\n }\n \n // Resolve References ------------------------------------------\n return (async (_data: fhirclient.FHIR.Resource) => {\n\n if (_data.resourceType == \"Bundle\") {\n await Promise.all(((_data as fhirclient.FHIR.Bundle).entry || []).map(item => resolveRefs(\n item.resource,\n options,\n _resolvedRefs,\n this,\n requestOptions as fhirclient.RequestOptions\n )));\n }\n else {\n await resolveRefs(\n _data,\n options,\n _resolvedRefs,\n this,\n requestOptions as fhirclient.RequestOptions\n );\n }\n\n return _data;\n })(data)\n\n // Pagination ----------------------------------------------\n .then(async _data => {\n if (_data && _data.resourceType == \"Bundle\") {\n const links = (_data.link || []) as fhirclient.FHIR.BundleLink[];\n\n if (options.flat) {\n _data = (_data.entry || []).map(\n (entry: fhirclient.FHIR.BundleEntry) => entry.resource\n );\n }\n\n if (options.onPage) {\n await options.onPage(_data, { ..._resolvedRefs });\n }\n\n if (--options.pageLimit) {\n const next = links.find(l => l.relation == \"next\");\n _data = makeArray(_data);\n if (next && next.url) {\n const nextPage = await this.request(\n {\n url: next.url,\n\n // Aborting the main request (even after it is complete)\n // must propagate to any child requests and abort them!\n // To do so, just pass the same AbortSignal if one is\n // provided.\n signal\n },\n options,\n _resolvedRefs\n );\n\n if (options.onPage) {\n return null;\n }\n\n if (options.resolveReferences.length) {\n Object.assign(_resolvedRefs, nextPage.references);\n return _data.concat(makeArray(nextPage.data || nextPage));\n }\n return _data.concat(makeArray(nextPage));\n }\n }\n }\n return _data;\n })\n\n // Finalize ------------------------------------------------\n .then(_data => {\n if (options.graph) {\n _resolvedRefs = {};\n }\n else if (!options.onPage && options.resolveReferences.length) {\n return {\n data: _data,\n references: _resolvedRefs\n };\n }\n return _data;\n })\n .then(_data => {\n if ((requestOptions as fhirclient.FetchOptions).includeResponse) {\n return {\n body: _data,\n response\n }\n }\n return _data;\n });\n });\n }\n\n /**\n * Checks if access token and refresh token are present. If they are, and if\n * the access token is expired or is about to expire in the next 10 seconds,\n * calls `this.refresh()` to obtain new access token.\n * @param requestOptions Any options to pass to the fetch call. Most of them\n * will be overridden, bit it might still be useful for passing additional\n * request options or an abort signal.\n * @category Request\n */\n refreshIfNeeded(requestOptions: RequestInit = {}): Promise\n {\n const accessToken = this.getState(\"tokenResponse.access_token\");\n const refreshToken = this.getState(\"tokenResponse.refresh_token\");\n const expiresAt = this.state.expiresAt || 0;\n\n if (accessToken && refreshToken && expiresAt - 10 < Date.now() / 1000) {\n return this.refresh(requestOptions);\n }\n\n return Promise.resolve(this.state);\n }\n\n /**\n * Use the refresh token to obtain new access token. If the refresh token is\n * expired (or this fails for any other reason) it will be deleted from the\n * state, so that we don't enter into loops trying to re-authorize.\n *\n * This method is typically called internally from [[request]] if\n * certain request fails with 401.\n *\n * @param requestOptions Any options to pass to the fetch call. Most of them\n * will be overridden, bit it might still be useful for passing additional\n * request options or an abort signal.\n * @category Request\n */\n refresh(requestOptions: RequestInit = {}): Promise\n {\n const debugRefresh = _debug.extend(\"client:refresh\");\n debugRefresh(\"Attempting to refresh with refresh_token...\");\n\n const refreshToken = this.state?.tokenResponse?.refresh_token;\n assert(refreshToken, \"Unable to refresh. No refresh_token found.\");\n\n const tokenUri = this.state.tokenUri;\n assert(tokenUri, \"Unable to refresh. No tokenUri found.\");\n\n const scopes = this.getState(\"tokenResponse.scope\") || \"\";\n const hasOfflineAccess = scopes.search(/\\boffline_access\\b/) > -1;\n const hasOnlineAccess = scopes.search(/\\bonline_access\\b/) > -1;\n assert(hasOfflineAccess || hasOnlineAccess, \"Unable to refresh. No offline_access or online_access scope found.\");\n\n // This method is typically called internally from `request` if certain\n // request fails with 401. However, clients will often run multiple\n // requests in parallel which may result in multiple refresh calls.\n // To avoid that, we keep a reference to the current refresh task (if any).\n if (!this._refreshTask) {\n let body = `grant_type=refresh_token&refresh_token=${encodeURIComponent(refreshToken)}`;\n if (this.environment.options.refreshTokenWithClientId) {\n body += `&client_id=${this.state.clientId}`;\n }\n const refreshRequestOptions = {\n credentials: this.environment.options.refreshTokenWithCredentials || \"same-origin\",\n ...requestOptions,\n method : \"POST\",\n mode : \"cors\" as RequestMode,\n headers: {\n ...(requestOptions.headers || {}),\n \"content-type\": \"application/x-www-form-urlencoded\"\n },\n body: body\n };\n\n // custom authorization header can be passed on manual calls\n if (!(\"authorization\" in refreshRequestOptions.headers)) {\n const { clientSecret, clientId } = this.state;\n if (clientSecret) {\n // @ts-ignore\n refreshRequestOptions.headers.authorization = \"Basic \" + this.environment.btoa(\n clientId + \":\" + clientSecret\n );\n }\n }\n\n this._refreshTask = request(tokenUri, refreshRequestOptions)\n .then(data => {\n assert(data.access_token, \"No access token received\");\n debugRefresh(\"Received new access token response %O\", data);\n this.state.tokenResponse = { ...this.state.tokenResponse, ...data };\n this.state.expiresAt = getAccessTokenExpiration(data, this.environment);\n return this.state;\n })\n .catch((error: Error) => {\n if (this.state?.tokenResponse?.refresh_token) {\n debugRefresh(\"Deleting the expired or invalid refresh token.\");\n delete this.state.tokenResponse.refresh_token;\n }\n throw error;\n })\n .finally(() => {\n this._refreshTask = null;\n const key = this.state.key;\n if (key) {\n this.environment.getStorage().set(key, this.state);\n } else {\n debugRefresh(\"No 'key' found in Clint.state. Cannot persist the instance.\");\n }\n });\n }\n\n return this._refreshTask;\n }\n\n // utils -------------------------------------------------------------------\n\n /**\n * Groups the observations by code. Returns a map that will look like:\n * ```js\n * const map = client.byCodes(observations, \"code\");\n * // map = {\n * // \"55284-4\": [ observation1, observation2 ],\n * // \"6082-2\": [ observation3 ]\n * // }\n * ```\n * @param observations Array of observations\n * @param property The name of a CodeableConcept property to group by\n * @todo This should be deprecated and moved elsewhere. One should not have\n * to obtain an instance of [[Client]] just to use utility functions like this.\n * @deprecated\n * @category Utility\n */\n byCode(\n observations: fhirclient.FHIR.Observation | fhirclient.FHIR.Observation[],\n property: string\n ): fhirclient.ObservationMap\n {\n return byCode(observations, property);\n }\n\n /**\n * First groups the observations by code using `byCode`. Then returns a function\n * that accepts codes as arguments and will return a flat array of observations\n * having that codes. Example:\n * ```js\n * const filter = client.byCodes(observations, \"category\");\n * filter(\"laboratory\") // => [ observation1, observation2 ]\n * filter(\"vital-signs\") // => [ observation3 ]\n * filter(\"laboratory\", \"vital-signs\") // => [ observation1, observation2, observation3 ]\n * ```\n * @param observations Array of observations\n * @param property The name of a CodeableConcept property to group by\n * @todo This should be deprecated and moved elsewhere. One should not have\n * to obtain an instance of [[Client]] just to use utility functions like this.\n * @deprecated\n * @category Utility\n */\n byCodes(\n observations: fhirclient.FHIR.Observation | fhirclient.FHIR.Observation[],\n property: string\n ): (...codes: string[]) => any[]\n {\n return byCodes(observations, property);\n }\n\n /**\n * @category Utility\n */\n units = units;\n\n /**\n * Walks through an object (or array) and returns the value found at the\n * provided path. This function is very simple so it intentionally does not\n * support any argument polymorphism, meaning that the path can only be a\n * dot-separated string. If the path is invalid returns undefined.\n * @param obj The object (or Array) to walk through\n * @param path The path (eg. \"a.b.4.c\")\n * @returns {*} Whatever is found in the path or undefined\n * @todo This should be deprecated and moved elsewhere. One should not have\n * to obtain an instance of [[Client]] just to use utility functions like this.\n * @deprecated\n * @category Utility\n */\n getPath(obj: Record, path = \"\"): any {\n return getPath(obj, path);\n }\n\n /**\n * Returns a copy of the client state. Accepts a dot-separated path argument\n * (same as for `getPath`) to allow for selecting specific properties.\n * Examples:\n * ```js\n * client.getState(); // -> the entire state object\n * client.getState(\"serverUrl\"); // -> the URL we are connected to\n * client.getState(\"tokenResponse.patient\"); // -> The selected patient ID (if any)\n * ```\n * @param path The path (eg. \"a.b.4.c\")\n * @returns {*} Whatever is found in the path or undefined\n */\n getState(path = \"\") {\n return getPath({ ...this.state }, path);\n }\n\n /**\n * Returns a promise that will be resolved with the fhir version as defined\n * in the CapabilityStatement.\n */\n getFhirVersion(): Promise {\n return fetchConformanceStatement(this.state.serverUrl)\n .then((metadata) => metadata.fhirVersion);\n }\n\n /**\n * Returns a promise that will be resolved with the numeric fhir version\n * - 2 for DSTU2\n * - 3 for STU3\n * - 4 for R4\n * - 0 if the version is not known\n */\n getFhirRelease(): Promise {\n return this.getFhirVersion().then(v => (fhirVersions as any)[v] ?? 0);\n }\n}\n","import { fhirclient } from \"./types\";\n\n\nexport default class HttpError extends Error\n{\n /**\n * The HTTP status code for this error\n */\n statusCode: number;\n\n /**\n * The HTTP status code for this error.\n * Note that this is the same as `status`, i.e. the code is available\n * through any of these.\n */\n status: number;\n\n /**\n * The HTTP status text corresponding to this error\n */\n statusText: string;\n\n /**\n * Reference to the HTTP Response object\n */\n response: Response;\n\n constructor(response: Response) {\n super(`${response.status} ${response.statusText}\\nURL: ${response.url}`);\n this.name = \"HttpError\";\n this.response = response;\n this.statusCode = response.status;\n this.status = response.status;\n this.statusText = response.statusText;\n }\n\n async parse()\n {\n if (!this.response.bodyUsed) {\n try {\n const type = this.response.headers.get(\"content-type\") || \"text/plain\";\n if (type.match(/\\bjson\\b/i)) {\n let body = await this.response.json();\n if (body.error) {\n this.message += \"\\n\" + body.error;\n if (body.error_description) {\n this.message += \": \" + body.error_description;\n }\n }\n else {\n this.message += \"\\n\\n\" + JSON.stringify(body, null, 4);\n }\n }\n else if (type.match(/^text\\//i)) {\n let body = await this.response.text();\n if (body) {\n this.message += \"\\n\\n\" + body;\n }\n }\n } catch {\n // ignore\n }\n }\n\n return this;\n }\n\n toJSON() {\n return {\n name : this.name,\n statusCode: this.statusCode,\n status : this.status,\n statusText: this.statusText,\n message : this.message\n };\n }\n}\n","import { ready, authorize, init } from \"../smart\";\nimport Client from \"../Client\";\nimport BrowserStorage from \"../storage/BrowserStorage\";\nimport { fhirclient } from \"../types\";\nimport * as security from \"../security/browser\"\nimport { encodeURL, decode, fromUint8Array } from \"js-base64\"\n\n/**\n * Browser Adapter\n */\nexport default class BrowserAdapter implements fhirclient.Adapter\n{\n /**\n * Stores the URL instance associated with this adapter\n */\n private _url: URL | null = null;\n\n /**\n * Holds the Storage instance associated with this instance\n */\n private _storage: fhirclient.Storage | null = null;\n\n /**\n * Environment-specific options\n */\n options: fhirclient.BrowserFHIRSettings;\n\n security = security;\n\n /**\n * @param options Environment-specific options\n */\n constructor(options: fhirclient.BrowserFHIRSettings = {})\n {\n this.options = {\n // Replaces the browser's current URL\n // using window.history.replaceState API or by reloading.\n replaceBrowserHistory: true,\n\n // When set to true, this variable will fully utilize\n // HTML5 sessionStorage API.\n // This variable can be overridden to false by setting\n // FHIR.oauth2.settings.fullSessionStorageSupport = false.\n // When set to false, the sessionStorage will be keyed\n // by a state variable. This is to allow the embedded IE browser\n // instances instantiated on a single thread to continue to\n // function without having sessionStorage data shared\n // across the embedded IE instances.\n fullSessionStorageSupport: true,\n\n // Do we want to send cookies while making a request to the token\n // endpoint in order to obtain new access token using existing\n // refresh token. In rare cases the auth server might require the\n // client to send cookies along with those requests. In this case\n // developers will have to change this before initializing the app\n // like so:\n // `FHIR.oauth2.settings.refreshTokenWithCredentials = \"include\";`\n // or\n // `FHIR.oauth2.settings.refreshTokenWithCredentials = \"same-origin\";`\n // Can be one of:\n // \"include\" - always send cookies\n // \"same-origin\" - only send cookies if we are on the same domain (default)\n // \"omit\" - do not send cookies\n refreshTokenWithCredentials: \"same-origin\",\n\n ...options\n };\n }\n\n /**\n * Given a relative path, returns an absolute url using the instance base URL\n */\n relative(path: string): string\n {\n return new URL(path, this.getUrl().href).href;\n }\n\n /**\n * In browsers we need to be able to (dynamically) check if fhir.js is\n * included in the page. If it is, it should have created a \"fhir\" variable\n * in the global scope.\n */\n get fhir()\n {\n // @ts-ignore\n return typeof fhir === \"function\" ? fhir : null;\n }\n\n /**\n * Given the current environment, this method must return the current url\n * as URL instance\n */\n getUrl(): URL\n {\n if (!this._url) {\n this._url = new URL(location + \"\");\n }\n return this._url;\n }\n\n /**\n * Given the current environment, this method must redirect to the given\n * path\n */\n redirect(to: string): void\n {\n location.href = to;\n }\n\n /**\n * Returns a BrowserStorage object which is just a wrapper around\n * sessionStorage\n */\n getStorage(): BrowserStorage\n {\n if (!this._storage) {\n this._storage = new BrowserStorage();\n }\n return this._storage;\n }\n\n /**\n * Returns a reference to the AbortController constructor. In browsers,\n * AbortController will always be available as global (native or polyfilled)\n */\n getAbortController()\n {\n return AbortController;\n }\n\n /**\n * ASCII string to Base64\n */\n atob(str: string): string\n {\n return window.atob(str);\n }\n\n /**\n * Base64 to ASCII string\n */\n btoa(str: string): string\n {\n return window.btoa(str);\n }\n\n base64urlencode(input: string | Uint8Array)\n {\n if (typeof input == \"string\") {\n return encodeURL(input)\n }\n return fromUint8Array(input, true)\n }\n\n base64urldecode(input: string)\n {\n return decode(input)\n }\n\n /**\n * Creates and returns adapter-aware SMART api. Not that while the shape of\n * the returned object is well known, the arguments to this function are not.\n * Those who override this method are free to require any environment-specific\n * arguments. For example in node we will need a request, a response and\n * optionally a storage or storage factory function.\n */\n getSmartApi(): fhirclient.SMART\n {\n return {\n ready : (...args: any[]) => ready(this, ...args),\n authorize: options => authorize(this, options),\n init : options => init(this, options),\n client : (state: string | fhirclient.ClientState) => new Client(this, state),\n options : this.options,\n utils: {\n security\n }\n };\n }\n}\n","\n// Note: the following 2 imports appear as unused but they affect how tsc is\n// generating type definitions!\nimport { fhirclient } from \"../types\";\nimport Client from \"../Client\";\n\n// In Browsers we create an adapter, get the SMART api from it and build the\n// global FHIR object\nimport BrowserAdapter from \"../adapters/BrowserAdapter\";\n\nconst adapter = new BrowserAdapter();\nconst { ready, authorize, init, client, options, utils } = adapter.getSmartApi();\n\n// We have two kinds of browser builds - \"pure\" for new browsers and \"legacy\"\n// for old ones. In pure builds we assume that the browser supports everything\n// we need. In legacy mode, the library also acts as a polyfill. Babel will\n// automatically polyfill everything except \"fetch\", which we have to handle\n// manually.\n// @ts-ignore\nif (typeof FHIRCLIENT_PURE == \"undefined\") {\n const fetch = require(\"cross-fetch\");\n require(\"abortcontroller-polyfill/dist/abortcontroller-polyfill-only\");\n if (!window.fetch) {\n window.fetch = fetch.default;\n window.Headers = fetch.Headers;\n window.Request = fetch.Request;\n window.Response = fetch.Response;\n }\n}\n\n// $lab:coverage:off$\nconst FHIR = {\n AbortController: window.AbortController,\n client,\n utils,\n oauth2: {\n settings: options,\n ready,\n authorize,\n init\n }\n};\n\nexport = FHIR;\n// $lab:coverage:on$\n","/*\n * This file contains some shared functions. They are used by other modules, but\n * are defined here so that tests can import this library and test them.\n */\n\nimport HttpError from \"./HttpError\";\nimport { patientParams } from \"./settings\";\nimport { fhirclient } from \"./types\";\nconst debug = require(\"debug\");\n\n// $lab:coverage:off$\n// @ts-ignore\nconst { fetch } = typeof FHIRCLIENT_PURE !== \"undefined\" ? window : require(\"cross-fetch\");\n// $lab:coverage:on$\n\nconst _debug = debug(\"FHIR\");\nexport { _debug as debug };\n\n/**\n * The cache for the `getAndCache` function\n */\nconst cache: Record = {};\n\n/**\n * A namespace with functions for converting between different measurement units\n */\nexport const units = {\n cm({ code, value }: fhirclient.CodeValue) {\n ensureNumerical({ code, value });\n if (code == \"cm\" ) return value;\n if (code == \"m\" ) return value * 100;\n if (code == \"in\" ) return value * 2.54;\n if (code == \"[in_us]\") return value * 2.54;\n if (code == \"[in_i]\" ) return value * 2.54;\n if (code == \"ft\" ) return value * 30.48;\n if (code == \"[ft_us]\") return value * 30.48;\n throw new Error(\"Unrecognized length unit: \" + code);\n },\n kg({ code, value }: fhirclient.CodeValue){\n ensureNumerical({ code, value });\n if (code == \"kg\" ) return value;\n if (code == \"g\" ) return value / 1000;\n if (code.match(/lb/)) return value / 2.20462;\n if (code.match(/oz/)) return value / 35.274;\n throw new Error(\"Unrecognized weight unit: \" + code);\n },\n any(pq: fhirclient.CodeValue){\n ensureNumerical(pq);\n return pq.value;\n }\n};\n\n/**\n * Assertion function to guard arguments for `units` functions\n */\nfunction ensureNumerical({ value, code }: fhirclient.CodeValue) {\n if (typeof value !== \"number\") {\n throw new Error(\"Found a non-numerical unit: \" + value + \" \" + code);\n }\n}\n\n/**\n * Used in fetch Promise chains to reject if the \"ok\" property is not true\n */\nexport async function checkResponse(resp: Response): Promise {\n if (!resp.ok) {\n const error = new HttpError(resp);\n await error.parse();\n throw error;\n }\n return resp;\n}\n\n/**\n * Used in fetch Promise chains to return the JSON version of the response.\n * Note that `resp.json()` will throw on empty body so we use resp.text()\n * instead.\n */\nexport function responseToJSON(resp: Response): Promise {\n return resp.text().then(text => text.length ? JSON.parse(text) : \"\");\n}\n\nexport function loweCaseKeys | any[] | undefined>(obj: T): T {\n \n // Can be undefined to signal that this key should be removed\n if (!obj) {\n return obj as T\n }\n\n // Arrays are valid values in case of recursive calls\n if (Array.isArray(obj)) {\n return obj.map(v => v && typeof v === \"object\" ? loweCaseKeys(v) : v) as unknown as T;\n }\n\n // Plain object\n let out: Record = {};\n Object.keys(obj).forEach(key => {\n const lowerKey = key.toLowerCase()\n const v = (obj as Record)[key]\n out[lowerKey] = v && typeof v == \"object\" ? loweCaseKeys(v) : v;\n });\n return out as T;\n}\n\n/**\n * This is our built-in request function. It does a few things by default\n * (unless told otherwise):\n * - Makes CORS requests\n * - Sets accept header to \"application/json\"\n * - Handles errors\n * - If the response is json return the json object\n * - If the response is text return the result text\n * - Otherwise return the response object on which we call stuff like `.blob()`\n */\nexport function request(\n url: string | Request,\n requestOptions: fhirclient.FetchOptions = {}\n): Promise\n{\n const { includeResponse, ...options } = requestOptions;\n return fetch(url, {\n mode: \"cors\",\n ...options,\n headers: {\n accept: \"application/json\",\n ...loweCaseKeys(options.headers)\n }\n })\n .then(checkResponse)\n .then((res: Response) => {\n const type = res.headers.get(\"content-type\") + \"\";\n if (type.match(/\\bjson\\b/i)) {\n return responseToJSON(res).then(body => ({ res, body }));\n }\n if (type.match(/^text\\//i)) {\n return res.text().then(body => ({ res, body }));\n }\n return { res };\n })\n .then(({res, body}: {res:Response, body?:fhirclient.JsonObject|string}) => {\n\n // Some servers will reply after CREATE with json content type but with\n // empty body. In this case check if a location header is received and\n // fetch that to use it as the final result.\n if (!body && res.status == 201) {\n const location = res.headers.get(\"location\");\n if (location) {\n return request(location, { ...options, method: \"GET\", body: null, includeResponse });\n }\n }\n\n if (includeResponse) {\n return { body, response: res };\n }\n\n // For any non-text and non-json response return the Response object.\n // This to let users decide if they want to call text(), blob() or\n // something else on it\n if (body === undefined) {\n return res;\n }\n\n // Otherwise just return the parsed body (can also be \"\" or null)\n return body;\n });\n}\n\n/**\n * Makes a request using `fetch` and stores the result in internal memory cache.\n * The cache is cleared when the page is unloaded.\n * @param url The URL to request\n * @param requestOptions Request options\n * @param force If true, reload from source and update the cache, even if it has\n * already been cached.\n */\nexport function getAndCache(url: string, requestOptions?: RequestInit, force: boolean = process.env.NODE_ENV === \"test\"): Promise {\n if (force || !cache[url]) {\n cache[url] = request(url, requestOptions);\n return cache[url];\n }\n return Promise.resolve(cache[url]);\n}\n\n/**\n * Fetches the conformance statement from the given base URL.\n * Note that the result is cached in memory (until the page is reloaded in the\n * browser) because it might have to be re-used by the client\n * @param baseUrl The base URL of the FHIR server\n * @param [requestOptions] Any options passed to the fetch call\n */\nexport function fetchConformanceStatement(baseUrl = \"/\", requestOptions?: RequestInit): Promise\n{\n const url = String(baseUrl).replace(/\\/*$/, \"/\") + \"metadata\";\n return getAndCache(url, requestOptions).catch((ex: Error) => {\n throw new Error(\n `Failed to fetch the conformance statement from \"${url}\". ${ex}`\n );\n });\n}\n\n\n/**\n * Walks through an object (or array) and returns the value found at the\n * provided path. This function is very simple so it intentionally does not\n * support any argument polymorphism, meaning that the path can only be a\n * dot-separated string. If the path is invalid returns undefined.\n * @param obj The object (or Array) to walk through\n * @param path The path (eg. \"a.b.4.c\")\n * @returns {*} Whatever is found in the path or undefined\n */\nexport function getPath(obj: Record, path = \"\"): any {\n path = path.trim();\n if (!path) {\n return obj;\n }\n\n let segments = path.split(\".\");\n let result = obj;\n\n while (result && segments.length) {\n const key = segments.shift();\n if (!key && Array.isArray(result)) {\n return result.map(o => getPath(o, segments.join(\".\")));\n } else {\n result = result[key as string];\n }\n }\n\n return result;\n}\n\n/**\n * Like getPath, but if the node is found, its value is set to @value\n * @param obj The object (or Array) to walk through\n * @param path The path (eg. \"a.b.4.c\")\n * @param value The value to set\n * @param createEmpty If true, create missing intermediate objects or arrays\n * @returns The modified object\n */\nexport function setPath(obj: Record, path: string, value: any, createEmpty = false): Record {\n path.trim().split(\".\").reduce(\n (out, key, idx, arr) => {\n if (out && idx === arr.length - 1) {\n out[key] = value;\n }\n else {\n if (out && out[key] === undefined && createEmpty) {\n out[key] = arr[idx + 1].match(/^[0-9]+$/) ? [] : {};\n }\n return out ? out[key] : undefined;\n }\n },\n obj\n );\n return obj;\n}\n\n/**\n * If the argument is an array returns it as is. Otherwise puts it in an array\n * (`[arg]`) and returns the result\n * @param arg The element to test and possibly convert to array\n * @category Utility\n */\nexport function makeArray(arg: any): T[] {\n if (Array.isArray(arg)) {\n return arg;\n }\n return [arg];\n}\n\n/**\n * Given a path, converts it to absolute url based on the `baseUrl`. If baseUrl\n * is not provided, the result would be a rooted path (one that starts with `/`).\n * @param path The path to convert\n * @param baseUrl The base URL\n */\nexport function absolute(path: string, baseUrl?: string): string\n{\n if (path.match(/^http/)) return path;\n if (path.match(/^urn/)) return path;\n return String(baseUrl || \"\").replace(/\\/+$/, \"\") + \"/\" + path.replace(/^\\/+/, \"\");\n}\n\n/**\n * Generates random strings. By default this returns random 8 characters long\n * alphanumeric strings.\n * @param strLength The length of the output string. Defaults to 8.\n * @param charSet A string containing all the possible characters.\n * Defaults to all the upper and lower-case letters plus digits.\n * @category Utility\n */\nexport function randomString(\n strLength = 8,\n charSet = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\"\n): string\n{\n const result = [];\n const len = charSet.length;\n while (strLength--) {\n result.push(charSet.charAt(Math.floor(Math.random() * len)));\n }\n return result.join(\"\");\n}\n\n/**\n * Decodes a JWT token and returns it's body.\n * @param token The token to read\n * @param env An `Adapter` or any other object that has an `atob` method\n * @category Utility\n */\nexport function jwtDecode(token: string, env: fhirclient.Adapter): Record | null\n{\n const payload = token.split(\".\")[1];\n return payload ? JSON.parse(env.atob(payload)) : null;\n}\n\n/**\n * Add a supplied number of seconds to the supplied Date, returning\n * an integer number of seconds since the epoch\n * @param secondsAhead How far ahead, in seconds (defaults to 120 seconds)\n * @param from Initial time (defaults to current time)\n */\nexport function getTimeInFuture(secondsAhead: number = 120, from?: Date | number): number {\n return Math.floor(+(from || new Date()) / 1000 + secondsAhead) \n}\n\n/**\n * Given a token response, computes and returns the expiresAt timestamp.\n * Note that this should only be used immediately after an access token is\n * received, otherwise the computed timestamp will be incorrect.\n * @param tokenResponse \n * @param env \n */\nexport function getAccessTokenExpiration(tokenResponse: fhirclient.TokenResponse, env: fhirclient.Adapter): number\n{\n const now = Math.floor(Date.now() / 1000);\n\n // Option 1 - using the expires_in property of the token response\n if (tokenResponse.expires_in) {\n return now + tokenResponse.expires_in;\n }\n\n // Option 2 - using the exp property of JWT tokens (must not assume JWT!)\n if (tokenResponse.access_token) {\n let tokenBody = jwtDecode(tokenResponse.access_token, env);\n if (tokenBody && tokenBody.exp) {\n return tokenBody.exp;\n }\n }\n\n // Option 3 - if none of the above worked set this to 5 minutes after now\n return now + 300;\n}\n\n/**\n * Groups the observations by code. Returns a map that will look like:\n * ```js\n * const map = client.byCodes(observations, \"code\");\n * // map = {\n * // \"55284-4\": [ observation1, observation2 ],\n * // \"6082-2\": [ observation3 ]\n * // }\n * ```\n * @param observations Array of observations\n * @param property The name of a CodeableConcept property to group by\n */\nexport function byCode(\n observations: fhirclient.FHIR.Observation | fhirclient.FHIR.Observation[],\n property: string\n): fhirclient.ObservationMap\n{\n const ret: fhirclient.ObservationMap = {};\n\n function handleCodeableConcept(concept: fhirclient.FHIR.CodeableConcept, observation: fhirclient.FHIR.Observation) {\n if (concept && Array.isArray(concept.coding)) {\n concept.coding.forEach(({ code }) => {\n if (code) {\n ret[code] = ret[code] || [] as fhirclient.FHIR.Observation[];\n ret[code].push(observation);\n }\n });\n }\n }\n\n makeArray(observations).forEach(o => {\n if (o.resourceType === \"Observation\" && o[property]) {\n if (Array.isArray(o[property])) {\n o[property].forEach((concept: fhirclient.FHIR.CodeableConcept) => handleCodeableConcept(concept, o));\n } else {\n handleCodeableConcept(o[property], o);\n }\n }\n });\n\n return ret;\n}\n\n/**\n * First groups the observations by code using `byCode`. Then returns a function\n * that accepts codes as arguments and will return a flat array of observations\n * having that codes. Example:\n * ```js\n * const filter = client.byCodes(observations, \"category\");\n * filter(\"laboratory\") // => [ observation1, observation2 ]\n * filter(\"vital-signs\") // => [ observation3 ]\n * filter(\"laboratory\", \"vital-signs\") // => [ observation1, observation2, observation3 ]\n * ```\n * @param observations Array of observations\n * @param property The name of a CodeableConcept property to group by\n */\nexport function byCodes(\n observations: fhirclient.FHIR.Observation | fhirclient.FHIR.Observation[],\n property: string\n): (...codes: string[]) => any[]\n{\n const bank = byCode(observations, property);\n return (...codes) => codes\n .filter(code => (code + \"\") in bank)\n .reduce(\n (prev, code) => prev.concat(bank[code + \"\"]),\n [] as fhirclient.FHIR.Observation[]\n );\n}\n\n/**\n * Given a conformance statement and a resource type, returns the name of the\n * URL parameter that can be used to scope the resource type by patient ID.\n */\nexport function getPatientParam(conformance: fhirclient.FHIR.CapabilityStatement, resourceType: string): string\n{\n // Find what resources are supported by this server\n const resources = getPath(conformance, \"rest.0.resource\") || [];\n\n // Check if this resource is supported\n const meta = resources.find((r: any) => r.type === resourceType);\n if (!meta) {\n throw new Error(`Resource \"${resourceType}\" is not supported by this FHIR server`);\n }\n\n // Check if any search parameters are available for this resource\n if (!Array.isArray(meta.searchParam)) {\n throw new Error(`No search parameters supported for \"${resourceType}\" on this FHIR server`);\n }\n\n // This is a rare case but could happen in generic workflows\n if (resourceType == \"Patient\" && meta.searchParam.find((x: any) => x.name == \"_id\")) {\n return \"_id\";\n }\n\n // Now find the first possible parameter name\n const out = patientParams.find(p => meta.searchParam.find((x: any) => x.name == p));\n\n // If there is no match\n if (!out) {\n throw new Error(\"I don't know what param to use for \" + resourceType);\n }\n\n return out;\n}\n\n/**\n * Resolves a reference to target window. It may also open new window or tab if\n * the `target = \"popup\"` or `target = \"_blank\"`.\n * @param target\n * @param width Only used when `target = \"popup\"`\n * @param height Only used when `target = \"popup\"`\n */\nexport async function getTargetWindow(target: fhirclient.WindowTarget, width: number = 800, height: number = 720): Promise\n{\n // The target can be a function that returns the target. This can be\n // used to open a layer pop-up with an iframe and then return a reference\n // to that iframe (or its name)\n if (typeof target == \"function\") {\n target = await target();\n }\n\n // The target can be a window reference\n if (target && typeof target == \"object\") {\n return target;\n }\n\n // At this point target must be a string\n if (typeof target != \"string\") {\n _debug(\"Invalid target type '%s'. Failing back to '_self'.\", typeof target);\n return self;\n }\n\n // Current window\n if (target == \"_self\") {\n return self;\n }\n\n // The parent frame\n if (target == \"_parent\") {\n return parent;\n }\n\n // The top window\n if (target == \"_top\") {\n return top || self;\n }\n\n // New tab or window\n if (target == \"_blank\") {\n let error, targetWindow: Window | null = null;\n try {\n targetWindow = window.open(\"\", \"SMARTAuthPopup\");\n if (!targetWindow) {\n throw new Error(\"Perhaps window.open was blocked\");\n }\n } catch (e) {\n error = e;\n }\n\n if (!targetWindow) {\n _debug(\"Cannot open window. Failing back to '_self'. %s\", error);\n return self;\n } else {\n return targetWindow;\n }\n }\n\n // Popup window\n if (target == \"popup\") {\n let error, targetWindow: Window | null = null;\n // if (!targetWindow || targetWindow.closed) {\n try {\n targetWindow = window.open(\"\", \"SMARTAuthPopup\", [\n \"height=\" + height,\n \"width=\" + width,\n \"menubar=0\",\n \"resizable=1\",\n \"status=0\",\n \"top=\" + (screen.height - height) / 2,\n \"left=\" + (screen.width - width) / 2\n ].join(\",\"));\n if (!targetWindow) {\n throw new Error(\"Perhaps the popup window was blocked\");\n }\n } catch (e) {\n error = e;\n }\n\n if (!targetWindow) {\n _debug(\"Cannot open window. Failing back to '_self'. %s\", error);\n return self;\n } else {\n return targetWindow;\n }\n }\n\n // Frame or window by name\n const winOrFrame: Window = frames[target as any];\n if (winOrFrame) {\n return winOrFrame;\n }\n\n _debug(\"Unknown target '%s'. Failing back to '_self'.\", target);\n return self;\n}\n\nexport function assert(condition: any, message: string): asserts condition {\n if (!(condition)) {\n throw new Error(message)\n }\n}\n\nexport function assertJsonPatch(patch: fhirclient.JsonPatch): asserts patch {\n assert(Array.isArray(patch), \"The JSON patch must be an array\")\n assert(patch.length > 0, \"The JSON patch array should not be empty\")\n patch.forEach((operation: fhirclient.JsonPatchOperation) => {\n assert(\n [\"add\", \"replace\", \"test\", \"move\", \"copy\", \"remove\"].indexOf(operation.op) > -1,\n 'Each patch operation must have an \"op\" property which must be one of: \"add\", \"replace\", \"test\", \"move\", \"copy\", \"remove\"'\n )\n assert(operation.path && typeof operation.path, `Invalid \"${operation.op}\" operation. Missing \"path\" property`)\n \n if (operation.op == \"add\" || operation.op == \"replace\" || operation.op == \"test\") {\n assert(\"value\" in operation, `Invalid \"${operation.op}\" operation. Missing \"value\" property`)\n assert(Object.keys(operation).length == 3, `Invalid \"${operation.op}\" operation. Contains unknown properties`)\n }\n\n else if (operation.op == \"move\" || operation.op == \"copy\") {\n assert(typeof operation.from == \"string\", `Invalid \"${operation.op}\" operation. Requires a string \"from\" property`)\n assert(Object.keys(operation).length == 3, `Invalid \"${operation.op}\" operation. Contains unknown properties`)\n }\n\n else {\n assert(Object.keys(operation).length == 2, `Invalid \"${operation.op}\" operation. Contains unknown properties`)\n }\n })\n}\n","import { encodeURL, fromUint8Array } from \"js-base64\"\nimport { fhirclient } from \"../types\"\n\n\nconst crypto: Crypto = typeof globalThis === \"object\" && globalThis.crypto ?\n globalThis.crypto :\n require(\"isomorphic-webcrypto\").default;\n\nconst subtle = () => {\n if (!crypto.subtle) {\n if (!globalThis.isSecureContext) {\n throw new Error(\n \"Some of the required subtle crypto functionality is not \" +\n \"available unless you run this app in secure context (using \" +\n \"HTTPS or running locally). See \" +\n \"https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts\"\n )\n }\n throw new Error(\n \"Some of the required subtle crypto functionality is not \" +\n \"available in the current environment (no crypto.subtle)\"\n )\n }\n return crypto.subtle\n}\n\n\ninterface PkcePair {\n codeChallenge: string\n codeVerifier: string\n}\n\nconst ALGS = {\n ES384: {\n name: \"ECDSA\",\n namedCurve: \"P-384\"\n } as EcKeyGenParams,\n RS384: {\n name: \"RSASSA-PKCS1-v1_5\",\n modulusLength: 4096,\n publicExponent: new Uint8Array([1, 0, 1]),\n hash: {\n name: 'SHA-384'\n }\n } as RsaHashedKeyGenParams\n};\n\nexport function randomBytes(count: number): Uint8Array {\n return crypto.getRandomValues(new Uint8Array(count));\n}\n\nexport async function digestSha256(payload: string): Promise {\n const prepared = new TextEncoder().encode(payload);\n const hash = await subtle().digest('SHA-256', prepared);\n return new Uint8Array(hash);\n}\n\nexport const generatePKCEChallenge = async (entropy = 96): Promise => {\n const inputBytes = randomBytes(entropy)\n const codeVerifier = fromUint8Array(inputBytes, true)\n const codeChallenge = fromUint8Array(await digestSha256(codeVerifier), true)\n return { codeChallenge, codeVerifier }\n}\n\nexport async function importJWK(jwk: fhirclient.JWK): Promise {\n // alg is optional in JWK but we need it here!\n if (!jwk.alg) {\n throw new Error('The \"alg\" property of the JWK must be set to \"ES384\" or \"RS384\"')\n }\n\n // Use of the \"key_ops\" member is OPTIONAL, unless the application requires its presence.\n // https://www.rfc-editor.org/rfc/rfc7517.html#section-4.3\n // \n // In our case the app will only import private keys so we can assume \"sign\"\n if (!Array.isArray(jwk.key_ops)) {\n jwk.key_ops = [\"sign\"]\n }\n\n // In this case the JWK has a \"key_ops\" array and \"sign\" is not listed\n if (!jwk.key_ops.includes(\"sign\")) {\n throw new Error('The \"key_ops\" property of the JWK does not contain \"sign\"')\n }\n\n try {\n return await subtle().importKey(\n \"jwk\",\n jwk,\n ALGS[jwk.alg],\n jwk.ext === true,\n jwk.key_ops// || ['sign']\n )\n } catch (e) {\n throw new Error(`The ${jwk.alg} is not supported by this browser: ${e}`)\n }\n}\n\nexport async function signCompactJws(alg: keyof typeof ALGS, privateKey: CryptoKey, header: any, payload: any): Promise {\n\n const jwtHeader = JSON.stringify({ ...header, alg });\n const jwtPayload = JSON.stringify(payload);\n const jwtAuthenticatedContent = `${encodeURL(jwtHeader)}.${encodeURL(jwtPayload)}`;\n\n const signature = await subtle().sign(\n { ...privateKey.algorithm, hash: 'SHA-384' },\n privateKey,\n new TextEncoder().encode(jwtAuthenticatedContent)\n );\n\n return `${jwtAuthenticatedContent}.${fromUint8Array(new Uint8Array(signature), true)}`\n}\n","/**\n * Combined list of FHIR resource types accepting patient parameter in FHIR R2-R4\n */\nexport const patientCompartment = [\n \"Account\",\n \"AdverseEvent\",\n \"AllergyIntolerance\",\n \"Appointment\",\n \"AppointmentResponse\",\n \"AuditEvent\",\n \"Basic\",\n \"BodySite\",\n \"BodyStructure\",\n \"CarePlan\",\n \"CareTeam\",\n \"ChargeItem\",\n \"Claim\",\n \"ClaimResponse\",\n \"ClinicalImpression\",\n \"Communication\",\n \"CommunicationRequest\",\n \"Composition\",\n \"Condition\",\n \"Consent\",\n \"Coverage\",\n \"CoverageEligibilityRequest\",\n \"CoverageEligibilityResponse\",\n \"DetectedIssue\",\n \"DeviceRequest\",\n \"DeviceUseRequest\",\n \"DeviceUseStatement\",\n \"DiagnosticOrder\",\n \"DiagnosticReport\",\n \"DocumentManifest\",\n \"DocumentReference\",\n \"EligibilityRequest\",\n \"Encounter\",\n \"EnrollmentRequest\",\n \"EpisodeOfCare\",\n \"ExplanationOfBenefit\",\n \"FamilyMemberHistory\",\n \"Flag\",\n \"Goal\",\n \"Group\",\n \"ImagingManifest\",\n \"ImagingObjectSelection\",\n \"ImagingStudy\",\n \"Immunization\",\n \"ImmunizationEvaluation\",\n \"ImmunizationRecommendation\",\n \"Invoice\",\n \"List\",\n \"MeasureReport\",\n \"Media\",\n \"MedicationAdministration\",\n \"MedicationDispense\",\n \"MedicationOrder\",\n \"MedicationRequest\",\n \"MedicationStatement\",\n \"MolecularSequence\",\n \"NutritionOrder\",\n \"Observation\",\n \"Order\",\n \"Patient\",\n \"Person\",\n \"Procedure\",\n \"ProcedureRequest\",\n \"Provenance\",\n \"QuestionnaireResponse\",\n \"ReferralRequest\",\n \"RelatedPerson\",\n \"RequestGroup\",\n \"ResearchSubject\",\n \"RiskAssessment\",\n \"Schedule\",\n \"ServiceRequest\",\n \"Specimen\",\n \"SupplyDelivery\",\n \"SupplyRequest\",\n \"VisionPrescription\"\n];\n\n/**\n * Map of FHIR releases and their abstract version as number\n */\nexport const fhirVersions = {\n \"0.4.0\": 2,\n \"0.5.0\": 2,\n \"1.0.0\": 2,\n \"1.0.1\": 2,\n \"1.0.2\": 2,\n \"1.1.0\": 3,\n \"1.4.0\": 3,\n \"1.6.0\": 3,\n \"1.8.0\": 3,\n \"3.0.0\": 3,\n \"3.0.1\": 3,\n \"3.3.0\": 4,\n \"3.5.0\": 4,\n \"4.0.0\": 4,\n \"4.0.1\": 4\n};\n\n/**\n * Combined (FHIR R2-R4) list of search parameters that can be used to scope\n * a request by patient ID.\n */\nexport const patientParams = [\n \"patient\",\n \"subject\",\n \"requester\",\n \"member\",\n \"actor\",\n \"beneficiary\"\n];\n\n/**\n * The name of the sessionStorage entry that contains the current key\n */\nexport const SMART_KEY = \"SMART_KEY\";\n","/* global window */\nimport {\n debug as _debug,\n request,\n getPath,\n getTimeInFuture,\n randomString,\n getAndCache,\n fetchConformanceStatement,\n getAccessTokenExpiration,\n getTargetWindow,\n assert\n} from \"./lib\";\nimport Client from \"./Client\";\nimport { SMART_KEY } from \"./settings\";\nimport { fhirclient } from \"./types\";\n\nconst debug = _debug.extend(\"oauth2\");\n\nexport { SMART_KEY as KEY };\n\nfunction isBrowser() {\n return typeof window === \"object\";\n}\n\n/**\n * Fetches the well-known json file from the given base URL.\n * Note that the result is cached in memory (until the page is reloaded in the\n * browser) because it might have to be re-used by the client\n * @param baseUrl The base URL of the FHIR server\n */\nexport function fetchWellKnownJson(baseUrl = \"/\", requestOptions?: RequestInit): Promise\n{\n const url = String(baseUrl).replace(/\\/*$/, \"/\") + \".well-known/smart-configuration\";\n return getAndCache(url, requestOptions).catch((ex: Error) => {\n throw new Error(`Failed to fetch the well-known json \"${url}\". ${ex.message}`);\n });\n}\n\n/**\n * Fetch a \"WellKnownJson\" and extract the SMART endpoints from it\n */\nfunction getSecurityExtensionsFromWellKnownJson(baseUrl = \"/\", requestOptions?: RequestInit): Promise\n{\n return fetchWellKnownJson(baseUrl, requestOptions).then(meta => {\n if (!meta.authorization_endpoint || !meta.token_endpoint) {\n throw new Error(\"Invalid wellKnownJson\");\n }\n return {\n registrationUri : meta.registration_endpoint || \"\",\n authorizeUri : meta.authorization_endpoint,\n tokenUri : meta.token_endpoint,\n codeChallengeMethods: meta.code_challenge_methods_supported || []\n };\n });\n}\n\n/**\n * Fetch a `CapabilityStatement` and extract the SMART endpoints from it\n */\nfunction getSecurityExtensionsFromConformanceStatement(baseUrl = \"/\", requestOptions?: RequestInit): Promise\n{\n return fetchConformanceStatement(baseUrl, requestOptions).then(meta => {\n const nsUri = \"http://fhir-registry.smarthealthit.org/StructureDefinition/oauth-uris\";\n const extensions = ((getPath(meta || {}, \"rest.0.security.extension\") || []) as Array>)\n .filter(e => e.url === nsUri)\n .map(o => o.extension)[0];\n\n const out:fhirclient.OAuthSecurityExtensions = {\n registrationUri : \"\",\n authorizeUri : \"\",\n tokenUri : \"\",\n codeChallengeMethods: [],\n };\n\n if (extensions) {\n extensions.forEach(ext => {\n if (ext.url === \"register\") {\n out.registrationUri = ext.valueUri;\n }\n if (ext.url === \"authorize\") {\n out.authorizeUri = ext.valueUri;\n }\n if (ext.url === \"token\") {\n out.tokenUri = ext.valueUri;\n }\n });\n }\n\n return out;\n });\n}\n\n\n/**\n * Given a FHIR server, returns an object with it's Oauth security endpoints\n * that we are interested in. This will try to find the info in both the\n * `CapabilityStatement` and the `.well-known/smart-configuration`. Whatever\n * Arrives first will be used and the other request will be aborted.\n * @param [baseUrl = \"/\"] Fhir server base URL\n */\nexport function getSecurityExtensions(baseUrl = \"/\"): Promise\n{\n return getSecurityExtensionsFromWellKnownJson(baseUrl)\n .catch(() => getSecurityExtensionsFromConformanceStatement(baseUrl));\n}\n\n/**\n * Starts the SMART Launch Sequence.\n * > **IMPORTANT**:\n * `authorize()` will end up redirecting you to the authorization server.\n * This means that you should not add anything to the returned promise chain.\n * Any code written directly after the authorize() call might not be executed\n * due to that redirect!\n * @param env\n * @param [params]\n */\nexport async function authorize(\n env: fhirclient.Adapter,\n params: fhirclient.AuthorizeParams | fhirclient.AuthorizeParams[] = {}\n): Promise\n{\n const url = env.getUrl();\n\n // Multiple config for EHR launches ---------------------------------------\n if (Array.isArray(params)) {\n const urlISS = url.searchParams.get(\"iss\") || url.searchParams.get(\"fhirServiceUrl\");\n if (!urlISS) {\n throw new Error(\n 'Passing in an \"iss\" url parameter is required if authorize ' +\n 'uses multiple configurations'\n );\n }\n // pick the right config\n const cfg = params.find(x => {\n if (x.issMatch) {\n if (typeof x.issMatch === \"function\") {\n return !!x.issMatch(urlISS);\n }\n if (typeof x.issMatch === \"string\") {\n return x.issMatch === urlISS;\n }\n if (x.issMatch instanceof RegExp) {\n return x.issMatch.test(urlISS);\n }\n }\n return false;\n });\n assert(cfg, `No configuration found matching the current \"iss\" parameter \"${urlISS}\"`);\n return await authorize(env, cfg);\n }\n // ------------------------------------------------------------------------\n\n // Obtain input\n const {\n clientSecret,\n fakeTokenResponse,\n encounterId,\n target,\n width,\n height,\n pkceMode,\n clientPublicKeySetUrl,\n // Two deprecated values to use as fall-back values later\n redirect_uri,\n client_id,\n } = params;\n \n let {\n iss,\n launch,\n patientId,\n fhirServiceUrl,\n redirectUri,\n noRedirect,\n scope = \"\",\n clientId,\n completeInTarget,\n clientPrivateJwk,\n stateKey\n } = params;\n\n const storage = env.getStorage();\n\n // For these, a url param takes precedence over inline option\n iss = url.searchParams.get(\"iss\") || iss;\n fhirServiceUrl = url.searchParams.get(\"fhirServiceUrl\") || fhirServiceUrl;\n launch = url.searchParams.get(\"launch\") || launch;\n patientId = url.searchParams.get(\"patientId\") || patientId;\n clientId = url.searchParams.get(\"clientId\") || clientId;\n\n // If there's still no clientId or redirectUri, check deprecated params \n if (!clientId) {\n clientId = client_id;\n }\n if (!redirectUri) {\n redirectUri = redirect_uri;\n }\n\n if (!redirectUri) {\n redirectUri = env.relative(\".\");\n } else if (!redirectUri.match(/^https?\\:\\/\\//)) {\n redirectUri = env.relative(redirectUri);\n }\n\n const serverUrl = String(iss || fhirServiceUrl || \"\");\n\n // Validate input\n if (!serverUrl) {\n throw new Error(\n \"No server url found. It must be specified as `iss` or as \" +\n \"`fhirServiceUrl` parameter\"\n );\n }\n\n if (iss) {\n debug(\"Making %s launch...\", launch ? \"EHR\" : \"standalone\");\n }\n\n // append launch scope if needed\n if (launch && !scope.match(/launch/)) {\n scope += \" launch\";\n }\n\n if (isBrowser()) {\n const inFrame = isInFrame();\n const inPopUp = isInPopUp();\n\n if ((inFrame || inPopUp) && completeInTarget !== true && completeInTarget !== false) {\n \n // completeInTarget will default to true if authorize is called from\n // within an iframe. This is to avoid issues when the entire app\n // happens to be rendered in an iframe (including in some EHRs),\n // even though that was not how the app developer's intention.\n completeInTarget = inFrame;\n\n // In this case we can't always make the best decision so ask devs\n // to be explicit in their configuration.\n console.warn(\n 'Your app is being authorized from within an iframe or popup ' +\n 'window. Please be explicit and provide a \"completeInTarget\" ' +\n 'option. Use \"true\" to complete the authorization in the ' +\n 'same window, or \"false\" to try to complete it in the parent ' +\n 'or the opener window. See http://docs.smarthealthit.org/client-js/api.html'\n );\n }\n }\n\n // If `authorize` is called, make sure we clear any previous state (in case\n // this is a re-authorize)\n const oldKey = await storage.get(SMART_KEY);\n await storage.unset(oldKey);\n\n stateKey = stateKey ?? randomString(16);\n\n // Create initial state\n const state: fhirclient.ClientState = {\n clientId,\n scope,\n redirectUri,\n serverUrl,\n clientSecret,\n clientPrivateJwk,\n tokenResponse: {},\n key: stateKey,\n completeInTarget,\n clientPublicKeySetUrl\n };\n\n const fullSessionStorageSupport = isBrowser() ?\n getPath(env, \"options.fullSessionStorageSupport\") :\n true;\n\n if (fullSessionStorageSupport) {\n await storage.set(SMART_KEY, stateKey);\n }\n\n // fakeTokenResponse to override stuff (useful in development)\n if (fakeTokenResponse) {\n Object.assign(state.tokenResponse!, fakeTokenResponse);\n }\n\n // Fixed patientId (useful in development)\n if (patientId) {\n Object.assign(state.tokenResponse!, { patient: patientId });\n }\n\n // Fixed encounterId (useful in development)\n if (encounterId) {\n Object.assign(state.tokenResponse!, { encounter: encounterId });\n }\n\n let redirectUrl = redirectUri + \"?state=\" + encodeURIComponent(stateKey);\n\n // bypass oauth if fhirServiceUrl is used (but iss takes precedence)\n if (fhirServiceUrl && !iss) {\n debug(\"Making fake launch...\");\n await storage.set(stateKey, state);\n if (noRedirect) {\n return redirectUrl;\n }\n return await env.redirect(redirectUrl);\n }\n\n // Get oauth endpoints and add them to the state\n const extensions = await getSecurityExtensions(serverUrl);\n Object.assign(state, extensions);\n await storage.set(stateKey, state);\n\n // If this happens to be an open server and there is no authorizeUri\n if (!state.authorizeUri) {\n if (noRedirect) {\n return redirectUrl;\n }\n return await env.redirect(redirectUrl);\n }\n\n // build the redirect uri\n const redirectParams = [\n \"response_type=code\",\n \"client_id=\" + encodeURIComponent(clientId || \"\"),\n \"scope=\" + encodeURIComponent(scope),\n \"redirect_uri=\" + encodeURIComponent(redirectUri),\n \"aud=\" + encodeURIComponent(serverUrl),\n \"state=\" + encodeURIComponent(stateKey)\n ];\n\n // also pass this in case of EHR launch\n if (launch) {\n redirectParams.push(\"launch=\" + encodeURIComponent(launch));\n }\n\n if (shouldIncludeChallenge(extensions.codeChallengeMethods.includes('S256'), pkceMode)) {\n let codes = await env.security.generatePKCEChallenge()\n Object.assign(state, codes);\n await storage.set(stateKey, state);\n redirectParams.push(\"code_challenge=\" + state.codeChallenge);// note that the challenge is ALREADY encoded properly\n redirectParams.push(\"code_challenge_method=S256\");\n }\n \n redirectUrl = state.authorizeUri + \"?\" + redirectParams.join(\"&\");\n\n if (noRedirect) {\n return redirectUrl;\n }\n\n if (target && isBrowser()) {\n let win: Window;\n\n win = await getTargetWindow(target, width, height);\n\n if (win !== self) {\n try {\n // Also remove any old state from the target window and then\n // transfer the current state there\n win.sessionStorage.removeItem(oldKey);\n win.sessionStorage.setItem(stateKey, JSON.stringify(state));\n } catch (ex) {\n _debug(`Failed to modify window.sessionStorage. Perhaps it is from different origin?. Failing back to \"_self\". %s`, ex);\n win = self;\n }\n }\n\n if (win !== self) {\n try {\n win.location.href = redirectUrl;\n self.addEventListener(\"message\", onMessage);\n } catch (ex) {\n _debug(`Failed to modify window.location. Perhaps it is from different origin?. Failing back to \"_self\". %s`, ex);\n self.location.href = redirectUrl;\n }\n } else {\n self.location.href = redirectUrl;\n }\n\n return;\n }\n else {\n return await env.redirect(redirectUrl);\n }\n}\n\nfunction shouldIncludeChallenge(S256supported: boolean, pkceMode?: string) {\n if (pkceMode === \"disabled\") {\n return false;\n }\n if (pkceMode === \"unsafeV1\") {\n return true;\n }\n if (pkceMode === \"required\") {\n if (!S256supported) {\n throw new Error(\"Required PKCE code challenge method (`S256`) was not found in the server's codeChallengeMethods declaration.\");\n }\n return true;\n }\n return S256supported;\n}\n\n/**\n * Checks if called within a frame. Only works in browsers!\n * If the current window has a `parent` or `top` properties that refer to\n * another window, returns true. If trying to access `top` or `parent` throws an\n * error, returns true. Otherwise returns `false`.\n */\nexport function isInFrame() {\n try {\n return self !== top && parent !== self;\n } catch (e) {\n return true;\n }\n}\n\n/**\n * Checks if called within another window (popup or tab). Only works in browsers!\n * To consider itself called in a new window, this function verifies that:\n * 1. `self === top` (not in frame)\n * 2. `!!opener && opener !== self` The window has an opener\n * 3. `!!window.name` The window has a `name` set\n */\nexport function isInPopUp() {\n try {\n return self === top &&\n !!opener &&\n opener !== self &&\n !!window.name;\n } catch (e) {\n return false;\n }\n}\n\n/**\n * Another window can send a \"completeAuth\" message to this one, making it to\n * navigate to e.data.url\n * @param e The message event\n */\nexport function onMessage(e: MessageEvent) {\n if (e.data.type == \"completeAuth\" && e.origin === new URL(self.location.href).origin) {\n window.removeEventListener(\"message\", onMessage);\n window.location.href = e.data.url;\n }\n}\n\n/**\n * The ready function should only be called on the page that represents\n * the redirectUri. We typically land there after a redirect from the\n * authorization server, but this code will also be executed upon subsequent\n * navigation or page refresh.\n */\nexport async function ready(env: fhirclient.Adapter, options: fhirclient.ReadyOptions = {}): Promise\n{\n const url = env.getUrl();\n const Storage = env.getStorage();\n const params = url.searchParams;\n\n let key = params.get(\"state\");\n const code = params.get(\"code\");\n const authError = params.get(\"error\");\n const authErrorDescription = params.get(\"error_description\");\n\n if (!key) {\n key = await Storage.get(SMART_KEY);\n }\n\n // Start by checking the url for `error` and `error_description` parameters.\n // This happens when the auth server rejects our authorization attempt. In\n // this case it has no other way to tell us what the error was, other than\n // appending these parameters to the redirect url.\n // From client's point of view, this is not very reliable (because we can't\n // know how we have landed on this page - was it a redirect or was it loaded\n // manually). However, if `ready()` is being called, we can assume\n // that the url comes from the auth server (otherwise the app won't work\n // anyway).\n if (authError || authErrorDescription) {\n throw new Error([\n authError,\n authErrorDescription\n ].filter(Boolean).join(\": \"));\n }\n\n debug(\"key: %s, code: %s\", key, code);\n\n // key might be coming from the page url so it might be empty or missing\n assert(key, \"No 'state' parameter found. Please (re)launch the app.\");\n\n // Check if we have a previous state\n let state = (await Storage.get(key)) as fhirclient.ClientState;\n\n const fullSessionStorageSupport = isBrowser() ?\n getPath(env, \"options.fullSessionStorageSupport\") :\n true;\n\n // If we are in a popup window or an iframe and the authorization is\n // complete, send the location back to our opener and exit.\n if (isBrowser() && state && !state.completeInTarget) {\n\n const inFrame = isInFrame();\n const inPopUp = isInPopUp();\n\n // we are about to return to the opener/parent where completeAuth will\n // be called again. In rare cases the opener or parent might also be\n // a frame or popup. Then inFrame or inPopUp will be true but we still\n // have to stop going up the chain. To guard against that weird form of\n // recursion we pass one additional parameter to the url which we later\n // remove.\n if ((inFrame || inPopUp) && !url.searchParams.get(\"complete\")) {\n url.searchParams.set(\"complete\", \"1\");\n const { href, origin } = url;\n if (inFrame) {\n parent.postMessage({ type: \"completeAuth\", url: href }, origin);\n }\n if (inPopUp) {\n opener.postMessage({ type: \"completeAuth\", url: href }, origin);\n window.close();\n }\n\n return new Promise(() => { /* leave it pending!!! */ });\n }\n }\n\n url.searchParams.delete(\"complete\");\n\n // Do we have to remove the `code` and `state` params from the URL?\n const hasState = params.has(\"state\");\n\n if (isBrowser() && getPath(env, \"options.replaceBrowserHistory\") && (code || hasState)) {\n // `code` is the flag that tell us to request an access token.\n // We have to remove it, otherwise the page will authorize on\n // every load!\n if (code) {\n params.delete(\"code\");\n debug(\"Removed code parameter from the url.\");\n }\n\n // If we have `fullSessionStorageSupport` it means we no longer\n // need the `state` key. It will be stored to a well know\n // location - sessionStorage[SMART_KEY]. However, no\n // fullSessionStorageSupport means that this \"well know location\"\n // might be shared between windows and tabs. In this case we\n // MUST keep the `state` url parameter.\n if (hasState && fullSessionStorageSupport) {\n params.delete(\"state\");\n debug(\"Removed state parameter from the url.\");\n }\n\n // If the browser does not support the replaceState method for the\n // History Web API, the \"code\" parameter cannot be removed. As a\n // consequence, the page will (re)authorize on every load. The\n // workaround is to reload the page to new location without those\n // parameters. If that is not acceptable replaceBrowserHistory\n // should be set to false.\n if (window.history.replaceState) {\n window.history.replaceState({}, \"\", url.href);\n }\n }\n\n // If the state does not exist, it means the page has been loaded directly.\n assert(state, \"No state found! Please (re)launch the app.\");\n\n // Assume the client has already completed a token exchange when\n // there is no code (but we have a state) or access token is found in state\n const authorized = !code || state.tokenResponse?.access_token;\n\n // If we are authorized already, then this is just a reload.\n // Otherwise, we have to complete the code flow\n if (!authorized && state.tokenUri) {\n\n assert(code, \"'code' url parameter is required\");\n\n debug(\"Preparing to exchange the code for access token...\");\n const requestOptions = await buildTokenRequest(env, {\n code,\n state,\n clientPublicKeySetUrl: options.clientPublicKeySetUrl,\n privateKey: options.privateKey || state.clientPrivateJwk\n });\n debug(\"Token request options: %O\", requestOptions);\n\n // The EHR authorization server SHALL return a JSON structure that\n // includes an access token or a message indicating that the\n // authorization request has been denied.\n const tokenResponse = await request(state.tokenUri, requestOptions);\n debug(\"Token response: %O\", tokenResponse);\n assert(tokenResponse.access_token, \"Failed to obtain access token.\");\n\n // Now we need to determine when is this authorization going to expire\n state.expiresAt = getAccessTokenExpiration(tokenResponse, env);\n\n // save the tokenResponse so that we don't have to re-authorize on\n // every page reload\n state = { ...state, tokenResponse };\n await Storage.set(key, state);\n debug(\"Authorization successful!\");\n }\n else {\n debug(state.tokenResponse?.access_token ?\n \"Already authorized\" :\n \"No authorization needed\"\n );\n }\n\n if (fullSessionStorageSupport) {\n await Storage.set(SMART_KEY, key);\n }\n\n const client = new Client(env, state);\n debug(\"Created client instance: %O\", client);\n return client;\n}\n\n/**\n * Builds the token request options. Does not make the request, just\n * creates it's configuration and returns it in a Promise.\n */\nexport async function buildTokenRequest(\n env: fhirclient.Adapter,\n {\n code,\n state,\n clientPublicKeySetUrl,\n privateKey\n }: {\n /**\n * The `code` URL parameter received from the auth redirect\n */\n code: string,\n \n /**\n * The app state\n */\n state: fhirclient.ClientState\n\n /**\n * If provided overrides the `clientPublicKeySetUrl` from the authorize\n * options (if any). Used for `jku` token header in case of asymmetric auth.\n */\n clientPublicKeySetUrl?: string\n\n /**\n * Can be a private JWK, or an object with alg, kid and key properties,\n * where `key` is an un-extractable private CryptoKey object.\n */\n privateKey?: fhirclient.JWK | {\n key: CryptoKey\n alg: \"RS384\" | \"ES384\"\n kid: string\n }\n }\n): Promise\n{\n const { redirectUri, clientSecret, tokenUri, clientId, codeVerifier } = state;\n\n assert(redirectUri, \"Missing state.redirectUri\");\n assert(tokenUri, \"Missing state.tokenUri\");\n assert(clientId, \"Missing state.clientId\");\n\n const requestOptions: Record = {\n method: \"POST\",\n headers: { \"content-type\": \"application/x-www-form-urlencoded\" },\n body: `code=${code}&grant_type=authorization_code&redirect_uri=${\n encodeURIComponent(redirectUri)}`\n };\n\n // For public apps, authentication is not possible (and thus not required),\n // since a client with no secret cannot prove its identity when it issues a\n // call. (The end-to-end system can still be secure because the client comes\n // from a known, https protected endpoint specified and enforced by the\n // redirect uri.) For confidential apps, an Authorization header using HTTP\n // Basic authentication is required, where the username is the app’s\n // client_id and the password is the app’s client_secret (see example).\n if (clientSecret) {\n requestOptions.headers.authorization = \"Basic \" + env.btoa(\n clientId + \":\" + clientSecret\n );\n debug(\n \"Using state.clientSecret to construct the authorization header: %s\",\n requestOptions.headers.authorization\n );\n }\n \n // Asymmetric auth\n else if (privateKey) {\n\n const pk = \"key\" in privateKey ?\n privateKey.key as CryptoKey:\n await env.security.importJWK(privateKey as fhirclient.JWK)\n\n const jwtHeaders = {\n typ: \"JWT\",\n kid: privateKey.kid,\n jku: clientPublicKeySetUrl || state.clientPublicKeySetUrl\n };\n\n const jwtClaims = {\n iss: clientId,\n sub: clientId,\n aud: tokenUri,\n jti: env.base64urlencode(env.security.randomBytes(32)),\n exp: getTimeInFuture(120) // two minutes in the future\n };\n \n const clientAssertion = await env.security.signCompactJws(privateKey.alg, pk, jwtHeaders, jwtClaims);\n requestOptions.body += `&client_assertion_type=${encodeURIComponent(\"urn:ietf:params:oauth:client-assertion-type:jwt-bearer\")}`;\n requestOptions.body += `&client_assertion=${encodeURIComponent(clientAssertion)}`;\n debug(\"Using state.clientPrivateJwk to add a client_assertion to the POST body\")\n }\n \n // Public client\n else {\n debug(\"Public client detected; adding state.clientId to the POST body\");\n requestOptions.body += `&client_id=${encodeURIComponent(clientId)}`;\n }\n\n if (codeVerifier) {\n debug(\"Found state.codeVerifier, adding to the POST body\")\n // Note that the codeVerifier is ALREADY encoded properly \n requestOptions.body += \"&code_verifier=\" + codeVerifier;\n }\n \n return requestOptions as RequestInit;\n}\n\n/**\n * This function can be used when you want to handle everything in one page\n * (no launch endpoint needed). You can think of it as if it does:\n * ```js\n * authorize(options).then(ready)\n * ```\n *\n * **Be careful with init()!** There are some details you need to be aware of:\n *\n * 1. It will only work if your launch_uri is the same as your redirect_uri.\n * While this should be valid, we can’t promise that every EHR will allow you\n * to register client with such settings.\n * 2. Internally, `init()` will be called twice. First it will redirect to the\n * EHR, then the EHR will redirect back to the page where init() will be\n * called again to complete the authorization. This is generally fine,\n * because the returned promise will only be resolved once, after the second\n * execution, but please also consider the following:\n * - You should wrap all your app’s code in a function that is only executed\n * after `init()` resolves!\n * - Since the page will be loaded twice, you must be careful if your code\n * has global side effects that can persist between page reloads\n * (for example writing to localStorage).\n * 3. For standalone launch, only use init in combination with offline_access\n * scope. Once the access_token expires, if you don’t have a refresh_token\n * there is no way to re-authorize properly. We detect that and delete the\n * expired access token, but it still means that the user will have to\n * refresh the page twice to re-authorize.\n * @param env The adapter\n * @param authorizeOptions The authorize options\n */\nexport async function init(\n env: fhirclient.Adapter,\n authorizeOptions: fhirclient.AuthorizeParams,\n readyOptions?: fhirclient.ReadyOptions\n): Promise\n{\n const url = env.getUrl();\n const code = url.searchParams.get(\"code\");\n const state = url.searchParams.get(\"state\");\n\n // if `code` and `state` params are present we need to complete the auth flow\n if (code && state) {\n return ready(env, readyOptions);\n }\n\n // Check for existing client state. If state is found, it means a client\n // instance have already been created in this session and we should try to\n // \"revive\" it.\n const storage = env.getStorage();\n const key = state || await storage.get(SMART_KEY);\n const cached = await storage.get(key);\n if (cached) {\n return new Client(env, cached);\n }\n\n // Otherwise try to launch\n return authorize(env, authorizeOptions).then(() => {\n // `init` promises a Client but that cannot happen in this case. The\n // browser will be redirected (unload the page and be redirected back\n // to it later and the same init function will be called again). On\n // success, authorize will resolve with the redirect url but we don't\n // want to return that from this promise chain because it is not a\n // Client instance. At the same time, if authorize fails, we do want to\n // pass the error to those waiting for a client instance.\n return new Promise(() => { /* leave it pending!!! */ });\n });\n}\n","export default class Storage\n{\n /**\n * Gets the value at `key`. Returns a promise that will be resolved\n * with that value (or undefined for missing keys).\n */\n async get(key: string): Promise\n {\n const value = sessionStorage[key];\n if (value) {\n return JSON.parse(value);\n }\n return null;\n }\n\n /**\n * Sets the `value` on `key` and returns a promise that will be resolved\n * with the value that was set.\n */\n async set(key: string, value: any): Promise\n {\n sessionStorage[key] = JSON.stringify(value);\n return value;\n }\n\n /**\n * Deletes the value at `key`. Returns a promise that will be resolved\n * with true if the key was deleted or with false if it was not (eg. if\n * did not exist).\n */\n async unset(key: string): Promise\n {\n if (key in sessionStorage) {\n delete sessionStorage[key];\n return true;\n }\n return false;\n }\n\n}\n","// This map contains reusable debug messages (only those used in multiple places)\nexport default {\n expired : \"Session expired! Please re-launch the app\",\n noScopeForId : \"Trying to get the ID of the selected %s. Please add 'launch' or 'launch/%s' to the requested scopes and try again.\",\n noIfNoAuth : \"You are trying to get %s but the app is not authorized yet.\",\n noFreeContext: \"Please don't use open fhir servers if you need to access launch context items like the %S.\"\n};\n","var global = typeof self !== 'undefined' ? self : this;\nvar __self__ = (function () {\nfunction F() {\nthis.fetch = false;\nthis.DOMException = global.DOMException\n}\nF.prototype = global;\nreturn new F();\n})();\n(function(self) {\n\nvar irrelevant = (function (exports) {\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob:\n 'FileReader' in self &&\n 'Blob' in self &&\n (function() {\n try {\n new Blob();\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n };\n\n function isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ];\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n };\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name);\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value);\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift();\n return {done: value === undefined, value: value}\n }\n };\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n };\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {};\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value);\n }, this);\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1]);\n }, this);\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name]);\n }, this);\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name);\n value = normalizeValue(value);\n var oldValue = this.map[name];\n this.map[name] = oldValue ? oldValue + ', ' + value : value;\n };\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)];\n };\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name);\n return this.has(name) ? this.map[name] : null\n };\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n };\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value);\n };\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this);\n }\n }\n };\n\n Headers.prototype.keys = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push(name);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.values = function() {\n var items = [];\n this.forEach(function(value) {\n items.push(value);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.entries = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push([name, value]);\n });\n return iteratorFor(items)\n };\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries;\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true;\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result);\n };\n reader.onerror = function() {\n reject(reader.error);\n };\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsArrayBuffer(blob);\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsText(blob);\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf);\n var chars = new Array(view.length);\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i]);\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength);\n view.set(new Uint8Array(buf));\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false;\n\n this._initBody = function(body) {\n this._bodyInit = body;\n if (!body) {\n this._bodyText = '';\n } else if (typeof body === 'string') {\n this._bodyText = body;\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body;\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body;\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString();\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer);\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer]);\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body);\n } else {\n this._bodyText = body = Object.prototype.toString.call(body);\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8');\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type);\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n }\n };\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n };\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n };\n }\n\n this.text = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n };\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n };\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n };\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'];\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase();\n return methods.indexOf(upcased) > -1 ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {};\n var body = options.body;\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url;\n this.credentials = input.credentials;\n if (!options.headers) {\n this.headers = new Headers(input.headers);\n }\n this.method = input.method;\n this.mode = input.mode;\n this.signal = input.signal;\n if (!body && input._bodyInit != null) {\n body = input._bodyInit;\n input.bodyUsed = true;\n }\n } else {\n this.url = String(input);\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin';\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers);\n }\n this.method = normalizeMethod(options.method || this.method || 'GET');\n this.mode = options.mode || this.mode || null;\n this.signal = options.signal || this.signal;\n this.referrer = null;\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body);\n }\n\n Request.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n };\n\n function decode(body) {\n var form = new FormData();\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=');\n var name = split.shift().replace(/\\+/g, ' ');\n var value = split.join('=').replace(/\\+/g, ' ');\n form.append(decodeURIComponent(name), decodeURIComponent(value));\n }\n });\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers();\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ');\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':');\n var key = parts.shift().trim();\n if (key) {\n var value = parts.join(':').trim();\n headers.append(key, value);\n }\n });\n return headers\n }\n\n Body.call(Request.prototype);\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {};\n }\n\n this.type = 'default';\n this.status = options.status === undefined ? 200 : options.status;\n this.ok = this.status >= 200 && this.status < 300;\n this.statusText = 'statusText' in options ? options.statusText : 'OK';\n this.headers = new Headers(options.headers);\n this.url = options.url || '';\n this._initBody(bodyInit);\n }\n\n Body.call(Response.prototype);\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n };\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''});\n response.type = 'error';\n return response\n };\n\n var redirectStatuses = [301, 302, 303, 307, 308];\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n };\n\n exports.DOMException = self.DOMException;\n try {\n new exports.DOMException();\n } catch (err) {\n exports.DOMException = function(message, name) {\n this.message = message;\n this.name = name;\n var error = Error(message);\n this.stack = error.stack;\n };\n exports.DOMException.prototype = Object.create(Error.prototype);\n exports.DOMException.prototype.constructor = exports.DOMException;\n }\n\n function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init);\n\n if (request.signal && request.signal.aborted) {\n return reject(new exports.DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest();\n\n function abortXhr() {\n xhr.abort();\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n };\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');\n var body = 'response' in xhr ? xhr.response : xhr.responseText;\n resolve(new Response(body, options));\n };\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.onabort = function() {\n reject(new exports.DOMException('Aborted', 'AbortError'));\n };\n\n xhr.open(request.method, request.url, true);\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true;\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false;\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob';\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value);\n });\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr);\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr);\n }\n };\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);\n })\n }\n\n fetch.polyfill = true;\n\n if (!self.fetch) {\n self.fetch = fetch;\n self.Headers = Headers;\n self.Request = Request;\n self.Response = Response;\n }\n\n exports.Headers = Headers;\n exports.Request = Request;\n exports.Response = Response;\n exports.fetch = fetch;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n return exports;\n\n})({});\n})(__self__);\n__self__.fetch.ponyfill = true;\n// Remove \"polyfill\" property added by whatwg-fetch\ndelete __self__.fetch.polyfill;\n// Choose between native implementation (global) or custom implementation (__self__)\n// var ctx = global.fetch ? global : __self__;\nvar ctx = __self__; // this line disable service worker support temporarily\nexports = ctx.fetch // To enable: import fetch from 'cross-fetch'\nexports.default = ctx.fetch // For TypeScript consumers without esModuleInterop.\nexports.fetch = ctx.fetch // To enable: import {fetch} from 'cross-fetch'\nexports.Headers = ctx.Headers\nexports.Request = ctx.Request\nexports.Response = ctx.Response\nmodule.exports = exports\n","//\n// THIS FILE IS AUTOMATICALLY GENERATED! DO NOT EDIT BY HAND!\n//\n;\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n ? module.exports = factory()\n : typeof define === 'function' && define.amd\n ? define(factory) :\n // cf. https://github.com/dankogai/js-base64/issues/119\n (function () {\n // existing version for noConflict()\n var _Base64 = global.Base64;\n var gBase64 = factory();\n gBase64.noConflict = function () {\n global.Base64 = _Base64;\n return gBase64;\n };\n if (global.Meteor) { // Meteor.js\n Base64 = gBase64;\n }\n global.Base64 = gBase64;\n })();\n}((typeof self !== 'undefined' ? self\n : typeof window !== 'undefined' ? window\n : typeof global !== 'undefined' ? global\n : this), function () {\n 'use strict';\n /**\n * base64.ts\n *\n * Licensed under the BSD 3-Clause License.\n * http://opensource.org/licenses/BSD-3-Clause\n *\n * References:\n * http://en.wikipedia.org/wiki/Base64\n *\n * @author Dan Kogai (https://github.com/dankogai)\n */\n var version = '3.7.7';\n /**\n * @deprecated use lowercase `version`.\n */\n var VERSION = version;\n var _hasBuffer = typeof Buffer === 'function';\n var _TD = typeof TextDecoder === 'function' ? new TextDecoder() : undefined;\n var _TE = typeof TextEncoder === 'function' ? new TextEncoder() : undefined;\n var b64ch = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n var b64chs = Array.prototype.slice.call(b64ch);\n var b64tab = (function (a) {\n var tab = {};\n a.forEach(function (c, i) { return tab[c] = i; });\n return tab;\n })(b64chs);\n var b64re = /^(?:[A-Za-z\\d+\\/]{4})*?(?:[A-Za-z\\d+\\/]{2}(?:==)?|[A-Za-z\\d+\\/]{3}=?)?$/;\n var _fromCC = String.fromCharCode.bind(String);\n var _U8Afrom = typeof Uint8Array.from === 'function'\n ? Uint8Array.from.bind(Uint8Array)\n : function (it) { return new Uint8Array(Array.prototype.slice.call(it, 0)); };\n var _mkUriSafe = function (src) { return src\n .replace(/=/g, '').replace(/[+\\/]/g, function (m0) { return m0 == '+' ? '-' : '_'; }); };\n var _tidyB64 = function (s) { return s.replace(/[^A-Za-z0-9\\+\\/]/g, ''); };\n /**\n * polyfill version of `btoa`\n */\n var btoaPolyfill = function (bin) {\n // console.log('polyfilled');\n var u32, c0, c1, c2, asc = '';\n var pad = bin.length % 3;\n for (var i = 0; i < bin.length;) {\n if ((c0 = bin.charCodeAt(i++)) > 255 ||\n (c1 = bin.charCodeAt(i++)) > 255 ||\n (c2 = bin.charCodeAt(i++)) > 255)\n throw new TypeError('invalid character found');\n u32 = (c0 << 16) | (c1 << 8) | c2;\n asc += b64chs[u32 >> 18 & 63]\n + b64chs[u32 >> 12 & 63]\n + b64chs[u32 >> 6 & 63]\n + b64chs[u32 & 63];\n }\n return pad ? asc.slice(0, pad - 3) + \"===\".substring(pad) : asc;\n };\n /**\n * does what `window.btoa` of web browsers do.\n * @param {String} bin binary string\n * @returns {string} Base64-encoded string\n */\n var _btoa = typeof btoa === 'function' ? function (bin) { return btoa(bin); }\n : _hasBuffer ? function (bin) { return Buffer.from(bin, 'binary').toString('base64'); }\n : btoaPolyfill;\n var _fromUint8Array = _hasBuffer\n ? function (u8a) { return Buffer.from(u8a).toString('base64'); }\n : function (u8a) {\n // cf. https://stackoverflow.com/questions/12710001/how-to-convert-uint8-array-to-base64-encoded-string/12713326#12713326\n var maxargs = 0x1000;\n var strs = [];\n for (var i = 0, l = u8a.length; i < l; i += maxargs) {\n strs.push(_fromCC.apply(null, u8a.subarray(i, i + maxargs)));\n }\n return _btoa(strs.join(''));\n };\n /**\n * converts a Uint8Array to a Base64 string.\n * @param {boolean} [urlsafe] URL-and-filename-safe a la RFC4648 §5\n * @returns {string} Base64 string\n */\n var fromUint8Array = function (u8a, urlsafe) {\n if (urlsafe === void 0) { urlsafe = false; }\n return urlsafe ? _mkUriSafe(_fromUint8Array(u8a)) : _fromUint8Array(u8a);\n };\n // This trick is found broken https://github.com/dankogai/js-base64/issues/130\n // const utob = (src: string) => unescape(encodeURIComponent(src));\n // reverting good old fationed regexp\n var cb_utob = function (c) {\n if (c.length < 2) {\n var cc = c.charCodeAt(0);\n return cc < 0x80 ? c\n : cc < 0x800 ? (_fromCC(0xc0 | (cc >>> 6))\n + _fromCC(0x80 | (cc & 0x3f)))\n : (_fromCC(0xe0 | ((cc >>> 12) & 0x0f))\n + _fromCC(0x80 | ((cc >>> 6) & 0x3f))\n + _fromCC(0x80 | (cc & 0x3f)));\n }\n else {\n var cc = 0x10000\n + (c.charCodeAt(0) - 0xD800) * 0x400\n + (c.charCodeAt(1) - 0xDC00);\n return (_fromCC(0xf0 | ((cc >>> 18) & 0x07))\n + _fromCC(0x80 | ((cc >>> 12) & 0x3f))\n + _fromCC(0x80 | ((cc >>> 6) & 0x3f))\n + _fromCC(0x80 | (cc & 0x3f)));\n }\n };\n var re_utob = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFFF]|[^\\x00-\\x7F]/g;\n /**\n * @deprecated should have been internal use only.\n * @param {string} src UTF-8 string\n * @returns {string} UTF-16 string\n */\n var utob = function (u) { return u.replace(re_utob, cb_utob); };\n //\n var _encode = _hasBuffer\n ? function (s) { return Buffer.from(s, 'utf8').toString('base64'); }\n : _TE\n ? function (s) { return _fromUint8Array(_TE.encode(s)); }\n : function (s) { return _btoa(utob(s)); };\n /**\n * converts a UTF-8-encoded string to a Base64 string.\n * @param {boolean} [urlsafe] if `true` make the result URL-safe\n * @returns {string} Base64 string\n */\n var encode = function (src, urlsafe) {\n if (urlsafe === void 0) { urlsafe = false; }\n return urlsafe\n ? _mkUriSafe(_encode(src))\n : _encode(src);\n };\n /**\n * converts a UTF-8-encoded string to URL-safe Base64 RFC4648 §5.\n * @returns {string} Base64 string\n */\n var encodeURI = function (src) { return encode(src, true); };\n // This trick is found broken https://github.com/dankogai/js-base64/issues/130\n // const btou = (src: string) => decodeURIComponent(escape(src));\n // reverting good old fationed regexp\n var re_btou = /[\\xC0-\\xDF][\\x80-\\xBF]|[\\xE0-\\xEF][\\x80-\\xBF]{2}|[\\xF0-\\xF7][\\x80-\\xBF]{3}/g;\n var cb_btou = function (cccc) {\n switch (cccc.length) {\n case 4:\n var cp = ((0x07 & cccc.charCodeAt(0)) << 18)\n | ((0x3f & cccc.charCodeAt(1)) << 12)\n | ((0x3f & cccc.charCodeAt(2)) << 6)\n | (0x3f & cccc.charCodeAt(3)), offset = cp - 0x10000;\n return (_fromCC((offset >>> 10) + 0xD800)\n + _fromCC((offset & 0x3FF) + 0xDC00));\n case 3:\n return _fromCC(((0x0f & cccc.charCodeAt(0)) << 12)\n | ((0x3f & cccc.charCodeAt(1)) << 6)\n | (0x3f & cccc.charCodeAt(2)));\n default:\n return _fromCC(((0x1f & cccc.charCodeAt(0)) << 6)\n | (0x3f & cccc.charCodeAt(1)));\n }\n };\n /**\n * @deprecated should have been internal use only.\n * @param {string} src UTF-16 string\n * @returns {string} UTF-8 string\n */\n var btou = function (b) { return b.replace(re_btou, cb_btou); };\n /**\n * polyfill version of `atob`\n */\n var atobPolyfill = function (asc) {\n // console.log('polyfilled');\n asc = asc.replace(/\\s+/g, '');\n if (!b64re.test(asc))\n throw new TypeError('malformed base64.');\n asc += '=='.slice(2 - (asc.length & 3));\n var u24, bin = '', r1, r2;\n for (var i = 0; i < asc.length;) {\n u24 = b64tab[asc.charAt(i++)] << 18\n | b64tab[asc.charAt(i++)] << 12\n | (r1 = b64tab[asc.charAt(i++)]) << 6\n | (r2 = b64tab[asc.charAt(i++)]);\n bin += r1 === 64 ? _fromCC(u24 >> 16 & 255)\n : r2 === 64 ? _fromCC(u24 >> 16 & 255, u24 >> 8 & 255)\n : _fromCC(u24 >> 16 & 255, u24 >> 8 & 255, u24 & 255);\n }\n return bin;\n };\n /**\n * does what `window.atob` of web browsers do.\n * @param {String} asc Base64-encoded string\n * @returns {string} binary string\n */\n var _atob = typeof atob === 'function' ? function (asc) { return atob(_tidyB64(asc)); }\n : _hasBuffer ? function (asc) { return Buffer.from(asc, 'base64').toString('binary'); }\n : atobPolyfill;\n //\n var _toUint8Array = _hasBuffer\n ? function (a) { return _U8Afrom(Buffer.from(a, 'base64')); }\n : function (a) { return _U8Afrom(_atob(a).split('').map(function (c) { return c.charCodeAt(0); })); };\n /**\n * converts a Base64 string to a Uint8Array.\n */\n var toUint8Array = function (a) { return _toUint8Array(_unURI(a)); };\n //\n var _decode = _hasBuffer\n ? function (a) { return Buffer.from(a, 'base64').toString('utf8'); }\n : _TD\n ? function (a) { return _TD.decode(_toUint8Array(a)); }\n : function (a) { return btou(_atob(a)); };\n var _unURI = function (a) { return _tidyB64(a.replace(/[-_]/g, function (m0) { return m0 == '-' ? '+' : '/'; })); };\n /**\n * converts a Base64 string to a UTF-8 string.\n * @param {String} src Base64 string. Both normal and URL-safe are supported\n * @returns {string} UTF-8 string\n */\n var decode = function (src) { return _decode(_unURI(src)); };\n /**\n * check if a value is a valid Base64 string\n * @param {String} src a value to check\n */\n var isValid = function (src) {\n if (typeof src !== 'string')\n return false;\n var s = src.replace(/\\s+/g, '').replace(/={0,2}$/, '');\n return !/[^\\s0-9a-zA-Z\\+/]/.test(s) || !/[^\\s0-9a-zA-Z\\-_]/.test(s);\n };\n //\n var _noEnum = function (v) {\n return {\n value: v, enumerable: false, writable: true, configurable: true\n };\n };\n /**\n * extend String.prototype with relevant methods\n */\n var extendString = function () {\n var _add = function (name, body) { return Object.defineProperty(String.prototype, name, _noEnum(body)); };\n _add('fromBase64', function () { return decode(this); });\n _add('toBase64', function (urlsafe) { return encode(this, urlsafe); });\n _add('toBase64URI', function () { return encode(this, true); });\n _add('toBase64URL', function () { return encode(this, true); });\n _add('toUint8Array', function () { return toUint8Array(this); });\n };\n /**\n * extend Uint8Array.prototype with relevant methods\n */\n var extendUint8Array = function () {\n var _add = function (name, body) { return Object.defineProperty(Uint8Array.prototype, name, _noEnum(body)); };\n _add('toBase64', function (urlsafe) { return fromUint8Array(this, urlsafe); });\n _add('toBase64URI', function () { return fromUint8Array(this, true); });\n _add('toBase64URL', function () { return fromUint8Array(this, true); });\n };\n /**\n * extend Builtin prototypes with relevant methods\n */\n var extendBuiltins = function () {\n extendString();\n extendUint8Array();\n };\n var gBase64 = {\n version: version,\n VERSION: VERSION,\n atob: _atob,\n atobPolyfill: atobPolyfill,\n btoa: _btoa,\n btoaPolyfill: btoaPolyfill,\n fromBase64: decode,\n toBase64: encode,\n encode: encode,\n encodeURI: encodeURI,\n encodeURL: encodeURI,\n utob: utob,\n btou: btou,\n decode: decode,\n isValid: isValid,\n fromUint8Array: fromUint8Array,\n toUint8Array: toUint8Array,\n extendString: extendString,\n extendUint8Array: extendUint8Array,\n extendBuiltins: extendBuiltins\n };\n //\n // export Base64 to the namespace\n //\n // ES5 is yet to have Object.assign() that may make transpilers unhappy.\n // gBase64.Base64 = Object.assign({}, gBase64);\n gBase64.Base64 = {};\n Object.keys(gBase64).forEach(function (k) { return gBase64.Base64[k] = gBase64[k]; });\n return gBase64;\n}));\n","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function(val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isFinite(val)) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'weeks':\n case 'week':\n case 'w':\n return n * w;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (msAbs >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (msAbs >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (msAbs >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return plural(ms, msAbs, d, 'day');\n }\n if (msAbs >= h) {\n return plural(ms, msAbs, h, 'hour');\n }\n if (msAbs >= m) {\n return plural(ms, msAbs, m, 'minute');\n }\n if (msAbs >= s) {\n return plural(ms, msAbs, s, 'second');\n }\n return ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, msAbs, n, name) {\n var isPlural = msAbs >= n * 1.5;\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\n","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nmodule.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\nmodule.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function asyncGeneratorStep(n, t, e, r, o, a, c) {\n try {\n var i = n[a](c),\n u = i.value;\n } catch (n) {\n return void e(n);\n }\n i.done ? t(u) : Promise.resolve(u).then(r, o);\n}\nfunction _asyncToGenerator(n) {\n return function () {\n var t = this,\n e = arguments;\n return new Promise(function (r, o) {\n var a = n.apply(t, e);\n function _next(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n);\n }\n function _throw(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n);\n }\n _next(void 0);\n });\n };\n}\nmodule.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var isNativeReflectConstruct = require(\"./isNativeReflectConstruct.js\");\nvar setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\n}\nmodule.exports = _construct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _getPrototypeOf(t) {\n return module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _getPrototypeOf(t);\n}\nmodule.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _inherits(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n t.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: t,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(t, \"prototype\", {\n writable: !1\n }), e && setPrototypeOf(t, e);\n}\nmodule.exports = _inherits, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _interopRequireDefault(e) {\n return e && e.__esModule ? e : {\n \"default\": e\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _isNativeFunction(t) {\n try {\n return -1 !== Function.toString.call(t).indexOf(\"[native code]\");\n } catch (n) {\n return \"function\" == typeof t;\n }\n}\nmodule.exports = _isNativeFunction, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (module.exports = _isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports)();\n}\nmodule.exports = _isNativeReflectConstruct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose.js\");\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var s = Object.getOwnPropertySymbols(e);\n for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nmodule.exports = _objectWithoutProperties, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (e.includes(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\nfunction _possibleConstructorReturn(t, e) {\n if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e;\n if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return assertThisInitialized(t);\n}\nmodule.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(t, e) {\n return module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _setPrototypeOf(t, e);\n}\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\nvar iterableToArray = require(\"./iterableToArray.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\nfunction _toConsumableArray(r) {\n return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nmodule.exports = _toConsumableArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nmodule.exports = toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nmodule.exports = toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var getPrototypeOf = require(\"./getPrototypeOf.js\");\nvar setPrototypeOf = require(\"./setPrototypeOf.js\");\nvar isNativeFunction = require(\"./isNativeFunction.js\");\nvar construct = require(\"./construct.js\");\nfunction _wrapNativeSuper(t) {\n var r = \"function\" == typeof Map ? new Map() : void 0;\n return module.exports = _wrapNativeSuper = function _wrapNativeSuper(t) {\n if (null === t || !isNativeFunction(t)) return t;\n if (\"function\" != typeof t) throw new TypeError(\"Super expression must either be null or a function\");\n if (void 0 !== r) {\n if (r.has(t)) return r.get(t);\n r.set(t, Wrapper);\n }\n function Wrapper() {\n return construct(t, arguments, getPrototypeOf(this).constructor);\n }\n return Wrapper.prototype = Object.create(t.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: !1,\n writable: !0,\n configurable: !0\n }\n }), setPrototypeOf(Wrapper, t);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _wrapNativeSuper(t);\n}\nmodule.exports = _wrapNativeSuper, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n if (isConstructor(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a constructor');\n};\n","'use strict';\nvar isPossiblePrototype = require('../internals/is-possible-prototype');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (isPossiblePrototype(argument)) return argument;\n throw new $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] === undefined) {\n defineProperty(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.es/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n","'use strict';\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw new $TypeError('Incorrect invocation');\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\n// eslint-disable-next-line es/no-typed-arrays -- safe\nmodule.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined';\n","'use strict';\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-basic-detection');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar classof = require('../internals/classof');\nvar tryToString = require('../internals/try-to-string');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar uid = require('../internals/uid');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar Int8Array = globalThis.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = globalThis.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar TypeError = globalThis.TypeError;\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\nvar TYPED_ARRAY_CONSTRUCTOR = 'TypedArrayConstructor';\n// Fixing native typed arrays in Opera Presto crashes the browser, see #595\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(globalThis.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQUIRED = false;\nvar NAME, Constructor, Prototype;\n\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\n\nvar BigIntArrayConstructorsList = {\n BigInt64Array: 8,\n BigUint64Array: 8\n};\n\nvar isView = function isView(it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return klass === 'DataView'\n || hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar getTypedArrayConstructor = function (it) {\n var proto = getPrototypeOf(it);\n if (!isObject(proto)) return;\n var state = getInternalState(proto);\n return (state && hasOwn(state, TYPED_ARRAY_CONSTRUCTOR)) ? state[TYPED_ARRAY_CONSTRUCTOR] : getTypedArrayConstructor(proto);\n};\n\nvar isTypedArray = function (it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar aTypedArray = function (it) {\n if (isTypedArray(it)) return it;\n throw new TypeError('Target is not a typed array');\n};\n\nvar aTypedArrayConstructor = function (C) {\n if (isCallable(C) && (!setPrototypeOf || isPrototypeOf(TypedArray, C))) return C;\n throw new TypeError(tryToString(C) + ' is not a typed array constructor');\n};\n\nvar exportTypedArrayMethod = function (KEY, property, forced, options) {\n if (!DESCRIPTORS) return;\n if (forced) for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = globalThis[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor.prototype, KEY)) try {\n delete TypedArrayConstructor.prototype[KEY];\n } catch (error) {\n // old WebKit bug - some methods are non-configurable\n try {\n TypedArrayConstructor.prototype[KEY] = property;\n } catch (error2) { /* empty */ }\n }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n defineBuiltIn(TypedArrayPrototype, KEY, forced ? property\n : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property, options);\n }\n};\n\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS) return;\n if (setPrototypeOf) {\n if (forced) for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = globalThis[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor, KEY)) try {\n delete TypedArrayConstructor[KEY];\n } catch (error) { /* empty */ }\n }\n if (!TypedArray[KEY] || forced) {\n // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable\n try {\n return defineBuiltIn(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property);\n } catch (error) { /* empty */ }\n } else return;\n }\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = globalThis[ARRAY];\n if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {\n defineBuiltIn(TypedArrayConstructor, KEY, property);\n }\n }\n};\n\nfor (NAME in TypedArrayConstructorsList) {\n Constructor = globalThis[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;\n else NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\n\nfor (NAME in BigIntArrayConstructorsList) {\n Constructor = globalThis[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;\n}\n\n// WebKit bug - typed arrays constructors prototype is Object.prototype\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !isCallable(TypedArray) || TypedArray === Function.prototype) {\n // eslint-disable-next-line no-shadow -- safe\n TypedArray = function TypedArray() {\n throw new TypeError('Incorrect invocation');\n };\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (globalThis[NAME]) setPrototypeOf(globalThis[NAME], TypedArray);\n }\n}\n\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n TypedArrayPrototype = TypedArray.prototype;\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (globalThis[NAME]) setPrototypeOf(globalThis[NAME].prototype, TypedArrayPrototype);\n }\n}\n\n// WebKit bug - one more object in Uint8ClampedArray prototype chain\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\n\nif (DESCRIPTORS && !hasOwn(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQUIRED = true;\n defineBuiltInAccessor(TypedArrayPrototype, TO_STRING_TAG, {\n configurable: true,\n get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n }\n });\n for (NAME in TypedArrayConstructorsList) if (globalThis[NAME]) {\n createNonEnumerableProperty(globalThis[NAME], TYPED_ARRAY_TAG, NAME);\n }\n}\n\nmodule.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQUIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n getTypedArrayConstructor: getTypedArrayConstructor,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-basic-detection');\nvar FunctionName = require('../internals/function-name');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar fails = require('../internals/fails');\nvar anInstance = require('../internals/an-instance');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar fround = require('../internals/math-fround');\nvar IEEE754 = require('../internals/ieee754');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar arrayFill = require('../internals/array-fill');\nvar arraySlice = require('../internals/array-slice');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length';\nvar WRONG_INDEX = 'Wrong index';\nvar getInternalArrayBufferState = InternalStateModule.getterFor(ARRAY_BUFFER);\nvar getInternalDataViewState = InternalStateModule.getterFor(DATA_VIEW);\nvar setInternalState = InternalStateModule.set;\nvar NativeArrayBuffer = globalThis[ARRAY_BUFFER];\nvar $ArrayBuffer = NativeArrayBuffer;\nvar ArrayBufferPrototype = $ArrayBuffer && $ArrayBuffer[PROTOTYPE];\nvar $DataView = globalThis[DATA_VIEW];\nvar DataViewPrototype = $DataView && $DataView[PROTOTYPE];\nvar ObjectPrototype = Object.prototype;\nvar Array = globalThis.Array;\nvar RangeError = globalThis.RangeError;\nvar fill = uncurryThis(arrayFill);\nvar reverse = uncurryThis([].reverse);\n\nvar packIEEE754 = IEEE754.pack;\nvar unpackIEEE754 = IEEE754.unpack;\n\nvar packInt8 = function (number) {\n return [number & 0xFF];\n};\n\nvar packInt16 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF];\n};\n\nvar packInt32 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF];\n};\n\nvar unpackInt32 = function (buffer) {\n return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0];\n};\n\nvar packFloat32 = function (number) {\n return packIEEE754(fround(number), 23, 4);\n};\n\nvar packFloat64 = function (number) {\n return packIEEE754(number, 52, 8);\n};\n\nvar addGetter = function (Constructor, key, getInternalState) {\n defineBuiltInAccessor(Constructor[PROTOTYPE], key, {\n configurable: true,\n get: function () {\n return getInternalState(this)[key];\n }\n });\n};\n\nvar get = function (view, count, index, isLittleEndian) {\n var store = getInternalDataViewState(view);\n var intIndex = toIndex(index);\n var boolIsLittleEndian = !!isLittleEndian;\n if (intIndex + count > store.byteLength) throw new RangeError(WRONG_INDEX);\n var bytes = store.bytes;\n var start = intIndex + store.byteOffset;\n var pack = arraySlice(bytes, start, start + count);\n return boolIsLittleEndian ? pack : reverse(pack);\n};\n\nvar set = function (view, count, index, conversion, value, isLittleEndian) {\n var store = getInternalDataViewState(view);\n var intIndex = toIndex(index);\n var pack = conversion(+value);\n var boolIsLittleEndian = !!isLittleEndian;\n if (intIndex + count > store.byteLength) throw new RangeError(WRONG_INDEX);\n var bytes = store.bytes;\n var start = intIndex + store.byteOffset;\n for (var i = 0; i < count; i++) bytes[start + i] = pack[boolIsLittleEndian ? i : count - i - 1];\n};\n\nif (!NATIVE_ARRAY_BUFFER) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, ArrayBufferPrototype);\n var byteLength = toIndex(length);\n setInternalState(this, {\n type: ARRAY_BUFFER,\n bytes: fill(Array(byteLength), 0),\n byteLength: byteLength\n });\n if (!DESCRIPTORS) {\n this.byteLength = byteLength;\n this.detached = false;\n }\n };\n\n ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE];\n\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, DataViewPrototype);\n anInstance(buffer, ArrayBufferPrototype);\n var bufferState = getInternalArrayBufferState(buffer);\n var bufferLength = bufferState.byteLength;\n var offset = toIntegerOrInfinity(byteOffset);\n if (offset < 0 || offset > bufferLength) throw new RangeError('Wrong offset');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw new RangeError(WRONG_LENGTH);\n setInternalState(this, {\n type: DATA_VIEW,\n buffer: buffer,\n byteLength: byteLength,\n byteOffset: offset,\n bytes: bufferState.bytes\n });\n if (!DESCRIPTORS) {\n this.buffer = buffer;\n this.byteLength = byteLength;\n this.byteOffset = offset;\n }\n };\n\n DataViewPrototype = $DataView[PROTOTYPE];\n\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, 'byteLength', getInternalArrayBufferState);\n addGetter($DataView, 'buffer', getInternalDataViewState);\n addGetter($DataView, 'byteLength', getInternalDataViewState);\n addGetter($DataView, 'byteOffset', getInternalDataViewState);\n }\n\n defineBuiltIns(DataViewPrototype, {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : false);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : false);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : false));\n },\n getUint32: function getUint32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : false)) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : false), 23);\n },\n getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : false), 52);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : false);\n },\n setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : false);\n },\n setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : false);\n },\n setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : false);\n },\n setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : false);\n },\n setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n set(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : false);\n }\n });\n} else {\n var INCORRECT_ARRAY_BUFFER_NAME = PROPER_FUNCTION_NAME && NativeArrayBuffer.name !== ARRAY_BUFFER;\n /* eslint-disable no-new, sonar/inconsistent-function-call -- required for testing */\n if (!fails(function () {\n NativeArrayBuffer(1);\n }) || !fails(function () {\n new NativeArrayBuffer(-1);\n }) || fails(function () {\n new NativeArrayBuffer();\n new NativeArrayBuffer(1.5);\n new NativeArrayBuffer(NaN);\n return NativeArrayBuffer.length !== 1 || INCORRECT_ARRAY_BUFFER_NAME && !CONFIGURABLE_FUNCTION_NAME;\n })) {\n /* eslint-enable no-new, sonar/inconsistent-function-call -- required for testing */\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, ArrayBufferPrototype);\n return inheritIfRequired(new NativeArrayBuffer(toIndex(length)), this, $ArrayBuffer);\n };\n\n $ArrayBuffer[PROTOTYPE] = ArrayBufferPrototype;\n\n ArrayBufferPrototype.constructor = $ArrayBuffer;\n\n copyConstructorProperties($ArrayBuffer, NativeArrayBuffer);\n } else if (INCORRECT_ARRAY_BUFFER_NAME && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(NativeArrayBuffer, 'name', ARRAY_BUFFER);\n }\n\n // WebKit bug - the same parent prototype for typed arrays and data view\n if (setPrototypeOf && getPrototypeOf(DataViewPrototype) !== ObjectPrototype) {\n setPrototypeOf(DataViewPrototype, ObjectPrototype);\n }\n\n // iOS Safari 7.x bug\n var testView = new $DataView(new $ArrayBuffer(2));\n var $setInt8 = uncurryThis(DataViewPrototype.setInt8);\n testView.setInt8(0, 2147483648);\n testView.setInt8(1, 2147483649);\n if (testView.getInt8(0) || !testView.getInt8(1)) defineBuiltIns(DataViewPrototype, {\n setInt8: function setInt8(byteOffset, value) {\n $setInt8(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n $setInt8(this, byteOffset, value << 24 >> 24);\n }\n }, { unsafe: true });\n}\n\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\n\nmodule.exports = {\n ArrayBuffer: $ArrayBuffer,\n DataView: $DataView\n};\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar deletePropertyOrThrow = require('../internals/delete-property-or-throw');\n\nvar min = Math.min;\n\n// `Array.prototype.copyWithin` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.copywithin\n// eslint-disable-next-line es/no-array-prototype-copywithin -- safe\nmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var to = toAbsoluteIndex(target, len);\n var from = toAbsoluteIndex(start, len);\n var end = arguments.length > 2 ? arguments[2] : undefined;\n var count = min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n var inc = 1;\n if (from < to && to < from + count) {\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count-- > 0) {\n if (from in O) O[to] = O[from];\n else deletePropertyOrThrow(O, to);\n to += inc;\n from += inc;\n } return O;\n};\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.fill` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.fill\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = lengthOfArrayLike(O);\n var argumentsLength = arguments.length;\n var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);\n var end = argumentsLength > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nmodule.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n} : [].forEach;\n","'use strict';\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\nmodule.exports = function (Constructor, list, $length) {\n var index = 0;\n var length = arguments.length > 2 ? $length : lengthOfArrayLike(list);\n var result = new Constructor(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar isConstructor = require('../internals/is-constructor');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $Array = Array;\n\n// `Array.from` method implementation\n// https://tc39.es/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var IS_CONSTRUCTOR = isConstructor(this);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined);\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod && !(this === $Array && isArrayIteratorMethod(iteratorMethod))) {\n result = IS_CONSTRUCTOR ? new this() : [];\n iterator = getIterator(O, iteratorMethod);\n next = iterator.next;\n for (;!(step = call(next, iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = lengthOfArrayLike(O);\n result = IS_CONSTRUCTOR ? new this(length) : $Array(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n if (length === 0) return !IS_INCLUDES && -1;\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el !== el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value !== value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = uncurryThis([].push);\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE === 1;\n var IS_FILTER = TYPE === 2;\n var IS_SOME = TYPE === 3;\n var IS_EVERY = TYPE === 4;\n var IS_FIND_INDEX = TYPE === 6;\n var IS_FILTER_REJECT = TYPE === 7;\n var NO_HOLES = TYPE === 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var length = lengthOfArrayLike(self);\n var boundFunction = bind(callbackfn, that);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push(target, value); // filterReject\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterReject` method\n // https://github.com/tc39/proposal-array-filtering\n filterReject: createMethod(7)\n};\n","'use strict';\n/* eslint-disable es/no-array-prototype-lastindexof -- safe */\nvar apply = require('../internals/function-apply');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar min = Math.min;\nvar $lastIndexOf = [].lastIndexOf;\nvar NEGATIVE_ZERO = !!$lastIndexOf && 1 / [1].lastIndexOf(1, -0) < 0;\nvar STRICT_METHOD = arrayMethodIsStrict('lastIndexOf');\nvar FORCED = NEGATIVE_ZERO || !STRICT_METHOD;\n\n// `Array.prototype.lastIndexOf` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.lastindexof\nmodule.exports = FORCED ? function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {\n // convert -0 to +0\n if (NEGATIVE_ZERO) return apply($lastIndexOf, this, arguments) || 0;\n var O = toIndexedObject(this);\n var length = lengthOfArrayLike(O);\n if (length === 0) return -1;\n var index = length - 1;\n if (arguments.length > 1) index = min(index, toIntegerOrInfinity(arguments[1]));\n if (index < 0) index = length + index;\n for (;index >= 0; index--) if (index in O && O[index] === searchElement) return index || 0;\n return -1;\n} : $lastIndexOf;\n","'use strict';\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/environment-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call -- required for testing\n method.call(null, argument || function () { return 1; }, 1);\n });\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\nvar $TypeError = TypeError;\n\nvar REDUCE_EMPTY = 'Reduce of empty array with no initial value';\n\n// `Array.prototype.{ reduce, reduceRight }` methods implementation\nvar createMethod = function (IS_RIGHT) {\n return function (that, callbackfn, argumentsLength, memo) {\n var O = toObject(that);\n var self = IndexedObject(O);\n var length = lengthOfArrayLike(O);\n aCallable(callbackfn);\n if (length === 0 && argumentsLength < 2) throw new $TypeError(REDUCE_EMPTY);\n var index = IS_RIGHT ? length - 1 : 0;\n var i = IS_RIGHT ? -1 : 1;\n if (argumentsLength < 2) while (true) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (IS_RIGHT ? index < 0 : length <= index) {\n throw new $TypeError(REDUCE_EMPTY);\n }\n }\n for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.reduce` method\n // https://tc39.es/ecma262/#sec-array.prototype.reduce\n left: createMethod(false),\n // `Array.prototype.reduceRight` method\n // https://tc39.es/ecma262/#sec-array.prototype.reduceright\n right: createMethod(true)\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar isArray = require('../internals/is-array');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Safari < 13 does not throw an error in this case\nvar SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function () {\n // makes no sense without proper strict mode support\n if (this !== undefined) return true;\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).length = 1;\n } catch (error) {\n return error instanceof TypeError;\n }\n}();\n\nmodule.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) {\n if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) {\n throw new $TypeError('Cannot set read only .length');\n } return O.length = length;\n} : function (O, length) {\n return O.length = length;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","'use strict';\nvar arraySlice = require('../internals/array-slice');\n\nvar floor = Math.floor;\n\nvar sort = function (array, comparefn) {\n var length = array.length;\n\n if (length < 8) {\n // insertion sort\n var i = 1;\n var element, j;\n\n while (i < length) {\n j = i;\n element = array[i];\n while (j && comparefn(array[j - 1], element) > 0) {\n array[j] = array[--j];\n }\n if (j !== i++) array[j] = element;\n }\n } else {\n // merge sort\n var middle = floor(length / 2);\n var left = sort(arraySlice(array, 0, middle), comparefn);\n var right = sort(arraySlice(array, middle), comparefn);\n var llength = left.length;\n var rlength = right.length;\n var lindex = 0;\n var rindex = 0;\n\n while (lindex < llength || rindex < rlength) {\n array[lindex + rindex] = (lindex < llength && rindex < rlength)\n ? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++]\n : lindex < llength ? left[lindex++] : right[rindex++];\n }\n }\n\n return array;\n};\n\nmodule.exports = sort;\n","'use strict';\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar $Array = Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (isConstructor(C) && (C === $Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? $Array : C;\n};\n","'use strict';\nvar arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar iteratorClose = require('../internals/iterator-close');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n try {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n } catch (error) { return false; } // workaround of old WebKit + `eval` bug\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (error1) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (error2) { /* empty */ }\n } return false;\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\n\nvar quot = /\"/g;\nvar replace = uncurryThis(''.replace);\n\n// `CreateHTML` abstract operation\n// https://tc39.es/ecma262/#sec-createhtml\nmodule.exports = function (string, tag, attribute, value) {\n var S = toString(requireObjectCoercible(string));\n var p1 = '<' + tag;\n if (attribute !== '') p1 += ' ' + attribute + '=\"' + replace(toString(value), quot, '"') + '\"';\n return p1 + '>' + S + '';\n};\n","'use strict';\n// `CreateIterResultObject` abstract operation\n// https://tc39.es/ecma262/#sec-createiterresultobject\nmodule.exports = function (value, done) {\n return { value: value, done: done };\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n if (DESCRIPTORS) definePropertyModule.f(object, key, createPropertyDescriptor(0, value));\n else object[key] = value;\n};\n","'use strict';\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n return defineProperty.f(target, name, descriptor);\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","'use strict';\nvar defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) defineBuiltIn(target, key, src[key], options);\n return target;\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(globalThis, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n globalThis[key] = value;\n } return value;\n};\n","'use strict';\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (O, P) {\n if (!delete O[P]) throw new $TypeError('Cannot delete property ' + tryToString(P) + ' of ' + tryToString(O));\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isObject = require('../internals/is-object');\n\nvar document = globalThis.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nvar $TypeError = TypeError;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991\n\nmodule.exports = function (it) {\n if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded');\n return it;\n};\n","'use strict';\n// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","'use strict';\n// in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList`\nvar documentCreateElement = require('../internals/document-create-element');\n\nvar classList = documentCreateElement('span').classList;\nvar DOMTokenListPrototype = classList && classList.constructor && classList.constructor.prototype;\n\nmodule.exports = DOMTokenListPrototype === Object.prototype ? undefined : DOMTokenListPrototype;\n","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","'use strict';\nvar userAgent = require('../internals/environment-user-agent');\n\nvar firefox = userAgent.match(/firefox\\/(\\d+)/i);\n\nmodule.exports = !!firefox && +firefox[1];\n","'use strict';\nvar UA = require('../internals/environment-user-agent');\n\nmodule.exports = /MSIE|Trident/.test(UA);\n","'use strict';\nvar userAgent = require('../internals/environment-user-agent');\n\nmodule.exports = /ipad|iphone|ipod/i.test(userAgent) && typeof Pebble != 'undefined';\n","'use strict';\nvar userAgent = require('../internals/environment-user-agent');\n\n// eslint-disable-next-line redos/no-vulnerable -- safe\nmodule.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent);\n","'use strict';\nvar ENVIRONMENT = require('../internals/environment');\n\nmodule.exports = ENVIRONMENT === 'NODE';\n","'use strict';\nvar userAgent = require('../internals/environment-user-agent');\n\nmodule.exports = /web0s(?!.*chrome)/i.test(userAgent);\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\nvar navigator = globalThis.navigator;\nvar userAgent = navigator && navigator.userAgent;\n\nmodule.exports = userAgent ? String(userAgent) : '';\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar userAgent = require('../internals/environment-user-agent');\n\nvar process = globalThis.process;\nvar Deno = globalThis.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\nvar userAgent = require('../internals/environment-user-agent');\n\nvar webkit = userAgent.match(/AppleWebKit\\/(\\d+)\\./);\n\nmodule.exports = !!webkit && +webkit[1];\n","'use strict';\n/* global Bun, Deno -- detection */\nvar globalThis = require('../internals/global-this');\nvar userAgent = require('../internals/environment-user-agent');\nvar classof = require('../internals/classof-raw');\n\nvar userAgentStartsWith = function (string) {\n return userAgent.slice(0, string.length) === string;\n};\n\nmodule.exports = (function () {\n if (userAgentStartsWith('Bun/')) return 'BUN';\n if (userAgentStartsWith('Cloudflare-Workers')) return 'CLOUDFLARE';\n if (userAgentStartsWith('Deno/')) return 'DENO';\n if (userAgentStartsWith('Node.js/')) return 'NODE';\n if (globalThis.Bun && typeof Bun.version == 'string') return 'BUN';\n if (globalThis.Deno && typeof Deno.version == 'object') return 'DENO';\n if (classof(globalThis.process) === 'process') return 'NODE';\n if (globalThis.window && globalThis.document) return 'BROWSER';\n return 'REST';\n})();\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = globalThis;\n } else if (STATIC) {\n target = globalThis[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = globalThis[TARGET] && globalThis[TARGET].prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar call = require('../internals/function-call');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar regexpExec = require('../internals/regexp-exec');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\nvar RegExpPrototype = RegExp.prototype;\n\nmodule.exports = function (KEY, exec, FORCED, SHAM) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegExp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) !== 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n re = {};\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n re.flags = '';\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () {\n execCalled = true;\n return null;\n };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n FORCED\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n var $exec = regexp.exec;\n if ($exec === regexpExec || $exec === RegExpPrototype.exec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: call(nativeRegExpMethod, regexp, str, arg2) };\n }\n return { done: true, value: call(nativeMethod, str, regexp, arg2) };\n }\n return { done: false };\n });\n\n defineBuiltIn(String.prototype, KEY, methods[0]);\n defineBuiltIn(RegExpPrototype, SYMBOL, methods[1]);\n }\n\n if (SHAM) createNonEnumerableProperty(RegExpPrototype[SYMBOL], 'sham', true);\n};\n","'use strict';\nvar isArray = require('../internals/is-array');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar bind = require('../internals/function-bind-context');\n\n// `FlattenIntoArray` abstract operation\n// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray\nvar flattenIntoArray = function (target, original, source, sourceLen, start, depth, mapper, thisArg) {\n var targetIndex = start;\n var sourceIndex = 0;\n var mapFn = mapper ? bind(mapper, thisArg) : false;\n var element, elementLen;\n\n while (sourceIndex < sourceLen) {\n if (sourceIndex in source) {\n element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];\n\n if (depth > 0 && isArray(element)) {\n elementLen = lengthOfArrayLike(element);\n targetIndex = flattenIntoArray(target, original, element, elementLen, targetIndex, depth - 1) - 1;\n } else {\n doesNotExceedSafeInteger(targetIndex + 1);\n target[targetIndex] = element;\n }\n\n targetIndex++;\n }\n sourceIndex++;\n }\n return targetIndex;\n};\n\nmodule.exports = flattenIntoArray;\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar arraySlice = require('../internals/array-slice');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar $Function = Function;\nvar concat = uncurryThis([].concat);\nvar join = uncurryThis([].join);\nvar factories = {};\n\nvar construct = function (C, argsLength, args) {\n if (!hasOwn(factories, argsLength)) {\n var list = [];\n var i = 0;\n for (; i < argsLength; i++) list[i] = 'a[' + i + ']';\n factories[argsLength] = $Function('C,a', 'return new C(' + join(list, ',') + ')');\n } return factories[argsLength](C, args);\n};\n\n// `Function.prototype.bind` method implementation\n// https://tc39.es/ecma262/#sec-function.prototype.bind\n// eslint-disable-next-line es/no-function-prototype-bind -- detection\nmodule.exports = NATIVE_BIND ? $Function.bind : function bind(that /* , ...args */) {\n var F = aCallable(this);\n var Prototype = F.prototype;\n var partArgs = arraySlice(arguments, 1);\n var boundFunction = function bound(/* args... */) {\n var args = concat(partArgs, arraySlice(arguments));\n return this instanceof boundFunction ? construct(F, args.length, args) : F.apply(that, args);\n };\n if (isObject(Prototype)) boundFunction.prototype = Prototype;\n return boundFunction;\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n } catch (error) { /* empty */ }\n};\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(globalThis[namespace]) : globalThis[namespace] && globalThis[namespace][method];\n};\n","'use strict';\nvar classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n throw new $TypeError(tryToString(argument) + ' is not iterable');\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isArray = require('../internals/is-array');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof-raw');\nvar toString = require('../internals/to-string');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (replacer) {\n if (isCallable(replacer)) return replacer;\n if (!isArray(replacer)) return;\n var rawLength = replacer.length;\n var keys = [];\n for (var i = 0; i < rawLength; i++) {\n var element = replacer[i];\n if (typeof element == 'string') push(keys, element);\n else if (typeof element == 'number' || classof(element) === 'Number' || classof(element) === 'String') push(keys, toString(element));\n }\n var keysLength = keys.length;\n var root = true;\n return function (key, value) {\n if (root) {\n root = false;\n return value;\n }\n if (isArray(this)) return value;\n for (var j = 0; j < keysLength; j++) if (keys[j] === key) return value;\n };\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar floor = Math.floor;\nvar charAt = uncurryThis(''.charAt);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\n// eslint-disable-next-line redos/no-vulnerable -- safe\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d{1,2}|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d{1,2})/g;\n\n// `GetSubstitution` abstract operation\n// https://tc39.es/ecma262/#sec-getsubstitution\nmodule.exports = function (matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return replace(replacement, symbols, function (match, ch) {\n var capture;\n switch (charAt(ch, 0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return stringSlice(str, 0, position);\n case \"'\": return stringSlice(str, tailPos);\n case '<':\n capture = namedCaptures[stringSlice(ch, 1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? charAt(ch, 1) : captures[f - 1] + charAt(ch, 1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n};\n","'use strict';\nvar check = function (it) {\n return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n check(typeof this == 'object' && this) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nmodule.exports = function (a, b) {\n try {\n // eslint-disable-next-line no-console -- safe\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n } catch (error) { /* empty */ }\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\n// IEEE754 conversions based on https://github.com/feross/ieee754\nvar $Array = Array;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\n\nvar pack = function (number, mantissaLength, bytes) {\n var buffer = $Array(bytes);\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0;\n var index = 0;\n var exponent, mantissa, c;\n number = abs(number);\n // eslint-disable-next-line no-self-compare -- NaN check\n if (number !== number || number === Infinity) {\n // eslint-disable-next-line no-self-compare -- NaN check\n mantissa = number !== number ? 1 : 0;\n exponent = eMax;\n } else {\n exponent = floor(log(number) / LN2);\n c = pow(2, -exponent);\n if (number * c < 1) {\n exponent--;\n c *= 2;\n }\n if (exponent + eBias >= 1) {\n number += rt / c;\n } else {\n number += rt * pow(2, 1 - eBias);\n }\n if (number * c >= 2) {\n exponent++;\n c /= 2;\n }\n if (exponent + eBias >= eMax) {\n mantissa = 0;\n exponent = eMax;\n } else if (exponent + eBias >= 1) {\n mantissa = (number * c - 1) * pow(2, mantissaLength);\n exponent += eBias;\n } else {\n mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength);\n exponent = 0;\n }\n }\n while (mantissaLength >= 8) {\n buffer[index++] = mantissa & 255;\n mantissa /= 256;\n mantissaLength -= 8;\n }\n exponent = exponent << mantissaLength | mantissa;\n exponentLength += mantissaLength;\n while (exponentLength > 0) {\n buffer[index++] = exponent & 255;\n exponent /= 256;\n exponentLength -= 8;\n }\n buffer[index - 1] |= sign * 128;\n return buffer;\n};\n\nvar unpack = function (buffer, mantissaLength) {\n var bytes = buffer.length;\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var nBits = exponentLength - 7;\n var index = bytes - 1;\n var sign = buffer[index--];\n var exponent = sign & 127;\n var mantissa;\n sign >>= 7;\n while (nBits > 0) {\n exponent = exponent * 256 + buffer[index--];\n nBits -= 8;\n }\n mantissa = exponent & (1 << -nBits) - 1;\n exponent >>= -nBits;\n nBits += mantissaLength;\n while (nBits > 0) {\n mantissa = mantissa * 256 + buffer[index--];\n nBits -= 8;\n }\n if (exponent === 0) {\n exponent = 1 - eBias;\n } else if (exponent === eMax) {\n return mantissa ? NaN : sign ? -Infinity : Infinity;\n } else {\n mantissa += pow(2, mantissaLength);\n exponent -= eBias;\n } return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength);\n};\n\nmodule.exports = {\n pack: pack,\n unpack: unpack\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar globalThis = require('../internals/global-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = globalThis.TypeError;\nvar WeakMap = globalThis.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw new TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","'use strict';\nvar classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) === 'Array';\n};\n","'use strict';\nvar classof = require('../internals/classof');\n\nmodule.exports = function (it) {\n var klass = classof(it);\n return klass === 'BigInt64Array' || klass === 'BigUint64Array';\n};\n","'use strict';\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\nvar documentAll = typeof document == 'object' && document.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nmodule.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.test(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, [], argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value === POLYFILL ? true\n : value === NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar floor = Math.floor;\n\n// `IsIntegralNumber` abstract operation\n// https://tc39.es/ecma262/#sec-isintegralnumber\n// eslint-disable-next-line es/no-number-isinteger -- safe\nmodule.exports = Number.isInteger || function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nmodule.exports = function (argument) {\n return isObject(argument) || argument === null;\n};\n","'use strict';\nmodule.exports = false;\n","'use strict';\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.es/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) === 'RegExp');\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar $TypeError = TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_RECORD = !!(options && options.IS_RECORD);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal', condition);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_RECORD) {\n iterator = iterable.iterator;\n } else if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn) throw new $TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = IS_RECORD ? iterable.next : iterator.next;\n while (!(step = call(next, iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar IS_PURE = require('../internals/is-pure');\nvar FunctionName = require('../internals/function-name');\nvar isCallable = require('../internals/is-callable');\nvar createIteratorConstructor = require('../internals/iterator-create-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND && KIND in IterablePrototype) return IterablePrototype[KIND];\n\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n }\n\n return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME === 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n defineBuiltIn(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array.prototype.{ values, @@iterator }.name in V8 / FF\n if (PROPER_FUNCTION_NAME && DEFAULT === VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n } else {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return call(nativeIterator, this); };\n }\n }\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n defineBuiltIn(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n }\n Iterators[NAME] = defaultIterator;\n\n return methods;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\nelse if (IS_PURE) IteratorPrototype = create(IteratorPrototype);\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif (!isCallable(IteratorPrototype[ITERATOR])) {\n defineBuiltIn(IteratorPrototype, ITERATOR, function () {\n return this;\n });\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\).*$/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","'use strict';\nvar sign = require('../internals/math-sign');\n\nvar abs = Math.abs;\n\nvar EPSILON = 2.220446049250313e-16; // Number.EPSILON\nvar INVERSE_EPSILON = 1 / EPSILON;\n\nvar roundTiesToEven = function (n) {\n return n + INVERSE_EPSILON - INVERSE_EPSILON;\n};\n\nmodule.exports = function (x, FLOAT_EPSILON, FLOAT_MAX_VALUE, FLOAT_MIN_VALUE) {\n var n = +x;\n var absolute = abs(n);\n var s = sign(n);\n if (absolute < FLOAT_MIN_VALUE) return s * roundTiesToEven(absolute / FLOAT_MIN_VALUE / FLOAT_EPSILON) * FLOAT_MIN_VALUE * FLOAT_EPSILON;\n var a = (1 + FLOAT_EPSILON / EPSILON) * absolute;\n var result = a - (a - absolute);\n // eslint-disable-next-line no-self-compare -- NaN check\n if (result > FLOAT_MAX_VALUE || result !== result) return s * Infinity;\n return s * result;\n};\n","'use strict';\nvar floatRound = require('../internals/math-float-round');\n\nvar FLOAT32_EPSILON = 1.1920928955078125e-7; // 2 ** -23;\nvar FLOAT32_MAX_VALUE = 3.4028234663852886e+38; // 2 ** 128 - 2 ** 104\nvar FLOAT32_MIN_VALUE = 1.1754943508222875e-38; // 2 ** -126;\n\n// `Math.fround` method implementation\n// https://tc39.es/ecma262/#sec-math.fround\n// eslint-disable-next-line es/no-math-fround -- safe\nmodule.exports = Math.fround || function fround(x) {\n return floatRound(x, FLOAT32_EPSILON, FLOAT32_MAX_VALUE, FLOAT32_MIN_VALUE);\n};\n","'use strict';\n// `Math.sign` method implementation\n// https://tc39.es/ecma262/#sec-math.sign\n// eslint-disable-next-line es/no-math-sign -- safe\nmodule.exports = Math.sign || function sign(x) {\n var n = +x;\n // eslint-disable-next-line no-self-compare -- NaN check\n return n === 0 || n !== n ? n : n < 0 ? -1 : 1;\n};\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar safeGetBuiltIn = require('../internals/safe-get-built-in');\nvar bind = require('../internals/function-bind-context');\nvar macrotask = require('../internals/task').set;\nvar Queue = require('../internals/queue');\nvar IS_IOS = require('../internals/environment-is-ios');\nvar IS_IOS_PEBBLE = require('../internals/environment-is-ios-pebble');\nvar IS_WEBOS_WEBKIT = require('../internals/environment-is-webos-webkit');\nvar IS_NODE = require('../internals/environment-is-node');\n\nvar MutationObserver = globalThis.MutationObserver || globalThis.WebKitMutationObserver;\nvar document = globalThis.document;\nvar process = globalThis.process;\nvar Promise = globalThis.Promise;\nvar microtask = safeGetBuiltIn('queueMicrotask');\nvar notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!microtask) {\n var queue = new Queue();\n\n var flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (fn = queue.get()) try {\n fn();\n } catch (error) {\n if (queue.head) notify();\n throw error;\n }\n if (parent) parent.enter();\n };\n\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898\n if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (!IS_IOS_PEBBLE && Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n // workaround of WebKit ~ iOS Safari 10.1 bug\n promise.constructor = Promise;\n then = bind(promise.then, promise);\n notify = function () {\n then(flush);\n };\n // Node.js without promises\n } else if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessage\n // - onreadystatechange\n // - setTimeout\n } else {\n // `webpack` dev server bug on IE global methods - use bind(fn, global)\n macrotask = bind(macrotask, globalThis);\n notify = function () {\n macrotask(flush);\n };\n }\n\n microtask = function (fn) {\n if (!queue.head) notify();\n queue.add(fn);\n };\n}\n\nmodule.exports = microtask;\n","'use strict';\nvar aCallable = require('../internals/a-callable');\n\nvar $TypeError = TypeError;\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw new $TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aCallable(resolve);\n this.reject = aCallable(reject);\n};\n\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","'use strict';\nvar isRegExp = require('../internals/is-regexp');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw new $TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar call = require('../internals/function-call');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\n// eslint-disable-next-line es/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\nvar concat = uncurryThis([].concat);\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line es/no-symbol -- safe\n var symbol = Symbol('assign detection');\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return $assign({}, A)[symbol] !== 7 || objectKeys($assign({}, B)).join('') !== alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","'use strict';\n/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n // eslint-disable-next-line no-useless-assignment -- avoid memory leak\n activeXDocument = null;\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\n/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar classof = require('../internals/classof-raw');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar arraySlice = require('../internals/array-slice');\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return $getOwnPropertyNames(it);\n } catch (error) {\n return arraySlice(windowNames);\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && classof(it) === 'Window'\n ? getWindowNames(it)\n : $getOwnPropertyNames(toIndexedObject(it));\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar $Object = Object;\nvar ObjectPrototype = $Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof $Object ? ObjectPrototype : null;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar isObject = require('../internals/is-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n requireObjectCoercible(O);\n aPossiblePrototype(proto);\n if (!isObject(O)) return O;\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\nmodule.exports = globalThis;\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar isCallable = require('../internals/is-callable');\nvar isForced = require('../internals/is-forced');\nvar inspectSource = require('../internals/inspect-source');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar ENVIRONMENT = require('../internals/environment');\nvar IS_PURE = require('../internals/is-pure');\nvar V8_VERSION = require('../internals/environment-v8-version');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar SPECIES = wellKnownSymbol('species');\nvar SUBCLASSING = false;\nvar NATIVE_PROMISE_REJECTION_EVENT = isCallable(globalThis.PromiseRejectionEvent);\n\nvar FORCED_PROMISE_CONSTRUCTOR = isForced('Promise', function () {\n var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(NativePromiseConstructor);\n var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(NativePromiseConstructor);\n // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // We can't detect it synchronously, so just check versions\n if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true;\n // We need Promise#{ catch, finally } in the pure version for preventing prototype pollution\n if (IS_PURE && !(NativePromisePrototype['catch'] && NativePromisePrototype['finally'])) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (!V8_VERSION || V8_VERSION < 51 || !/native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) {\n // Detect correctness of subclassing with @@species support\n var promise = new NativePromiseConstructor(function (resolve) { resolve(1); });\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;\n if (!SUBCLASSING) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n } return !GLOBAL_CORE_JS_PROMISE && (ENVIRONMENT === 'BROWSER' || ENVIRONMENT === 'DENO') && !NATIVE_PROMISE_REJECTION_EVENT;\n});\n\nmodule.exports = {\n CONSTRUCTOR: FORCED_PROMISE_CONSTRUCTOR,\n REJECTION_EVENT: NATIVE_PROMISE_REJECTION_EVENT,\n SUBCLASSING: SUBCLASSING\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\nmodule.exports = globalThis.Promise;\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","'use strict';\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\nmodule.exports = FORCED_PROMISE_CONSTRUCTOR || !checkCorrectnessOfIteration(function (iterable) {\n NativePromiseConstructor.all(iterable).then(undefined, function () { /* empty */ });\n});\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (Target, Source, key) {\n key in Target || defineProperty(Target, key, {\n configurable: true,\n get: function () { return Source[key]; },\n set: function (it) { Source[key] = it; }\n });\n};\n","'use strict';\nvar Queue = function () {\n this.head = null;\n this.tail = null;\n};\n\nQueue.prototype = {\n add: function (item) {\n var entry = { item: item, next: null };\n var tail = this.tail;\n if (tail) tail.next = entry;\n else this.head = entry;\n this.tail = entry;\n },\n get: function () {\n var entry = this.head;\n if (entry) {\n var next = this.head = entry.next;\n if (next === null) this.tail = null;\n return entry.item;\n }\n }\n};\n\nmodule.exports = Queue;\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof-raw');\nvar regexpExec = require('../internals/regexp-exec');\n\nvar $TypeError = TypeError;\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (isCallable(exec)) {\n var result = call(exec, R, S);\n if (result !== null) anObject(result);\n return result;\n }\n if (classof(R) === 'RegExp') return call(regexpExec, R, S);\n throw new $TypeError('RegExp#exec called on incompatible receiver');\n};\n","'use strict';\n/* eslint-disable regexp/no-empty-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */\n/* eslint-disable regexp/no-useless-quantifier -- testing */\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar regexpFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar shared = require('../internals/shared');\nvar create = require('../internals/object-create');\nvar getInternalState = require('../internals/internal-state').get;\nvar UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');\nvar UNSUPPORTED_NCG = require('../internals/regexp-unsupported-ncg');\n\nvar nativeReplace = shared('native-string-replace', String.prototype.replace);\nvar nativeExec = RegExp.prototype.exec;\nvar patchedExec = nativeExec;\nvar charAt = uncurryThis(''.charAt);\nvar indexOf = uncurryThis(''.indexOf);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n call(nativeExec, re1, 'a');\n call(nativeExec, re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG;\n\nif (PATCH) {\n patchedExec = function exec(string) {\n var re = this;\n var state = getInternalState(re);\n var str = toString(string);\n var raw = state.raw;\n var result, reCopy, lastIndex, match, i, object, group;\n\n if (raw) {\n raw.lastIndex = re.lastIndex;\n result = call(patchedExec, raw, str);\n re.lastIndex = raw.lastIndex;\n return result;\n }\n\n var groups = state.groups;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = call(regexpFlags, re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = replace(flags, 'y', '');\n if (indexOf(flags, 'g') === -1) {\n flags += 'g';\n }\n\n strCopy = stringSlice(str, re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && charAt(str, re.lastIndex - 1) !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = call(nativeExec, sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = stringSlice(match.input, charsAdded);\n match[0] = stringSlice(match[0], charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn't work for /(.?)?/\n call(nativeReplace, match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n if (match && groups) {\n match.groups = object = create(null);\n for (i = 0; i < groups.length; i++) {\n group = groups[i];\n object[group[0]] = match[group[1]];\n }\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.hasIndices) result += 'd';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.unicodeSets) result += 'v';\n if (that.sticky) result += 'y';\n return result;\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar hasOwn = require('../internals/has-own-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar regExpFlags = require('../internals/regexp-flags');\n\nvar RegExpPrototype = RegExp.prototype;\n\nmodule.exports = function (R) {\n var flags = R.flags;\n return flags === undefined && !('flags' in RegExpPrototype) && !hasOwn(R, 'flags') && isPrototypeOf(RegExpPrototype, R)\n ? call(regExpFlags, R) : flags;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\n\n// babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\nvar $RegExp = globalThis.RegExp;\n\nvar UNSUPPORTED_Y = fails(function () {\n var re = $RegExp('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') !== null;\n});\n\n// UC Browser bug\n// https://github.com/zloirock/core-js/issues/1008\nvar MISSED_STICKY = UNSUPPORTED_Y || fails(function () {\n return !$RegExp('a', 'y').sticky;\n});\n\nvar BROKEN_CARET = UNSUPPORTED_Y || fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = $RegExp('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') !== null;\n});\n\nmodule.exports = {\n BROKEN_CARET: BROKEN_CARET,\n MISSED_STICKY: MISSED_STICKY,\n UNSUPPORTED_Y: UNSUPPORTED_Y\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\n\n// babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError\nvar $RegExp = globalThis.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('.', 's');\n return !(re.dotAll && re.test('\\n') && re.flags === 's');\n});\n","'use strict';\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\n\n// babel-minify and Closure Compiler transpiles RegExp('(?b)', 'g') -> /(?b)/g and it causes SyntaxError\nvar $RegExp = globalThis.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('(?b)', 'g');\n return re.exec('b').groups.a !== 'b' ||\n 'b'.replace(re, '$c') !== 'bc';\n});\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar DESCRIPTORS = require('../internals/descriptors');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Avoid NodeJS experimental warning\nmodule.exports = function (name) {\n if (!DESCRIPTORS) return globalThis[name];\n var descriptor = getOwnPropertyDescriptor(globalThis, name);\n return descriptor && descriptor.value;\n};\n","'use strict';\n// `SameValue` abstract operation\n// https://tc39.es/ecma262/#sec-samevalue\n// eslint-disable-next-line es/no-object-is -- safe\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare -- NaN check\n return x === y ? x !== 0 || 1 / x === 1 / y : x !== x && y !== y;\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineBuiltInAccessor(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (target, TAG, STATIC) {\n if (target && !STATIC) target = target.prototype;\n if (target && !hasOwn(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar globalThis = require('../internals/global-this');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});\n\n(store.versions || (store.versions = [])).push({\n version: '3.38.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2024 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.38.1/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar store = require('../internals/shared-store');\n\nmodule.exports = function (key, value) {\n return store[key] || (store[key] = value || {});\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar aConstructor = require('../internals/a-constructor');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || isNullOrUndefined(S = anObject(C)[SPECIES]) ? defaultConstructor : aConstructor(S);\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// check the existence of a method, lowercase\n// of a tag and escaping quotes in arguments\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n var test = ''[METHOD_NAME]('\"');\n return test !== test.toLowerCase() || test.split('\"').length > 3;\n });\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar stringSlice = uncurryThis(''.slice);\n\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = toString(requireObjectCoercible($this));\n var position = toIntegerOrInfinity(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = charCodeAt(S, position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING\n ? charAt(S, position)\n : first\n : CONVERT_TO_STRING\n ? stringSlice(S, position, position + 2)\n : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","'use strict';\n// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128; // 0x80\nvar delimiter = '-'; // '\\x2D'\nvar regexNonASCII = /[^\\0-\\u007E]/; // non-ASCII chars\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\n\nvar $RangeError = RangeError;\nvar exec = uncurryThis(regexSeparators.exec);\nvar floor = Math.floor;\nvar fromCharCode = String.fromCharCode;\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar join = uncurryThis([].join);\nvar push = uncurryThis([].push);\nvar replace = uncurryThis(''.replace);\nvar split = uncurryThis(''.split);\nvar toLowerCase = uncurryThis(''.toLowerCase);\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n */\nvar ucs2decode = function (string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n while (counter < length) {\n var value = charCodeAt(string, counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n // It's a high surrogate, and there is a next character.\n var extra = charCodeAt(string, counter++);\n if ((extra & 0xFC00) === 0xDC00) { // Low surrogate.\n push(output, ((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n // It's an unmatched surrogate; only append this code unit, in case the\n // next code unit is the high surrogate of a surrogate pair.\n push(output, value);\n counter--;\n }\n } else {\n push(output, value);\n }\n }\n return output;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n */\nvar digitToBasic = function (digit) {\n // 0..25 map to ASCII a..z or A..Z\n // 26..35 map to ASCII 0..9\n return digit + 22 + 75 * (digit < 26);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n */\nvar adapt = function (delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n while (delta > baseMinusTMin * tMax >> 1) {\n delta = floor(delta / baseMinusTMin);\n k += base;\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n */\nvar encode = function (input) {\n var output = [];\n\n // Convert the input in UCS-2 to an array of Unicode code points.\n input = ucs2decode(input);\n\n // Cache the length.\n var inputLength = input.length;\n\n // Initialize the state.\n var n = initialN;\n var delta = 0;\n var bias = initialBias;\n var i, currentValue;\n\n // Handle the basic code points.\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < 0x80) {\n push(output, fromCharCode(currentValue));\n }\n }\n\n var basicLength = output.length; // number of basic code points.\n var handledCPCount = basicLength; // number of code points that have been handled;\n\n // Finish the basic string with a delimiter unless it's empty.\n if (basicLength) {\n push(output, delimiter);\n }\n\n // Main encoding loop:\n while (handledCPCount < inputLength) {\n // All non-basic code points < n have been handled already. Find the next larger one:\n var m = maxInt;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n\n // Increase `delta` enough to advance the decoder's state to , but guard against overflow.\n var handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n throw new $RangeError(OVERFLOW_ERROR);\n }\n\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < n && ++delta > maxInt) {\n throw new $RangeError(OVERFLOW_ERROR);\n }\n if (currentValue === n) {\n // Represent delta as a generalized variable-length integer.\n var q = delta;\n var k = base;\n while (true) {\n var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;\n if (q < t) break;\n var qMinusT = q - t;\n var baseMinusT = base - t;\n push(output, fromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n q = floor(qMinusT / baseMinusT);\n k += base;\n }\n\n push(output, fromCharCode(digitToBasic(q)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount === basicLength);\n delta = 0;\n handledCPCount++;\n }\n }\n\n delta++;\n n++;\n }\n return join(output, '');\n};\n\nmodule.exports = function (input) {\n var encoded = [];\n var labels = split(replace(toLowerCase(input), regexSeparators, '\\u002E'), '.');\n var i, label;\n for (i = 0; i < labels.length; i++) {\n label = labels[i];\n push(encoded, exec(regexNonASCII, label) ? 'xn--' + encode(label) : label);\n }\n return join(encoded, '.');\n};\n","'use strict';\nvar PROPER_FUNCTION_NAME = require('../internals/function-name').PROPER;\nvar fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]()\n || non[METHOD_NAME]() !== non\n || (PROPER_FUNCTION_NAME && whitespaces[METHOD_NAME].name !== METHOD_NAME);\n });\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar whitespaces = require('../internals/whitespaces');\n\nvar replace = uncurryThis(''.replace);\nvar ltrim = RegExp('^[' + whitespaces + ']+');\nvar rtrim = RegExp('(^|[^' + whitespaces + '])[' + whitespaces + ']+$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = toString(requireObjectCoercible($this));\n if (TYPE & 1) string = replace(string, ltrim, '');\n if (TYPE & 2) string = replace(string, rtrim, '$1');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.es/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/environment-v8-version');\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\n\nvar $String = globalThis.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\nvar call = require('../internals/function-call');\nvar getBuiltIn = require('../internals/get-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function () {\n var Symbol = getBuiltIn('Symbol');\n var SymbolPrototype = Symbol && Symbol.prototype;\n var valueOf = SymbolPrototype && SymbolPrototype.valueOf;\n var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n if (SymbolPrototype && !SymbolPrototype[TO_PRIMITIVE]) {\n // `Symbol.prototype[@@toPrimitive]` method\n // https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\n // eslint-disable-next-line no-unused-vars -- required for .length\n defineBuiltIn(SymbolPrototype, TO_PRIMITIVE, function (hint) {\n return call(valueOf, this);\n }, { arity: 1 });\n }\n};\n","'use strict';\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\n/* eslint-disable es/no-symbol -- safe */\nmodule.exports = NATIVE_SYMBOL && !!Symbol['for'] && !!Symbol.keyFor;\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind-context');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar fails = require('../internals/fails');\nvar html = require('../internals/html');\nvar arraySlice = require('../internals/array-slice');\nvar createElement = require('../internals/document-create-element');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar IS_IOS = require('../internals/environment-is-ios');\nvar IS_NODE = require('../internals/environment-is-node');\n\nvar set = globalThis.setImmediate;\nvar clear = globalThis.clearImmediate;\nvar process = globalThis.process;\nvar Dispatch = globalThis.Dispatch;\nvar Function = globalThis.Function;\nvar MessageChannel = globalThis.MessageChannel;\nvar String = globalThis.String;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar $location, defer, channel, port;\n\nfails(function () {\n // Deno throws a ReferenceError on `location` access without `--location` flag\n $location = globalThis.location;\n});\n\nvar run = function (id) {\n if (hasOwn(queue, id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar eventListener = function (event) {\n run(event.data);\n};\n\nvar globalPostMessageDefer = function (id) {\n // old engines have not location.origin\n globalThis.postMessage(String(id), $location.protocol + '//' + $location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(handler) {\n validateArgumentsLength(arguments.length, 1);\n var fn = isCallable(handler) ? handler : Function(handler);\n var args = arraySlice(arguments, 1);\n queue[++counter] = function () {\n apply(fn, undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (IS_NODE) {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = eventListener;\n defer = bind(port.postMessage, port);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n globalThis.addEventListener &&\n isCallable(globalThis.postMessage) &&\n !globalThis.importScripts &&\n $location && $location.protocol !== 'file:' &&\n !fails(globalPostMessageDefer)\n ) {\n defer = globalPostMessageDefer;\n globalThis.addEventListener('message', eventListener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\n// `thisNumberValue` abstract operation\n// https://tc39.es/ecma262/#sec-thisnumbervalue\nmodule.exports = uncurryThis(1.0.valueOf);\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\n\nvar $TypeError = TypeError;\n\n// `ToBigInt` abstract operation\n// https://tc39.es/ecma262/#sec-tobigint\nmodule.exports = function (argument) {\n var prim = toPrimitive(argument, 'number');\n if (typeof prim == 'number') throw new $TypeError(\"Can't convert number to bigint\");\n // eslint-disable-next-line es/no-bigint -- safe\n return BigInt(prim);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\n\nvar $RangeError = RangeError;\n\n// `ToIndex` abstract operation\n// https://tc39.es/ecma262/#sec-toindex\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toIntegerOrInfinity(it);\n var length = toLength(number);\n if (number !== length) throw new $RangeError('Wrong length or index');\n return length;\n};\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n var len = toIntegerOrInfinity(argument);\n return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar toPositiveInteger = require('../internals/to-positive-integer');\n\nvar $RangeError = RangeError;\n\nmodule.exports = function (it, BYTES) {\n var offset = toPositiveInteger(it);\n if (offset % BYTES) throw new $RangeError('Wrong offset');\n return offset;\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar $RangeError = RangeError;\n\nmodule.exports = function (it) {\n var result = toIntegerOrInfinity(it);\n if (result < 0) throw new $RangeError(\"The argument can't be less than 0\");\n return result;\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw new $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","'use strict';\nvar round = Math.round;\n\nmodule.exports = function (it) {\n var value = round(it);\n return value < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF;\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar globalThis = require('../internals/global-this');\nvar call = require('../internals/function-call');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-array-constructors-require-wrappers');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayBufferModule = require('../internals/array-buffer');\nvar anInstance = require('../internals/an-instance');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar isIntegralNumber = require('../internals/is-integral-number');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar toOffset = require('../internals/to-offset');\nvar toUint8Clamped = require('../internals/to-uint8-clamped');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar classof = require('../internals/classof');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar create = require('../internals/object-create');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar typedArrayFrom = require('../internals/typed-array-from');\nvar forEach = require('../internals/array-iteration').forEach;\nvar setSpecies = require('../internals/set-species');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar arrayFromConstructorAndList = require('../internals/array-from-constructor-and-list');\nvar InternalStateModule = require('../internals/internal-state');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar enforceInternalState = InternalStateModule.enforce;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar RangeError = globalThis.RangeError;\nvar ArrayBuffer = ArrayBufferModule.ArrayBuffer;\nvar ArrayBufferPrototype = ArrayBuffer.prototype;\nvar DataView = ArrayBufferModule.DataView;\nvar NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS;\nvar TYPED_ARRAY_TAG = ArrayBufferViewCore.TYPED_ARRAY_TAG;\nvar TypedArray = ArrayBufferViewCore.TypedArray;\nvar TypedArrayPrototype = ArrayBufferViewCore.TypedArrayPrototype;\nvar isTypedArray = ArrayBufferViewCore.isTypedArray;\nvar BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\nvar WRONG_LENGTH = 'Wrong length';\n\nvar addGetter = function (it, key) {\n defineBuiltInAccessor(it, key, {\n configurable: true,\n get: function () {\n return getInternalState(this)[key];\n }\n });\n};\n\nvar isArrayBuffer = function (it) {\n var klass;\n return isPrototypeOf(ArrayBufferPrototype, it) || (klass = classof(it)) === 'ArrayBuffer' || klass === 'SharedArrayBuffer';\n};\n\nvar isTypedArrayIndex = function (target, key) {\n return isTypedArray(target)\n && !isSymbol(key)\n && key in target\n && isIntegralNumber(+key)\n && key >= 0;\n};\n\nvar wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) {\n key = toPropertyKey(key);\n return isTypedArrayIndex(target, key)\n ? createPropertyDescriptor(2, target[key])\n : nativeGetOwnPropertyDescriptor(target, key);\n};\n\nvar wrappedDefineProperty = function defineProperty(target, key, descriptor) {\n key = toPropertyKey(key);\n if (isTypedArrayIndex(target, key)\n && isObject(descriptor)\n && hasOwn(descriptor, 'value')\n && !hasOwn(descriptor, 'get')\n && !hasOwn(descriptor, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !descriptor.configurable\n && (!hasOwn(descriptor, 'writable') || descriptor.writable)\n && (!hasOwn(descriptor, 'enumerable') || descriptor.enumerable)\n ) {\n target[key] = descriptor.value;\n return target;\n } return nativeDefineProperty(target, key, descriptor);\n};\n\nif (DESCRIPTORS) {\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n getOwnPropertyDescriptorModule.f = wrappedGetOwnPropertyDescriptor;\n definePropertyModule.f = wrappedDefineProperty;\n addGetter(TypedArrayPrototype, 'buffer');\n addGetter(TypedArrayPrototype, 'byteOffset');\n addGetter(TypedArrayPrototype, 'byteLength');\n addGetter(TypedArrayPrototype, 'length');\n }\n\n $({ target: 'Object', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, {\n getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor,\n defineProperty: wrappedDefineProperty\n });\n\n module.exports = function (TYPE, wrapper, CLAMPED) {\n var BYTES = TYPE.match(/\\d+/)[0] / 8;\n var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + TYPE;\n var SETTER = 'set' + TYPE;\n var NativeTypedArrayConstructor = globalThis[CONSTRUCTOR_NAME];\n var TypedArrayConstructor = NativeTypedArrayConstructor;\n var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype;\n var exported = {};\n\n var getter = function (that, index) {\n var data = getInternalState(that);\n return data.view[GETTER](index * BYTES + data.byteOffset, true);\n };\n\n var setter = function (that, index, value) {\n var data = getInternalState(that);\n data.view[SETTER](index * BYTES + data.byteOffset, CLAMPED ? toUint8Clamped(value) : value, true);\n };\n\n var addElement = function (that, index) {\n nativeDefineProperty(that, index, {\n get: function () {\n return getter(this, index);\n },\n set: function (value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n TypedArrayConstructor = wrapper(function (that, data, offset, $length) {\n anInstance(that, TypedArrayConstructorPrototype);\n var index = 0;\n var byteOffset = 0;\n var buffer, byteLength, length;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new ArrayBuffer(byteLength);\n } else if (isArrayBuffer(data)) {\n buffer = data;\n byteOffset = toOffset(offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw new RangeError(WRONG_LENGTH);\n byteLength = $len - byteOffset;\n if (byteLength < 0) throw new RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + byteOffset > $len) throw new RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (isTypedArray(data)) {\n return arrayFromConstructorAndList(TypedArrayConstructor, data);\n } else {\n return call(typedArrayFrom, TypedArrayConstructor, data);\n }\n setInternalState(that, {\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength,\n length: length,\n view: new DataView(buffer)\n });\n while (index < length) addElement(that, index++);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype);\n } else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) {\n TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) {\n anInstance(dummy, TypedArrayConstructorPrototype);\n return inheritIfRequired(function () {\n if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data));\n if (isArrayBuffer(data)) return $length !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length)\n : typedArrayOffset !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES))\n : new NativeTypedArrayConstructor(data);\n if (isTypedArray(data)) return arrayFromConstructorAndList(TypedArrayConstructor, data);\n return call(typedArrayFrom, TypedArrayConstructor, data);\n }(), dummy, TypedArrayConstructor);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) {\n if (!(key in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]);\n }\n });\n TypedArrayConstructor.prototype = TypedArrayConstructorPrototype;\n }\n\n if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor);\n }\n\n enforceInternalState(TypedArrayConstructorPrototype).TypedArrayConstructor = TypedArrayConstructor;\n\n if (TYPED_ARRAY_TAG) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME);\n }\n\n var FORCED = TypedArrayConstructor !== NativeTypedArrayConstructor;\n\n exported[CONSTRUCTOR_NAME] = TypedArrayConstructor;\n\n $({ global: true, constructor: true, forced: FORCED, sham: !NATIVE_ARRAY_BUFFER_VIEWS }, exported);\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES);\n }\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES);\n }\n\n setSpecies(CONSTRUCTOR_NAME);\n };\n} else module.exports = function () { /* empty */ };\n","'use strict';\n/* eslint-disable no-new, sonar/inconsistent-function-call -- required for testing */\nvar globalThis = require('../internals/global-this');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar NATIVE_ARRAY_BUFFER_VIEWS = require('../internals/array-buffer-view-core').NATIVE_ARRAY_BUFFER_VIEWS;\n\nvar ArrayBuffer = globalThis.ArrayBuffer;\nvar Int8Array = globalThis.Int8Array;\n\nmodule.exports = !NATIVE_ARRAY_BUFFER_VIEWS || !fails(function () {\n Int8Array(1);\n}) || !fails(function () {\n new Int8Array(-1);\n}) || !checkCorrectnessOfIteration(function (iterable) {\n new Int8Array();\n new Int8Array(null);\n new Int8Array(1.5);\n new Int8Array(iterable);\n}, true) || fails(function () {\n // Safari (11+) bug - a reason why even Safari 13 should load a typed array polyfill\n return new Int8Array(new ArrayBuffer(2), 1, undefined).length !== 1;\n});\n","'use strict';\nvar arrayFromConstructorAndList = require('../internals/array-from-constructor-and-list');\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\n\nmodule.exports = function (instance, list) {\n return arrayFromConstructorAndList(typedArraySpeciesConstructor(instance), list);\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar aConstructor = require('../internals/a-constructor');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar isBigIntArray = require('../internals/is-big-int-array');\nvar aTypedArrayConstructor = require('../internals/array-buffer-view-core').aTypedArrayConstructor;\nvar toBigInt = require('../internals/to-big-int');\n\nmodule.exports = function from(source /* , mapfn, thisArg */) {\n var C = aConstructor(this);\n var O = toObject(source);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var i, length, result, thisIsBigIntArray, value, step, iterator, next;\n if (iteratorMethod && !isArrayIteratorMethod(iteratorMethod)) {\n iterator = getIterator(O, iteratorMethod);\n next = iterator.next;\n O = [];\n while (!(step = call(next, iterator)).done) {\n O.push(step.value);\n }\n }\n if (mapping && argumentsLength > 2) {\n mapfn = bind(mapfn, arguments[2]);\n }\n length = lengthOfArrayLike(O);\n result = new (aTypedArrayConstructor(C))(length);\n thisIsBigIntArray = isBigIntArray(result);\n for (i = 0; length > i; i++) {\n value = mapping ? mapfn(O[i], i) : O[i];\n // FF30- typed arrays doesn't properly convert objects to typed array values\n result[i] = thisIsBigIntArray ? toBigInt(value) : +value;\n }\n return result;\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar speciesConstructor = require('../internals/species-constructor');\n\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;\n\n// a part of `TypedArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#typedarray-species-create\nmodule.exports = function (originalArray) {\n return aTypedArrayConstructor(speciesConstructor(originalArray, getTypedArrayConstructor(originalArray)));\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line unicorn/relative-url-style -- required for testing\n var url = new URL('b?a=1&b=2&c=3', 'https://a');\n var params = url.searchParams;\n var params2 = new URLSearchParams('a=1&a=2&b=3');\n var result = '';\n url.pathname = 'c%20d';\n params.forEach(function (value, key) {\n params['delete']('b');\n result += key + value;\n });\n params2['delete']('a', 2);\n // `undefined` case is a Chromium 117 bug\n // https://bugs.chromium.org/p/v8/issues/detail?id=14222\n params2['delete']('b', undefined);\n return (IS_PURE && (!url.toJSON || !params2.has('a', 1) || params2.has('a', 2) || !params2.has('a', undefined) || params2.has('b')))\n || (!params.size && (IS_PURE || !DESCRIPTORS))\n || !params.sort\n || url.href !== 'https://a/c%20d?a=1&c=3'\n || params.get('c') !== '3'\n || String(new URLSearchParams('?a=1')) !== 'a=1'\n || !params[ITERATOR]\n // throws in Edge\n || new URL('https://a@b').username !== 'a'\n || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'\n // not punycoded in Edge\n || new URL('https://тест').host !== 'xn--e1aybc'\n // not escaped in Chrome 62-\n || new URL('https://a#б').hash !== '#%D0%B1'\n // fails in Chrome 66-\n || result !== 'a1c3'\n // throws in Safari\n || new URL('https://x', undefined).host !== 'x';\n});\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\nvar $TypeError = TypeError;\n\nmodule.exports = function (passed, required) {\n if (passed < required) throw new $TypeError('Not enough arguments');\n return passed;\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = globalThis.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nvar path = require('../internals/path');\nvar hasOwn = require('../internals/has-own-property');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!hasOwn(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = globalThis.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\n// a string of all valid unicode whitespaces\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002' +\n '\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","'use strict';\nvar $ = require('../internals/export');\nvar globalThis = require('../internals/global-this');\nvar arrayBufferModule = require('../internals/array-buffer');\nvar setSpecies = require('../internals/set-species');\n\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar ArrayBuffer = arrayBufferModule[ARRAY_BUFFER];\nvar NativeArrayBuffer = globalThis[ARRAY_BUFFER];\n\n// `ArrayBuffer` constructor\n// https://tc39.es/ecma262/#sec-arraybuffer-constructor\n$({ global: true, constructor: true, forced: NativeArrayBuffer !== ArrayBuffer }, {\n ArrayBuffer: ArrayBuffer\n});\n\nsetSpecies(ARRAY_BUFFER);\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/environment-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !arrayMethodHasSpeciesSupport('concat');\n\n// `Array.prototype.concat` method\n// https://tc39.es/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n concat: function concat(arg) {\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = lengthOfArrayLike(E);\n doesNotExceedSafeInteger(n + len);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n doesNotExceedSafeInteger(n + 1);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\n// Shouldn't skip holes\n// eslint-disable-next-line es/no-array-prototype-find -- testing\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.es/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n","'use strict';\nvar $ = require('../internals/export');\nvar flattenIntoArray = require('../internals/flatten-into-array');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\n// `Array.prototype.flat` method\n// https://tc39.es/ecma262/#sec-array.prototype.flat\n$({ target: 'Array', proto: true }, {\n flat: function flat(/* depthArg = 1 */) {\n var depthArg = arguments.length ? arguments[0] : undefined;\n var O = toObject(this);\n var sourceLen = lengthOfArrayLike(O);\n var A = arraySpeciesCreate(O, 0);\n A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toIntegerOrInfinity(depthArg));\n return A;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar fails = require('../internals/fails');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// FF99+ bug\nvar BROKEN_ON_SPARSE = fails(function () {\n // eslint-disable-next-line es/no-array-prototype-includes -- detection\n return !Array(1).includes();\n});\n\n// `Array.prototype.includes` method\n// https://tc39.es/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineProperty = require('../internals/object-define-property').f;\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = null;\n return createIterResultObject(undefined, true);\n }\n switch (state.kind) {\n case 'keys': return createIterResultObject(index, false);\n case 'values': return createIterResultObject(target[index], false);\n } return createIterResultObject([index, target[index]], false);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nvar values = Iterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n// V8 ~ Chrome 45- bug\nif (!IS_PURE && DESCRIPTORS && values.name !== 'values') try {\n defineProperty(values, 'name', { value: 'values' });\n} catch (error) { /* empty */ }\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeJoin = uncurryThis([].join);\n\nvar ES3_STRINGS = IndexedObject !== Object;\nvar FORCED = ES3_STRINGS || !arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.es/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: FORCED }, {\n join: function join(separator) {\n return nativeJoin(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n\n// `Array.prototype.map` method\n// https://tc39.es/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar nativeSlice = require('../internals/array-slice');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar $Array = Array;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.es/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (isConstructor(Constructor) && (Constructor === $Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === $Array || Constructor === undefined) {\n return nativeSlice(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? $Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar deletePropertyOrThrow = require('../internals/delete-property-or-throw');\nvar toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar internalSort = require('../internals/array-sort');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar FF = require('../internals/environment-ff-version');\nvar IE_OR_EDGE = require('../internals/environment-is-ie-or-edge');\nvar V8 = require('../internals/environment-v8-version');\nvar WEBKIT = require('../internals/environment-webkit-version');\n\nvar test = [];\nvar nativeSort = uncurryThis(test.sort);\nvar push = uncurryThis(test.push);\n\n// IE8-\nvar FAILS_ON_UNDEFINED = fails(function () {\n test.sort(undefined);\n});\n// V8 bug\nvar FAILS_ON_NULL = fails(function () {\n test.sort(null);\n});\n// Old WebKit\nvar STRICT_METHOD = arrayMethodIsStrict('sort');\n\nvar STABLE_SORT = !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 70;\n if (FF && FF > 3) return;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 603;\n\n var result = '';\n var code, chr, value, index;\n\n // generate an array with more 512 elements (Chakra and old V8 fails only in this case)\n for (code = 65; code < 76; code++) {\n chr = String.fromCharCode(code);\n\n switch (code) {\n case 66: case 69: case 70: case 72: value = 3; break;\n case 68: case 71: value = 4; break;\n default: value = 2;\n }\n\n for (index = 0; index < 47; index++) {\n test.push({ k: chr + index, v: value });\n }\n }\n\n test.sort(function (a, b) { return b.v - a.v; });\n\n for (index = 0; index < test.length; index++) {\n chr = test[index].k.charAt(0);\n if (result.charAt(result.length - 1) !== chr) result += chr;\n }\n\n return result !== 'DGBEFHACIJK';\n});\n\nvar FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT;\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (y === undefined) return -1;\n if (x === undefined) return 1;\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n return toString(x) > toString(y) ? 1 : -1;\n };\n};\n\n// `Array.prototype.sort` method\n// https://tc39.es/ecma262/#sec-array.prototype.sort\n$({ target: 'Array', proto: true, forced: FORCED }, {\n sort: function sort(comparefn) {\n if (comparefn !== undefined) aCallable(comparefn);\n\n var array = toObject(this);\n\n if (STABLE_SORT) return comparefn === undefined ? nativeSort(array) : nativeSort(array, comparefn);\n\n var items = [];\n var arrayLength = lengthOfArrayLike(array);\n var itemsLength, index;\n\n for (index = 0; index < arrayLength; index++) {\n if (index in array) push(items, array[index]);\n }\n\n internalSort(items, getSortCompare(comparefn));\n\n itemsLength = lengthOfArrayLike(items);\n index = 0;\n\n while (index < itemsLength) array[index] = items[index++];\n while (index < arrayLength) deletePropertyOrThrow(array, index++);\n\n return array;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar setArrayLength = require('../internals/array-set-length');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar createProperty = require('../internals/create-property');\nvar deletePropertyOrThrow = require('../internals/delete-property-or-throw');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// `Array.prototype.splice` method\n// https://tc39.es/ecma262/#sec-array.prototype.splice\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n splice: function splice(start, deleteCount /* , ...items */) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var actualStart = toAbsoluteIndex(start, len);\n var argumentsLength = arguments.length;\n var insertCount, actualDeleteCount, A, k, from, to;\n if (argumentsLength === 0) {\n insertCount = actualDeleteCount = 0;\n } else if (argumentsLength === 1) {\n insertCount = 0;\n actualDeleteCount = len - actualStart;\n } else {\n insertCount = argumentsLength - 2;\n actualDeleteCount = min(max(toIntegerOrInfinity(deleteCount), 0), len - actualStart);\n }\n doesNotExceedSafeInteger(len + insertCount - actualDeleteCount);\n A = arraySpeciesCreate(O, actualDeleteCount);\n for (k = 0; k < actualDeleteCount; k++) {\n from = actualStart + k;\n if (from in O) createProperty(A, k, O[from]);\n }\n A.length = actualDeleteCount;\n if (insertCount < actualDeleteCount) {\n for (k = actualStart; k < len - actualDeleteCount; k++) {\n from = k + actualDeleteCount;\n to = k + insertCount;\n if (from in O) O[to] = O[from];\n else deletePropertyOrThrow(O, to);\n }\n for (k = len; k > len - actualDeleteCount + insertCount; k--) deletePropertyOrThrow(O, k - 1);\n } else if (insertCount > actualDeleteCount) {\n for (k = len - actualDeleteCount; k > actualStart; k--) {\n from = k + actualDeleteCount - 1;\n to = k + insertCount - 1;\n if (from in O) O[to] = O[from];\n else deletePropertyOrThrow(O, to);\n }\n }\n for (k = 0; k < insertCount; k++) {\n O[k + actualStart] = arguments[k + 2];\n }\n setArrayLength(O, len - actualDeleteCount + insertCount);\n return A;\n }\n});\n","'use strict';\n// this method was added to unscopables after implementation\n// in popular engines, so it's moved to a separate module\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('flat');\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar FUNCTION_NAME_EXISTS = require('../internals/function-name').EXISTS;\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\n\nvar FunctionPrototype = Function.prototype;\nvar functionToString = uncurryThis(FunctionPrototype.toString);\nvar nameRE = /function\\b(?:\\s|\\/\\*[\\S\\s]*?\\*\\/|\\/\\/[^\\n\\r]*[\\n\\r]+)*([^\\s(/]*)/;\nvar regExpExec = uncurryThis(nameRE.exec);\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.es/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !FUNCTION_NAME_EXISTS) {\n defineBuiltInAccessor(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return regExpExec(nameRE, functionToString(this))[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar globalThis = require('../internals/global-this');\n\n// `globalThis` object\n// https://tc39.es/ecma262/#sec-globalthis\n$({ global: true, forced: globalThis.globalThis !== globalThis }, {\n globalThis: globalThis\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar isSymbol = require('../internals/is-symbol');\nvar arraySlice = require('../internals/array-slice');\nvar getReplacerFunction = require('../internals/get-json-replacer-function');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nvar $String = String;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar exec = uncurryThis(/./.exec);\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar replace = uncurryThis(''.replace);\nvar numberToString = uncurryThis(1.0.toString);\n\nvar tester = /[\\uD800-\\uDFFF]/g;\nvar low = /^[\\uD800-\\uDBFF]$/;\nvar hi = /^[\\uDC00-\\uDFFF]$/;\n\nvar WRONG_SYMBOLS_CONVERSION = !NATIVE_SYMBOL || fails(function () {\n var symbol = getBuiltIn('Symbol')('stringify detection');\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) !== '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) !== '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) !== '{}';\n});\n\n// https://github.com/tc39/proposal-well-formed-stringify\nvar ILL_FORMED_UNICODE = fails(function () {\n return $stringify('\\uDF06\\uD834') !== '\"\\\\udf06\\\\ud834\"'\n || $stringify('\\uDEAD') !== '\"\\\\udead\"';\n});\n\nvar stringifyWithSymbolsFix = function (it, replacer) {\n var args = arraySlice(arguments);\n var $replacer = getReplacerFunction(replacer);\n if (!isCallable($replacer) && (it === undefined || isSymbol(it))) return; // IE8 returns string on undefined\n args[1] = function (key, value) {\n // some old implementations (like WebKit) could pass numbers as keys\n if (isCallable($replacer)) value = call($replacer, this, $String(key), value);\n if (!isSymbol(value)) return value;\n };\n return apply($stringify, null, args);\n};\n\nvar fixIllFormed = function (match, offset, string) {\n var prev = charAt(string, offset - 1);\n var next = charAt(string, offset + 1);\n if ((exec(low, match) && !exec(hi, next)) || (exec(hi, match) && !exec(low, prev))) {\n return '\\\\u' + numberToString(charCodeAt(match, 0), 16);\n } return match;\n};\n\nif ($stringify) {\n // `JSON.stringify` method\n // https://tc39.es/ecma262/#sec-json.stringify\n $({ target: 'JSON', stat: true, arity: 3, forced: WRONG_SYMBOLS_CONVERSION || ILL_FORMED_UNICODE }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n stringify: function stringify(it, replacer, space) {\n var args = arraySlice(arguments);\n var result = apply(WRONG_SYMBOLS_CONVERSION ? stringifyWithSymbolsFix : $stringify, null, args);\n return ILL_FORMED_UNICODE && typeof result == 'string' ? replace(result, tester, fixIllFormed) : result;\n }\n });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar globalThis = require('../internals/global-this');\nvar path = require('../internals/path');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar hasOwn = require('../internals/has-own-property');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar isSymbol = require('../internals/is-symbol');\nvar toPrimitive = require('../internals/to-primitive');\nvar fails = require('../internals/fails');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar thisNumberValue = require('../internals/this-number-value');\nvar trim = require('../internals/string-trim').trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = globalThis[NUMBER];\nvar PureNumberNamespace = path[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\nvar TypeError = globalThis.TypeError;\nvar stringSlice = uncurryThis(''.slice);\nvar charCodeAt = uncurryThis(''.charCodeAt);\n\n// `ToNumeric` abstract operation\n// https://tc39.es/ecma262/#sec-tonumeric\nvar toNumeric = function (value) {\n var primValue = toPrimitive(value, 'number');\n return typeof primValue == 'bigint' ? primValue : toNumber(primValue);\n};\n\n// `ToNumber` abstract operation\n// https://tc39.es/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, 'number');\n var first, third, radix, maxCode, digits, length, index, code;\n if (isSymbol(it)) throw new TypeError('Cannot convert a Symbol value to a number');\n if (typeof it == 'string' && it.length > 2) {\n it = trim(it);\n first = charCodeAt(it, 0);\n if (first === 43 || first === 45) {\n third = charCodeAt(it, 2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (charCodeAt(it, 1)) {\n // fast equal of /^0b[01]+$/i\n case 66:\n case 98:\n radix = 2;\n maxCode = 49;\n break;\n // fast equal of /^0o[0-7]+$/i\n case 79:\n case 111:\n radix = 8;\n maxCode = 55;\n break;\n default:\n return +it;\n }\n digits = stringSlice(it, 2);\n length = digits.length;\n for (index = 0; index < length; index++) {\n code = charCodeAt(digits, index);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\nvar FORCED = isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'));\n\nvar calledWithNew = function (dummy) {\n // includes check on 1..constructor(foo) case\n return isPrototypeOf(NumberPrototype, dummy) && fails(function () { thisNumberValue(dummy); });\n};\n\n// `Number` constructor\n// https://tc39.es/ecma262/#sec-number-constructor\nvar NumberWrapper = function Number(value) {\n var n = arguments.length < 1 ? 0 : NativeNumber(toNumeric(value));\n return calledWithNew(this) ? inheritIfRequired(Object(n), this, NumberWrapper) : n;\n};\n\nNumberWrapper.prototype = NumberPrototype;\nif (FORCED && !IS_PURE) NumberPrototype.constructor = NumberWrapper;\n\n$({ global: true, constructor: true, wrap: true, forced: FORCED }, {\n Number: NumberWrapper\n});\n\n// Use `internal/copy-constructor-properties` helper in `core-js@4`\nvar copyConstructorProperties = function (target, source) {\n for (var keys = DESCRIPTORS ? getOwnPropertyNames(source) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES2015 (in case, if modules with ES2015 Number statics required before):\n 'EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,' +\n // ESNext\n 'fromString,range'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (hasOwn(source, key = keys[j]) && !hasOwn(target, key)) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n\nif (IS_PURE && PureNumberNamespace) copyConstructorProperties(path[NUMBER], PureNumberNamespace);\nif (FORCED || IS_PURE) copyConstructorProperties(path[NUMBER], NativeNumber);\n","'use strict';\nvar $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\n// eslint-disable-next-line es/no-object-assign -- required for testing\n$({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, {\n assign: assign\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar FORCED = !DESCRIPTORS || fails(function () { nativeGetOwnPropertyDescriptor(1); });\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\n$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {\n return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar ownKeys = require('../internals/own-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar createProperty = require('../internals/create-property');\n\n// `Object.getOwnPropertyDescriptors` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIndexedObject(object);\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n var keys = ownKeys(O);\n var result = {};\n var index = 0;\n var key, descriptor;\n while (keys.length > index) {\n descriptor = getOwnPropertyDescriptor(O, key = keys[index++]);\n if (descriptor !== undefined) createProperty(result, key, descriptor);\n }\n return result;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar fails = require('../internals/fails');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar toObject = require('../internals/to-object');\n\n// V8 ~ Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FORCED = !NATIVE_SYMBOL || fails(function () { getOwnPropertySymbolsModule.f(1); });\n\n// `Object.getOwnPropertySymbols` method\n// https://tc39.es/ecma262/#sec-object.getownpropertysymbols\n$({ target: 'Object', stat: true, forced: FORCED }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n var $getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return $getOwnPropertySymbols ? $getOwnPropertySymbols(toObject(it)) : [];\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n defineBuiltIn(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.all` method\n// https://tc39.es/ecma262/#sec-promise.all\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n remaining++;\n call($promiseResolve, C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\n\n// `Promise.prototype.catch` method\n// https://tc39.es/ecma262/#sec-promise.prototype.catch\n$({ target: 'Promise', proto: true, forced: FORCED_PROMISE_CONSTRUCTOR, real: true }, {\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n});\n\n// makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromiseConstructor)) {\n var method = getBuiltIn('Promise').prototype['catch'];\n if (NativePromisePrototype['catch'] !== method) {\n defineBuiltIn(NativePromisePrototype, 'catch', method, { unsafe: true });\n }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar IS_NODE = require('../internals/environment-is-node');\nvar globalThis = require('../internals/global-this');\nvar call = require('../internals/function-call');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar aCallable = require('../internals/a-callable');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar perform = require('../internals/perform');\nvar Queue = require('../internals/queue');\nvar InternalStateModule = require('../internals/internal-state');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar PromiseConstructorDetection = require('../internals/promise-constructor-detection');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\n\nvar PROMISE = 'Promise';\nvar FORCED_PROMISE_CONSTRUCTOR = PromiseConstructorDetection.CONSTRUCTOR;\nvar NATIVE_PROMISE_REJECTION_EVENT = PromiseConstructorDetection.REJECTION_EVENT;\nvar NATIVE_PROMISE_SUBCLASSING = PromiseConstructorDetection.SUBCLASSING;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar setInternalState = InternalStateModule.set;\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar PromiseConstructor = NativePromiseConstructor;\nvar PromisePrototype = NativePromisePrototype;\nvar TypeError = globalThis.TypeError;\nvar document = globalThis.document;\nvar process = globalThis.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\n\nvar DISPATCH_EVENT = !!(document && document.createEvent && globalThis.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\n\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && isCallable(then = it.then) ? then : false;\n};\n\nvar callReaction = function (reaction, state) {\n var value = state.value;\n var ok = state.state === FULFILLED;\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(new TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n call(then, result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n};\n\nvar notify = function (state, isReject) {\n if (state.notified) return;\n state.notified = true;\n microtask(function () {\n var reactions = state.reactions;\n var reaction;\n while (reaction = reactions.get()) {\n callReaction(reaction, state);\n }\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(state);\n });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n globalThis.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (!NATIVE_PROMISE_REJECTION_EVENT && (handler = globalThis['on' + name])) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (state) {\n call(task, globalThis, function () {\n var promise = state.facade;\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\n\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (state) {\n call(task, globalThis, function () {\n var promise = state.facade;\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, state, unwrap) {\n return function (value) {\n fn(state, value, unwrap);\n };\n};\n\nvar internalReject = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(state, true);\n};\n\nvar internalResolve = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (state.facade === value) throw new TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n call(then, value,\n bind(internalResolve, wrapper, state),\n bind(internalReject, wrapper, state)\n );\n } catch (error) {\n internalReject(wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(state, false);\n }\n } catch (error) {\n internalReject({ done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED_PROMISE_CONSTRUCTOR) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromisePrototype);\n aCallable(executor);\n call(Internal, this);\n var state = getInternalPromiseState(this);\n try {\n executor(bind(internalResolve, state), bind(internalReject, state));\n } catch (error) {\n internalReject(state, error);\n }\n };\n\n PromisePrototype = PromiseConstructor.prototype;\n\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: new Queue(),\n rejection: false,\n state: PENDING,\n value: null\n });\n };\n\n // `Promise.prototype.then` method\n // https://tc39.es/ecma262/#sec-promise.prototype.then\n Internal.prototype = defineBuiltIn(PromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n state.parent = true;\n reaction.ok = isCallable(onFulfilled) ? onFulfilled : true;\n reaction.fail = isCallable(onRejected) && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n if (state.state === PENDING) state.reactions.add(reaction);\n else microtask(function () {\n callReaction(reaction, state);\n });\n return reaction.promise;\n });\n\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalPromiseState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, state);\n this.reject = bind(internalReject, state);\n };\n\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && isCallable(NativePromiseConstructor) && NativePromisePrototype !== Object.prototype) {\n nativeThen = NativePromisePrototype.then;\n\n if (!NATIVE_PROMISE_SUBCLASSING) {\n // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n defineBuiltIn(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n call(nativeThen, that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n }\n\n // make `.constructor === Promise` work for native promise-based APIs\n try {\n delete NativePromisePrototype.constructor;\n } catch (error) { /* empty */ }\n\n // make `instanceof Promise` work for native promise-based APIs\n if (setPrototypeOf) {\n setPrototypeOf(NativePromisePrototype, PromisePrototype);\n }\n }\n}\n\n$({ global: true, constructor: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar fails = require('../internals/fails');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar speciesConstructor = require('../internals/species-constructor');\nvar promiseResolve = require('../internals/promise-resolve');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\n\n// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829\nvar NON_GENERIC = !!NativePromiseConstructor && fails(function () {\n // eslint-disable-next-line unicorn/no-thenable -- required for testing\n NativePromisePrototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ });\n});\n\n// `Promise.prototype.finally` method\n// https://tc39.es/ecma262/#sec-promise.prototype.finally\n$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, {\n 'finally': function (onFinally) {\n var C = speciesConstructor(this, getBuiltIn('Promise'));\n var isFunction = isCallable(onFinally);\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n }\n});\n\n// makes sure that native promise-based APIs `Promise#finally` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromiseConstructor)) {\n var method = getBuiltIn('Promise').prototype['finally'];\n if (NativePromisePrototype['finally'] !== method) {\n defineBuiltIn(NativePromisePrototype, 'finally', method, { unsafe: true });\n }\n}\n","'use strict';\n// TODO: Remove this module from `core-js@4` since it's split to modules listed below\nrequire('../modules/es.promise.constructor');\nrequire('../modules/es.promise.all');\nrequire('../modules/es.promise.catch');\nrequire('../modules/es.promise.race');\nrequire('../modules/es.promise.reject');\nrequire('../modules/es.promise.resolve');\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.race` method\n// https://tc39.es/ecma262/#sec-promise.race\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n iterate(iterable, function (promise) {\n call($promiseResolve, C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\n// `Promise.reject` method\n// https://tc39.es/ecma262/#sec-promise.reject\n$({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n reject: function reject(r) {\n var capability = newPromiseCapabilityModule.f(this);\n var capabilityReject = capability.reject;\n capabilityReject(r);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar promiseResolve = require('../internals/promise-resolve');\n\nvar PromiseConstructorWrapper = getBuiltIn('Promise');\nvar CHECK_WRAPPER = IS_PURE && !FORCED_PROMISE_CONSTRUCTOR;\n\n// `Promise.resolve` method\n// https://tc39.es/ecma262/#sec-promise.resolve\n$({ target: 'Promise', stat: true, forced: IS_PURE || FORCED_PROMISE_CONSTRUCTOR }, {\n resolve: function resolve(x) {\n return promiseResolve(CHECK_WRAPPER && this === PromiseConstructorWrapper ? NativePromiseConstructor : this, x);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind');\nvar aConstructor = require('../internals/a-constructor');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar fails = require('../internals/fails');\n\nvar nativeConstruct = getBuiltIn('Reflect', 'construct');\nvar ObjectPrototype = Object.prototype;\nvar push = [].push;\n\n// `Reflect.construct` method\n// https://tc39.es/ecma262/#sec-reflect.construct\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n function F() { /* empty */ }\n return !(nativeConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\n\nvar ARGS_BUG = !fails(function () {\n nativeConstruct(function () { /* empty */ });\n});\n\nvar FORCED = NEW_TARGET_BUG || ARGS_BUG;\n\n$({ target: 'Reflect', stat: true, forced: FORCED, sham: FORCED }, {\n construct: function construct(Target, args /* , newTarget */) {\n aConstructor(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aConstructor(arguments[2]);\n if (ARGS_BUG && !NEW_TARGET_BUG) return nativeConstruct(Target, args, newTarget);\n if (Target === newTarget) {\n // w/o altered newTarget, optimization for 0-4 arguments\n switch (args.length) {\n case 0: return new Target();\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n apply(push, $args, args);\n return new (apply(bind, Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : ObjectPrototype);\n var result = apply(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar globalThis = require('../internals/global-this');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar create = require('../internals/object-create');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar isRegExp = require('../internals/is-regexp');\nvar toString = require('../internals/to-string');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar proxyAccessor = require('../internals/proxy-accessor');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar fails = require('../internals/fails');\nvar hasOwn = require('../internals/has-own-property');\nvar enforceInternalState = require('../internals/internal-state').enforce;\nvar setSpecies = require('../internals/set-species');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');\nvar UNSUPPORTED_NCG = require('../internals/regexp-unsupported-ncg');\n\nvar MATCH = wellKnownSymbol('match');\nvar NativeRegExp = globalThis.RegExp;\nvar RegExpPrototype = NativeRegExp.prototype;\nvar SyntaxError = globalThis.SyntaxError;\nvar exec = uncurryThis(RegExpPrototype.exec);\nvar charAt = uncurryThis(''.charAt);\nvar replace = uncurryThis(''.replace);\nvar stringIndexOf = uncurryThis(''.indexOf);\nvar stringSlice = uncurryThis(''.slice);\n// TODO: Use only proper RegExpIdentifierName\nvar IS_NCG = /^\\?<[^\\s\\d!#%&*+<=>@^][^\\s!#%&*+<=>@^]*>/;\nvar re1 = /a/g;\nvar re2 = /a/g;\n\n// \"new\" should create a new object, old webkit bug\nvar CORRECT_NEW = new NativeRegExp(re1) !== re1;\n\nvar MISSED_STICKY = stickyHelpers.MISSED_STICKY;\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\n\nvar BASE_FORCED = DESCRIPTORS &&\n (!CORRECT_NEW || MISSED_STICKY || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG || fails(function () {\n re2[MATCH] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n // eslint-disable-next-line sonar/inconsistent-function-call -- required for testing\n return NativeRegExp(re1) !== re1 || NativeRegExp(re2) === re2 || String(NativeRegExp(re1, 'i')) !== '/a/i';\n }));\n\nvar handleDotAll = function (string) {\n var length = string.length;\n var index = 0;\n var result = '';\n var brackets = false;\n var chr;\n for (; index <= length; index++) {\n chr = charAt(string, index);\n if (chr === '\\\\') {\n result += chr + charAt(string, ++index);\n continue;\n }\n if (!brackets && chr === '.') {\n result += '[\\\\s\\\\S]';\n } else {\n if (chr === '[') {\n brackets = true;\n } else if (chr === ']') {\n brackets = false;\n } result += chr;\n }\n } return result;\n};\n\nvar handleNCG = function (string) {\n var length = string.length;\n var index = 0;\n var result = '';\n var named = [];\n var names = create(null);\n var brackets = false;\n var ncg = false;\n var groupid = 0;\n var groupname = '';\n var chr;\n for (; index <= length; index++) {\n chr = charAt(string, index);\n if (chr === '\\\\') {\n chr += charAt(string, ++index);\n } else if (chr === ']') {\n brackets = false;\n } else if (!brackets) switch (true) {\n case chr === '[':\n brackets = true;\n break;\n case chr === '(':\n result += chr;\n // ignore non-capturing groups\n if (stringSlice(string, index + 1, index + 3) === '?:') {\n continue;\n }\n if (exec(IS_NCG, stringSlice(string, index + 1))) {\n index += 2;\n ncg = true;\n }\n groupid++;\n continue;\n case chr === '>' && ncg:\n if (groupname === '' || hasOwn(names, groupname)) {\n throw new SyntaxError('Invalid capture group name');\n }\n names[groupname] = true;\n named[named.length] = [groupname, groupid];\n ncg = false;\n groupname = '';\n continue;\n }\n if (ncg) groupname += chr;\n else result += chr;\n } return [result, named];\n};\n\n// `RegExp` constructor\n// https://tc39.es/ecma262/#sec-regexp-constructor\nif (isForced('RegExp', BASE_FORCED)) {\n var RegExpWrapper = function RegExp(pattern, flags) {\n var thisIsRegExp = isPrototypeOf(RegExpPrototype, this);\n var patternIsRegExp = isRegExp(pattern);\n var flagsAreUndefined = flags === undefined;\n var groups = [];\n var rawPattern = pattern;\n var rawFlags, dotAll, sticky, handled, result, state;\n\n if (!thisIsRegExp && patternIsRegExp && flagsAreUndefined && pattern.constructor === RegExpWrapper) {\n return pattern;\n }\n\n if (patternIsRegExp || isPrototypeOf(RegExpPrototype, pattern)) {\n pattern = pattern.source;\n if (flagsAreUndefined) flags = getRegExpFlags(rawPattern);\n }\n\n pattern = pattern === undefined ? '' : toString(pattern);\n flags = flags === undefined ? '' : toString(flags);\n rawPattern = pattern;\n\n if (UNSUPPORTED_DOT_ALL && 'dotAll' in re1) {\n dotAll = !!flags && stringIndexOf(flags, 's') > -1;\n if (dotAll) flags = replace(flags, /s/g, '');\n }\n\n rawFlags = flags;\n\n if (MISSED_STICKY && 'sticky' in re1) {\n sticky = !!flags && stringIndexOf(flags, 'y') > -1;\n if (sticky && UNSUPPORTED_Y) flags = replace(flags, /y/g, '');\n }\n\n if (UNSUPPORTED_NCG) {\n handled = handleNCG(pattern);\n pattern = handled[0];\n groups = handled[1];\n }\n\n result = inheritIfRequired(NativeRegExp(pattern, flags), thisIsRegExp ? this : RegExpPrototype, RegExpWrapper);\n\n if (dotAll || sticky || groups.length) {\n state = enforceInternalState(result);\n if (dotAll) {\n state.dotAll = true;\n state.raw = RegExpWrapper(handleDotAll(pattern), rawFlags);\n }\n if (sticky) state.sticky = true;\n if (groups.length) state.groups = groups;\n }\n\n if (pattern !== rawPattern) try {\n // fails in old engines, but we have no alternatives for unsupported regex syntax\n createNonEnumerableProperty(result, 'source', rawPattern === '' ? '(?:)' : rawPattern);\n } catch (error) { /* empty */ }\n\n return result;\n };\n\n for (var keys = getOwnPropertyNames(NativeRegExp), index = 0; keys.length > index;) {\n proxyAccessor(RegExpWrapper, NativeRegExp, keys[index++]);\n }\n\n RegExpPrototype.constructor = RegExpWrapper;\n RegExpWrapper.prototype = RegExpPrototype;\n defineBuiltIn(globalThis, 'RegExp', RegExpWrapper, { constructor: true });\n}\n\n// https://tc39.es/ecma262/#sec-get-regexp-@@species\nsetSpecies('RegExp');\n","'use strict';\nvar $ = require('../internals/export');\nvar exec = require('../internals/regexp-exec');\n\n// `RegExp.prototype.exec` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.exec\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n exec: exec\n});\n","'use strict';\nvar PROPER_FUNCTION_NAME = require('../internals/function-name').PROPER;\nvar defineBuiltIn = require('../internals/define-built-in');\nvar anObject = require('../internals/an-object');\nvar $toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) !== '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = PROPER_FUNCTION_NAME && nativeToString.name !== TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n defineBuiltIn(RegExpPrototype, TO_STRING, function toString() {\n var R = anObject(this);\n var pattern = $toString(R.source);\n var flags = $toString(getRegExpFlags(R));\n return '/' + pattern + '/' + flags;\n }, { unsafe: true });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\nvar $RangeError = RangeError;\nvar fromCharCode = String.fromCharCode;\n// eslint-disable-next-line es/no-string-fromcodepoint -- required for testing\nvar $fromCodePoint = String.fromCodePoint;\nvar join = uncurryThis([].join);\n\n// length should be 1, old FF problem\nvar INCORRECT_LENGTH = !!$fromCodePoint && $fromCodePoint.length !== 1;\n\n// `String.fromCodePoint` method\n// https://tc39.es/ecma262/#sec-string.fromcodepoint\n$({ target: 'String', stat: true, arity: 1, forced: INCORRECT_LENGTH }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n fromCodePoint: function fromCodePoint(x) {\n var elements = [];\n var length = arguments.length;\n var i = 0;\n var code;\n while (length > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10FFFF) !== code) throw new $RangeError(code + ' is not a valid code point');\n elements[i] = code < 0x10000\n ? fromCharCode(code)\n : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00);\n } return join(elements, '');\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\nvar stringIndexOf = uncurryThis(''.indexOf);\n\n// `String.prototype.includes` method\n// https://tc39.es/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~stringIndexOf(\n toString(requireObjectCoercible(this)),\n toString(notARegExp(searchString)),\n arguments.length > 1 ? arguments[1] : undefined\n );\n }\n});\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar toString = require('../internals/to-string');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: toString(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return createIterResultObject(undefined, true);\n point = charAt(string, index);\n state.index += point.length;\n return createIterResultObject(point, false);\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar createHTML = require('../internals/create-html');\nvar forcedStringHTMLMethod = require('../internals/string-html-forced');\n\n// `String.prototype.link` method\n// https://tc39.es/ecma262/#sec-string.prototype.link\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('link') }, {\n link: function link(url) {\n return createHTML(this, 'a', 'href', url);\n }\n});\n","'use strict';\nvar call = require('../internals/function-call');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar getMethod = require('../internals/get-method');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@match logic\nfixRegExpWellKnownSymbolLogic('match', function (MATCH, nativeMatch, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.es/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = requireObjectCoercible(this);\n var matcher = isNullOrUndefined(regexp) ? undefined : getMethod(regexp, MATCH);\n return matcher ? call(matcher, regexp, O) : new RegExp(regexp)[MATCH](toString(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@match\n function (string) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(nativeMatch, rx, S);\n\n if (res.done) return res.value;\n\n if (!rx.global) return regExpExec(rx, S);\n\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = toString(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","'use strict';\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar fails = require('../internals/fails');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar getMethod = require('../internals/get-method');\nvar getSubstitution = require('../internals/get-substitution');\nvar regExpExec = require('../internals/regexp-exec-abstract');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar max = Math.max;\nvar min = Math.min;\nvar concat = uncurryThis([].concat);\nvar push = uncurryThis([].push);\nvar stringIndexOf = uncurryThis(''.indexOf);\nvar stringSlice = uncurryThis(''.slice);\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n if (/./[REPLACE]) {\n return /./[REPLACE]('a', '$0') === '';\n }\n return false;\n})();\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n // eslint-disable-next-line regexp/no-useless-dollar-replacements -- false positive\n return ''.replace(re, '$') !== '7';\n});\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNative) {\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.es/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = isNullOrUndefined(searchValue) ? undefined : getMethod(searchValue, REPLACE);\n return replacer\n ? call(replacer, searchValue, O, replaceValue)\n : call(nativeReplace, toString(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace\n function (string, replaceValue) {\n var rx = anObject(this);\n var S = toString(string);\n\n if (\n typeof replaceValue == 'string' &&\n stringIndexOf(replaceValue, UNSAFE_SUBSTITUTE) === -1 &&\n stringIndexOf(replaceValue, '$<') === -1\n ) {\n var res = maybeCallNative(nativeReplace, rx, S, replaceValue);\n if (res.done) return res.value;\n }\n\n var functionalReplace = isCallable(replaceValue);\n if (!functionalReplace) replaceValue = toString(replaceValue);\n\n var global = rx.global;\n var fullUnicode;\n if (global) {\n fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n\n var results = [];\n var result;\n while (true) {\n result = regExpExec(rx, S);\n if (result === null) break;\n\n push(results, result);\n if (!global) break;\n\n var matchStr = toString(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = toString(result[0]);\n var position = max(min(toIntegerOrInfinity(result.index), S.length), 0);\n var captures = [];\n var replacement;\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) push(captures, maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = concat([matched], captures, position, S);\n if (namedCaptures !== undefined) push(replacerArgs, namedCaptures);\n replacement = toString(apply(replaceValue, undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += stringSlice(S, nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n\n return accumulatedResult + stringSlice(S, nextSourcePosition);\n }\n ];\n}, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE);\n","'use strict';\nvar call = require('../internals/function-call');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar sameValue = require('../internals/same-value');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@search logic\nfixRegExpWellKnownSymbolLogic('search', function (SEARCH, nativeSearch, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.es/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = requireObjectCoercible(this);\n var searcher = isNullOrUndefined(regexp) ? undefined : getMethod(regexp, SEARCH);\n return searcher ? call(searcher, regexp, O) : new RegExp(regexp)[SEARCH](toString(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@search\n function (string) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(nativeSearch, rx, S);\n\n if (res.done) return res.value;\n\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","'use strict';\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar speciesConstructor = require('../internals/species-constructor');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar regExpExec = require('../internals/regexp-exec-abstract');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar fails = require('../internals/fails');\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\nvar MAX_UINT32 = 0xFFFFFFFF;\nvar min = Math.min;\nvar push = uncurryThis([].push);\nvar stringSlice = uncurryThis(''.slice);\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n // eslint-disable-next-line regexp/no-empty-group -- required for testing\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';\n});\n\nvar BUGGY = 'abbc'.split(/(b)*/)[1] === 'c' ||\n // eslint-disable-next-line regexp/no-empty-group -- required for testing\n 'test'.split(/(?:)/, -1).length !== 4 ||\n 'ab'.split(/(?:ab)*/).length !== 2 ||\n '.'.split(/(.?)(.?)/).length !== 4 ||\n // eslint-disable-next-line regexp/no-empty-capturing-group, regexp/no-empty-group -- required for testing\n '.'.split(/()()/).length > 1 ||\n ''.split(/.?/).length;\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', function (SPLIT, nativeSplit, maybeCallNative) {\n var internalSplit = '0'.split(undefined, 0).length ? function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : call(nativeSplit, this, separator, limit);\n } : nativeSplit;\n\n return [\n // `String.prototype.split` method\n // https://tc39.es/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = requireObjectCoercible(this);\n var splitter = isNullOrUndefined(separator) ? undefined : getMethod(separator, SPLIT);\n return splitter\n ? call(splitter, separator, O, limit)\n : call(internalSplit, toString(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (string, limit) {\n var rx = anObject(this);\n var S = toString(string);\n\n if (!BUGGY) {\n var res = maybeCallNative(internalSplit, rx, S, limit, internalSplit !== nativeSplit);\n if (res.done) return res.value;\n }\n\n var C = speciesConstructor(rx, RegExp);\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (UNSUPPORTED_Y ? 'g' : 'y');\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(UNSUPPORTED_Y ? '^(?:' + rx.source + ')' : rx, flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return regExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = UNSUPPORTED_Y ? 0 : q;\n var z = regExpExec(splitter, UNSUPPORTED_Y ? stringSlice(S, q) : S);\n var e;\n if (\n z === null ||\n (e = min(toLength(splitter.lastIndex + (UNSUPPORTED_Y ? q : 0)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n push(A, stringSlice(S, p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n push(A, z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n push(A, stringSlice(S, p));\n return A;\n }\n ];\n}, BUGGY || !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC, UNSUPPORTED_Y);\n","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.es/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar globalThis = require('../internals/global-this');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar fails = require('../internals/fails');\nvar hasOwn = require('../internals/has-own-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar $toString = require('../internals/to-string');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\nvar defineSymbolToPrimitive = require('../internals/symbol-define-to-primitive');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\n\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\n\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = globalThis.Symbol;\nvar SymbolPrototype = $Symbol && $Symbol[PROTOTYPE];\nvar RangeError = globalThis.RangeError;\nvar TypeError = globalThis.TypeError;\nvar QObject = globalThis.QObject;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar push = uncurryThis([].push);\n\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar WellKnownSymbolsStore = shared('wks');\n\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar fallbackDefineProperty = function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n};\n\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a !== 7;\n}) ? fallbackDefineProperty : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate(SymbolPrototype);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPropertyKey(P);\n anObject(Attributes);\n if (hasOwn(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!hasOwn(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, nativeObjectCreate(null)));\n O[HIDDEN][key] = true;\n } else {\n if (hasOwn(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || call($propertyIsEnumerable, properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPropertyKey(V);\n var enumerable = call(nativePropertyIsEnumerable, this, P);\n if (this === ObjectPrototype && hasOwn(AllSymbols, P) && !hasOwn(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !hasOwn(this, P) || !hasOwn(AllSymbols, P) || hasOwn(this, HIDDEN) && this[HIDDEN][P]\n ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPropertyKey(P);\n if (it === ObjectPrototype && hasOwn(AllSymbols, key) && !hasOwn(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && hasOwn(AllSymbols, key) && !(hasOwn(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!hasOwn(AllSymbols, key) && !hasOwn(hiddenKeys, key)) push(result, key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function (O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (hasOwn(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || hasOwn(ObjectPrototype, key))) {\n push(result, AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.es/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (isPrototypeOf(SymbolPrototype, this)) throw new TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n var $this = this === undefined ? globalThis : this;\n if ($this === ObjectPrototype) call(setter, ObjectPrototypeSymbols, value);\n if (hasOwn($this, HIDDEN) && hasOwn($this[HIDDEN], tag)) $this[HIDDEN][tag] = false;\n var descriptor = createPropertyDescriptor(1, value);\n try {\n setSymbolDescriptor($this, tag, descriptor);\n } catch (error) {\n if (!(error instanceof RangeError)) throw error;\n fallbackDefineProperty($this, tag, descriptor);\n }\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n SymbolPrototype = $Symbol[PROTOTYPE];\n\n defineBuiltIn(SymbolPrototype, 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n defineBuiltIn($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n definePropertiesModule.f = $defineProperties;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n defineBuiltInAccessor(SymbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n defineBuiltIn(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, constructor: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.es/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.es/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.es/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.es/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames\n});\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\ndefineSymbolToPrimitive();\n\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar hasOwn = require('../internals/has-own-property');\nvar toString = require('../internals/to-string');\nvar shared = require('../internals/shared');\nvar NATIVE_SYMBOL_REGISTRY = require('../internals/symbol-registry-detection');\n\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\n\n// `Symbol.for` method\n// https://tc39.es/ecma262/#sec-symbol.for\n$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, {\n 'for': function (key) {\n var string = toString(key);\n if (hasOwn(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = getBuiltIn('Symbol')(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n }\n});\n","'use strict';\n// TODO: Remove this module from `core-js@4` since it's split to modules listed below\nrequire('../modules/es.symbol.constructor');\nrequire('../modules/es.symbol.for');\nrequire('../modules/es.symbol.key-for');\nrequire('../modules/es.json.stringify');\nrequire('../modules/es.object.get-own-property-symbols');\n","'use strict';\nvar $ = require('../internals/export');\nvar hasOwn = require('../internals/has-own-property');\nvar isSymbol = require('../internals/is-symbol');\nvar tryToString = require('../internals/try-to-string');\nvar shared = require('../internals/shared');\nvar NATIVE_SYMBOL_REGISTRY = require('../internals/symbol-registry-detection');\n\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\n\n// `Symbol.keyFor` method\n// https://tc39.es/ecma262/#sec-symbol.keyfor\n$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, {\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw new TypeError(tryToString(sym) + ' is not a symbol');\n if (hasOwn(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n }\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $ArrayCopyWithin = require('../internals/array-copy-within');\n\nvar u$ArrayCopyWithin = uncurryThis($ArrayCopyWithin);\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.copyWithin` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.copywithin\nexportTypedArrayMethod('copyWithin', function copyWithin(target, start /* , end */) {\n return u$ArrayCopyWithin(aTypedArray(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $every = require('../internals/array-iteration').every;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.every` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.every\nexportTypedArrayMethod('every', function every(callbackfn /* , thisArg */) {\n return $every(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $fill = require('../internals/array-fill');\nvar toBigInt = require('../internals/to-big-int');\nvar classof = require('../internals/classof');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar slice = uncurryThis(''.slice);\n\n// V8 ~ Chrome < 59, Safari < 14.1, FF < 55, Edge <=18\nvar CONVERSION_BUG = fails(function () {\n var count = 0;\n // eslint-disable-next-line es/no-typed-arrays -- safe\n new Int8Array(2).fill({ valueOf: function () { return count++; } });\n return count !== 1;\n});\n\n// `%TypedArray%.prototype.fill` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.fill\nexportTypedArrayMethod('fill', function fill(value /* , start, end */) {\n var length = arguments.length;\n aTypedArray(this);\n var actualValue = slice(classof(this), 0, 3) === 'Big' ? toBigInt(value) : +value;\n return call($fill, this, actualValue, length > 1 ? arguments[1] : undefined, length > 2 ? arguments[2] : undefined);\n}, CONVERSION_BUG);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $filter = require('../internals/array-iteration').filter;\nvar fromSpeciesAndList = require('../internals/typed-array-from-species-and-list');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.filter` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.filter\nexportTypedArrayMethod('filter', function filter(callbackfn /* , thisArg */) {\n var list = $filter(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n return fromSpeciesAndList(this, list);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $findIndex = require('../internals/array-iteration').findIndex;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.findIndex` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findindex\nexportTypedArrayMethod('findIndex', function findIndex(predicate /* , thisArg */) {\n return $findIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $find = require('../internals/array-iteration').find;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.find` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.find\nexportTypedArrayMethod('find', function find(predicate /* , thisArg */) {\n return $find(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.forEach` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.foreach\nexportTypedArrayMethod('forEach', function forEach(callbackfn /* , thisArg */) {\n $forEach(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $includes = require('../internals/array-includes').includes;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.includes` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.includes\nexportTypedArrayMethod('includes', function includes(searchElement /* , fromIndex */) {\n return $includes(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $indexOf = require('../internals/array-includes').indexOf;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.indexOf` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.indexof\nexportTypedArrayMethod('indexOf', function indexOf(searchElement /* , fromIndex */) {\n return $indexOf(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar fails = require('../internals/fails');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayIterators = require('../modules/es.array.iterator');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar Uint8Array = globalThis.Uint8Array;\nvar arrayValues = uncurryThis(ArrayIterators.values);\nvar arrayKeys = uncurryThis(ArrayIterators.keys);\nvar arrayEntries = uncurryThis(ArrayIterators.entries);\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar TypedArrayPrototype = Uint8Array && Uint8Array.prototype;\n\nvar GENERIC = !fails(function () {\n TypedArrayPrototype[ITERATOR].call([1]);\n});\n\nvar ITERATOR_IS_VALUES = !!TypedArrayPrototype\n && TypedArrayPrototype.values\n && TypedArrayPrototype[ITERATOR] === TypedArrayPrototype.values\n && TypedArrayPrototype.values.name === 'values';\n\nvar typedArrayValues = function values() {\n return arrayValues(aTypedArray(this));\n};\n\n// `%TypedArray%.prototype.entries` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.entries\nexportTypedArrayMethod('entries', function entries() {\n return arrayEntries(aTypedArray(this));\n}, GENERIC);\n// `%TypedArray%.prototype.keys` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.keys\nexportTypedArrayMethod('keys', function keys() {\n return arrayKeys(aTypedArray(this));\n}, GENERIC);\n// `%TypedArray%.prototype.values` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.values\nexportTypedArrayMethod('values', typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' });\n// `%TypedArray%.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype-@@iterator\nexportTypedArrayMethod(ITERATOR, typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' });\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $join = uncurryThis([].join);\n\n// `%TypedArray%.prototype.join` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.join\nexportTypedArrayMethod('join', function join(separator) {\n return $join(aTypedArray(this), separator);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar apply = require('../internals/function-apply');\nvar $lastIndexOf = require('../internals/array-last-index-of');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.lastIndexOf` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.lastindexof\nexportTypedArrayMethod('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) {\n var length = arguments.length;\n return apply($lastIndexOf, aTypedArray(this), length > 1 ? [searchElement, arguments[1]] : [searchElement]);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $map = require('../internals/array-iteration').map;\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.map` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.map\nexportTypedArrayMethod('map', function map(mapfn /* , thisArg */) {\n return $map(aTypedArray(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) {\n return new (typedArraySpeciesConstructor(O))(length);\n });\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $reduceRight = require('../internals/array-reduce').right;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.reduceRight` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduceright\nexportTypedArrayMethod('reduceRight', function reduceRight(callbackfn /* , initialValue */) {\n var length = arguments.length;\n return $reduceRight(aTypedArray(this), callbackfn, length, length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $reduce = require('../internals/array-reduce').left;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.reduce` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduce\nexportTypedArrayMethod('reduce', function reduce(callbackfn /* , initialValue */) {\n var length = arguments.length;\n return $reduce(aTypedArray(this), callbackfn, length, length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar floor = Math.floor;\n\n// `%TypedArray%.prototype.reverse` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reverse\nexportTypedArrayMethod('reverse', function reverse() {\n var that = this;\n var length = aTypedArray(that).length;\n var middle = floor(length / 2);\n var index = 0;\n var value;\n while (index < middle) {\n value = that[index];\n that[index++] = that[--length];\n that[length] = value;\n } return that;\n});\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar call = require('../internals/function-call');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toOffset = require('../internals/to-offset');\nvar toIndexedObject = require('../internals/to-object');\nvar fails = require('../internals/fails');\n\nvar RangeError = globalThis.RangeError;\nvar Int8Array = globalThis.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar $set = Int8ArrayPrototype && Int8ArrayPrototype.set;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS = !fails(function () {\n // eslint-disable-next-line es/no-typed-arrays -- required for testing\n var array = new Uint8ClampedArray(2);\n call($set, array, { length: 1, 0: 3 }, 1);\n return array[1] !== 3;\n});\n\n// https://bugs.chromium.org/p/v8/issues/detail?id=11294 and other\nvar TO_OBJECT_BUG = WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS && ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS && fails(function () {\n var array = new Int8Array(2);\n array.set(1);\n array.set('2', 1);\n return array[0] !== 0 || array[1] !== 2;\n});\n\n// `%TypedArray%.prototype.set` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set\nexportTypedArrayMethod('set', function set(arrayLike /* , offset */) {\n aTypedArray(this);\n var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1);\n var src = toIndexedObject(arrayLike);\n if (WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS) return call($set, this, src, offset);\n var length = this.length;\n var len = lengthOfArrayLike(src);\n var index = 0;\n if (len + offset > length) throw new RangeError('Wrong length');\n while (index < len) this[offset + index] = src[index++];\n}, !WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS || TO_OBJECT_BUG);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\nvar fails = require('../internals/fails');\nvar arraySlice = require('../internals/array-slice');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar FORCED = fails(function () {\n // eslint-disable-next-line es/no-typed-arrays -- required for testing\n new Int8Array(1).slice();\n});\n\n// `%TypedArray%.prototype.slice` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.slice\nexportTypedArrayMethod('slice', function slice(start, end) {\n var list = arraySlice(aTypedArray(this), start, end);\n var C = typedArraySpeciesConstructor(this);\n var index = 0;\n var length = list.length;\n var result = new C(length);\n while (length > index) result[index] = list[index++];\n return result;\n}, FORCED);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $some = require('../internals/array-iteration').some;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.some` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.some\nexportTypedArrayMethod('some', function some(callbackfn /* , thisArg */) {\n return $some(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar fails = require('../internals/fails');\nvar aCallable = require('../internals/a-callable');\nvar internalSort = require('../internals/array-sort');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar FF = require('../internals/environment-ff-version');\nvar IE_OR_EDGE = require('../internals/environment-is-ie-or-edge');\nvar V8 = require('../internals/environment-v8-version');\nvar WEBKIT = require('../internals/environment-webkit-version');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar Uint16Array = globalThis.Uint16Array;\nvar nativeSort = Uint16Array && uncurryThis(Uint16Array.prototype.sort);\n\n// WebKit\nvar ACCEPT_INCORRECT_ARGUMENTS = !!nativeSort && !(fails(function () {\n nativeSort(new Uint16Array(2), null);\n}) && fails(function () {\n nativeSort(new Uint16Array(2), {});\n}));\n\nvar STABLE_SORT = !!nativeSort && !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 74;\n if (FF) return FF < 67;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 602;\n\n var array = new Uint16Array(516);\n var expected = Array(516);\n var index, mod;\n\n for (index = 0; index < 516; index++) {\n mod = index % 4;\n array[index] = 515 - index;\n expected[index] = index - 2 * mod + 3;\n }\n\n nativeSort(array, function (a, b) {\n return (a / 4 | 0) - (b / 4 | 0);\n });\n\n for (index = 0; index < 516; index++) {\n if (array[index] !== expected[index]) return true;\n }\n});\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n // eslint-disable-next-line no-self-compare -- NaN check\n if (y !== y) return -1;\n // eslint-disable-next-line no-self-compare -- NaN check\n if (x !== x) return 1;\n if (x === 0 && y === 0) return 1 / x > 0 && 1 / y < 0 ? 1 : -1;\n return x > y;\n };\n};\n\n// `%TypedArray%.prototype.sort` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.sort\nexportTypedArrayMethod('sort', function sort(comparefn) {\n if (comparefn !== undefined) aCallable(comparefn);\n if (STABLE_SORT) return nativeSort(this, comparefn);\n\n return internalSort(aTypedArray(this), getSortCompare(comparefn));\n}, !STABLE_SORT || ACCEPT_INCORRECT_ARGUMENTS);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.subarray` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.subarray\nexportTypedArrayMethod('subarray', function subarray(begin, end) {\n var O = aTypedArray(this);\n var length = O.length;\n var beginIndex = toAbsoluteIndex(begin, length);\n var C = typedArraySpeciesConstructor(O);\n return new C(\n O.buffer,\n O.byteOffset + beginIndex * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - beginIndex)\n );\n});\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar apply = require('../internals/function-apply');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar fails = require('../internals/fails');\nvar arraySlice = require('../internals/array-slice');\n\nvar Int8Array = globalThis.Int8Array;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $toLocaleString = [].toLocaleString;\n\n// iOS Safari 6.x fails here\nvar TO_LOCALE_STRING_BUG = !!Int8Array && fails(function () {\n $toLocaleString.call(new Int8Array(1));\n});\n\nvar FORCED = fails(function () {\n return [1, 2].toLocaleString() !== new Int8Array([1, 2]).toLocaleString();\n}) || !fails(function () {\n Int8Array.prototype.toLocaleString.call([1, 2]);\n});\n\n// `%TypedArray%.prototype.toLocaleString` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tolocalestring\nexportTypedArrayMethod('toLocaleString', function toLocaleString() {\n return apply(\n $toLocaleString,\n TO_LOCALE_STRING_BUG ? arraySlice(aTypedArray(this)) : aTypedArray(this),\n arraySlice(arguments)\n );\n}, FORCED);\n","'use strict';\nvar exportTypedArrayMethod = require('../internals/array-buffer-view-core').exportTypedArrayMethod;\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar Uint8Array = globalThis.Uint8Array;\nvar Uint8ArrayPrototype = Uint8Array && Uint8Array.prototype || {};\nvar arrayToString = [].toString;\nvar join = uncurryThis([].join);\n\nif (fails(function () { arrayToString.call({}); })) {\n arrayToString = function toString() {\n return join(this);\n };\n}\n\nvar IS_NOT_ARRAY_METHOD = Uint8ArrayPrototype.toString !== arrayToString;\n\n// `%TypedArray%.prototype.toString` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tostring\nexportTypedArrayMethod('toString', arrayToString, IS_NOT_ARRAY_METHOD);\n","'use strict';\nvar createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Uint8Array` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Uint8', function (init) {\n return function Uint8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","'use strict';\n// TODO: Remove from `core-js@4`\nrequire('../modules/es.global-this');\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar handlePrototype = function (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n if (DOMIterables[COLLECTION_NAME]) {\n handlePrototype(globalThis[COLLECTION_NAME] && globalThis[COLLECTION_NAME].prototype);\n }\n}\n\nhandlePrototype(DOMTokenListPrototype);\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nvar handlePrototype = function (CollectionPrototype, COLLECTION_NAME) {\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n setToStringTag(CollectionPrototype, COLLECTION_NAME, true);\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n handlePrototype(globalThis[COLLECTION_NAME] && globalThis[COLLECTION_NAME].prototype, COLLECTION_NAME);\n}\n\nhandlePrototype(DOMTokenListPrototype, 'DOMTokenList');\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.array.iterator');\nrequire('../modules/es.string.from-code-point');\nvar $ = require('../internals/export');\nvar globalThis = require('../internals/global-this');\nvar safeGetBuiltIn = require('../internals/safe-get-built-in');\nvar getBuiltIn = require('../internals/get-built-in');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/url-constructor-detection');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createIteratorConstructor = require('../internals/iterator-create-constructor');\nvar InternalStateModule = require('../internals/internal-state');\nvar anInstance = require('../internals/an-instance');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar bind = require('../internals/function-bind-context');\nvar classof = require('../internals/classof');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar $toString = require('../internals/to-string');\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arraySort = require('../internals/array-sort');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\n\nvar nativeFetch = safeGetBuiltIn('fetch');\nvar NativeRequest = safeGetBuiltIn('Request');\nvar Headers = safeGetBuiltIn('Headers');\nvar RequestPrototype = NativeRequest && NativeRequest.prototype;\nvar HeadersPrototype = Headers && Headers.prototype;\nvar TypeError = globalThis.TypeError;\nvar encodeURIComponent = globalThis.encodeURIComponent;\nvar fromCharCode = String.fromCharCode;\nvar fromCodePoint = getBuiltIn('String', 'fromCodePoint');\nvar $parseInt = parseInt;\nvar charAt = uncurryThis(''.charAt);\nvar join = uncurryThis([].join);\nvar push = uncurryThis([].push);\nvar replace = uncurryThis(''.replace);\nvar shift = uncurryThis([].shift);\nvar splice = uncurryThis([].splice);\nvar split = uncurryThis(''.split);\nvar stringSlice = uncurryThis(''.slice);\nvar exec = uncurryThis(/./.exec);\n\nvar plus = /\\+/g;\nvar FALLBACK_REPLACER = '\\uFFFD';\nvar VALID_HEX = /^[0-9a-f]+$/i;\n\nvar parseHexOctet = function (string, start) {\n var substr = stringSlice(string, start, start + 2);\n if (!exec(VALID_HEX, substr)) return NaN;\n\n return $parseInt(substr, 16);\n};\n\nvar getLeadingOnes = function (octet) {\n var count = 0;\n for (var mask = 0x80; mask > 0 && (octet & mask) !== 0; mask >>= 1) {\n count++;\n }\n return count;\n};\n\nvar utf8Decode = function (octets) {\n var codePoint = null;\n\n switch (octets.length) {\n case 1:\n codePoint = octets[0];\n break;\n case 2:\n codePoint = (octets[0] & 0x1F) << 6 | (octets[1] & 0x3F);\n break;\n case 3:\n codePoint = (octets[0] & 0x0F) << 12 | (octets[1] & 0x3F) << 6 | (octets[2] & 0x3F);\n break;\n case 4:\n codePoint = (octets[0] & 0x07) << 18 | (octets[1] & 0x3F) << 12 | (octets[2] & 0x3F) << 6 | (octets[3] & 0x3F);\n break;\n }\n\n return codePoint > 0x10FFFF ? null : codePoint;\n};\n\nvar decode = function (input) {\n input = replace(input, plus, ' ');\n var length = input.length;\n var result = '';\n var i = 0;\n\n while (i < length) {\n var decodedChar = charAt(input, i);\n\n if (decodedChar === '%') {\n if (charAt(input, i + 1) === '%' || i + 3 > length) {\n result += '%';\n i++;\n continue;\n }\n\n var octet = parseHexOctet(input, i + 1);\n\n // eslint-disable-next-line no-self-compare -- NaN check\n if (octet !== octet) {\n result += decodedChar;\n i++;\n continue;\n }\n\n i += 2;\n var byteSequenceLength = getLeadingOnes(octet);\n\n if (byteSequenceLength === 0) {\n decodedChar = fromCharCode(octet);\n } else {\n if (byteSequenceLength === 1 || byteSequenceLength > 4) {\n result += FALLBACK_REPLACER;\n i++;\n continue;\n }\n\n var octets = [octet];\n var sequenceIndex = 1;\n\n while (sequenceIndex < byteSequenceLength) {\n i++;\n if (i + 3 > length || charAt(input, i) !== '%') break;\n\n var nextByte = parseHexOctet(input, i + 1);\n\n // eslint-disable-next-line no-self-compare -- NaN check\n if (nextByte !== nextByte) {\n i += 3;\n break;\n }\n if (nextByte > 191 || nextByte < 128) break;\n\n push(octets, nextByte);\n i += 2;\n sequenceIndex++;\n }\n\n if (octets.length !== byteSequenceLength) {\n result += FALLBACK_REPLACER;\n continue;\n }\n\n var codePoint = utf8Decode(octets);\n if (codePoint === null) {\n result += FALLBACK_REPLACER;\n } else {\n decodedChar = fromCodePoint(codePoint);\n }\n }\n }\n\n result += decodedChar;\n i++;\n }\n\n return result;\n};\n\nvar find = /[!'()~]|%20/g;\n\nvar replacements = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+'\n};\n\nvar replacer = function (match) {\n return replacements[match];\n};\n\nvar serialize = function (it) {\n return replace(encodeURIComponent(it), find, replacer);\n};\n\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n setInternalState(this, {\n type: URL_SEARCH_PARAMS_ITERATOR,\n target: getInternalParamsState(params).entries,\n index: 0,\n kind: kind\n });\n}, URL_SEARCH_PARAMS, function next() {\n var state = getInternalIteratorState(this);\n var target = state.target;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = null;\n return createIterResultObject(undefined, true);\n }\n var entry = target[index];\n switch (state.kind) {\n case 'keys': return createIterResultObject(entry.key, false);\n case 'values': return createIterResultObject(entry.value, false);\n } return createIterResultObject([entry.key, entry.value], false);\n}, true);\n\nvar URLSearchParamsState = function (init) {\n this.entries = [];\n this.url = null;\n\n if (init !== undefined) {\n if (isObject(init)) this.parseObject(init);\n else this.parseQuery(typeof init == 'string' ? charAt(init, 0) === '?' ? stringSlice(init, 1) : init : $toString(init));\n }\n};\n\nURLSearchParamsState.prototype = {\n type: URL_SEARCH_PARAMS,\n bindURL: function (url) {\n this.url = url;\n this.update();\n },\n parseObject: function (object) {\n var entries = this.entries;\n var iteratorMethod = getIteratorMethod(object);\n var iterator, next, step, entryIterator, entryNext, first, second;\n\n if (iteratorMethod) {\n iterator = getIterator(object, iteratorMethod);\n next = iterator.next;\n while (!(step = call(next, iterator)).done) {\n entryIterator = getIterator(anObject(step.value));\n entryNext = entryIterator.next;\n if (\n (first = call(entryNext, entryIterator)).done ||\n (second = call(entryNext, entryIterator)).done ||\n !call(entryNext, entryIterator).done\n ) throw new TypeError('Expected sequence with length 2');\n push(entries, { key: $toString(first.value), value: $toString(second.value) });\n }\n } else for (var key in object) if (hasOwn(object, key)) {\n push(entries, { key: key, value: $toString(object[key]) });\n }\n },\n parseQuery: function (query) {\n if (query) {\n var entries = this.entries;\n var attributes = split(query, '&');\n var index = 0;\n var attribute, entry;\n while (index < attributes.length) {\n attribute = attributes[index++];\n if (attribute.length) {\n entry = split(attribute, '=');\n push(entries, {\n key: decode(shift(entry)),\n value: decode(join(entry, '='))\n });\n }\n }\n }\n },\n serialize: function () {\n var entries = this.entries;\n var result = [];\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n push(result, serialize(entry.key) + '=' + serialize(entry.value));\n } return join(result, '&');\n },\n update: function () {\n this.entries.length = 0;\n this.parseQuery(this.url.query);\n },\n updateURL: function () {\n if (this.url) this.url.update();\n }\n};\n\n// `URLSearchParams` constructor\n// https://url.spec.whatwg.org/#interface-urlsearchparams\nvar URLSearchParamsConstructor = function URLSearchParams(/* init */) {\n anInstance(this, URLSearchParamsPrototype);\n var init = arguments.length > 0 ? arguments[0] : undefined;\n var state = setInternalState(this, new URLSearchParamsState(init));\n if (!DESCRIPTORS) this.size = state.entries.length;\n};\n\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\n\ndefineBuiltIns(URLSearchParamsPrototype, {\n // `URLSearchParams.prototype.append` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-append\n append: function append(name, value) {\n var state = getInternalParamsState(this);\n validateArgumentsLength(arguments.length, 2);\n push(state.entries, { key: $toString(name), value: $toString(value) });\n if (!DESCRIPTORS) this.length++;\n state.updateURL();\n },\n // `URLSearchParams.prototype.delete` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-delete\n 'delete': function (name /* , value */) {\n var state = getInternalParamsState(this);\n var length = validateArgumentsLength(arguments.length, 1);\n var entries = state.entries;\n var key = $toString(name);\n var $value = length < 2 ? undefined : arguments[1];\n var value = $value === undefined ? $value : $toString($value);\n var index = 0;\n while (index < entries.length) {\n var entry = entries[index];\n if (entry.key === key && (value === undefined || entry.value === value)) {\n splice(entries, index, 1);\n if (value !== undefined) break;\n } else index++;\n }\n if (!DESCRIPTORS) this.size = entries.length;\n state.updateURL();\n },\n // `URLSearchParams.prototype.get` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-get\n get: function get(name) {\n var entries = getInternalParamsState(this).entries;\n validateArgumentsLength(arguments.length, 1);\n var key = $toString(name);\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) return entries[index].value;\n }\n return null;\n },\n // `URLSearchParams.prototype.getAll` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-getall\n getAll: function getAll(name) {\n var entries = getInternalParamsState(this).entries;\n validateArgumentsLength(arguments.length, 1);\n var key = $toString(name);\n var result = [];\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) push(result, entries[index].value);\n }\n return result;\n },\n // `URLSearchParams.prototype.has` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-has\n has: function has(name /* , value */) {\n var entries = getInternalParamsState(this).entries;\n var length = validateArgumentsLength(arguments.length, 1);\n var key = $toString(name);\n var $value = length < 2 ? undefined : arguments[1];\n var value = $value === undefined ? $value : $toString($value);\n var index = 0;\n while (index < entries.length) {\n var entry = entries[index++];\n if (entry.key === key && (value === undefined || entry.value === value)) return true;\n }\n return false;\n },\n // `URLSearchParams.prototype.set` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-set\n set: function set(name, value) {\n var state = getInternalParamsState(this);\n validateArgumentsLength(arguments.length, 1);\n var entries = state.entries;\n var found = false;\n var key = $toString(name);\n var val = $toString(value);\n var index = 0;\n var entry;\n for (; index < entries.length; index++) {\n entry = entries[index];\n if (entry.key === key) {\n if (found) splice(entries, index--, 1);\n else {\n found = true;\n entry.value = val;\n }\n }\n }\n if (!found) push(entries, { key: key, value: val });\n if (!DESCRIPTORS) this.size = entries.length;\n state.updateURL();\n },\n // `URLSearchParams.prototype.sort` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-sort\n sort: function sort() {\n var state = getInternalParamsState(this);\n arraySort(state.entries, function (a, b) {\n return a.key > b.key ? 1 : -1;\n });\n state.updateURL();\n },\n // `URLSearchParams.prototype.forEach` method\n forEach: function forEach(callback /* , thisArg */) {\n var entries = getInternalParamsState(this).entries;\n var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined);\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n boundFunction(entry.value, entry.key, this);\n }\n },\n // `URLSearchParams.prototype.keys` method\n keys: function keys() {\n return new URLSearchParamsIterator(this, 'keys');\n },\n // `URLSearchParams.prototype.values` method\n values: function values() {\n return new URLSearchParamsIterator(this, 'values');\n },\n // `URLSearchParams.prototype.entries` method\n entries: function entries() {\n return new URLSearchParamsIterator(this, 'entries');\n }\n}, { enumerable: true });\n\n// `URLSearchParams.prototype[@@iterator]` method\ndefineBuiltIn(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries, { name: 'entries' });\n\n// `URLSearchParams.prototype.toString` method\n// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior\ndefineBuiltIn(URLSearchParamsPrototype, 'toString', function toString() {\n return getInternalParamsState(this).serialize();\n}, { enumerable: true });\n\n// `URLSearchParams.prototype.size` getter\n// https://github.com/whatwg/url/pull/734\nif (DESCRIPTORS) defineBuiltInAccessor(URLSearchParamsPrototype, 'size', {\n get: function size() {\n return getInternalParamsState(this).entries.length;\n },\n configurable: true,\n enumerable: true\n});\n\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n\n$({ global: true, constructor: true, forced: !USE_NATIVE_URL }, {\n URLSearchParams: URLSearchParamsConstructor\n});\n\n// Wrap `fetch` and `Request` for correct work with polyfilled `URLSearchParams`\nif (!USE_NATIVE_URL && isCallable(Headers)) {\n var headersHas = uncurryThis(HeadersPrototype.has);\n var headersSet = uncurryThis(HeadersPrototype.set);\n\n var wrapRequestOptions = function (init) {\n if (isObject(init)) {\n var body = init.body;\n var headers;\n if (classof(body) === URL_SEARCH_PARAMS) {\n headers = init.headers ? new Headers(init.headers) : new Headers();\n if (!headersHas(headers, 'content-type')) {\n headersSet(headers, 'content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n return create(init, {\n body: createPropertyDescriptor(0, $toString(body)),\n headers: createPropertyDescriptor(0, headers)\n });\n }\n } return init;\n };\n\n if (isCallable(nativeFetch)) {\n $({ global: true, enumerable: true, dontCallGetSet: true, forced: true }, {\n fetch: function fetch(input /* , init */) {\n return nativeFetch(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {});\n }\n });\n }\n\n if (isCallable(NativeRequest)) {\n var RequestConstructor = function Request(input /* , init */) {\n anInstance(this, RequestPrototype);\n return new NativeRequest(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {});\n };\n\n RequestPrototype.constructor = RequestConstructor;\n RequestConstructor.prototype = RequestPrototype;\n\n $({ global: true, constructor: true, dontCallGetSet: true, forced: true }, {\n Request: RequestConstructor\n });\n }\n}\n\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\n","'use strict';\n// TODO: Remove this module from `core-js@4` since it's replaced to module below\nrequire('../modules/web.url-search-params.constructor');\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.string.iterator');\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/url-constructor-detection');\nvar globalThis = require('../internals/global-this');\nvar bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar anInstance = require('../internals/an-instance');\nvar hasOwn = require('../internals/has-own-property');\nvar assign = require('../internals/object-assign');\nvar arrayFrom = require('../internals/array-from');\nvar arraySlice = require('../internals/array-slice');\nvar codeAt = require('../internals/string-multibyte').codeAt;\nvar toASCII = require('../internals/string-punycode-to-ascii');\nvar $toString = require('../internals/to-string');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar URLSearchParamsModule = require('../modules/web.url-search-params.constructor');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\n\nvar NativeURL = globalThis.URL;\nvar TypeError = globalThis.TypeError;\nvar parseInt = globalThis.parseInt;\nvar floor = Math.floor;\nvar pow = Math.pow;\nvar charAt = uncurryThis(''.charAt);\nvar exec = uncurryThis(/./.exec);\nvar join = uncurryThis([].join);\nvar numberToString = uncurryThis(1.0.toString);\nvar pop = uncurryThis([].pop);\nvar push = uncurryThis([].push);\nvar replace = uncurryThis(''.replace);\nvar shift = uncurryThis([].shift);\nvar split = uncurryThis(''.split);\nvar stringSlice = uncurryThis(''.slice);\nvar toLowerCase = uncurryThis(''.toLowerCase);\nvar unshift = uncurryThis([].unshift);\n\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\n\nvar ALPHA = /[a-z]/i;\n// eslint-disable-next-line regexp/no-obscure-range -- safe\nvar ALPHANUMERIC = /[\\d+-.a-z]/i;\nvar DIGIT = /\\d/;\nvar HEX_START = /^0x/i;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\da-f]+$/i;\n/* eslint-disable regexp/no-control-character -- safe */\nvar FORBIDDEN_HOST_CODE_POINT = /[\\0\\t\\n\\r #%/:<>?@[\\\\\\]^|]/;\nvar FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\0\\t\\n\\r #/:<>?@[\\\\\\]^|]/;\nvar LEADING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u0020]+/;\nvar TRAILING_C0_CONTROL_OR_SPACE = /(^|[^\\u0000-\\u0020])[\\u0000-\\u0020]+$/;\nvar TAB_AND_NEW_LINE = /[\\t\\n\\r]/g;\n/* eslint-enable regexp/no-control-character -- safe */\nvar EOF;\n\n// https://url.spec.whatwg.org/#ipv4-number-parser\nvar parseIPv4 = function (input) {\n var parts = split(input, '.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n if (parts.length && parts[parts.length - 1] === '') {\n parts.length--;\n }\n partsLength = parts.length;\n if (partsLength > 4) return input;\n numbers = [];\n for (index = 0; index < partsLength; index++) {\n part = parts[index];\n if (part === '') return input;\n radix = 10;\n if (part.length > 1 && charAt(part, 0) === '0') {\n radix = exec(HEX_START, part) ? 16 : 8;\n part = stringSlice(part, radix === 8 ? 1 : 2);\n }\n if (part === '') {\n number = 0;\n } else {\n if (!exec(radix === 10 ? DEC : radix === 8 ? OCT : HEX, part)) return input;\n number = parseInt(part, radix);\n }\n push(numbers, number);\n }\n for (index = 0; index < partsLength; index++) {\n number = numbers[index];\n if (index === partsLength - 1) {\n if (number >= pow(256, 5 - partsLength)) return null;\n } else if (number > 255) return null;\n }\n ipv4 = pop(numbers);\n for (index = 0; index < numbers.length; index++) {\n ipv4 += numbers[index] * pow(256, 3 - index);\n }\n return ipv4;\n};\n\n// https://url.spec.whatwg.org/#concept-ipv6-parser\n// eslint-disable-next-line max-statements -- TODO\nvar parseIPv6 = function (input) {\n var address = [0, 0, 0, 0, 0, 0, 0, 0];\n var pieceIndex = 0;\n var compress = null;\n var pointer = 0;\n var value, length, numbersSeen, ipv4Piece, number, swaps, swap;\n\n var chr = function () {\n return charAt(input, pointer);\n };\n\n if (chr() === ':') {\n if (charAt(input, 1) !== ':') return;\n pointer += 2;\n pieceIndex++;\n compress = pieceIndex;\n }\n while (chr()) {\n if (pieceIndex === 8) return;\n if (chr() === ':') {\n if (compress !== null) return;\n pointer++;\n pieceIndex++;\n compress = pieceIndex;\n continue;\n }\n value = length = 0;\n while (length < 4 && exec(HEX, chr())) {\n value = value * 16 + parseInt(chr(), 16);\n pointer++;\n length++;\n }\n if (chr() === '.') {\n if (length === 0) return;\n pointer -= length;\n if (pieceIndex > 6) return;\n numbersSeen = 0;\n while (chr()) {\n ipv4Piece = null;\n if (numbersSeen > 0) {\n if (chr() === '.' && numbersSeen < 4) pointer++;\n else return;\n }\n if (!exec(DIGIT, chr())) return;\n while (exec(DIGIT, chr())) {\n number = parseInt(chr(), 10);\n if (ipv4Piece === null) ipv4Piece = number;\n else if (ipv4Piece === 0) return;\n else ipv4Piece = ipv4Piece * 10 + number;\n if (ipv4Piece > 255) return;\n pointer++;\n }\n address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n numbersSeen++;\n if (numbersSeen === 2 || numbersSeen === 4) pieceIndex++;\n }\n if (numbersSeen !== 4) return;\n break;\n } else if (chr() === ':') {\n pointer++;\n if (!chr()) return;\n } else if (chr()) return;\n address[pieceIndex++] = value;\n }\n if (compress !== null) {\n swaps = pieceIndex - compress;\n pieceIndex = 7;\n while (pieceIndex !== 0 && swaps > 0) {\n swap = address[pieceIndex];\n address[pieceIndex--] = address[compress + swaps - 1];\n address[compress + --swaps] = swap;\n }\n } else if (pieceIndex !== 8) return;\n return address;\n};\n\nvar findLongestZeroSequence = function (ipv6) {\n var maxIndex = null;\n var maxLength = 1;\n var currStart = null;\n var currLength = 0;\n var index = 0;\n for (; index < 8; index++) {\n if (ipv6[index] !== 0) {\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n currStart = null;\n currLength = 0;\n } else {\n if (currStart === null) currStart = index;\n ++currLength;\n }\n }\n return currLength > maxLength ? currStart : maxIndex;\n};\n\n// https://url.spec.whatwg.org/#host-serializing\nvar serializeHost = function (host) {\n var result, index, compress, ignore0;\n\n // ipv4\n if (typeof host == 'number') {\n result = [];\n for (index = 0; index < 4; index++) {\n unshift(result, host % 256);\n host = floor(host / 256);\n }\n return join(result, '.');\n }\n\n // ipv6\n if (typeof host == 'object') {\n result = '';\n compress = findLongestZeroSequence(host);\n for (index = 0; index < 8; index++) {\n if (ignore0 && host[index] === 0) continue;\n if (ignore0) ignore0 = false;\n if (compress === index) {\n result += index ? ':' : '::';\n ignore0 = true;\n } else {\n result += numberToString(host[index], 16);\n if (index < 7) result += ':';\n }\n }\n return '[' + result + ']';\n }\n\n return host;\n};\n\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1, '\"': 1, '<': 1, '>': 1, '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1, '?': 1, '{': 1, '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\\\': 1, ']': 1, '^': 1, '|': 1\n});\n\nvar percentEncode = function (chr, set) {\n var code = codeAt(chr, 0);\n return code > 0x20 && code < 0x7F && !hasOwn(set, chr) ? chr : encodeURIComponent(chr);\n};\n\n// https://url.spec.whatwg.org/#special-scheme\nvar specialSchemes = {\n ftp: 21,\n file: null,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\n\n// https://url.spec.whatwg.org/#windows-drive-letter\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length === 2 && exec(ALPHA, charAt(string, 0))\n && ((second = charAt(string, 1)) === ':' || (!normalized && second === '|'));\n};\n\n// https://url.spec.whatwg.org/#start-with-a-windows-drive-letter\nvar startsWithWindowsDriveLetter = function (string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(stringSlice(string, 0, 2)) && (\n string.length === 2 ||\n ((third = charAt(string, 2)) === '/' || third === '\\\\' || third === '?' || third === '#')\n );\n};\n\n// https://url.spec.whatwg.org/#single-dot-path-segment\nvar isSingleDot = function (segment) {\n return segment === '.' || toLowerCase(segment) === '%2e';\n};\n\n// https://url.spec.whatwg.org/#double-dot-path-segment\nvar isDoubleDot = function (segment) {\n segment = toLowerCase(segment);\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\n\n// States:\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\n\nvar URLState = function (url, isBase, base) {\n var urlString = $toString(url);\n var baseState, failure, searchParams;\n if (isBase) {\n failure = this.parse(urlString);\n if (failure) throw new TypeError(failure);\n this.searchParams = null;\n } else {\n if (base !== undefined) baseState = new URLState(base, true);\n failure = this.parse(urlString, null, baseState);\n if (failure) throw new TypeError(failure);\n searchParams = getInternalSearchParamsState(new URLSearchParams());\n searchParams.bindURL(this);\n this.searchParams = searchParams;\n }\n};\n\nURLState.prototype = {\n type: 'URL',\n // https://url.spec.whatwg.org/#url-parsing\n // eslint-disable-next-line max-statements -- TODO\n parse: function (input, stateOverride, base) {\n var url = this;\n var state = stateOverride || SCHEME_START;\n var pointer = 0;\n var buffer = '';\n var seenAt = false;\n var seenBracket = false;\n var seenPasswordToken = false;\n var codePoints, chr, bufferCodePoints, failure;\n\n input = $toString(input);\n\n if (!stateOverride) {\n url.scheme = '';\n url.username = '';\n url.password = '';\n url.host = null;\n url.port = null;\n url.path = [];\n url.query = null;\n url.fragment = null;\n url.cannotBeABaseURL = false;\n input = replace(input, LEADING_C0_CONTROL_OR_SPACE, '');\n input = replace(input, TRAILING_C0_CONTROL_OR_SPACE, '$1');\n }\n\n input = replace(input, TAB_AND_NEW_LINE, '');\n\n codePoints = arrayFrom(input);\n\n while (pointer <= codePoints.length) {\n chr = codePoints[pointer];\n switch (state) {\n case SCHEME_START:\n if (chr && exec(ALPHA, chr)) {\n buffer += toLowerCase(chr);\n state = SCHEME;\n } else if (!stateOverride) {\n state = NO_SCHEME;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case SCHEME:\n if (chr && (exec(ALPHANUMERIC, chr) || chr === '+' || chr === '-' || chr === '.')) {\n buffer += toLowerCase(chr);\n } else if (chr === ':') {\n if (stateOverride && (\n (url.isSpecial() !== hasOwn(specialSchemes, buffer)) ||\n (buffer === 'file' && (url.includesCredentials() || url.port !== null)) ||\n (url.scheme === 'file' && !url.host)\n )) return;\n url.scheme = buffer;\n if (stateOverride) {\n if (url.isSpecial() && specialSchemes[url.scheme] === url.port) url.port = null;\n return;\n }\n buffer = '';\n if (url.scheme === 'file') {\n state = FILE;\n } else if (url.isSpecial() && base && base.scheme === url.scheme) {\n state = SPECIAL_RELATIVE_OR_AUTHORITY;\n } else if (url.isSpecial()) {\n state = SPECIAL_AUTHORITY_SLASHES;\n } else if (codePoints[pointer + 1] === '/') {\n state = PATH_OR_AUTHORITY;\n pointer++;\n } else {\n url.cannotBeABaseURL = true;\n push(url.path, '');\n state = CANNOT_BE_A_BASE_URL_PATH;\n }\n } else if (!stateOverride) {\n buffer = '';\n state = NO_SCHEME;\n pointer = 0;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case NO_SCHEME:\n if (!base || (base.cannotBeABaseURL && chr !== '#')) return INVALID_SCHEME;\n if (base.cannotBeABaseURL && chr === '#') {\n url.scheme = base.scheme;\n url.path = arraySlice(base.path);\n url.query = base.query;\n url.fragment = '';\n url.cannotBeABaseURL = true;\n state = FRAGMENT;\n break;\n }\n state = base.scheme === 'file' ? FILE : RELATIVE;\n continue;\n\n case SPECIAL_RELATIVE_OR_AUTHORITY:\n if (chr === '/' && codePoints[pointer + 1] === '/') {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n pointer++;\n } else {\n state = RELATIVE;\n continue;\n } break;\n\n case PATH_OR_AUTHORITY:\n if (chr === '/') {\n state = AUTHORITY;\n break;\n } else {\n state = PATH;\n continue;\n }\n\n case RELATIVE:\n url.scheme = base.scheme;\n if (chr === EOF) {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.query = base.query;\n } else if (chr === '/' || (chr === '\\\\' && url.isSpecial())) {\n state = RELATIVE_SLASH;\n } else if (chr === '?') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.query = '';\n state = QUERY;\n } else if (chr === '#') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.path.length--;\n state = PATH;\n continue;\n } break;\n\n case RELATIVE_SLASH:\n if (url.isSpecial() && (chr === '/' || chr === '\\\\')) {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n } else if (chr === '/') {\n state = AUTHORITY;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n state = PATH;\n continue;\n } break;\n\n case SPECIAL_AUTHORITY_SLASHES:\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n if (chr !== '/' || charAt(buffer, pointer + 1) !== '/') continue;\n pointer++;\n break;\n\n case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n if (chr !== '/' && chr !== '\\\\') {\n state = AUTHORITY;\n continue;\n } break;\n\n case AUTHORITY:\n if (chr === '@') {\n if (seenAt) buffer = '%40' + buffer;\n seenAt = true;\n bufferCodePoints = arrayFrom(buffer);\n for (var i = 0; i < bufferCodePoints.length; i++) {\n var codePoint = bufferCodePoints[i];\n if (codePoint === ':' && !seenPasswordToken) {\n seenPasswordToken = true;\n continue;\n }\n var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n if (seenPasswordToken) url.password += encodedCodePoints;\n else url.username += encodedCodePoints;\n }\n buffer = '';\n } else if (\n chr === EOF || chr === '/' || chr === '?' || chr === '#' ||\n (chr === '\\\\' && url.isSpecial())\n ) {\n if (seenAt && buffer === '') return INVALID_AUTHORITY;\n pointer -= arrayFrom(buffer).length + 1;\n buffer = '';\n state = HOST;\n } else buffer += chr;\n break;\n\n case HOST:\n case HOSTNAME:\n if (stateOverride && url.scheme === 'file') {\n state = FILE_HOST;\n continue;\n } else if (chr === ':' && !seenBracket) {\n if (buffer === '') return INVALID_HOST;\n failure = url.parseHost(buffer);\n if (failure) return failure;\n buffer = '';\n state = PORT;\n if (stateOverride === HOSTNAME) return;\n } else if (\n chr === EOF || chr === '/' || chr === '?' || chr === '#' ||\n (chr === '\\\\' && url.isSpecial())\n ) {\n if (url.isSpecial() && buffer === '') return INVALID_HOST;\n if (stateOverride && buffer === '' && (url.includesCredentials() || url.port !== null)) return;\n failure = url.parseHost(buffer);\n if (failure) return failure;\n buffer = '';\n state = PATH_START;\n if (stateOverride) return;\n continue;\n } else {\n if (chr === '[') seenBracket = true;\n else if (chr === ']') seenBracket = false;\n buffer += chr;\n } break;\n\n case PORT:\n if (exec(DIGIT, chr)) {\n buffer += chr;\n } else if (\n chr === EOF || chr === '/' || chr === '?' || chr === '#' ||\n (chr === '\\\\' && url.isSpecial()) ||\n stateOverride\n ) {\n if (buffer !== '') {\n var port = parseInt(buffer, 10);\n if (port > 0xFFFF) return INVALID_PORT;\n url.port = (url.isSpecial() && port === specialSchemes[url.scheme]) ? null : port;\n buffer = '';\n }\n if (stateOverride) return;\n state = PATH_START;\n continue;\n } else return INVALID_PORT;\n break;\n\n case FILE:\n url.scheme = 'file';\n if (chr === '/' || chr === '\\\\') state = FILE_SLASH;\n else if (base && base.scheme === 'file') {\n switch (chr) {\n case EOF:\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.query = base.query;\n break;\n case '?':\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.query = '';\n state = QUERY;\n break;\n case '#':\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n break;\n default:\n if (!startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) {\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.shortenPath();\n }\n state = PATH;\n continue;\n }\n } else {\n state = PATH;\n continue;\n } break;\n\n case FILE_SLASH:\n if (chr === '/' || chr === '\\\\') {\n state = FILE_HOST;\n break;\n }\n if (base && base.scheme === 'file' && !startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) {\n if (isWindowsDriveLetter(base.path[0], true)) push(url.path, base.path[0]);\n else url.host = base.host;\n }\n state = PATH;\n continue;\n\n case FILE_HOST:\n if (chr === EOF || chr === '/' || chr === '\\\\' || chr === '?' || chr === '#') {\n if (!stateOverride && isWindowsDriveLetter(buffer)) {\n state = PATH;\n } else if (buffer === '') {\n url.host = '';\n if (stateOverride) return;\n state = PATH_START;\n } else {\n failure = url.parseHost(buffer);\n if (failure) return failure;\n if (url.host === 'localhost') url.host = '';\n if (stateOverride) return;\n buffer = '';\n state = PATH_START;\n } continue;\n } else buffer += chr;\n break;\n\n case PATH_START:\n if (url.isSpecial()) {\n state = PATH;\n if (chr !== '/' && chr !== '\\\\') continue;\n } else if (!stateOverride && chr === '?') {\n url.query = '';\n state = QUERY;\n } else if (!stateOverride && chr === '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr !== EOF) {\n state = PATH;\n if (chr !== '/') continue;\n } break;\n\n case PATH:\n if (\n chr === EOF || chr === '/' ||\n (chr === '\\\\' && url.isSpecial()) ||\n (!stateOverride && (chr === '?' || chr === '#'))\n ) {\n if (isDoubleDot(buffer)) {\n url.shortenPath();\n if (chr !== '/' && !(chr === '\\\\' && url.isSpecial())) {\n push(url.path, '');\n }\n } else if (isSingleDot(buffer)) {\n if (chr !== '/' && !(chr === '\\\\' && url.isSpecial())) {\n push(url.path, '');\n }\n } else {\n if (url.scheme === 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n if (url.host) url.host = '';\n buffer = charAt(buffer, 0) + ':'; // normalize windows drive letter\n }\n push(url.path, buffer);\n }\n buffer = '';\n if (url.scheme === 'file' && (chr === EOF || chr === '?' || chr === '#')) {\n while (url.path.length > 1 && url.path[0] === '') {\n shift(url.path);\n }\n }\n if (chr === '?') {\n url.query = '';\n state = QUERY;\n } else if (chr === '#') {\n url.fragment = '';\n state = FRAGMENT;\n }\n } else {\n buffer += percentEncode(chr, pathPercentEncodeSet);\n } break;\n\n case CANNOT_BE_A_BASE_URL_PATH:\n if (chr === '?') {\n url.query = '';\n state = QUERY;\n } else if (chr === '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr !== EOF) {\n url.path[0] += percentEncode(chr, C0ControlPercentEncodeSet);\n } break;\n\n case QUERY:\n if (!stateOverride && chr === '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr !== EOF) {\n if (chr === \"'\" && url.isSpecial()) url.query += '%27';\n else if (chr === '#') url.query += '%23';\n else url.query += percentEncode(chr, C0ControlPercentEncodeSet);\n } break;\n\n case FRAGMENT:\n if (chr !== EOF) url.fragment += percentEncode(chr, fragmentPercentEncodeSet);\n break;\n }\n\n pointer++;\n }\n },\n // https://url.spec.whatwg.org/#host-parsing\n parseHost: function (input) {\n var result, codePoints, index;\n if (charAt(input, 0) === '[') {\n if (charAt(input, input.length - 1) !== ']') return INVALID_HOST;\n result = parseIPv6(stringSlice(input, 1, -1));\n if (!result) return INVALID_HOST;\n this.host = result;\n // opaque host\n } else if (!this.isSpecial()) {\n if (exec(FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT, input)) return INVALID_HOST;\n result = '';\n codePoints = arrayFrom(input);\n for (index = 0; index < codePoints.length; index++) {\n result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n }\n this.host = result;\n } else {\n input = toASCII(input);\n if (exec(FORBIDDEN_HOST_CODE_POINT, input)) return INVALID_HOST;\n result = parseIPv4(input);\n if (result === null) return INVALID_HOST;\n this.host = result;\n }\n },\n // https://url.spec.whatwg.org/#cannot-have-a-username-password-port\n cannotHaveUsernamePasswordPort: function () {\n return !this.host || this.cannotBeABaseURL || this.scheme === 'file';\n },\n // https://url.spec.whatwg.org/#include-credentials\n includesCredentials: function () {\n return this.username !== '' || this.password !== '';\n },\n // https://url.spec.whatwg.org/#is-special\n isSpecial: function () {\n return hasOwn(specialSchemes, this.scheme);\n },\n // https://url.spec.whatwg.org/#shorten-a-urls-path\n shortenPath: function () {\n var path = this.path;\n var pathSize = path.length;\n if (pathSize && (this.scheme !== 'file' || pathSize !== 1 || !isWindowsDriveLetter(path[0], true))) {\n path.length--;\n }\n },\n // https://url.spec.whatwg.org/#concept-url-serializer\n serialize: function () {\n var url = this;\n var scheme = url.scheme;\n var username = url.username;\n var password = url.password;\n var host = url.host;\n var port = url.port;\n var path = url.path;\n var query = url.query;\n var fragment = url.fragment;\n var output = scheme + ':';\n if (host !== null) {\n output += '//';\n if (url.includesCredentials()) {\n output += username + (password ? ':' + password : '') + '@';\n }\n output += serializeHost(host);\n if (port !== null) output += ':' + port;\n } else if (scheme === 'file') output += '//';\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : '';\n if (query !== null) output += '?' + query;\n if (fragment !== null) output += '#' + fragment;\n return output;\n },\n // https://url.spec.whatwg.org/#dom-url-href\n setHref: function (href) {\n var failure = this.parse(href);\n if (failure) throw new TypeError(failure);\n this.searchParams.update();\n },\n // https://url.spec.whatwg.org/#dom-url-origin\n getOrigin: function () {\n var scheme = this.scheme;\n var port = this.port;\n if (scheme === 'blob') try {\n return new URLConstructor(scheme.path[0]).origin;\n } catch (error) {\n return 'null';\n }\n if (scheme === 'file' || !this.isSpecial()) return 'null';\n return scheme + '://' + serializeHost(this.host) + (port !== null ? ':' + port : '');\n },\n // https://url.spec.whatwg.org/#dom-url-protocol\n getProtocol: function () {\n return this.scheme + ':';\n },\n setProtocol: function (protocol) {\n this.parse($toString(protocol) + ':', SCHEME_START);\n },\n // https://url.spec.whatwg.org/#dom-url-username\n getUsername: function () {\n return this.username;\n },\n setUsername: function (username) {\n var codePoints = arrayFrom($toString(username));\n if (this.cannotHaveUsernamePasswordPort()) return;\n this.username = '';\n for (var i = 0; i < codePoints.length; i++) {\n this.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n },\n // https://url.spec.whatwg.org/#dom-url-password\n getPassword: function () {\n return this.password;\n },\n setPassword: function (password) {\n var codePoints = arrayFrom($toString(password));\n if (this.cannotHaveUsernamePasswordPort()) return;\n this.password = '';\n for (var i = 0; i < codePoints.length; i++) {\n this.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n },\n // https://url.spec.whatwg.org/#dom-url-host\n getHost: function () {\n var host = this.host;\n var port = this.port;\n return host === null ? ''\n : port === null ? serializeHost(host)\n : serializeHost(host) + ':' + port;\n },\n setHost: function (host) {\n if (this.cannotBeABaseURL) return;\n this.parse(host, HOST);\n },\n // https://url.spec.whatwg.org/#dom-url-hostname\n getHostname: function () {\n var host = this.host;\n return host === null ? '' : serializeHost(host);\n },\n setHostname: function (hostname) {\n if (this.cannotBeABaseURL) return;\n this.parse(hostname, HOSTNAME);\n },\n // https://url.spec.whatwg.org/#dom-url-port\n getPort: function () {\n var port = this.port;\n return port === null ? '' : $toString(port);\n },\n setPort: function (port) {\n if (this.cannotHaveUsernamePasswordPort()) return;\n port = $toString(port);\n if (port === '') this.port = null;\n else this.parse(port, PORT);\n },\n // https://url.spec.whatwg.org/#dom-url-pathname\n getPathname: function () {\n var path = this.path;\n return this.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : '';\n },\n setPathname: function (pathname) {\n if (this.cannotBeABaseURL) return;\n this.path = [];\n this.parse(pathname, PATH_START);\n },\n // https://url.spec.whatwg.org/#dom-url-search\n getSearch: function () {\n var query = this.query;\n return query ? '?' + query : '';\n },\n setSearch: function (search) {\n search = $toString(search);\n if (search === '') {\n this.query = null;\n } else {\n if (charAt(search, 0) === '?') search = stringSlice(search, 1);\n this.query = '';\n this.parse(search, QUERY);\n }\n this.searchParams.update();\n },\n // https://url.spec.whatwg.org/#dom-url-searchparams\n getSearchParams: function () {\n return this.searchParams.facade;\n },\n // https://url.spec.whatwg.org/#dom-url-hash\n getHash: function () {\n var fragment = this.fragment;\n return fragment ? '#' + fragment : '';\n },\n setHash: function (hash) {\n hash = $toString(hash);\n if (hash === '') {\n this.fragment = null;\n return;\n }\n if (charAt(hash, 0) === '#') hash = stringSlice(hash, 1);\n this.fragment = '';\n this.parse(hash, FRAGMENT);\n },\n update: function () {\n this.query = this.searchParams.serialize() || null;\n }\n};\n\n// `URL` constructor\n// https://url.spec.whatwg.org/#url-class\nvar URLConstructor = function URL(url /* , base */) {\n var that = anInstance(this, URLPrototype);\n var base = validateArgumentsLength(arguments.length, 1) > 1 ? arguments[1] : undefined;\n var state = setInternalState(that, new URLState(url, false, base));\n if (!DESCRIPTORS) {\n that.href = state.serialize();\n that.origin = state.getOrigin();\n that.protocol = state.getProtocol();\n that.username = state.getUsername();\n that.password = state.getPassword();\n that.host = state.getHost();\n that.hostname = state.getHostname();\n that.port = state.getPort();\n that.pathname = state.getPathname();\n that.search = state.getSearch();\n that.searchParams = state.getSearchParams();\n that.hash = state.getHash();\n }\n};\n\nvar URLPrototype = URLConstructor.prototype;\n\nvar accessorDescriptor = function (getter, setter) {\n return {\n get: function () {\n return getInternalURLState(this)[getter]();\n },\n set: setter && function (value) {\n return getInternalURLState(this)[setter](value);\n },\n configurable: true,\n enumerable: true\n };\n};\n\nif (DESCRIPTORS) {\n // `URL.prototype.href` accessors pair\n // https://url.spec.whatwg.org/#dom-url-href\n defineBuiltInAccessor(URLPrototype, 'href', accessorDescriptor('serialize', 'setHref'));\n // `URL.prototype.origin` getter\n // https://url.spec.whatwg.org/#dom-url-origin\n defineBuiltInAccessor(URLPrototype, 'origin', accessorDescriptor('getOrigin'));\n // `URL.prototype.protocol` accessors pair\n // https://url.spec.whatwg.org/#dom-url-protocol\n defineBuiltInAccessor(URLPrototype, 'protocol', accessorDescriptor('getProtocol', 'setProtocol'));\n // `URL.prototype.username` accessors pair\n // https://url.spec.whatwg.org/#dom-url-username\n defineBuiltInAccessor(URLPrototype, 'username', accessorDescriptor('getUsername', 'setUsername'));\n // `URL.prototype.password` accessors pair\n // https://url.spec.whatwg.org/#dom-url-password\n defineBuiltInAccessor(URLPrototype, 'password', accessorDescriptor('getPassword', 'setPassword'));\n // `URL.prototype.host` accessors pair\n // https://url.spec.whatwg.org/#dom-url-host\n defineBuiltInAccessor(URLPrototype, 'host', accessorDescriptor('getHost', 'setHost'));\n // `URL.prototype.hostname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hostname\n defineBuiltInAccessor(URLPrototype, 'hostname', accessorDescriptor('getHostname', 'setHostname'));\n // `URL.prototype.port` accessors pair\n // https://url.spec.whatwg.org/#dom-url-port\n defineBuiltInAccessor(URLPrototype, 'port', accessorDescriptor('getPort', 'setPort'));\n // `URL.prototype.pathname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-pathname\n defineBuiltInAccessor(URLPrototype, 'pathname', accessorDescriptor('getPathname', 'setPathname'));\n // `URL.prototype.search` accessors pair\n // https://url.spec.whatwg.org/#dom-url-search\n defineBuiltInAccessor(URLPrototype, 'search', accessorDescriptor('getSearch', 'setSearch'));\n // `URL.prototype.searchParams` getter\n // https://url.spec.whatwg.org/#dom-url-searchparams\n defineBuiltInAccessor(URLPrototype, 'searchParams', accessorDescriptor('getSearchParams'));\n // `URL.prototype.hash` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hash\n defineBuiltInAccessor(URLPrototype, 'hash', accessorDescriptor('getHash', 'setHash'));\n}\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\ndefineBuiltIn(URLPrototype, 'toJSON', function toJSON() {\n return getInternalURLState(this).serialize();\n}, { enumerable: true });\n\n// `URL.prototype.toString` method\n// https://url.spec.whatwg.org/#URL-stringification-behavior\ndefineBuiltIn(URLPrototype, 'toString', function toString() {\n return getInternalURLState(this).serialize();\n}, { enumerable: true });\n\nif (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n // `URL.createObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL\n if (nativeCreateObjectURL) defineBuiltIn(URLConstructor, 'createObjectURL', bind(nativeCreateObjectURL, NativeURL));\n // `URL.revokeObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL\n if (nativeRevokeObjectURL) defineBuiltIn(URLConstructor, 'revokeObjectURL', bind(nativeRevokeObjectURL, NativeURL));\n}\n\nsetToStringTag(URLConstructor, 'URL');\n\n$({ global: true, constructor: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {\n URL: URLConstructor\n});\n","'use strict';\n// TODO: Remove this module from `core-js@4` since it's replaced to module below\nrequire('../modules/web.url.constructor');\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\n$({ target: 'URL', proto: true, enumerable: true }, {\n toJSON: function toJSON() {\n return call(URL.prototype.toString, this);\n }\n});\n","import './webcrypto-shim.mjs'\nexport default window.crypto\n","/**\n * @file Web Cryptography API shim\n * @author Artem S Vybornov \n * @license MIT\n */\n(function (global, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define([], function () {\n return factory(global);\n });\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports\n module.exports = factory(global);\n } else {\n factory(global);\n }\n}(typeof self !== 'undefined' ? self : this, function (global) {\n 'use strict';\n\n if ( typeof Promise !== 'function' )\n throw \"Promise support required\";\n\n var _crypto = global.crypto || global.msCrypto;\n if ( !_crypto ) return;\n\n var _subtle = _crypto.subtle || _crypto.webkitSubtle;\n if ( !_subtle ) return;\n\n var _Crypto = global.Crypto || _crypto.constructor || Object,\n _SubtleCrypto = global.SubtleCrypto || _subtle.constructor || Object,\n _CryptoKey = global.CryptoKey || global.Key || Object;\n\n var isEdge = global.navigator.userAgent.indexOf('Edge/') > -1;\n var isIE = !!global.msCrypto && !isEdge;\n var isWebkit = !_crypto.subtle && !!_crypto.webkitSubtle;\n if ( !isIE && !isWebkit ) return;\n\n function s2a ( s ) {\n return btoa(s).replace(/\\=+$/, '').replace(/\\+/g, '-').replace(/\\//g, '_');\n }\n\n function a2s ( s ) {\n s += '===', s = s.slice( 0, -s.length % 4 );\n return atob( s.replace(/-/g, '+').replace(/_/g, '/') );\n }\n\n function s2b ( s ) {\n var b = new Uint8Array(s.length);\n for ( var i = 0; i < s.length; i++ ) b[i] = s.charCodeAt(i);\n return b;\n }\n\n function b2s ( b ) {\n if ( b instanceof ArrayBuffer ) b = new Uint8Array(b);\n return String.fromCharCode.apply( String, b );\n }\n\n function alg ( a ) {\n var r = { 'name': (a.name || a || '').toUpperCase().replace('V','v') };\n switch ( r.name ) {\n case 'SHA-1':\n case 'SHA-256':\n case 'SHA-384':\n case 'SHA-512':\n break;\n case 'AES-CBC':\n case 'AES-GCM':\n case 'AES-KW':\n if ( a.length ) r['length'] = a.length;\n break;\n case 'HMAC':\n if ( a.hash ) r['hash'] = alg(a.hash);\n if ( a.length ) r['length'] = a.length;\n break;\n case 'RSAES-PKCS1-v1_5':\n if ( a.publicExponent ) r['publicExponent'] = new Uint8Array(a.publicExponent);\n if ( a.modulusLength ) r['modulusLength'] = a.modulusLength;\n break;\n case 'RSASSA-PKCS1-v1_5':\n case 'RSA-OAEP':\n if ( a.hash ) r['hash'] = alg(a.hash);\n if ( a.publicExponent ) r['publicExponent'] = new Uint8Array(a.publicExponent);\n if ( a.modulusLength ) r['modulusLength'] = a.modulusLength;\n break;\n default:\n throw new SyntaxError(\"Bad algorithm name\");\n }\n return r;\n };\n\n function jwkAlg ( a ) {\n return {\n 'HMAC': {\n 'SHA-1': 'HS1',\n 'SHA-256': 'HS256',\n 'SHA-384': 'HS384',\n 'SHA-512': 'HS512',\n },\n 'RSASSA-PKCS1-v1_5': {\n 'SHA-1': 'RS1',\n 'SHA-256': 'RS256',\n 'SHA-384': 'RS384',\n 'SHA-512': 'RS512',\n },\n 'RSAES-PKCS1-v1_5': {\n '': 'RSA1_5',\n },\n 'RSA-OAEP': {\n 'SHA-1': 'RSA-OAEP',\n 'SHA-256': 'RSA-OAEP-256',\n },\n 'AES-KW': {\n '128': 'A128KW',\n '192': 'A192KW',\n '256': 'A256KW',\n },\n 'AES-GCM': {\n '128': 'A128GCM',\n '192': 'A192GCM',\n '256': 'A256GCM',\n },\n 'AES-CBC': {\n '128': 'A128CBC',\n '192': 'A192CBC',\n '256': 'A256CBC',\n },\n }[a.name][ ( a.hash || {} ).name || a.length || '' ];\n }\n\n function b2jwk ( k ) {\n if ( k instanceof ArrayBuffer || k instanceof Uint8Array ) k = JSON.parse( decodeURIComponent( escape( b2s(k) ) ) );\n var jwk = { 'kty': k.kty, 'alg': k.alg, 'ext': k.ext || k.extractable };\n switch ( jwk.kty ) {\n case 'oct':\n jwk.k = k.k;\n case 'RSA':\n [ 'n', 'e', 'd', 'p', 'q', 'dp', 'dq', 'qi', 'oth' ].forEach( function ( x ) { if ( x in k ) jwk[x] = k[x] } );\n break;\n default:\n throw new TypeError(\"Unsupported key type\");\n }\n return jwk;\n }\n\n function jwk2b ( k ) {\n var jwk = b2jwk(k);\n if ( isIE ) jwk['extractable'] = jwk.ext, delete jwk.ext;\n return s2b( unescape( encodeURIComponent( JSON.stringify(jwk) ) ) ).buffer;\n }\n\n function pkcs2jwk ( k ) {\n var info = b2der(k), prv = false;\n if ( info.length > 2 ) prv = true, info.shift(); // remove version from PKCS#8 PrivateKeyInfo structure\n var jwk = { 'ext': true };\n switch ( info[0][0] ) {\n case '1.2.840.113549.1.1.1':\n var rsaComp = [ 'n', 'e', 'd', 'p', 'q', 'dp', 'dq', 'qi' ],\n rsaKey = b2der( info[1] );\n if ( prv ) rsaKey.shift(); // remove version from PKCS#1 RSAPrivateKey structure\n for ( var i = 0; i < rsaKey.length; i++ ) {\n if ( !rsaKey[i][0] ) rsaKey[i] = rsaKey[i].subarray(1);\n jwk[ rsaComp[i] ] = s2a( b2s( rsaKey[i] ) );\n }\n jwk['kty'] = 'RSA';\n break;\n default:\n throw new TypeError(\"Unsupported key type\");\n }\n return jwk;\n }\n\n function jwk2pkcs ( k ) {\n var key, info = [ [ '', null ] ], prv = false;\n switch ( k.kty ) {\n case 'RSA':\n var rsaComp = [ 'n', 'e', 'd', 'p', 'q', 'dp', 'dq', 'qi' ],\n rsaKey = [];\n for ( var i = 0; i < rsaComp.length; i++ ) {\n if ( !( rsaComp[i] in k ) ) break;\n var b = rsaKey[i] = s2b( a2s( k[ rsaComp[i] ] ) );\n if ( b[0] & 0x80 ) rsaKey[i] = new Uint8Array(b.length + 1), rsaKey[i].set( b, 1 );\n }\n if ( rsaKey.length > 2 ) prv = true, rsaKey.unshift( new Uint8Array([0]) ); // add version to PKCS#1 RSAPrivateKey structure\n info[0][0] = '1.2.840.113549.1.1.1';\n key = rsaKey;\n break;\n default:\n throw new TypeError(\"Unsupported key type\");\n }\n info.push( new Uint8Array( der2b(key) ).buffer );\n if ( !prv ) info[1] = { 'tag': 0x03, 'value': info[1] };\n else info.unshift( new Uint8Array([0]) ); // add version to PKCS#8 PrivateKeyInfo structure\n return new Uint8Array( der2b(info) ).buffer;\n }\n\n var oid2str = { 'KoZIhvcNAQEB': '1.2.840.113549.1.1.1' },\n str2oid = { '1.2.840.113549.1.1.1': 'KoZIhvcNAQEB' };\n\n function b2der ( buf, ctx ) {\n if ( buf instanceof ArrayBuffer ) buf = new Uint8Array(buf);\n if ( !ctx ) ctx = { pos: 0, end: buf.length };\n\n if ( ctx.end - ctx.pos < 2 || ctx.end > buf.length ) throw new RangeError(\"Malformed DER\");\n\n var tag = buf[ctx.pos++],\n len = buf[ctx.pos++];\n\n if ( len >= 0x80 ) {\n len &= 0x7f;\n if ( ctx.end - ctx.pos < len ) throw new RangeError(\"Malformed DER\");\n for ( var xlen = 0; len--; ) xlen <<= 8, xlen |= buf[ctx.pos++];\n len = xlen;\n }\n\n if ( ctx.end - ctx.pos < len ) throw new RangeError(\"Malformed DER\");\n\n var rv;\n\n switch ( tag ) {\n case 0x02: // Universal Primitive INTEGER\n rv = buf.subarray( ctx.pos, ctx.pos += len );\n break;\n case 0x03: // Universal Primitive BIT STRING\n if ( buf[ctx.pos++] ) throw new Error( \"Unsupported bit string\" );\n len--;\n case 0x04: // Universal Primitive OCTET STRING\n rv = new Uint8Array( buf.subarray( ctx.pos, ctx.pos += len ) ).buffer;\n break;\n case 0x05: // Universal Primitive NULL\n rv = null;\n break;\n case 0x06: // Universal Primitive OBJECT IDENTIFIER\n var oid = btoa( b2s( buf.subarray( ctx.pos, ctx.pos += len ) ) );\n if ( !( oid in oid2str ) ) throw new Error( \"Unsupported OBJECT ID \" + oid );\n rv = oid2str[oid];\n break;\n case 0x30: // Universal Constructed SEQUENCE\n rv = [];\n for ( var end = ctx.pos + len; ctx.pos < end; ) rv.push( b2der( buf, ctx ) );\n break;\n default:\n throw new Error( \"Unsupported DER tag 0x\" + tag.toString(16) );\n }\n\n return rv;\n }\n\n function der2b ( val, buf ) {\n if ( !buf ) buf = [];\n\n var tag = 0, len = 0,\n pos = buf.length + 2;\n\n buf.push( 0, 0 ); // placeholder\n\n if ( val instanceof Uint8Array ) { // Universal Primitive INTEGER\n tag = 0x02, len = val.length;\n for ( var i = 0; i < len; i++ ) buf.push( val[i] );\n }\n else if ( val instanceof ArrayBuffer ) { // Universal Primitive OCTET STRING\n tag = 0x04, len = val.byteLength, val = new Uint8Array(val);\n for ( var i = 0; i < len; i++ ) buf.push( val[i] );\n }\n else if ( val === null ) { // Universal Primitive NULL\n tag = 0x05, len = 0;\n }\n else if ( typeof val === 'string' && val in str2oid ) { // Universal Primitive OBJECT IDENTIFIER\n var oid = s2b( atob( str2oid[val] ) );\n tag = 0x06, len = oid.length;\n for ( var i = 0; i < len; i++ ) buf.push( oid[i] );\n }\n else if ( val instanceof Array ) { // Universal Constructed SEQUENCE\n for ( var i = 0; i < val.length; i++ ) der2b( val[i], buf );\n tag = 0x30, len = buf.length - pos;\n }\n else if ( typeof val === 'object' && val.tag === 0x03 && val.value instanceof ArrayBuffer ) { // Tag hint\n val = new Uint8Array(val.value), tag = 0x03, len = val.byteLength;\n buf.push(0); for ( var i = 0; i < len; i++ ) buf.push( val[i] );\n len++;\n }\n else {\n throw new Error( \"Unsupported DER value \" + val );\n }\n\n if ( len >= 0x80 ) {\n var xlen = len, len = 4;\n buf.splice( pos, 0, (xlen >> 24) & 0xff, (xlen >> 16) & 0xff, (xlen >> 8) & 0xff, xlen & 0xff );\n while ( len > 1 && !(xlen >> 24) ) xlen <<= 8, len--;\n if ( len < 4 ) buf.splice( pos, 4 - len );\n len |= 0x80;\n }\n\n buf.splice( pos - 2, 2, tag, len );\n\n return buf;\n }\n\n function CryptoKey ( key, alg, ext, use ) {\n Object.defineProperties( this, {\n _key: {\n value: key\n },\n type: {\n value: key.type,\n enumerable: true,\n },\n extractable: {\n value: (ext === undefined) ? key.extractable : ext,\n enumerable: true,\n },\n algorithm: {\n value: (alg === undefined) ? key.algorithm : alg,\n enumerable: true,\n },\n usages: {\n value: (use === undefined) ? key.usages : use,\n enumerable: true,\n },\n });\n }\n\n function isPubKeyUse ( u ) {\n return u === 'verify' || u === 'encrypt' || u === 'wrapKey';\n }\n\n function isPrvKeyUse ( u ) {\n return u === 'sign' || u === 'decrypt' || u === 'unwrapKey';\n }\n\n [ 'generateKey', 'importKey', 'unwrapKey' ]\n .forEach( function ( m ) {\n var _fn = _subtle[m];\n\n _subtle[m] = function ( a, b, c ) {\n var args = [].slice.call(arguments),\n ka, kx, ku;\n\n switch ( m ) {\n case 'generateKey':\n ka = alg(a), kx = b, ku = c;\n break;\n case 'importKey':\n ka = alg(c), kx = args[3], ku = args[4];\n if ( a === 'jwk' ) {\n b = b2jwk(b);\n if ( !b.alg ) b.alg = jwkAlg(ka);\n if ( !b.key_ops ) b.key_ops = ( b.kty !== 'oct' ) ? ( 'd' in b ) ? ku.filter(isPrvKeyUse) : ku.filter(isPubKeyUse) : ku.slice();\n args[1] = jwk2b(b);\n }\n break;\n case 'unwrapKey':\n ka = args[4], kx = args[5], ku = args[6];\n args[2] = c._key;\n break;\n }\n\n if ( m === 'generateKey' && ka.name === 'HMAC' && ka.hash ) {\n ka.length = ka.length || { 'SHA-1': 512, 'SHA-256': 512, 'SHA-384': 1024, 'SHA-512': 1024 }[ka.hash.name];\n return _subtle.importKey( 'raw', _crypto.getRandomValues( new Uint8Array( (ka.length+7)>>3 ) ), ka, kx, ku );\n }\n\n if ( isWebkit && m === 'generateKey' && ka.name === 'RSASSA-PKCS1-v1_5' && ( !ka.modulusLength || ka.modulusLength >= 2048 ) ) {\n a = alg(a), a.name = 'RSAES-PKCS1-v1_5', delete a.hash;\n return _subtle.generateKey( a, true, [ 'encrypt', 'decrypt' ] )\n .then( function ( k ) {\n return Promise.all([\n _subtle.exportKey( 'jwk', k.publicKey ),\n _subtle.exportKey( 'jwk', k.privateKey ),\n ]);\n })\n .then( function ( keys ) {\n keys[0].alg = keys[1].alg = jwkAlg(ka);\n keys[0].key_ops = ku.filter(isPubKeyUse), keys[1].key_ops = ku.filter(isPrvKeyUse);\n return Promise.all([\n _subtle.importKey( 'jwk', keys[0], ka, true, keys[0].key_ops ),\n _subtle.importKey( 'jwk', keys[1], ka, kx, keys[1].key_ops ),\n ]);\n })\n .then( function ( keys ) {\n return {\n publicKey: keys[0],\n privateKey: keys[1],\n };\n });\n }\n\n if ( ( isWebkit || ( isIE && ( ka.hash || {} ).name === 'SHA-1' ) )\n && m === 'importKey' && a === 'jwk' && ka.name === 'HMAC' && b.kty === 'oct' ) {\n return _subtle.importKey( 'raw', s2b( a2s(b.k) ), c, args[3], args[4] );\n }\n\n if ( isWebkit && m === 'importKey' && ( a === 'spki' || a === 'pkcs8' ) ) {\n return _subtle.importKey( 'jwk', pkcs2jwk(b), c, args[3], args[4] );\n }\n\n if ( isIE && m === 'unwrapKey' ) {\n return _subtle.decrypt( args[3], c, b )\n .then( function ( k ) {\n return _subtle.importKey( a, k, args[4], args[5], args[6] );\n });\n }\n\n var op;\n try {\n op = _fn.apply( _subtle, args );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n if ( isIE ) {\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) { rej(e) };\n op.oncomplete = function ( r ) { res(r.target.result) };\n });\n }\n\n op = op.then( function ( k ) {\n if ( ka.name === 'HMAC' ) {\n if ( !ka.length ) ka.length = 8 * k.algorithm.length;\n }\n if ( ka.name.search('RSA') == 0 ) {\n if ( !ka.modulusLength ) ka.modulusLength = (k.publicKey || k).algorithm.modulusLength;\n if ( !ka.publicExponent ) ka.publicExponent = (k.publicKey || k).algorithm.publicExponent;\n }\n if ( k.publicKey && k.privateKey ) {\n k = {\n publicKey: new CryptoKey( k.publicKey, ka, kx, ku.filter(isPubKeyUse) ),\n privateKey: new CryptoKey( k.privateKey, ka, kx, ku.filter(isPrvKeyUse) ),\n };\n }\n else {\n k = new CryptoKey( k, ka, kx, ku );\n }\n return k;\n });\n\n return op;\n }\n });\n\n [ 'exportKey', 'wrapKey' ]\n .forEach( function ( m ) {\n var _fn = _subtle[m];\n\n _subtle[m] = function ( a, b, c ) {\n var args = [].slice.call(arguments);\n\n switch ( m ) {\n case 'exportKey':\n args[1] = b._key;\n break;\n case 'wrapKey':\n args[1] = b._key, args[2] = c._key;\n break;\n }\n\n if ( ( isWebkit || ( isIE && ( b.algorithm.hash || {} ).name === 'SHA-1' ) )\n && m === 'exportKey' && a === 'jwk' && b.algorithm.name === 'HMAC' ) {\n args[0] = 'raw';\n }\n\n if ( isWebkit && m === 'exportKey' && ( a === 'spki' || a === 'pkcs8' ) ) {\n args[0] = 'jwk';\n }\n\n if ( isIE && m === 'wrapKey' ) {\n return _subtle.exportKey( a, b )\n .then( function ( k ) {\n if ( a === 'jwk' ) k = s2b( unescape( encodeURIComponent( JSON.stringify( b2jwk(k) ) ) ) );\n return _subtle.encrypt( args[3], c, k );\n });\n }\n\n var op;\n try {\n op = _fn.apply( _subtle, args );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n if ( isIE ) {\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) { rej(e) };\n op.oncomplete = function ( r ) { res(r.target.result) };\n });\n }\n\n if ( m === 'exportKey' && a === 'jwk' ) {\n op = op.then( function ( k ) {\n if ( ( isWebkit || ( isIE && ( b.algorithm.hash || {} ).name === 'SHA-1' ) )\n && b.algorithm.name === 'HMAC') {\n return { 'kty': 'oct', 'alg': jwkAlg(b.algorithm), 'key_ops': b.usages.slice(), 'ext': true, 'k': s2a( b2s(k) ) };\n }\n k = b2jwk(k);\n if ( !k.alg ) k['alg'] = jwkAlg(b.algorithm);\n if ( !k.key_ops ) k['key_ops'] = ( b.type === 'public' ) ? b.usages.filter(isPubKeyUse) : ( b.type === 'private' ) ? b.usages.filter(isPrvKeyUse) : b.usages.slice();\n return k;\n });\n }\n\n if ( isWebkit && m === 'exportKey' && ( a === 'spki' || a === 'pkcs8' ) ) {\n op = op.then( function ( k ) {\n k = jwk2pkcs( b2jwk(k) );\n return k;\n });\n }\n\n return op;\n }\n });\n\n [ 'encrypt', 'decrypt', 'sign', 'verify' ]\n .forEach( function ( m ) {\n var _fn = _subtle[m];\n\n _subtle[m] = function ( a, b, c, d ) {\n if ( isIE && ( !c.byteLength || ( d && !d.byteLength ) ) )\n throw new Error(\"Empy input is not allowed\");\n\n var args = [].slice.call(arguments),\n ka = alg(a);\n\n if ( isIE && m === 'decrypt' && ka.name === 'AES-GCM' ) {\n var tl = a.tagLength >> 3;\n args[2] = (c.buffer || c).slice( 0, c.byteLength - tl ),\n a.tag = (c.buffer || c).slice( c.byteLength - tl );\n }\n\n args[1] = b._key;\n\n var op;\n try {\n op = _fn.apply( _subtle, args );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n if ( isIE ) {\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) {\n rej(e);\n };\n\n op.oncomplete = function ( r ) {\n var r = r.target.result;\n\n if ( m === 'encrypt' && r instanceof AesGcmEncryptResult ) {\n var c = r.ciphertext, t = r.tag;\n r = new Uint8Array( c.byteLength + t.byteLength );\n r.set( new Uint8Array(c), 0 );\n r.set( new Uint8Array(t), c.byteLength );\n r = r.buffer;\n }\n\n res(r);\n };\n });\n }\n\n return op;\n }\n });\n\n if ( isIE ) {\n var _digest = _subtle.digest;\n\n _subtle['digest'] = function ( a, b ) {\n if ( !b.byteLength )\n throw new Error(\"Empy input is not allowed\");\n\n var op;\n try {\n op = _digest.call( _subtle, a, b );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) { rej(e) };\n op.oncomplete = function ( r ) { res(r.target.result) };\n });\n\n return op;\n };\n\n global.crypto = Object.create( _crypto, {\n getRandomValues: { value: function ( a ) { return _crypto.getRandomValues(a) } },\n subtle: { value: _subtle },\n });\n\n global.CryptoKey = CryptoKey;\n }\n\n if ( isWebkit ) {\n _crypto.subtle = _subtle;\n\n global.Crypto = _Crypto;\n global.SubtleCrypto = _SubtleCrypto;\n global.CryptoKey = CryptoKey;\n }\n}));\n\n export default {} // section modified by isomorphic-webcrypto build \n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(\"./src/entry/browser.ts\");\n",""],"names":["exports","formatArgs","save","load","useColors","storage","localstorage","destroy","warned","console","warn","colors","window","process","type","__nwjs","navigator","userAgent","toLowerCase","match","m","document","documentElement","style","WebkitAppearance","firebug","exception","table","parseInt","args","namespace","module","humanize","diff","c","color","splice","index","lastC","replace","log","debug","namespaces","setItem","removeItem","error","r","getItem","env","DEBUG","localStorage","require","formatters","j","v","JSON","stringify","message","setup","createDebug","default","coerce","disable","enable","enabled","Object","keys","forEach","key","names","skips","selectColor","hash","i","length","charCodeAt","Math","abs","prevTime","enableOverride","namespacesCache","enabledCache","_len","arguments","Array","_key","self","curr","Number","Date","ms","prev","unshift","format","formatter","val","call","logFn","apply","extend","defineProperty","enumerable","configurable","get","set","init","delimiter","newDebug","split","len","push","RegExp","slice","concat","_toConsumableArray2","map","toNamespace","join","name","test","regexp","toString","substring","Error","stack","lib_1","strings_1","settings_1","_ref","FHIRCLIENT_PURE","Response","contextualize","_x","_x2","_contextualize","_asyncToGenerator2","_regenerator","mark","_callee9","requestOptions","client","base","contextualURL","_contextualURL","wrap","_callee9$","_context9","next","_contextualURL3","_callee8","_url","resourceType","conformance","searchParam","_callee8$","_context8","pathname","pop","assert","patientCompartment","indexOf","fetchConformanceStatement","state","serverUrl","sent","getPatientParam","searchParams","patient","id","abrupt","href","stop","_contextualURL2","_x9","absolute","URL","t0","url","getRef","refId","cache","signal","headers","request","then","res","Promise","resolve","resolveRef","obj","path","graph","node","getPath","isArray","all","makeArray","filter","Boolean","item","ref","reference","sub","setPath","catch","ex","status","resolveRefs","fhirOptions","paths","resolveReferences","String","trim","p","groups","task","sort","group","Client","environment","_this","_classCallCheck2","units","_state","_refreshTask","getPatientId","read","_objectSpread","reject","undefined","_callee","options","_callee$","_context","encounter","getEncounterId","user","fhirUser","getFhirUser","getUserId","getUserType","connect","fhir","_createClass2","value","fhirJs","baseUrl","accessToken","getState","auth","token","_this$state","username","password","pass","api","patientId","tokenResponse","scope","noScopeForId","authorizeUri","noIfNoAuth","noFreeContext","getIdToken","idToken","id_token","hasOpenid","hasProfile","hasFhirUser","jwtDecode","profile","getAuthorizationHeader","_this$state2","btoa","_clearState2","_callee2","_callee2$","_context2","getStorage","SMART_KEY","unset","_clearState","create","resource","method","body","update","delete","_patch2","_callee3","patch","_args3","_callee3$","_context3","assertJsonPatch","_x3","_x4","_request","_callee7","_this2","_resolvedRefs","_a","debugRequest","job","response","_args7","_callee7$","_context7","flat","pageLimit","useRefreshToken","onPage","refreshIfNeeded","authHeader","authorization","result","includeResponse","_ref3","_callee4","_callee4$","_context4","expired","_x6","data","_ref4","_callee5","_data","_callee5$","_context5","entry","_x7","_ref5","_callee6","links","nextPage","_callee6$","_context6","link","find","l","relation","assign","references","_x8","_x5","refreshToken","expiresAt","now","refresh","_this3","debugRefresh","_b","refresh_token","tokenUri","scopes","hasOfflineAccess","search","hasOnlineAccess","encodeURIComponent","refreshTokenWithClientId","clientId","refreshRequestOptions","credentials","refreshTokenWithCredentials","mode","_this$state3","clientSecret","access_token","getAccessTokenExpiration","finally","byCode","observations","property","byCodes","getFhirVersion","metadata","fhirVersion","getFhirRelease","fhirVersions","HttpError","_Error","_callSuper","statusText","statusCode","_inherits2","_parse","_body","bodyUsed","json","error_description","text","parse","toJSON","_wrapNativeSuper2","smart_1","Client_1","BrowserStorage_1","security","js_base64_1","BrowserAdapter","_storage","replaceBrowserHistory","fullSessionStorageSupport","relative","getUrl","location","redirect","to","getAbortController","AbortController","atob","str","base64urlencode","input","encodeURL","fromUint8Array","base64urldecode","decode","getSmartApi","ready","authorize","utils","BrowserAdapter_1","adapter","_adapter$getSmartApi","fetch","Headers","Request","FHIR","oauth2","settings","_interopRequireDefault","_defineProperty2","_objectWithoutProperties2","_typeof2","_excluded","ownKeys","e","t","getOwnPropertySymbols","o","getOwnPropertyDescriptor","getOwnPropertyDescriptors","defineProperties","HttpError_1","_debug","cm","_ref2","code","ensureNumerical","kg","any","pq","checkResponse","_checkResponse","resp","ok","responseToJSON","loweCaseKeys","out","lowerKey","accept","getAndCache","force","NODE_ENV","segments","shift","createEmpty","reduce","idx","arr","arg","randomString","strLength","charSet","charAt","floor","random","payload","getTimeInFuture","secondsAhead","from","expires_in","tokenBody","exp","ret","handleCodeableConcept","concept","observation","coding","_ref6","bank","codes","resources","meta","x","patientParams","getTargetWindow","_getTargetWindow","target","width","height","targetWindow","_error","_targetWindow","winOrFrame","_args2","parent","top","open","screen","t1","frames","condition","operation","op","crypto","globalThis","subtle","isSecureContext","ALGS","ES384","namedCurve","RS384","modulusLength","publicExponent","Uint8Array","randomBytes","count","getRandomValues","digestSha256","_digestSha","prepared","TextEncoder","encode","digest","generatePKCEChallenge","entropy","inputBytes","codeVerifier","codeChallenge","_args","importJWK","_importJWK","jwk","alg","key_ops","includes","importKey","ext","signCompactJws","_signCompactJws","privateKey","header","jwtHeader","jwtPayload","jwtAuthenticatedContent","signature","sign","algorithm","isBrowser","fetchWellKnownJson","getSecurityExtensionsFromWellKnownJson","authorization_endpoint","token_endpoint","registrationUri","registration_endpoint","codeChallengeMethods","code_challenge_methods_supported","getSecurityExtensionsFromConformanceStatement","nsUri","extensions","extension","valueUri","getSecurityExtensions","_authorize","params","urlISS","cfg","fakeTokenResponse","encounterId","pkceMode","clientPublicKeySetUrl","redirect_uri","client_id","iss","launch","fhirServiceUrl","redirectUri","noRedirect","_params$scope","completeInTarget","clientPrivateJwk","stateKey","inFrame","inPopUp","oldKey","redirectUrl","redirectParams","win","issMatch","isInFrame","isInPopUp","shouldIncludeChallenge","sessionStorage","addEventListener","onMessage","S256supported","opener","origin","removeEventListener","_ready","Storage","authError","authErrorDescription","hasState","authorized","postMessage","close","has","history","replaceState","buildTokenRequest","_buildTokenRequest","pk","jwtHeaders","jwtClaims","clientAssertion","typ","kid","jku","aud","jti","_init","authorizeOptions","readyOptions","cached","_get","_set","_unset"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"fhir-client.js","mappings":";;;;;;;;;AAAA;AACA,EAAE,KAA0C,GAAG,oCAAO,OAAO;AAAA;AAAA;AAAA;AAAA,kGAAC;AAC9D,EAAE,CAAS;AACX,CAAC,iBAAiB;;AAElB;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB,kBAAkB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,kFAAkF;AAClF;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB;AACjB;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;AAEA,0CAA0C,OAAO;AACjD;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,gDAAgD,OAAO;AACvD;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA,GAAG;;AAEH;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;;;AAGA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG,uCAAuC,qBAAM;;AAEhD,CAAC;;;;;;;;;;;;;;;;;;AC/XD;;AAEA;AACA;AACA;;AAEAA,kBAAkB,GAAGC,UAAU;AAC/BD,YAAY,GAAGE,IAAI;AACnBF,YAAY,GAAGG,IAAI;AACnBH,iBAAiB,GAAGI,SAAS;AAC7BJ,eAAe,GAAGM,YAAY,CAAC,CAAC;AAChCN,eAAe,GAAI,YAAM;EACxB,IAAIQ,MAAM,GAAG,KAAK;EAElB,OAAO,YAAM;IACZ,IAAI,CAACA,MAAM,EAAE;MACZA,MAAM,GAAG,IAAI;MACbC,OAAO,CAACC,IAAI,CAAC,uIAAuI,CAAC;IACtJ;EACD,CAAC;AACF,CAAC,CAAE,CAAC;;AAEJ;AACA;AACA;;AAEAV,cAAc,GAAG,CAChB,SAAS,EA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CA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,MAAM;AACN;AACA;AACA,OAAO;AACP,MAAM;AACN;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA;AACA;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA,uDAAuD;AACvD,UAAU;AACV;AACA,UAAU;AACV,8EAA8E;AAC9E;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,8BAA8B,qBAAqB;AACnD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,uCAAuC,0BAA0B;AACjE;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,+BAA+B,0BAA0B,eAAe;AACxE;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iDAAiD,aAAa;;AAE9D;;AAEA,CAAC,IAAI;AACL,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA,kBAAe;AACf,aAAa,mCAAmC,OAAO;AACvD,eAAe;AACf,eAAe;AACf,gBAAgB;AAChB;;;;;;;;;;;ACziBA;AACA;AACA;AACA;AACA;AACA,IAAI,KAA4D;AAChE;AACA,UAAU,CAeM;AAChB,CAAC;AACD;AACA,iBAAiB,qBAAM,mBAAmB,qBAAM;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA,KAAK;AACL,mCAAmC,EAAE,oBAAoB,EAAE,sBAAsB,EAAE;AACnF;AACA;AACA;AACA,0BAA0B;AAC1B,sCAAsC;AACtC,6DAA6D,+BAA+B;AAC5F,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,eAAe;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,QAAQ;AACzB;AACA,8DAA8D;AAC9D,wCAAwC;AACxC;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA,4CAA4C,OAAO;AACnD;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,QAAQ;AACzB;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,QAAQ;AACzB;AACA,8BAA8B;AAC9B;AACA;AACA,yBAAyB;AACzB;AACA,6BAA6B;AAC7B,6BAA6B;AAC7B;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,QAAQ;AACzB;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA,qCAAqC;AACrC;AACA;AACA;AACA,iEAAiE,EAAE,wBAAwB,EAAE;AAC7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,QAAQ;AACzB;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,eAAe;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,QAAQ;AACzB;AACA,8DAA8D;AAC9D,wCAAwC;AACxC;AACA;AACA;AACA,yBAAyB;AACzB,yBAAyB,sDAAsD,yBAAyB;AACxG;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA,yBAAyB;AACzB;AACA,6BAA6B;AAC7B,6BAA6B;AAC7B,gCAAgC,mDAAmD,+BAA+B;AAClH;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,QAAQ;AACzB;AACA,kCAAkC;AAClC;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA,mDAAmD,IAAI;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C,yCAAyC,sBAAsB;AAC/D,8CAA8C,+BAA+B;AAC7E,0CAA0C,4BAA4B;AACtE,0CAA0C,4BAA4B;AACtE,2CAA2C,4BAA4B;AACvE;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C,8CAA8C,uCAAuC;AACrF,0CAA0C,oCAAoC;AAC9E,0CAA0C,oCAAoC;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA,gDAAgD,wCAAwC;AACxF;AACA,CAAC;;;;;;;;;;;ACzTD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B,WAAW,QAAQ;AACnB,YAAY,OAAO;AACnB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;ACjKA;AACA;AACA,gCAAgC,OAAO;AACvC;AACA;AACA,oCAAoC,yBAAyB,SAAS,yBAAyB;;;;;;;;;;ACL/F,uBAAuB,mBAAO,CAAC,wFAAuB;AACtD;AACA;AACA;AACA,qCAAqC,yBAAyB,SAAS,yBAAyB;;;;;;;;;;ACJhG;AACA;AACA;AACA;AACA,yCAAyC,yBAAyB,SAAS,yBAAyB;;;;;;;;;;ACJpG;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,oCAAoC,yBAAyB,SAAS,yBAAyB;;;;;;;;;;ACzB/F;AACA;AACA;AACA,kCAAkC,yBAAyB,SAAS,yBAAyB;;;;;;;;;;ACH7F,+BAA+B,mBAAO,CAAC,wGAA+B;AACtE,qBAAqB,mBAAO,CAAC,oFAAqB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,yBAAyB,SAAS,yBAAyB;;;;;;;;;;ACTxF,oBAAoB,mBAAO,CAAC,kFAAoB;AAChD;AACA,kBAAkB,cAAc;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,+BAA+B,yBAAyB,SAAS,yBAAyB;;;;;;;;;;ACZ1F,oBAAoB,mBAAO,CAAC,kFAAoB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,kCAAkC,yBAAyB,SAAS,yBAAyB;;;;;;;;;;ACT7F;AACA;AACA;AACA,GAAG,EAAE,yBAAyB,SAAS,yBAAyB;AAChE;AACA,kCAAkC,yBAAyB,SAAS,yBAAyB;;;;;;;;;;ACL7F,qBAAqB,mBAAO,CAAC,oFAAqB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,4BAA4B,yBAAyB,SAAS,yBAAyB;;;;;;;;;;ACbvF;AACA;AACA;AACA;AACA;AACA,yCAAyC,yBAAyB,SAAS,yBAAyB;;;;;;;;;;ACLpG;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,oCAAoC,yBAAyB,SAAS,yBAAyB;;;;;;;;;;ACP/F;AACA;AACA,yFAAyF;AACzF,IAAI;AACJ;AACA;AACA,GAAG,EAAE,yBAAyB,SAAS,yBAAyB;AAChE;AACA,4CAA4C,yBAAyB,SAAS,yBAAyB;;;;;;;;;;ACRvG;AACA;AACA;AACA,mCAAmC,yBAAyB,SAAS,yBAAyB;;;;;;;;;;ACH9F;AACA;AACA;AACA,qCAAqC,yBAAyB,SAAS,yBAAyB;;;;;;;;;;ACHhG,mCAAmC,mBAAO,CAAC,gHAAmC;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,cAAc,kCAAkC;AAChE;AACA;AACA;AACA,2CAA2C,yBAAyB,SAAS,yBAAyB;;;;;;;;;;ACZtG;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA,gDAAgD,yBAAyB,SAAS,yBAAyB;;;;;;;;;;ACT3G,cAAc,sGAAiC;AAC/C,4BAA4B,mBAAO,CAAC,kGAA4B;AAChE;AACA;AACA;AACA;AACA;AACA,6CAA6C,yBAAyB,SAAS,yBAAyB;;;;;;;;;;ACPxG,cAAc,sGAAiC;AAC/C;AACA,gBAAgB;AAChB;AACA;AACA,GAAG,EAAE,yBAAyB,SAAS,yBAAyB;AAChE;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,KAAK;AACL,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,aAAa;AACb,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D;AAC1D;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,eAAe;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,QAAQ;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,+CAA+C,QAAQ;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA,+CAA+C,QAAQ;AACvD;AACA;AACA;AACA,KAAK;AACL;AACA,+CAA+C,QAAQ;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG;AACH;AACA,sCAAsC,yBAAyB,SAAS,yBAAyB;;;;;;;;;;AC/SjG;AACA;AACA;AACA,GAAG,EAAE,yBAAyB,SAAS,yBAAyB;AAChE;AACA,kCAAkC,yBAAyB,SAAS,yBAAyB;;;;;;;;;;ACL7F,wBAAwB,mBAAO,CAAC,0FAAwB;AACxD,sBAAsB,mBAAO,CAAC,sFAAsB;AACpD,iCAAiC,mBAAO,CAAC,4GAAiC;AA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EA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,QAAQ,iBAAiB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,gBAAgB;AACxB;AACA;AACA;AACA;AACA;AACA,QAAQ,gBAAgB;AACxB,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AChMa;AACb,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,kBAAkB,mBAAO,CAAC,qGAAoC;AAC9D,kBAAkB,mBAAO,CAAC,iFAA0B;AACpD,0BAA0B,mBAAO,CAAC,mHAA2C;AAC7E,mBAAmB,mBAAO,CAAC,qFAA4B;AACvD,kCAAkC,mBAAO,CAAC,uHAA6C;AACvF,4BAA4B,mBAAO,CAAC,2GAAuC;AAC3E,qBAAqB,mBAAO,CAAC,2FAA+B;AAC5D,YAAY,mBAAO,CAAC,qEAAoB;AACxC,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,0BAA0B,mBAAO,CAAC,uGAAqC;AACvE,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,cAAc,mBAAO,CAAC,2EAAuB;AAC7C,aAAa,mBAAO,CAAC,iFAA0B;AAC/C,cAAc,mBAAO,CAAC,yEAAsB;AAC5C,qBAAqB,mBAAO,CAAC,yGAAsC;AACnE,qBAAqB,mBAAO,CAAC,yGAAsC;AACnE,gBAAgB,mBAAO,CAAC,+EAAyB;AACjD,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,wBAAwB,mBAAO,CAAC,iGAAkC;AAClE,gCAAgC,mBAAO,CAAC,iHAA0C;AAClF,qBAAqB,mBAAO,CAAC,6FAAgC;AAC7D,0BAA0B,mBAAO,CAAC,uFAA6B;;AAE/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,WAAW;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH,EAAE;AACF;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,G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;;;;;;;;;;ACNa;AACb,iBAAiB,mBAAO,CAAC,mFAA2B;;AAEpD;;;;;;;;;;;;ACHa;AACb,kBAAkB,mBAAO,CAAC,iFAA0B;AACpD,YAAY,mBAAO,CAAC,qEAAoB;AACxC,oBAAoB,mBAAO,CAAC,yGAAsC;;AAElE;AACA;AACA;AACA;AACA,uBAAuB;AACvB,GAAG;AACH,CAAC;;;;;;;;;;;;ACXY;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;ACtGa;AACb,kBAAkB,mBAAO,CAAC,qGAAoC;AAC9D,YAAY,mBAAO,CAAC,qEAAoB;AACxC,cAAc,mBAAO,CAAC,iFAA0B;;AAEhD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,EAAE;;;;;;;;;;;;ACfW;AACb,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,qBAAqB,mBAAO,CAAC,yGAAsC;;AAEnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AClBa;AACb,kBAAkB,mBAAO,CAAC,qGAAoC;AAC9D,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,YAAY,mBA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AAC,iFAA0B;AACnD,WAAW,mBAAO,CAAC,mEAAmB;AACtC,4BAA4B,mBAAO,CAAC,yGAAsC;AAC1E,gBAAgB,mBAAO,CAAC,+EAAyB;;AAEjD;AACA;AACA;AACA;AACA;;AAEA,qCAAqC;;AAErC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,gBAAgB;AACpB;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;;;;;;;;;;;ACpFa;AACb,kBAAkB,mBAAO,CAAC,iFAA0B;AACpD,8BAA8B,mBAAO,CAAC,yGAAsC;AAC5E,2BAA2B,mBAAO,CAAC,uGAAqC;AACxE,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,sBAAsB,mBAAO,CAAC,6FAAgC;AAC9D,iBAAiB,mBAAO,CAAC,iFAA0B;;AAEnD;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACpBa;AACb,kBAAkB,mBAAO,CAAC,iFAA0B;AACpD,qBAAqB,mBAAO,CAAC,uFAA6B;AAC1D,8BAA8B,mBAAO,CAAC,yGAAsC;AAC5E,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,oBAAoB,mBAAO,CAAC,yFAA8B;;AAE1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,IAAI,gBAAgB;AACpB;AACA;AACA;AACA;;;;;;;;;;;;AC3Ca;AACb,kBAAkB,mBAAO,CAAC,iFAA0B;AACpD,WAAW,mBAAO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AAkF;;AAElF;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACdY;AACb,YAAY,mBAAO,CAAC,mFAA2B;;AAE/C;AACA,gDAAgD;AAChD;;;;;;;;;;;;ACLa;AACb,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,mBAAmB,mBAAO,CAAC,qFAA4B;AACvD,wBAAwB,mBAAO,CAAC,mGAAmC;AACnE,sBAAsB,mBAAO,CAAC,6FAAgC;;AAE9D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACda;AACb,YAAY,mBAAO,CAAC,qEAAoB;;AAExC;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;ACVa;AACb,kBAAkB,mBAAO,CAAC,qGAAoC;AAC9D,0BAA0B,mBAAO,CAAC,uGAAqC;AACvE,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,6BAA6B,mBAAO,CAAC,2GAAuC;;AAE5E;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACpCa;AACb;AACA,kBAAkB,mBAAO,CAAC,qGAAoC;;AAE9D,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB,qBAAqB;AACrB,oCAAoC;AACpC,gDAAgD;AAChD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA,QAAQ;AACR,wCAAwC;AACxC;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,kBAAkB;AAChC;AACA;AACA;AACA;AACA;;AAEA,mCAAmC;AACnC,oCAAoC;;AAEpC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB,kBAAkB;AAClC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,gBAAgB,kBAAkB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,mBAAmB;AACjC;AACA;AACA;AACA;AACA;;;;;;;;;;;;ACpLa;AACb,2BAA2B,mHAA4C;AACvE,YAAY,mBAAO,CAAC,qEAAoB;AACxC,kBAAkB,mBAAO,CAAC,iFAA0B;;AAEpD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;;;;;;;;;;;ACfa;AACb,kBAAkB,mBAAO,CAAC,qGAAoC;AAC9D,6BAA6B,mBAAO,CAAC,2GAAuC;AAC5E,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,kBAAkB,mBAAO,CAAC,iFAA0B;;AAEpD;AACA;AACA;;AAEA,uBAAuB,+CAA+C;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB,qBAAqB;AAC9C;AACA;AACA,yBAAyB,oBAAoB;AAC7C;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC9Ba;AACb;AACA,iBAAiB,mBAAO,CAAC,uGAAqC;AAC9D,YAAY,mBAAO,CAAC,qEAAoB;AACxC,iBAAiB,mBAAO,CAAC,iFAA0B;;AAEnD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;AClBY;AACb,WAAW,mBAAO,CAAC,qFAA4B;AAC/C,iBAAiB,mBAAO,CAAC,mFAA2B;AACpD,sBAAsB,mBAAO,CAAC,6FAAgC;AAC9D,oBAAoB,mBAAO,CAAC,yFAA8B;;AAE1D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,IAAI,UAAU;AACnB;AACA;;;;;;;;;;;;ACpBa;AACb,oBAAoB,mBAAO,CAAC,mHAA2C;;AAEvE;AACA;;;;;;;;;;;;ACJa;AACb,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,YAAY,mBAAO,CAAC,uFAA6B;AACjD,WAAW,mBAAO,CAAC,qGAAoC;AACvD,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,aAAa,mBAAO,CAAC,2FAA+B;AACpD,YAAY,mBAAO,CAAC,qEAAoB;AACxC,WAAW,mBAAO,CAAC,mEAAmB;AACtC,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,oBAAoB,mBAAO,CAAC,yGAAsC;AAClE,8BAA8B,mBAAO,CAAC,6GAAwC;AAC9E,aAAa,mBAAO,CAAC,+FAAiC;AACtD,cAAc,mBAAO,CAAC,iGAAkC;;AAExD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;ACpHa;AACb,kBAAkB,mBAAO,CAAC,qGAAoC;;AAE9D;AACA;AACA;;;;;;;;;;;;ACLa;AACb,0BAA0B,mBAAO,CAAC,uGAAqC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,mBAAO,CAAC,iGAAkC;;AAElE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAM,kEAAkE;AACxE;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA,UAAU;AACV;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO;;AAEP;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA,QAAQ,mFAAmF;;AAE3F;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,EAAE,oCAAoC;;;;;;;;;;;;AC3OzB;AACb;AACA,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,YAAY,mBAAO,CAAC,qEAAoB;AACxC,kCAAkC,mBAAO,CAAC,uHAA6C;AACvF,gCAAgC,wJAAwE;;AAExG;AACA;;AA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CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA,QAAQ;AACR,MAAM;AACN,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,eAAe;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,OAAO;AACP,MAAM;AACN;AACA;AACA;AACA;AACA,IAAI;AACJ,qBAAqB,aAAa;AAClC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,OAAO,IAAI,cAAc;AACzB;;AAEA;AACA;AACA;AACA,MAAM,gBAAgB;;AAEtB;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI,iFAAiF;AACrF;A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O,CAAC,2FAA+B;AAC5D,oBAAoB,mBAAO,CAAC,qGAAoC;AAChE,oBAAoB,mBAAO,CAAC,uFAA6B;AACzD,oBAAoB,mBAAO,CAAC,yFAA8B;AAC1D,YAAY,mBAAO,CAAC,qEAAoB;AACxC,aAAa,mBAAO,CAAC,2FAA+B;AACpD,2BAA2B,sHAA8C;AACzE,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,sBAAsB,mBAAO,CAAC,6FAAgC;AAC9D,0BAA0B,mBAAO,CAAC,+GAAyC;AAC3E,sBAAsB,mBAAO,CAAC,uGAAqC;;AAEnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,iBAAiB;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,iBAAiB;AAC1B;AACA;AACA;AACA,MAAM;AACN;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM,gBAAgB;;AAEtB;AACA;;AAEA,gEAAgE,oBAAoB;AACpF;AACA;;AAEA;AACA;AACA,uDAAuD,mBAAmB;AAC1E;;AAEA;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AAiB,mBAAO,CAAC,mGAAmC;AAC5D,sBAAsB,mBAAO,CAAC,6FAAgC;;AAE9D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB,oBAAoB;AAC1C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,mBAAmB;AAC3C;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;AC7IY;AACb,WAAW,mBAAO,CAAC,qFAA4B;AAC/C,oCAAoC,mBAAO,CAAC,+HAAiD;AAC7F,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,wBAAwB,mBAAO,CAAC,mGAAmC;AACnE,6BAA6B,mBAAO,CAAC,2GAAuC;AAC5E,gBAAgB,mBAAO,CAAC,+EAAyB;AACjD,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,gBAAgB,mBAAO,CAAC,+EAAyB;AACjD,iBAAiB,mBAAO,CAAC,mGAAmC;;AAE5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;;;;;;ACrCY;AACb,WAAW,mBAAO,CAAC,qFAA4B;AAC/C,kBAAkB,mBAAO,CAAC,qGAAoC;AAC9D,oCAAoC,mBAA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A;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA,oDAAoD,gDAAgD;AACpG,MAAM;AACN,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA,+EAA+E,iCAAiC;AAChH;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,sFAAsF,cAAc;AACpG;AACA;AACA;;AAEA,IAAI,2FAA2F;AAC/F;AACA,CAAC;;AAED;AACA;AACA,CAAC;;AAED,IAAI,oDAAoD;AACxD,2BAA2B,oBAAoB;AAC/C,2BAA2B;AAC3B,CAAC;;AAED,IAAI,0EAA0E;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED,IAAI,sDAAsD;AAC1D;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;;;;;;;;;ACtQa;AACb,QAAQ,mBAAO,CAAC,uEAAqB;AACrC,iBAAiB,mBAAO,CAAC,mFAA2B;AACpD,aAAa,mBAAO,CAAC,2FAA+B;AACpD,eAAe,mBAAO,CAAC,6EAAwB;AAC/C,aAAa,mBAAO,CAAC,uEAAqB;AAC1C,6BAA6B,mBAAO,CAAC,6GAAwC;;AAE7E;AACA;;AAEA;AACA;AACA,IAAI,+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ACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,6DAA6D;AACrF;AACA,MAAM;AACN,sBAAsB,yCAAyC;AAC/D;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,+CAA+C;AACzE;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,wBAAwB;AACnC;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,wBAAwB;AACnC;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,wBAAwB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,sBAAsB;AACtD;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,CAAC,IAAI,kBAAkB;;AAEvB;AACA,sFAAsF,iBAAiB;;AAEvG;AACA;AACA;AACA;AACA,CAAC,IAAI,kBAAkB;;AAEvB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,CAAC;;AAED;;AAEA,IAAI,0DAA0D;AAC9D;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iFAAiF;AACjF;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,MAAM;AACN;;AAEA;AACA,QAAQ,oEAAoE;AAC5E;AACA,8FAA8F;AAC9F;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,kGAAkG;AAClG;;AAEA;AACA;;AAEA,QAAQ,qEAAqE;AAC7E;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;AC9fa;AACb;AACA,mBAAO,CAAC,yHAA8C;;;;;;;;;;;;ACFzC;AACb;AACA,mBAAO,CAAC,2FAA+B;AACvC,QAAQ,mBAAO,CAAC,uEAAqB;AACrC,kBAAkB,mBAAO,CAAC,iFAA0B;AACpD,qBAAqB,mBAAO,CAAC,6GAAwC;AACrE,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,WAAW,mBAAO,CAAC,qGAAoC;AACvD,kBAAkB,mBAAO,CAAC,qGAAoC;AAC9D,oBAAoB,mBAAO,CAAC,yFAA8B;AAC1D,4BAA4B,mBAAO,CAAC,2GAAuC;AAC3E,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,aAAa,mBAAO,CAAC,2FAA+B;AACpD,aAAa,mBAAO,CAAC,qFAA4B;AACjD,gBAAgB,mBAAO,CAAC,+EAAyB;AACjD,iBAAiB,mBAAO,CAAC,iFAA0B;AACnD,aAAa,yHAA+C;AAC5D,cAAc,mBAAO,CAAC,2GAAuC;AAC7D,gBAAgB,mBAAO,CAAC,6EAAwB;AAChD,qBAAqB,mBAAO,CAAC,6FAAgC;AAC7D,8BAA8B,mBAAO,CAAC,6GAAwC;AAC9E,4BAA4B,mBAAO,CAAC,yHAA8C;AAClF,0BAA0B,mBAAO,CAAC,uFAA6B;;AAE/D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,qBAAqB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,kBAAkB,qBAAqB;AACvC;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,kBAAkB,wBAAwB;AAC1C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,WAAW;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB,WAAW;AAC/B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oBAAoB,WAAW;AAC/B;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,wCAAwC;AACxC;AACA,CAAC;AACD,oCAAoC;AACpC,oBAAoB,QAAQ;AAC5B,CAAC;AACD,wCAAwC;AACxC,oBAAoB;AACpB,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA,cAAc;AACd;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA,YAAY;AACZ;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA;AACA;AACA,4BAA4B,6BAA6B;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,YAAY;AACZ;AACA;AACA,YAAY;AACZ;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,cAAc;AACd;AACA;AACA,kDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,YAAY;AACZ;AACA,YAAY;;AAEZ;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,YAAY;AACZ;AACA,YAAY;;AAEZ;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,YAAY;;AAEZ;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,sBAAsB,2BAA2B;AACjD;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC,IAAI,kBAAkB;;AAEvB;AACA;AACA;AACA;AACA,CAAC,IAAI,kBAAkB;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,IAAI,8EAA8E;AAClF;AACA,CAAC;;;;;;;;;;;;ACzhCY;AACb;AACA,mBAAO,CAAC,6FAAgC;;;;;;;;;;;;ACF3B;AACb,QAAQ,mBAAO,CAAC,uEAAqB;AACrC,WAAW,mBAAO,CAAC,qFAA4B;;AAE/C;AACA;AACA,IAAI,8CAA8C;AAClD;AACA;AACA;AACA,CAAC;;;;;;;;;;;;;ACV4B;AAC7B,+DAAe,aAAa;;;;;;;;;;;;ACD5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,MAAM;AACN;AACA;AACA,MAAM;AACN;AACA;AACA,CAAC,sCAAsC,SAAI;AAC3C;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,yBAAyB,cAAc;AACvC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS,yBAAyB;AAClC;;AAEA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA,+FAA+F,8BAA8B;AAC7H;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,yDAAyD;AACzD,oBAAoB;AACpB;AACA;AACA;AACA;AACA,2CAA2C;AAC3C,iCAAiC,mBAAmB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,oBAAoB;AACrD;AACA;AACA;AACA;AACA,4FAA4F;AAC5F;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,kDAAkD;AAClD;AACA;;AAEA,oBAAoB,wCAAwC;AAC5D,oBAAoB;;AAEpB;AACA;AACA,4BAA4B;;AAE5B;;AAEA;AACA;;AAEA;AACA;AACA;AACA,gCAAgC,OAAO;AACvC;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,eAAe;AAC9D;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,0BAA0B;;AAE1B,4CAA4C;AAC5C;AACA,6BAA6B,SAAS;AACtC;AACA,iDAAiD;AACjD;AACA,6BAA6B,SAAS;AACtC;AACA,mCAAmC;AACnC;AACA;AACA,gEAAgE;AAChE;AACA;AACA,6BAA6B,SAAS;AACtC;AACA,2CAA2C;AAC3C,6BAA6B,gBAAgB;AAC7C;AACA;AACA,sGAAsG;AACtG;AACA,yBAAyB,iBAAiB,SAAS;AACnD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,+CAA+C,gEAAgE;AAC/G;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;;AAEA,6DAA6D;AAC7D;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yDAAyD;AACzD,yDAAyD;AACzD,qBAAqB;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,SAAS;;AAET;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,sEAAsE;AACtE;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yDAAyD;AACzD,yDAAyD;AACzD,qBAAqB;AACrB;;AAEA;AACA;AACA,8EAA8E;AAC9E;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;AACA;AACA,SAAS;;AAET;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB;AACrB;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iDAAiD;AACjD,iDAAiD;AACjD,aAAa;;AAEb;AACA;;AAEA;AACA,+BAA+B,wBAAwB,qCAAqC;AAC5F,+BAA+B,gBAAgB;AAC/C,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED,CAAC,sEAAe,EAAE,GAAC;;;;;;;UCnmBnB;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,GAAG;WACH;WACA;WACA,CAAC;;;;;UEPD;UACA;UACA;UACA","sources":["webpack://FHIR/./node_modules/abortcontroller-polyfill/dist/abortcontroller-polyfill-only.js","webpack://FHIR/./node_modules/debug/src/browser.js","webpack://FHIR/./node_modules/debug/src/common.js","webpack://FHIR/./src/Client.ts","webpack://FHIR/./src/HttpError.ts","webpack://FHIR/./src/adapters/BrowserAdapter.ts","webpack://FHIR/./src/entry/browser.ts","webpack://FHIR/./src/lib.ts","webpack://FHIR/./src/security/browser.ts","webpack://FHIR/./src/settings.ts","webpack://FHIR/./src/smart.ts","webpack://FHIR/./src/storage/BrowserStorage.ts","webpack://FHIR/./src/strings.ts","webpack://FHIR/./node_modules/cross-fetch/dist/browser-ponyfill.js","webpack://FHIR/./node_modules/js-base64/base64.js","webpack://FHIR/./node_modules/ms/index.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/asyncToGenerator.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/classCallCheck.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/construct.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/createClass.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/defineProperty.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/getPrototypeOf.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/inherits.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/isNativeFunction.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/objectWithoutProperties.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/toPrimitive.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/toPropertyKey.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/typeof.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/wrapNativeSuper.js","webpack://FHIR/./node_modules/@babel/runtime/regenerator/index.js","webpack://FHIR/./node_modules/core-js/internals/a-callable.js","webpack://FHIR/./node_modules/core-js/internals/a-constructor.js","webpack://FHIR/./node_modules/core-js/internals/a-possible-prototype.js","webpack://FHIR/./node_modules/core-js/internals/add-to-unscopables.js","webpack://FHIR/./node_modules/core-js/internals/advance-string-index.js","webpack://FHIR/./node_modules/core-js/internals/an-instance.js","webpack://FHIR/./node_modules/core-js/internals/an-object.js","webpack://FHIR/./node_modules/core-js/internals/array-buffer-basic-detection.js","webpack://FHIR/./node_modules/core-js/internals/array-buffer-view-core.js","webpack://FHIR/./node_modules/core-js/internals/array-buffer.js","webpack://FHIR/./node_modules/core-js/internals/array-copy-within.js","webpack://FHIR/./node_modules/core-js/internals/array-fill.js","webpack://FHIR/./node_modules/core-js/internals/array-for-each.js","webpack://FHIR/./node_modules/core-js/internals/array-from-constructor-and-list.js","webpack://FHIR/./node_modules/core-js/internals/array-from.js","webpack://FHIR/./node_modules/core-js/internals/array-includes.js","webpack://FHIR/./node_modules/core-js/internals/array-iteration.js","webpack://FHIR/./node_modules/core-js/internals/array-last-index-of.js","webpack://FHIR/./node_modules/core-js/internals/array-method-has-species-support.js","webpack://FHIR/./node_modules/core-js/internals/array-method-is-strict.js","webpack://FHIR/./node_modules/core-js/internals/array-reduce.js","webpack://FHIR/./node_modules/core-js/internals/array-set-length.js","webpack://FHIR/./node_modules/core-js/internals/array-slice.js","webpack://FHIR/./node_modules/core-js/internals/array-sort.js","webpack://FHIR/./node_modules/core-js/internals/array-species-constructor.js","webpack://FHIR/./node_modules/core-js/internals/array-species-create.js","webpack://FHIR/./node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack://FHIR/./node_modules/core-js/internals/check-correctness-of-iteration.js","webpack://FHIR/./node_modules/core-js/internals/classof-raw.js","webpack://FHIR/./node_modules/core-js/internals/classof.js","webpack://FHIR/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://FHIR/./node_modules/core-js/internals/correct-is-regexp-logic.js","webpack://FHIR/./node_modules/core-js/internals/correct-prototype-getter.js","webpack://FHIR/./node_modules/core-js/internals/create-html.js","webpack://FHIR/./node_modules/core-js/internals/create-iter-result-object.js","webpack://FHIR/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://FHIR/./node_modules/core-js/internals/create-property-descriptor.js","webpack://FHIR/./node_modules/core-js/internals/create-property.js","webpack://FHIR/./node_modules/core-js/internals/define-built-in-accessor.js","webpack://FHIR/./node_modules/core-js/internals/define-built-in.js","webpack://FHIR/./node_modules/core-js/internals/define-built-ins.js","webpack://FHIR/./node_modules/core-js/internals/define-global-property.js","webpack://FHIR/./node_modules/core-js/internals/delete-property-or-throw.js","webpack://FHIR/./node_modules/core-js/internals/descriptors.js","webpack://FHIR/./node_modules/core-js/internals/document-create-element.js","webpack://FHIR/./node_modules/core-js/internals/does-not-exceed-safe-integer.js","webpack://FHIR/./node_modules/core-js/internals/dom-iterables.js","webpack://FHIR/./node_modules/core-js/internals/dom-token-list-prototype.js","webpack://FHIR/./node_modules/core-js/internals/enum-bug-keys.js","webpack://FHIR/./node_modules/core-js/internals/environment-ff-version.js","webpack://FHIR/./node_modules/core-js/internals/environment-is-ie-or-edge.js","webpack://FHIR/./node_modules/core-js/internals/environment-is-ios-pebble.js","webpack://FHIR/./node_modules/core-js/internals/environment-is-ios.js","webpack://FHIR/./node_modules/core-js/internals/environment-is-node.js","webpack://FHIR/./node_modules/core-js/internals/environment-is-webos-webkit.js","webpack://FHIR/./node_modules/core-js/internals/environment-user-agent.js","webpack://FHIR/./node_modules/core-js/internals/environment-v8-version.js","webpack://FHIR/./node_modules/core-js/internals/environment-webkit-version.js","webpack://FHIR/./node_modules/core-js/internals/environment.js","webpack://FHIR/./node_modules/core-js/internals/export.js","webpack://FHIR/./node_modules/core-js/internals/fails.js","webpack://FHIR/./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","webpack://FHIR/./node_modules/core-js/internals/flatten-into-array.js","webpack://FHIR/./node_modules/core-js/internals/function-apply.js","webpack://FHIR/./node_modules/core-js/internals/function-bind-context.js","webpack://FHIR/./node_modules/core-js/internals/function-bind-native.js","webpack://FHIR/./node_modules/core-js/internals/function-bind.js","webpack://FHIR/./node_modules/core-js/internals/function-call.js","webpack://FHIR/./node_modules/core-js/internals/function-name.js","webpack://FHIR/./node_modules/core-js/internals/function-uncurry-this-accessor.js","webpack://FHIR/./node_modules/core-js/internals/function-uncurry-this-clause.js","webpack://FHIR/./node_modules/core-js/internals/function-uncurry-this.js","webpack://FHIR/./node_modules/core-js/internals/get-built-in.js","webpack://FHIR/./node_modules/core-js/internals/get-iterator-method.js","webpack://FHIR/./node_modules/core-js/internals/get-iterator.js","webpack://FHIR/./node_modules/core-js/internals/get-json-replacer-function.js","webpack://FHIR/./node_modules/core-js/internals/get-method.js","webpack://FHIR/./node_modules/core-js/internals/get-substitution.js","webpack://FHIR/./node_modules/core-js/internals/global-this.js","webpack://FHIR/./node_modules/core-js/internals/has-own-property.js","webpack://FHIR/./node_modules/core-js/internals/hidden-keys.js","webpack://FHIR/./node_modules/core-js/internals/host-report-errors.js","webpack://FHIR/./node_modules/core-js/internals/html.js","webpack://FHIR/./node_modules/core-js/internals/ie8-dom-define.js","webpack://FHIR/./node_modules/core-js/internals/ieee754.js","webpack://FHIR/./node_modules/core-js/internals/indexed-object.js","webpack://FHIR/./node_modules/core-js/internals/inherit-if-required.js","webpack://FHIR/./node_modules/core-js/internals/inspect-source.js","webpack://FHIR/./node_modules/core-js/internals/internal-state.js","webpack://FHIR/./node_modules/core-js/internals/is-array-iterator-method.js","webpack://FHIR/./node_modules/core-js/internals/is-array.js","webpack://FHIR/./node_modules/core-js/internals/is-big-int-array.js","webpack://FHIR/./node_modules/core-js/internals/is-callable.js","webpack://FHIR/./node_modules/core-js/internals/is-constructor.js","webpack://FHIR/./node_modules/core-js/internals/is-forced.js","webpack://FHIR/./node_modules/core-js/internals/is-integral-number.js","webpack://FHIR/./node_modules/core-js/internals/is-null-or-undefined.js","webpack://FHIR/./node_modules/core-js/internals/is-object.js","webpack://FHIR/./node_modules/core-js/internals/is-possible-prototype.js","webpack://FHIR/./node_modules/core-js/internals/is-pure.js","webpack://FHIR/./node_modules/core-js/internals/is-regexp.js","webpack://FHIR/./node_modules/core-js/internals/is-symbol.js","webpack://FHIR/./node_modules/core-js/internals/iterate.js","webpack://FHIR/./node_modules/core-js/internals/iterator-close.js","webpack://FHIR/./node_modules/core-js/internals/iterator-create-constructor.js","webpack://FHIR/./node_modules/core-js/internals/iterator-define.js","webpack://FHIR/./node_modules/core-js/internals/iterators-core.js","webpack://FHIR/./node_modules/core-js/internals/iterators.js","webpack://FHIR/./node_modules/core-js/internals/length-of-array-like.js","webpack://FHIR/./node_modules/core-js/internals/make-built-in.js","webpack://FHIR/./node_modules/core-js/internals/math-float-round.js","webpack://FHIR/./node_modules/core-js/internals/math-fround.js","webpack://FHIR/./node_modules/core-js/internals/math-sign.js","webpack://FHIR/./node_modules/core-js/internals/math-trunc.js","webpack://FHIR/./node_modules/core-js/internals/microtask.js","webpack://FHIR/./node_modules/core-js/internals/new-promise-capability.js","webpack://FHIR/./node_modules/core-js/internals/not-a-regexp.js","webpack://FHIR/./node_modules/core-js/internals/object-assign.js","webpack://FHIR/./node_modules/core-js/internals/object-create.js","webpack://FHIR/./node_modules/core-js/internals/object-define-properties.js","webpack://FHIR/./node_modules/core-js/internals/object-define-property.js","webpack://FHIR/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://FHIR/./node_modules/core-js/internals/object-get-own-property-names-external.js","webpack://FHIR/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://FHIR/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://FHIR/./node_modules/core-js/internals/object-get-prototype-of.js","webpack://FHIR/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://FHIR/./node_modules/core-js/internals/object-keys-internal.js","webpack://FHIR/./node_modules/core-js/internals/object-keys.js","webpack://FHIR/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://FHIR/./node_modules/core-js/internals/object-set-prototype-of.js","webpack://FHIR/./node_modules/core-js/internals/object-to-string.js","webpack://FHIR/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://FHIR/./node_modules/core-js/internals/own-keys.js","webpack://FHIR/./node_modules/core-js/internals/path.js","webpack://FHIR/./node_modules/core-js/internals/perform.js","webpack://FHIR/./node_modules/core-js/internals/promise-constructor-detection.js","webpack://FHIR/./node_modules/core-js/internals/promise-native-constructor.js","webpack://FHIR/./node_modules/core-js/internals/promise-resolve.js","webpack://FHIR/./node_modules/core-js/internals/promise-statics-incorrect-iteration.js","webpack://FHIR/./node_modules/core-js/internals/proxy-accessor.js","webpack://FHIR/./node_modules/core-js/internals/queue.js","webpack://FHIR/./node_modules/core-js/internals/regexp-exec-abstract.js","webpack://FHIR/./node_modules/core-js/internals/regexp-exec.js","webpack://FHIR/./node_modules/core-js/internals/regexp-flags.js","webpack://FHIR/./node_modules/core-js/internals/regexp-get-flags.js","webpack://FHIR/./node_modules/core-js/internals/regexp-sticky-helpers.js","webpack://FHIR/./node_modules/core-js/internals/regexp-unsupported-dot-all.js","webpack://FHIR/./node_modules/core-js/internals/regexp-unsupported-ncg.js","webpack://FHIR/./node_modules/core-js/internals/require-object-coercible.js","webpack://FHIR/./node_modules/core-js/internals/safe-get-built-in.js","webpack://FHIR/./node_modules/core-js/internals/same-value.js","webpack://FHIR/./node_modules/core-js/internals/set-species.js","webpack://FHIR/./node_modules/core-js/internals/set-to-string-tag.js","webpack://FHIR/./node_modules/core-js/internals/shared-key.js","webpack://FHIR/./node_modules/core-js/internals/shared-store.js","webpack://FHIR/./node_modules/core-js/internals/shared.js","webpack://FHIR/./node_modules/core-js/internals/species-constructor.js","webpack://FHIR/./node_modules/core-js/internals/string-html-forced.js","webpack://FHIR/./node_modules/core-js/internals/string-multibyte.js","webpack://FHIR/./node_modules/core-js/internals/string-punycode-to-ascii.js","webpack://FHIR/./node_modules/core-js/internals/string-trim-forced.js","webpack://FHIR/./node_modules/core-js/internals/string-trim.js","webpack://FHIR/./node_modules/core-js/internals/symbol-constructor-detection.js","webpack://FHIR/./node_modules/core-js/internals/symbol-define-to-primitive.js","webpack://FHIR/./node_modules/core-js/internals/symbol-registry-detection.js","webpack://FHIR/./node_modules/core-js/internals/task.js","webpack://FHIR/./node_modules/core-js/internals/this-number-value.js","webpack://FHIR/./node_modules/core-js/internals/to-absolute-index.js","webpack://FHIR/./node_modules/core-js/internals/to-big-int.js","webpack://FHIR/./node_modules/core-js/internals/to-index.js","webpack://FHIR/./node_modules/core-js/internals/to-indexed-object.js","webpack://FHIR/./node_modules/core-js/internals/to-integer-or-infinity.js","webpack://FHIR/./node_modules/core-js/internals/to-length.js","webpack://FHIR/./node_modules/core-js/internals/to-object.js","webpack://FHIR/./node_modules/core-js/internals/to-offset.js","webpack://FHIR/./node_modules/core-js/internals/to-positive-integer.js","webpack://FHIR/./node_modules/core-js/internals/to-primitive.js","webpack://FHIR/./node_modules/core-js/internals/to-property-key.js","webpack://FHIR/./node_modules/core-js/internals/to-string-tag-support.js","webpack://FHIR/./node_modules/core-js/internals/to-string.js","webpack://FHIR/./node_modules/core-js/internals/to-uint8-clamped.js","webpack://FHIR/./node_modules/core-js/internals/try-to-string.js","webpack://FHIR/./node_modules/core-js/internals/typed-array-constructor.js","webpack://FHIR/./node_modules/core-js/internals/typed-array-constructors-require-wrappers.js","webpack://FHIR/./node_modules/core-js/internals/typed-array-from-species-and-list.js","webpack://FHIR/./node_modules/core-js/internals/typed-array-from.js","webpack://FHIR/./node_modules/core-js/internals/typed-array-species-constructor.js","webpack://FHIR/./node_modules/core-js/internals/uid.js","webpack://FHIR/./node_modules/core-js/internals/url-constructor-detection.js","webpack://FHIR/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://FHIR/./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://FHIR/./node_modules/core-js/internals/validate-arguments-length.js","webpack://FHIR/./node_modules/core-js/internals/weak-map-basic-detection.js","webpack://FHIR/./node_modules/core-js/internals/well-known-symbol-define.js","webpack://FHIR/./node_modules/core-js/internals/well-known-symbol-wrapped.js","webpack://FHIR/./node_modules/core-js/internals/well-known-symbol.js","webpack://FHIR/./node_modules/core-js/internals/whitespaces.js","webpack://FHIR/./node_modules/core-js/modules/es.array-buffer.constructor.js","webpack://FHIR/./node_modules/core-js/modules/es.array.concat.js","webpack://FHIR/./node_modules/core-js/modules/es.array.filter.js","webpack://FHIR/./node_modules/core-js/modules/es.array.find.js","webpack://FHIR/./node_modules/core-js/modules/es.array.flat.js","webpack://FHIR/./node_modules/core-js/modules/es.array.includes.js","webpack://FHIR/./node_modules/core-js/modules/es.array.iterator.js","webpack://FHIR/./node_modules/core-js/modules/es.array.join.js","webpack://FHIR/./node_modules/core-js/modules/es.array.map.js","webpack://FHIR/./node_modules/core-js/modules/es.array.slice.js","webpack://FHIR/./node_modules/core-js/modules/es.array.sort.js","webpack://FHIR/./node_modules/core-js/modules/es.array.splice.js","webpack://FHIR/./node_modules/core-js/modules/es.array.unscopables.flat.js","webpack://FHIR/./node_modules/core-js/modules/es.function.name.js","webpack://FHIR/./node_modules/core-js/modules/es.global-this.js","webpack://FHIR/./node_modules/core-js/modules/es.json.stringify.js","webpack://FHIR/./node_modules/core-js/modules/es.number.constructor.js","webpack://FHIR/./node_modules/core-js/modules/es.object.assign.js","webpack://FHIR/./node_modules/core-js/modules/es.object.get-own-property-descriptor.js","webpack://FHIR/./node_modules/core-js/modules/es.object.get-own-property-descriptors.js","webpack://FHIR/./node_modules/core-js/modules/es.object.get-own-property-symbols.js","webpack://FHIR/./node_modules/core-js/modules/es.object.keys.js","webpack://FHIR/./node_modules/core-js/modules/es.object.to-string.js","webpack://FHIR/./node_modules/core-js/modules/es.promise.all.js","webpack://FHIR/./node_modules/core-js/modules/es.promise.catch.js","webpack://FHIR/./node_modules/core-js/modules/es.promise.constructor.js","webpack://FHIR/./node_modules/core-js/modules/es.promise.finally.js","webpack://FHIR/./node_modules/core-js/modules/es.promise.js","webpack://FHIR/./node_modules/core-js/modules/es.promise.race.js","webpack://FHIR/./node_modules/core-js/modules/es.promise.reject.js","webpack://FHIR/./node_modules/core-js/modules/es.promise.resolve.js","webpack://FHIR/./node_modules/core-js/modules/es.reflect.construct.js","webpack://FHIR/./node_modules/core-js/modules/es.regexp.constructor.js","webpack://FHIR/./node_modules/core-js/modules/es.regexp.exec.js","webpack://FHIR/./node_modules/core-js/modules/es.regexp.to-string.js","webpack://FHIR/./node_modules/core-js/modules/es.string.from-code-point.js","webpack://FHIR/./node_modules/core-js/modules/es.string.includes.js","webpack://FHIR/./node_modules/core-js/modules/es.string.iterator.js","webpack://FHIR/./node_modules/core-js/modules/es.string.link.js","webpack://FHIR/./node_modules/core-js/modules/es.string.match.js","webpack://FHIR/./node_modules/core-js/modules/es.string.replace.js","webpack://FHIR/./node_modules/core-js/modules/es.string.search.js","webpack://FHIR/./node_modules/core-js/modules/es.string.split.js","webpack://FHIR/./node_modules/core-js/modules/es.string.trim.js","webpack://FHIR/./node_modules/core-js/modules/es.symbol.constructor.js","webpack://FHIR/./node_modules/core-js/modules/es.symbol.for.js","webpack://FHIR/./node_modules/core-js/modules/es.symbol.js","webpack://FHIR/./node_modules/core-js/modules/es.symbol.key-for.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.copy-within.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.every.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.fill.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.filter.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.find-index.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.find.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.for-each.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.includes.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.index-of.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.iterator.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.join.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.last-index-of.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.map.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.reduce-right.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.reduce.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.reverse.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.set.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.slice.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.some.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.sort.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.subarray.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.to-locale-string.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.to-string.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.uint8-array.js","webpack://FHIR/./node_modules/core-js/modules/esnext.global-this.js","webpack://FHIR/./node_modules/core-js/modules/web.dom-collections.for-each.js","webpack://FHIR/./node_modules/core-js/modules/web.dom-collections.iterator.js","webpack://FHIR/./node_modules/core-js/modules/web.url-search-params.constructor.js","webpack://FHIR/./node_modules/core-js/modules/web.url-search-params.js","webpack://FHIR/./node_modules/core-js/modules/web.url.constructor.js","webpack://FHIR/./node_modules/core-js/modules/web.url.js","webpack://FHIR/./node_modules/core-js/modules/web.url.to-json.js","webpack://FHIR/./node_modules/isomorphic-webcrypto/src/browser.mjs","webpack://FHIR/./node_modules/isomorphic-webcrypto/src/webcrypto-shim.mjs","webpack://FHIR/webpack/bootstrap","webpack://FHIR/webpack/runtime/global","webpack://FHIR/webpack/before-startup","webpack://FHIR/webpack/startup","webpack://FHIR/webpack/after-startup"],"sourcesContent":["(function (factory) {\n typeof define === 'function' && define.amd ? define(factory) :\n factory();\n})((function () { 'use strict';\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n }\n\n function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n }\n\n function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n }\n\n function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n }\n\n function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n }\n\n function _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return _assertThisInitialized(self);\n }\n\n function _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n }\n\n function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = _getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n }\n\n function _get() {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get.bind();\n } else {\n _get = function _get(target, property, receiver) {\n var base = _superPropBase(target, property);\n\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(arguments.length < 3 ? target : receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get.apply(this, arguments);\n }\n\n var Emitter = /*#__PURE__*/function () {\n function Emitter() {\n _classCallCheck(this, Emitter);\n\n Object.defineProperty(this, 'listeners', {\n value: {},\n writable: true,\n configurable: true\n });\n }\n\n _createClass(Emitter, [{\n key: \"addEventListener\",\n value: function addEventListener(type, callback, options) {\n if (!(type in this.listeners)) {\n this.listeners[type] = [];\n }\n\n this.listeners[type].push({\n callback: callback,\n options: options\n });\n }\n }, {\n key: \"removeEventListener\",\n value: function removeEventListener(type, callback) {\n if (!(type in this.listeners)) {\n return;\n }\n\n var stack = this.listeners[type];\n\n for (var i = 0, l = stack.length; i < l; i++) {\n if (stack[i].callback === callback) {\n stack.splice(i, 1);\n return;\n }\n }\n }\n }, {\n key: \"dispatchEvent\",\n value: function dispatchEvent(event) {\n if (!(event.type in this.listeners)) {\n return;\n }\n\n var stack = this.listeners[event.type];\n var stackToCall = stack.slice();\n\n for (var i = 0, l = stackToCall.length; i < l; i++) {\n var listener = stackToCall[i];\n\n try {\n listener.callback.call(this, event);\n } catch (e) {\n Promise.resolve().then(function () {\n throw e;\n });\n }\n\n if (listener.options && listener.options.once) {\n this.removeEventListener(event.type, listener.callback);\n }\n }\n\n return !event.defaultPrevented;\n }\n }]);\n\n return Emitter;\n }();\n\n var AbortSignal = /*#__PURE__*/function (_Emitter) {\n _inherits(AbortSignal, _Emitter);\n\n var _super = _createSuper(AbortSignal);\n\n function AbortSignal() {\n var _this;\n\n _classCallCheck(this, AbortSignal);\n\n _this = _super.call(this); // Some versions of babel does not transpile super() correctly for IE <= 10, if the parent\n // constructor has failed to run, then \"this.listeners\" will still be undefined and then we call\n // the parent constructor directly instead as a workaround. For general details, see babel bug:\n // https://github.com/babel/babel/issues/3041\n // This hack was added as a fix for the issue described here:\n // https://github.com/Financial-Times/polyfill-library/pull/59#issuecomment-477558042\n\n if (!_this.listeners) {\n Emitter.call(_assertThisInitialized(_this));\n } // Compared to assignment, Object.defineProperty makes properties non-enumerable by default and\n // we want Object.keys(new AbortController().signal) to be [] for compat with the native impl\n\n\n Object.defineProperty(_assertThisInitialized(_this), 'aborted', {\n value: false,\n writable: true,\n configurable: true\n });\n Object.defineProperty(_assertThisInitialized(_this), 'onabort', {\n value: null,\n writable: true,\n configurable: true\n });\n Object.defineProperty(_assertThisInitialized(_this), 'reason', {\n value: undefined,\n writable: true,\n configurable: true\n });\n return _this;\n }\n\n _createClass(AbortSignal, [{\n key: \"toString\",\n value: function toString() {\n return '[object AbortSignal]';\n }\n }, {\n key: \"dispatchEvent\",\n value: function dispatchEvent(event) {\n if (event.type === 'abort') {\n this.aborted = true;\n\n if (typeof this.onabort === 'function') {\n this.onabort.call(this, event);\n }\n }\n\n _get(_getPrototypeOf(AbortSignal.prototype), \"dispatchEvent\", this).call(this, event);\n }\n }]);\n\n return AbortSignal;\n }(Emitter);\n var AbortController = /*#__PURE__*/function () {\n function AbortController() {\n _classCallCheck(this, AbortController);\n\n // Compared to assignment, Object.defineProperty makes properties non-enumerable by default and\n // we want Object.keys(new AbortController()) to be [] for compat with the native impl\n Object.defineProperty(this, 'signal', {\n value: new AbortSignal(),\n writable: true,\n configurable: true\n });\n }\n\n _createClass(AbortController, [{\n key: \"abort\",\n value: function abort(reason) {\n var event;\n\n try {\n event = new Event('abort');\n } catch (e) {\n if (typeof document !== 'undefined') {\n if (!document.createEvent) {\n // For Internet Explorer 8:\n event = document.createEventObject();\n event.type = 'abort';\n } else {\n // For Internet Explorer 11:\n event = document.createEvent('Event');\n event.initEvent('abort', false, false);\n }\n } else {\n // Fallback where document isn't available:\n event = {\n type: 'abort',\n bubbles: false,\n cancelable: false\n };\n }\n }\n\n var signalReason = reason;\n\n if (signalReason === undefined) {\n if (typeof document === 'undefined') {\n signalReason = new Error('This operation was aborted');\n signalReason.name = 'AbortError';\n } else {\n try {\n signalReason = new DOMException('signal is aborted without reason');\n } catch (err) {\n // IE 11 does not support calling the DOMException constructor, use a\n // regular error object on it instead.\n signalReason = new Error('This operation was aborted');\n signalReason.name = 'AbortError';\n }\n }\n }\n\n this.signal.reason = signalReason;\n this.signal.dispatchEvent(event);\n }\n }, {\n key: \"toString\",\n value: function toString() {\n return '[object AbortController]';\n }\n }]);\n\n return AbortController;\n }();\n\n if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n // These are necessary to make sure that we get correct output for:\n // Object.prototype.toString.call(new AbortController())\n AbortController.prototype[Symbol.toStringTag] = 'AbortController';\n AbortSignal.prototype[Symbol.toStringTag] = 'AbortSignal';\n }\n\n function polyfillNeeded(self) {\n if (self.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL) {\n console.log('__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL=true is set, will force install polyfill');\n return true;\n } // Note that the \"unfetch\" minimal fetch polyfill defines fetch() without\n // defining window.Request, and this polyfill need to work on top of unfetch\n // so the below feature detection needs the !self.AbortController part.\n // The Request.prototype check is also needed because Safari versions 11.1.2\n // up to and including 12.1.x has a window.AbortController present but still\n // does NOT correctly implement abortable fetch:\n // https://bugs.webkit.org/show_bug.cgi?id=174980#c2\n\n\n return typeof self.Request === 'function' && !self.Request.prototype.hasOwnProperty('signal') || !self.AbortController;\n }\n\n (function (self) {\n\n if (!polyfillNeeded(self)) {\n return;\n }\n\n self.AbortController = AbortController;\n self.AbortSignal = AbortSignal;\n })(typeof self !== 'undefined' ? self : global);\n\n}));\n","/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\nexports.destroy = (() => {\n\tlet warned = false;\n\n\treturn () => {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t\t}\n\t};\n})();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\tlet m;\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)) && parseInt(m[1], 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.debug()` when available.\n * No-op when `console.debug` is not a \"function\".\n * If `console.debug` is not available, falls back\n * to `console.log`.\n *\n * @api public\n */\nexports.log = console.debug || console.log || (() => {});\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug');\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = require('ms');\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tlet i;\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n\t\tconst len = split.length;\n\n\t\tfor (i = 0; i < len; i++) {\n\t\t\tif (!split[i]) {\n\t\t\t\t// ignore empty strings\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tnamespaces = split[i].replace(/\\*/g, '.*?');\n\n\t\t\tif (namespaces[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(new RegExp('^' + namespaces.slice(1) + '$'));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(new RegExp('^' + namespaces + '$'));\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names.map(toNamespace),\n\t\t\t...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tif (name[name.length - 1] === '*') {\n\t\t\treturn true;\n\t\t}\n\n\t\tlet i;\n\t\tlet len;\n\n\t\tfor (i = 0, len = createDebug.skips.length; i < len; i++) {\n\t\t\tif (createDebug.skips[i].test(name)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (i = 0, len = createDebug.names.length; i < len; i++) {\n\t\t\tif (createDebug.names[i].test(name)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Convert regexp to namespace\n\t*\n\t* @param {RegExp} regxep\n\t* @return {String} namespace\n\t* @api private\n\t*/\n\tfunction toNamespace(regexp) {\n\t\treturn regexp.toString()\n\t\t\t.substring(2, regexp.toString().length - 2)\n\t\t\t.replace(/\\.\\*\\?$/, '*');\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n","import {\r\n absolute,\r\n debug as _debug,\r\n getPath,\r\n setPath,\r\n jwtDecode,\r\n makeArray,\r\n request,\r\n byCode,\r\n byCodes,\r\n units,\r\n getPatientParam,\r\n fetchConformanceStatement,\r\n getAccessTokenExpiration,\r\n assertJsonPatch,\r\n assert\r\n} from \"./lib\";\r\n\r\nimport str from \"./strings\";\r\nimport { SMART_KEY, patientCompartment, fhirVersions } from \"./settings\";\r\nimport HttpError from \"./HttpError\";\r\nimport BrowserAdapter from \"./adapters/BrowserAdapter\";\r\nimport { fhirclient } from \"./types\";\r\n\r\n// $lab:coverage:off$\r\n// @ts-ignore\r\nconst { Response } = typeof FHIRCLIENT_PURE !== \"undefined\" ? window : require(\"cross-fetch\");\r\n// $lab:coverage:on$\r\n\r\nconst debug = _debug.extend(\"client\");\r\n\r\n/**\r\n * Adds patient context to requestOptions object to be used with [[Client.request]]\r\n * @param requestOptions Can be a string URL (relative to the serviceUrl), or an\r\n * object which will be passed to fetch()\r\n * @param client Current FHIR client object containing patient context\r\n * @return requestOptions object contextualized to current patient\r\n */\r\nasync function contextualize(\r\n requestOptions: string | URL | fhirclient.RequestOptions,\r\n client: Client\r\n): Promise\r\n{\r\n const base = absolute(\"/\", client.state.serverUrl);\r\n\r\n async function contextualURL(_url: URL) {\r\n const resourceType = _url.pathname.split(\"/\").pop();\r\n assert(resourceType, `Invalid url \"${_url}\"`);\r\n assert(patientCompartment.indexOf(resourceType) > -1, `Cannot filter \"${resourceType}\" resources by patient`);\r\n const conformance = await fetchConformanceStatement(client.state.serverUrl);\r\n const searchParam = getPatientParam(conformance, resourceType);\r\n _url.searchParams.set(searchParam, client.patient.id as string);\r\n return _url.href;\r\n }\r\n\r\n if (typeof requestOptions == \"string\" || requestOptions instanceof URL) {\r\n return { url: await contextualURL(new URL(requestOptions + \"\", base)) };\r\n }\r\n\r\n requestOptions.url = await contextualURL(new URL(requestOptions.url + \"\", base));\r\n return requestOptions;\r\n}\r\n\r\n/**\r\n * Gets single reference by id. Caches the result.\r\n * @param refId\r\n * @param cache A map to store the resolved refs\r\n * @param client The client instance\r\n * @param requestOptions Only signal and headers are currently used if provided\r\n * @returns The resolved reference\r\n * @private\r\n */\r\nfunction getRef(\r\n refId: string,\r\n cache: Record,\r\n client: Client,\r\n requestOptions: RequestInit\r\n): Promise {\r\n if (!cache[refId]) {\r\n\r\n const { signal, headers } = requestOptions;\r\n\r\n // Note that we set cache[refId] immediately! When the promise is\r\n // settled it will be updated. This is to avoid a ref being fetched\r\n // twice because some of these requests are executed in parallel.\r\n cache[refId] = client.request({\r\n url: refId,\r\n headers,\r\n signal\r\n }).then(res => {\r\n cache[refId] = res;\r\n return res;\r\n }, (error: Error) => {\r\n delete cache[refId];\r\n throw error;\r\n });\r\n }\r\n\r\n return Promise.resolve(cache[refId]);\r\n}\r\n\r\n/**\r\n * Resolves a reference in the given resource.\r\n * @param obj FHIR Resource\r\n */\r\nfunction resolveRef(\r\n obj: fhirclient.FHIR.Resource,\r\n path: string,\r\n graph: boolean,\r\n cache: fhirclient.JsonObject,\r\n client: Client,\r\n requestOptions: fhirclient.RequestOptions\r\n) {\r\n const node = getPath(obj, path);\r\n if (node) {\r\n const isArray = Array.isArray(node);\r\n return Promise.all(makeArray(node).filter(Boolean).map((item, i) => {\r\n const ref = item.reference;\r\n if (ref) {\r\n return getRef(ref, cache, client, requestOptions).then(sub => {\r\n if (graph) {\r\n if (isArray) {\r\n if (path.indexOf(\"..\") > -1) {\r\n setPath(obj, `${path.replace(\"..\", `.${i}.`)}`, sub); \r\n } else {\r\n setPath(obj, `${path}.${i}`, sub);\r\n }\r\n } else {\r\n setPath(obj, path, sub);\r\n }\r\n }\r\n }).catch((ex) => {\r\n /* ignore missing references */\r\n if (ex.status !== 404) {\r\n throw ex;\r\n }\r\n });\r\n }\r\n }));\r\n }\r\n}\r\n\r\n/**\r\n * Given a resource and a list of ref paths - resolves them all\r\n * @param obj FHIR Resource\r\n * @param fhirOptions The fhir options of the initiating request call\r\n * @param cache A map to store fetched refs\r\n * @param client The client instance\r\n * @private\r\n */\r\nfunction resolveRefs(\r\n obj: fhirclient.FHIR.Resource,\r\n fhirOptions: fhirclient.FhirOptions,\r\n cache: fhirclient.JsonObject,\r\n client: Client,\r\n requestOptions: fhirclient.RequestOptions\r\n) {\r\n\r\n // 1. Sanitize paths, remove any invalid ones\r\n let paths = makeArray(fhirOptions.resolveReferences)\r\n .filter(Boolean) // No false, 0, null, undefined or \"\"\r\n .map(path => String(path).trim())\r\n .filter(Boolean); // No space-only strings\r\n\r\n // 2. Remove duplicates\r\n paths = paths.filter((p, i) => {\r\n const index = paths.indexOf(p, i + 1);\r\n if (index > -1) {\r\n debug(\"Duplicated reference path \\\"%s\\\"\", p);\r\n return false;\r\n }\r\n return true;\r\n });\r\n\r\n // 3. Early exit if no valid paths are found\r\n if (!paths.length) {\r\n return Promise.resolve();\r\n }\r\n\r\n // 4. Group the paths by depth so that child refs are looked up\r\n // after their parents!\r\n const groups: Record = {};\r\n paths.forEach(path => {\r\n const len = path.split(\".\").length;\r\n if (!groups[len]) {\r\n groups[len] = [];\r\n }\r\n groups[len].push(path);\r\n });\r\n\r\n // 5. Execute groups sequentially! Paths within same group are\r\n // fetched in parallel!\r\n let task: Promise = Promise.resolve();\r\n Object.keys(groups).sort().forEach(len => {\r\n const group = groups[len];\r\n task = task.then(() => Promise.all(group.map((path: string) => {\r\n return resolveRef(obj, path, !!fhirOptions.graph, cache, client, requestOptions);\r\n })));\r\n });\r\n return task;\r\n}\r\n\r\n/**\r\n * This is a FHIR client that is returned to you from the `ready()` call of the\r\n * **SMART API**. You can also create it yourself if needed:\r\n *\r\n * ```js\r\n * // BROWSER\r\n * const client = FHIR.client(\"https://r4.smarthealthit.org\");\r\n *\r\n * // SERVER\r\n * const client = smart(req, res).client(\"https://r4.smarthealthit.org\");\r\n * ```\r\n */\r\nexport default class Client\r\n{\r\n /**\r\n * The state of the client instance is an object with various properties.\r\n * It contains some details about how the client has been authorized and\r\n * determines the behavior of the client instance. This state is persisted\r\n * in `SessionStorage` in browsers or in request session on the servers.\r\n */\r\n readonly state: fhirclient.ClientState;\r\n\r\n /**\r\n * The adapter to use to connect to the current environment. Currently we have:\r\n * - BrowserAdapter - for browsers\r\n * - NodeAdapter - for Express or vanilla NodeJS servers\r\n * - HapiAdapter - for HAPI NodeJS servers\r\n */\r\n readonly environment: fhirclient.Adapter;\r\n\r\n /**\r\n * A SMART app is typically associated with a patient. This is a namespace\r\n * for the patient-related functionality of the client.\r\n */\r\n readonly patient: {\r\n\r\n /**\r\n * The ID of the current patient or `null` if there is no current patient\r\n */\r\n id: string | null\r\n\r\n /**\r\n * A method to fetch the current patient resource from the FHIR server.\r\n * If there is no patient context, it will reject with an error.\r\n * @param {fhirclient.FetchOptions} [requestOptions] Any options to pass to the `fetch` call.\r\n * @category Request\r\n */\r\n read: fhirclient.RequestFunction\r\n \r\n /**\r\n * This is similar to [[request]] but it makes requests in the\r\n * context of the current patient. For example, instead of doing\r\n * ```js\r\n * client.request(\"Observation?patient=\" + client.patient.id)\r\n * ```\r\n * you can do\r\n * ```js\r\n * client.patient.request(\"Observation\")\r\n * ```\r\n * The return type depends on the arguments. Typically it will be the\r\n * response payload JSON object. Can also be a string or the `Response`\r\n * object itself if we have received a non-json result, which allows us\r\n * to handle even binary responses. Can also be a [[CombinedFetchResult]]\r\n * object if the `requestOptions.includeResponse`s has been set to true.\r\n * @category Request\r\n */\r\n request: (\r\n requestOptions: string|URL|fhirclient.RequestOptions,\r\n fhirOptions?: fhirclient.FhirOptions\r\n ) => Promise\r\n\r\n /**\r\n * This is the FhirJS Patient API. It will ONLY exist if the `Client`\r\n * instance is \"connected\" to FhirJS.\r\n */\r\n api?: Record\r\n };\r\n\r\n /**\r\n * The client may be associated with a specific encounter, if the scopes\r\n * permit that and if the back-end server supports that. This is a namespace\r\n * for encounter-related functionality.\r\n */\r\n readonly encounter: {\r\n\r\n /**\r\n * The ID of the current encounter or `null` if there is no current\r\n * encounter\r\n */\r\n id: string | null\r\n\r\n /**\r\n * A method to fetch the current encounter resource from the FHIR server.\r\n * If there is no encounter context, it will reject with an error.\r\n * @param [requestOptions] Any options to pass to the `fetch` call.\r\n * @category Request\r\n */\r\n read: fhirclient.RequestFunction\r\n };\r\n\r\n /**\r\n * The client may be associated with a specific user, if the scopes\r\n * permit that. This is a namespace for user-related functionality.\r\n */\r\n readonly user: {\r\n\r\n /**\r\n * The ID of the current user or `null` if there is no current user\r\n */\r\n id: string | null\r\n\r\n /**\r\n * A method to fetch the current user resource from the FHIR server.\r\n * If there is no user context, it will reject with an error.\r\n * @param [requestOptions] Any options to pass to the `fetch` call.\r\n * @category Request\r\n */\r\n read: fhirclient.RequestFunction<\r\n fhirclient.FHIR.Patient |\r\n fhirclient.FHIR.Practitioner |\r\n fhirclient.FHIR.RelatedPerson\r\n >\r\n\r\n /**\r\n * Returns the profile of the logged_in user (if any), or null if the\r\n * user is not available. This is a string having the shape\r\n * `{user type}/{user id}`. For example `Practitioner/abc` or\r\n * `Patient/xyz`.\r\n * @alias client.getFhirUser()\r\n */\r\n fhirUser: string | null\r\n\r\n /**\r\n * Returns the type of the logged-in user or null. The result can be\r\n * `Practitioner`, `Patient` or `RelatedPerson`.\r\n * @alias client.getUserType()\r\n */\r\n resourceType: string | null\r\n };\r\n\r\n /**\r\n * The [FhirJS](https://github.com/FHIR/fhir.js/blob/master/README.md) API.\r\n * **NOTE:** This will only be available if `fhir.js` is used. Otherwise it\r\n * will be `undefined`.\r\n */\r\n api: Record | undefined;\r\n\r\n /**\r\n * Refers to the refresh task while it is being performed.\r\n * @see [[refresh]]\r\n */\r\n private _refreshTask: Promise | null;\r\n\r\n /**\r\n * Validates the parameters, creates an instance and tries to connect it to\r\n * FhirJS, if one is available globally.\r\n */\r\n constructor(environment: fhirclient.Adapter, state: fhirclient.ClientState | string)\r\n {\r\n const _state = typeof state == \"string\" ? { serverUrl: state } : state;\r\n\r\n // Valid serverUrl is required!\r\n assert(\r\n _state.serverUrl && _state.serverUrl.match(/https?:\\/\\/.+/),\r\n \"A \\\"serverUrl\\\" option is required and must begin with \\\"http(s)\\\"\"\r\n );\r\n\r\n this.state = _state;\r\n this.environment = environment;\r\n this._refreshTask = null;\r\n\r\n const client = this;\r\n\r\n // patient api ---------------------------------------------------------\r\n this.patient = {\r\n get id() { return client.getPatientId(); },\r\n read: (requestOptions) => {\r\n const id = this.patient.id;\r\n return id ?\r\n this.request({ ...requestOptions, url: `Patient/${id}` }) :\r\n Promise.reject(new Error(\"Patient is not available\"));\r\n },\r\n request: (requestOptions, fhirOptions = {}) => {\r\n if (this.patient.id) {\r\n return (async () => {\r\n const options = await contextualize(requestOptions, this);\r\n return this.request(options, fhirOptions);\r\n })();\r\n } else {\r\n return Promise.reject(new Error(\"Patient is not available\"));\r\n }\r\n }\r\n };\r\n\r\n // encounter api -------------------------------------------------------\r\n this.encounter = {\r\n get id() { return client.getEncounterId(); },\r\n read: requestOptions => {\r\n const id = this.encounter.id;\r\n return id ?\r\n this.request({ ...requestOptions, url: `Encounter/${id}` }) :\r\n Promise.reject(new Error(\"Encounter is not available\"));\r\n }\r\n };\r\n\r\n // user api ------------------------------------------------------------\r\n this.user = {\r\n get fhirUser() { return client.getFhirUser(); },\r\n get id() { return client.getUserId(); },\r\n get resourceType() { return client.getUserType(); },\r\n read: requestOptions => {\r\n const fhirUser = this.user.fhirUser;\r\n return fhirUser ?\r\n this.request({ ...requestOptions, url: fhirUser }) :\r\n Promise.reject(new Error(\"User is not available\"));\r\n }\r\n };\r\n\r\n // fhir.js api (attached automatically in browser)\r\n // ---------------------------------------------------------------------\r\n this.connect((environment as BrowserAdapter).fhir);\r\n }\r\n\r\n /**\r\n * This method is used to make the \"link\" between the `fhirclient` and the\r\n * `fhir.js`, if one is available.\r\n * **Note:** This is called by the constructor. If fhir.js is available in\r\n * the global scope as `fhir`, it will automatically be linked to any [[Client]]\r\n * instance. You should only use this method to connect to `fhir.js` which\r\n * is not global.\r\n */\r\n connect(fhirJs?: (options: Record) => Record): Client\r\n {\r\n if (typeof fhirJs == \"function\") {\r\n const options: Record = {\r\n baseUrl: this.state.serverUrl.replace(/\\/$/, \"\")\r\n };\r\n\r\n const accessToken = this.getState(\"tokenResponse.access_token\");\r\n if (accessToken) {\r\n options.auth = { token: accessToken };\r\n }\r\n else {\r\n const { username, password } = this.state;\r\n if (username && password) {\r\n options.auth = {\r\n user: username,\r\n pass: password\r\n };\r\n }\r\n }\r\n this.api = fhirJs(options);\r\n\r\n const patientId = this.getState(\"tokenResponse.patient\");\r\n if (patientId) {\r\n this.patient.api = fhirJs({\r\n ...options,\r\n patient: patientId\r\n });\r\n }\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Returns the ID of the selected patient or null. You should have requested\r\n * \"launch/patient\" scope. Otherwise this will return null.\r\n */\r\n getPatientId(): string | null\r\n {\r\n const tokenResponse = this.state.tokenResponse;\r\n if (tokenResponse) {\r\n // We have been authorized against this server but we don't know\r\n // the patient. This should be a scope issue.\r\n if (!tokenResponse.patient) {\r\n if (!(this.state.scope || \"\").match(/\\blaunch(\\/patient)?\\b/)) {\r\n debug(str.noScopeForId, \"patient\", \"patient\");\r\n }\r\n else {\r\n // The server should have returned the patient!\r\n debug(\"The ID of the selected patient is not available. Please check if your server supports that.\");\r\n }\r\n return null;\r\n }\r\n return tokenResponse.patient;\r\n }\r\n\r\n if (this.state.authorizeUri) {\r\n debug(str.noIfNoAuth, \"the ID of the selected patient\");\r\n }\r\n else {\r\n debug(str.noFreeContext, \"selected patient\");\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Returns the ID of the selected encounter or null. You should have\r\n * requested \"launch/encounter\" scope. Otherwise this will return null.\r\n * Note that not all servers support the \"launch/encounter\" scope so this\r\n * will be null if they don't.\r\n */\r\n getEncounterId(): string | null\r\n {\r\n const tokenResponse = this.state.tokenResponse;\r\n if (tokenResponse) {\r\n // We have been authorized against this server but we don't know\r\n // the encounter. This should be a scope issue.\r\n if (!tokenResponse.encounter) {\r\n if (!(this.state.scope || \"\").match(/\\blaunch(\\/encounter)?\\b/)) {\r\n debug(str.noScopeForId, \"encounter\", \"encounter\");\r\n }\r\n else {\r\n // The server should have returned the encounter!\r\n debug(\"The ID of the selected encounter is not available. Please check if your server supports that, and that the selected patient has any recorded encounters.\");\r\n }\r\n return null;\r\n }\r\n return tokenResponse.encounter;\r\n }\r\n\r\n if (this.state.authorizeUri) {\r\n debug(str.noIfNoAuth, \"the ID of the selected encounter\");\r\n }\r\n else {\r\n debug(str.noFreeContext, \"selected encounter\");\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Returns the (decoded) id_token if any. You need to request \"openid\" and\r\n * \"profile\" scopes if you need to receive an id_token (if you need to know\r\n * who the logged-in user is).\r\n */\r\n getIdToken(): fhirclient.IDToken | null\r\n {\r\n const tokenResponse = this.state.tokenResponse;\r\n if (tokenResponse) {\r\n const idToken = tokenResponse.id_token;\r\n const scope = this.state.scope || \"\";\r\n\r\n // We have been authorized against this server but we don't have\r\n // the id_token. This should be a scope issue.\r\n if (!idToken) {\r\n const hasOpenid = scope.match(/\\bopenid\\b/);\r\n const hasProfile = scope.match(/\\bprofile\\b/);\r\n const hasFhirUser = scope.match(/\\bfhirUser\\b/);\r\n if (!hasOpenid || !(hasFhirUser || hasProfile)) {\r\n debug(\r\n \"You are trying to get the id_token but you are not \" +\r\n \"using the right scopes. Please add 'openid' and \" +\r\n \"'fhirUser' or 'profile' to the scopes you are \" +\r\n \"requesting.\"\r\n );\r\n }\r\n else {\r\n // The server should have returned the id_token!\r\n debug(\"The id_token is not available. Please check if your server supports that.\");\r\n }\r\n return null;\r\n }\r\n return jwtDecode(idToken, this.environment) as fhirclient.IDToken;\r\n }\r\n if (this.state.authorizeUri) {\r\n debug(str.noIfNoAuth, \"the id_token\");\r\n }\r\n else {\r\n debug(str.noFreeContext, \"id_token\");\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Returns the profile of the logged_in user (if any). This is a string\r\n * having the following shape `\"{user type}/{user id}\"`. For example:\r\n * `\"Practitioner/abc\"` or `\"Patient/xyz\"`.\r\n */\r\n getFhirUser(): string | null\r\n {\r\n const idToken = this.getIdToken();\r\n if (idToken) {\r\n // Epic may return a full url\r\n // @see https://github.com/smart-on-fhir/client-js/issues/105\r\n if (idToken.fhirUser) {\r\n return idToken.fhirUser.split(\"/\").slice(-2).join(\"/\");\r\n }\r\n return idToken.profile\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Returns the user ID or null.\r\n */\r\n getUserId(): string | null\r\n {\r\n const profile = this.getFhirUser();\r\n if (profile) {\r\n return profile.split(\"/\")[1];\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Returns the type of the logged-in user or null. The result can be\r\n * \"Practitioner\", \"Patient\" or \"RelatedPerson\".\r\n */\r\n getUserType(): string | null\r\n {\r\n const profile = this.getFhirUser();\r\n if (profile) {\r\n return profile.split(\"/\")[0];\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Builds and returns the value of the `Authorization` header that can be\r\n * sent to the FHIR server\r\n */\r\n getAuthorizationHeader(): string | null\r\n {\r\n const accessToken = this.getState(\"tokenResponse.access_token\");\r\n if (accessToken) {\r\n return \"Bearer \" + accessToken;\r\n }\r\n const { username, password } = this.state;\r\n if (username && password) {\r\n return \"Basic \" + this.environment.btoa(username + \":\" + password);\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Used internally to clear the state of the instance and the state in the\r\n * associated storage.\r\n */\r\n private async _clearState() {\r\n const storage = this.environment.getStorage();\r\n const key = await storage.get(SMART_KEY);\r\n if (key) {\r\n await storage.unset(key);\r\n }\r\n await storage.unset(SMART_KEY);\r\n this.state.tokenResponse = {};\r\n }\r\n\r\n /**\r\n * Creates a new resource in a server-assigned location\r\n * @see http://hl7.org/fhir/http.html#create\r\n * @param resource A FHIR resource to be created\r\n * @param [requestOptions] Any options to be passed to the fetch call.\r\n * Note that `method` and `body` will be ignored.\r\n * @category Request\r\n */\r\n create(\r\n resource: fhirclient.FHIR.Resource,\r\n requestOptions?: O\r\n ): Promise : R>\r\n {\r\n return this.request({\r\n ...requestOptions,\r\n url: `${resource.resourceType}`,\r\n method: \"POST\",\r\n body: JSON.stringify(resource),\r\n headers: {\r\n // TODO: Do we need to alternate with \"application/json+fhir\"?\r\n \"content-type\": \"application/json\",\r\n ...(requestOptions || {}).headers\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Creates a new current version for an existing resource or creates an\r\n * initial version if no resource already exists for the given id.\r\n * @see http://hl7.org/fhir/http.html#update\r\n * @param resource A FHIR resource to be updated\r\n * @param requestOptions Any options to be passed to the fetch call.\r\n * Note that `method` and `body` will be ignored.\r\n * @category Request\r\n */\r\n update(\r\n resource: fhirclient.FHIR.Resource,\r\n requestOptions?: O\r\n ): Promise : R>\r\n {\r\n return this.request({\r\n ...requestOptions,\r\n url: `${resource.resourceType}/${resource.id}`,\r\n method: \"PUT\",\r\n body: JSON.stringify(resource),\r\n headers: {\r\n // TODO: Do we need to alternate with \"application/json+fhir\"?\r\n \"content-type\": \"application/json\",\r\n ...(requestOptions || {}).headers\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Removes an existing resource.\r\n * @see http://hl7.org/fhir/http.html#delete\r\n * @param url Relative URI of the FHIR resource to be deleted\r\n * (format: `resourceType/id`)\r\n * @param requestOptions Any options (except `method` which will be fixed\r\n * to `DELETE`) to be passed to the fetch call.\r\n * @category Request\r\n */\r\n delete(url: string, requestOptions: fhirclient.FetchOptions = {}): Promise\r\n {\r\n return this.request({\r\n ...requestOptions,\r\n url,\r\n method: \"DELETE\"\r\n });\r\n }\r\n\r\n /**\r\n * Makes a JSON Patch to the given resource\r\n * @see http://hl7.org/fhir/http.html#patch\r\n * @param url Relative URI of the FHIR resource to be patched\r\n * (format: `resourceType/id`)\r\n * @param patch A JSON Patch array to send to the server, For details\r\n * see https://datatracker.ietf.org/doc/html/rfc6902\r\n * @param requestOptions Any options to be passed to the fetch call,\r\n * except for `method`, `url` and `body` which cannot be overridden.\r\n * @since 2.4.0\r\n * @category Request\r\n * @typeParam ResolveType This method would typically resolve with the\r\n * patched resource or reject with an OperationOutcome. However, this may\r\n * depend on the server implementation or even on the request headers.\r\n * For that reason, if the default resolve type (which is\r\n * [[fhirclient.FHIR.Resource]]) does not work for you, you can pass\r\n * in your own resolve type parameter.\r\n */\r\n async patch(url: string, patch: fhirclient.JsonPatch, requestOptions: fhirclient.FetchOptions = {}): Promise\r\n {\r\n assertJsonPatch(patch);\r\n return this.request({\r\n ...requestOptions,\r\n url,\r\n method: \"PATCH\",\r\n body: JSON.stringify(patch),\r\n headers: {\r\n \"prefer\": \"return=presentation\",\r\n \"content-type\": \"application/json-patch+json; charset=UTF-8\",\r\n ...requestOptions.headers,\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * @param requestOptions Can be a string URL (relative to the serviceUrl),\r\n * or an object which will be passed to fetch()\r\n * @param fhirOptions Additional options to control the behavior\r\n * @param _resolvedRefs DO NOT USE! Used internally.\r\n * @category Request\r\n */\r\n async request(\r\n requestOptions: string|URL|fhirclient.RequestOptions,\r\n fhirOptions: fhirclient.FhirOptions = {},\r\n _resolvedRefs: fhirclient.JsonObject = {}\r\n ): Promise\r\n {\r\n const debugRequest = _debug.extend(\"client:request\");\r\n assert(requestOptions, \"request requires an url or request options as argument\");\r\n\r\n // url -----------------------------------------------------------------\r\n let url: string;\r\n if (typeof requestOptions == \"string\" || requestOptions instanceof URL) {\r\n url = String(requestOptions);\r\n requestOptions = {} as fhirclient.RequestOptions;\r\n }\r\n else {\r\n url = String(requestOptions.url);\r\n }\r\n\r\n url = absolute(url, this.state.serverUrl);\r\n\r\n const options = {\r\n graph: fhirOptions.graph !== false,\r\n flat : !!fhirOptions.flat,\r\n pageLimit: fhirOptions.pageLimit ?? 1,\r\n resolveReferences: (fhirOptions.resolveReferences || []) as string[],\r\n useRefreshToken: fhirOptions.useRefreshToken !== false,\r\n onPage: typeof fhirOptions.onPage == \"function\" ?\r\n fhirOptions.onPage as (\r\n data: fhirclient.JsonObject | fhirclient.JsonObject[],\r\n references?: fhirclient.JsonObject | undefined) => any :\r\n undefined\r\n };\r\n\r\n const signal = (requestOptions as RequestInit).signal || undefined;\r\n\r\n // Refresh the access token if needed\r\n const job = options.useRefreshToken ?\r\n this.refreshIfNeeded({ signal }).then(() => requestOptions as fhirclient.RequestOptions) :\r\n Promise.resolve(requestOptions as fhirclient.RequestOptions);\r\n\r\n let response: Response | undefined;\r\n\r\n return job\r\n\r\n // Add the Authorization header now, after the access token might\r\n // have been updated\r\n .then(requestOptions => {\r\n const authHeader = this.getAuthorizationHeader();\r\n if (authHeader) {\r\n requestOptions.headers = {\r\n ...requestOptions.headers,\r\n authorization: authHeader\r\n };\r\n }\r\n return requestOptions;\r\n })\r\n \r\n // Make the request\r\n .then(requestOptions => {\r\n debugRequest(\r\n \"%s, options: %O, fhirOptions: %O\",\r\n url,\r\n requestOptions,\r\n options\r\n );\r\n return request(url, requestOptions).then(result => {\r\n if (requestOptions.includeResponse) {\r\n response = (result as fhirclient.CombinedFetchResult).response;\r\n return (result as fhirclient.CombinedFetchResult).body;\r\n }\r\n return result;\r\n });\r\n })\r\n\r\n // Handle 401 ------------------------------------------------------\r\n .catch(async (error: HttpError) => {\r\n if (error.status == 401) {\r\n\r\n // !accessToken -> not authorized -> No session. Need to launch.\r\n if (!this.getState(\"tokenResponse.access_token\")) {\r\n error.message += \"\\nThis app cannot be accessed directly. Please launch it as SMART app!\";\r\n throw error;\r\n }\r\n\r\n // auto-refresh not enabled and Session expired.\r\n // Need to re-launch. Clear state to start over!\r\n if (!options.useRefreshToken) {\r\n debugRequest(\"Your session has expired and the useRefreshToken option is set to false. Please re-launch the app.\");\r\n await this._clearState();\r\n error.message += \"\\n\" + str.expired;\r\n throw error;\r\n }\r\n\r\n // In rare cases we may have a valid access token and a refresh\r\n // token and the request might still fail with 401 just because\r\n // the access token has just been revoked.\r\n\r\n // otherwise -> auto-refresh failed. Session expired.\r\n // Need to re-launch. Clear state to start over!\r\n debugRequest(\"Auto-refresh failed! Please re-launch the app.\");\r\n await this._clearState();\r\n error.message += \"\\n\" + str.expired;\r\n throw error;\r\n }\r\n throw error;\r\n })\r\n\r\n // Handle 403 ------------------------------------------------------\r\n .catch((error: HttpError) => {\r\n if (error.status == 403) {\r\n debugRequest(\"Permission denied! Please make sure that you have requested the proper scopes.\");\r\n }\r\n throw error;\r\n })\r\n\r\n .then((data: any) => {\r\n\r\n // At this point we don't know what `data` actually is!\r\n\r\n // We might get an empty or falsy result. If so return it as is\r\n // Also handle raw responses\r\n if (!data || typeof data == \"string\" || data instanceof Response) {\r\n if ((requestOptions as fhirclient.FetchOptions).includeResponse) {\r\n return {\r\n body: data,\r\n response\r\n }\r\n }\r\n return data;\r\n }\r\n \r\n // Resolve References ------------------------------------------\r\n return (async (_data: fhirclient.FHIR.Resource) => {\r\n\r\n if (_data.resourceType == \"Bundle\") {\r\n await Promise.all(((_data as fhirclient.FHIR.Bundle).entry || []).map(item => resolveRefs(\r\n item.resource,\r\n options,\r\n _resolvedRefs,\r\n this,\r\n requestOptions as fhirclient.RequestOptions\r\n )));\r\n }\r\n else {\r\n await resolveRefs(\r\n _data,\r\n options,\r\n _resolvedRefs,\r\n this,\r\n requestOptions as fhirclient.RequestOptions\r\n );\r\n }\r\n\r\n return _data;\r\n })(data)\r\n\r\n // Pagination ----------------------------------------------\r\n .then(async _data => {\r\n if (_data && _data.resourceType == \"Bundle\") {\r\n const links = (_data.link || []) as fhirclient.FHIR.BundleLink[];\r\n\r\n if (options.flat) {\r\n _data = (_data.entry || []).map(\r\n (entry: fhirclient.FHIR.BundleEntry) => entry.resource\r\n );\r\n }\r\n\r\n if (options.onPage) {\r\n await options.onPage(_data, { ..._resolvedRefs });\r\n }\r\n\r\n if (--options.pageLimit) {\r\n const next = links.find(l => l.relation == \"next\");\r\n _data = makeArray(_data);\r\n if (next && next.url) {\r\n const nextPage = await this.request(\r\n {\r\n url: next.url,\r\n\r\n // Aborting the main request (even after it is complete)\r\n // must propagate to any child requests and abort them!\r\n // To do so, just pass the same AbortSignal if one is\r\n // provided.\r\n signal\r\n },\r\n options,\r\n _resolvedRefs\r\n );\r\n\r\n if (options.onPage) {\r\n return null;\r\n }\r\n\r\n if (options.resolveReferences.length) {\r\n Object.assign(_resolvedRefs, nextPage.references);\r\n return _data.concat(makeArray(nextPage.data || nextPage));\r\n }\r\n return _data.concat(makeArray(nextPage));\r\n }\r\n }\r\n }\r\n return _data;\r\n })\r\n\r\n // Finalize ------------------------------------------------\r\n .then(_data => {\r\n if (options.graph) {\r\n _resolvedRefs = {};\r\n }\r\n else if (!options.onPage && options.resolveReferences.length) {\r\n return {\r\n data: _data,\r\n references: _resolvedRefs\r\n };\r\n }\r\n return _data;\r\n })\r\n .then(_data => {\r\n if ((requestOptions as fhirclient.FetchOptions).includeResponse) {\r\n return {\r\n body: _data,\r\n response\r\n }\r\n }\r\n return _data;\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * Checks if access token and refresh token are present. If they are, and if\r\n * the access token is expired or is about to expire in the next 10 seconds,\r\n * calls `this.refresh()` to obtain new access token.\r\n * @param requestOptions Any options to pass to the fetch call. Most of them\r\n * will be overridden, bit it might still be useful for passing additional\r\n * request options or an abort signal.\r\n * @category Request\r\n */\r\n refreshIfNeeded(requestOptions: RequestInit = {}): Promise\r\n {\r\n const accessToken = this.getState(\"tokenResponse.access_token\");\r\n const refreshToken = this.getState(\"tokenResponse.refresh_token\");\r\n const expiresAt = this.state.expiresAt || 0;\r\n\r\n if (accessToken && refreshToken && expiresAt - 10 < Date.now() / 1000) {\r\n return this.refresh(requestOptions);\r\n }\r\n\r\n return Promise.resolve(this.state);\r\n }\r\n\r\n /**\r\n * Use the refresh token to obtain new access token. If the refresh token is\r\n * expired (or this fails for any other reason) it will be deleted from the\r\n * state, so that we don't enter into loops trying to re-authorize.\r\n *\r\n * This method is typically called internally from [[request]] if\r\n * certain request fails with 401.\r\n *\r\n * @param requestOptions Any options to pass to the fetch call. Most of them\r\n * will be overridden, bit it might still be useful for passing additional\r\n * request options or an abort signal.\r\n * @category Request\r\n */\r\n refresh(requestOptions: RequestInit = {}): Promise\r\n {\r\n const debugRefresh = _debug.extend(\"client:refresh\");\r\n debugRefresh(\"Attempting to refresh with refresh_token...\");\r\n\r\n const refreshToken = this.state?.tokenResponse?.refresh_token;\r\n assert(refreshToken, \"Unable to refresh. No refresh_token found.\");\r\n\r\n const tokenUri = this.state.tokenUri;\r\n assert(tokenUri, \"Unable to refresh. No tokenUri found.\");\r\n\r\n const scopes = this.getState(\"tokenResponse.scope\") || \"\";\r\n const hasOfflineAccess = scopes.search(/\\boffline_access\\b/) > -1;\r\n const hasOnlineAccess = scopes.search(/\\bonline_access\\b/) > -1;\r\n assert(hasOfflineAccess || hasOnlineAccess, \"Unable to refresh. No offline_access or online_access scope found.\");\r\n\r\n // This method is typically called internally from `request` if certain\r\n // request fails with 401. However, clients will often run multiple\r\n // requests in parallel which may result in multiple refresh calls.\r\n // To avoid that, we keep a reference to the current refresh task (if any).\r\n if (!this._refreshTask) {\r\n let body = `grant_type=refresh_token&refresh_token=${encodeURIComponent(refreshToken)}`;\r\n if (this.environment.options.refreshTokenWithClientId) {\r\n body += `&client_id=${this.state.clientId}`;\r\n }\r\n const refreshRequestOptions = {\r\n credentials: this.environment.options.refreshTokenWithCredentials || \"same-origin\",\r\n ...requestOptions,\r\n method : \"POST\",\r\n mode : \"cors\" as RequestMode,\r\n headers: {\r\n ...(requestOptions.headers || {}),\r\n \"content-type\": \"application/x-www-form-urlencoded\"\r\n },\r\n body: body\r\n };\r\n\r\n // custom authorization header can be passed on manual calls\r\n if (!(\"authorization\" in refreshRequestOptions.headers)) {\r\n const { clientSecret, clientId } = this.state;\r\n if (clientSecret) {\r\n // @ts-ignore\r\n refreshRequestOptions.headers.authorization = \"Basic \" + this.environment.btoa(\r\n clientId + \":\" + clientSecret\r\n );\r\n }\r\n }\r\n\r\n this._refreshTask = request(tokenUri, refreshRequestOptions)\r\n .then(data => {\r\n assert(data.access_token, \"No access token received\");\r\n debugRefresh(\"Received new access token response %O\", data);\r\n this.state.tokenResponse = { ...this.state.tokenResponse, ...data };\r\n this.state.expiresAt = getAccessTokenExpiration(data, this.environment);\r\n return this.state;\r\n })\r\n .catch((error: Error) => {\r\n if (this.state?.tokenResponse?.refresh_token) {\r\n debugRefresh(\"Deleting the expired or invalid refresh token.\");\r\n delete this.state.tokenResponse.refresh_token;\r\n }\r\n throw error;\r\n })\r\n .finally(() => {\r\n this._refreshTask = null;\r\n const key = this.state.key;\r\n if (key) {\r\n this.environment.getStorage().set(key, this.state);\r\n } else {\r\n debugRefresh(\"No 'key' found in Clint.state. Cannot persist the instance.\");\r\n }\r\n });\r\n }\r\n\r\n return this._refreshTask;\r\n }\r\n\r\n // utils -------------------------------------------------------------------\r\n\r\n /**\r\n * Groups the observations by code. Returns a map that will look like:\r\n * ```js\r\n * const map = client.byCodes(observations, \"code\");\r\n * // map = {\r\n * // \"55284-4\": [ observation1, observation2 ],\r\n * // \"6082-2\": [ observation3 ]\r\n * // }\r\n * ```\r\n * @param observations Array of observations\r\n * @param property The name of a CodeableConcept property to group by\r\n * @todo This should be deprecated and moved elsewhere. One should not have\r\n * to obtain an instance of [[Client]] just to use utility functions like this.\r\n * @deprecated\r\n * @category Utility\r\n */\r\n byCode(\r\n observations: fhirclient.FHIR.Observation | fhirclient.FHIR.Observation[],\r\n property: string\r\n ): fhirclient.ObservationMap\r\n {\r\n return byCode(observations, property);\r\n }\r\n\r\n /**\r\n * First groups the observations by code using `byCode`. Then returns a function\r\n * that accepts codes as arguments and will return a flat array of observations\r\n * having that codes. Example:\r\n * ```js\r\n * const filter = client.byCodes(observations, \"category\");\r\n * filter(\"laboratory\") // => [ observation1, observation2 ]\r\n * filter(\"vital-signs\") // => [ observation3 ]\r\n * filter(\"laboratory\", \"vital-signs\") // => [ observation1, observation2, observation3 ]\r\n * ```\r\n * @param observations Array of observations\r\n * @param property The name of a CodeableConcept property to group by\r\n * @todo This should be deprecated and moved elsewhere. One should not have\r\n * to obtain an instance of [[Client]] just to use utility functions like this.\r\n * @deprecated\r\n * @category Utility\r\n */\r\n byCodes(\r\n observations: fhirclient.FHIR.Observation | fhirclient.FHIR.Observation[],\r\n property: string\r\n ): (...codes: string[]) => any[]\r\n {\r\n return byCodes(observations, property);\r\n }\r\n\r\n /**\r\n * @category Utility\r\n */\r\n units = units;\r\n\r\n /**\r\n * Walks through an object (or array) and returns the value found at the\r\n * provided path. This function is very simple so it intentionally does not\r\n * support any argument polymorphism, meaning that the path can only be a\r\n * dot-separated string. If the path is invalid returns undefined.\r\n * @param obj The object (or Array) to walk through\r\n * @param path The path (eg. \"a.b.4.c\")\r\n * @returns {*} Whatever is found in the path or undefined\r\n * @todo This should be deprecated and moved elsewhere. One should not have\r\n * to obtain an instance of [[Client]] just to use utility functions like this.\r\n * @deprecated\r\n * @category Utility\r\n */\r\n getPath(obj: Record, path = \"\"): any {\r\n return getPath(obj, path);\r\n }\r\n\r\n /**\r\n * Returns a copy of the client state. Accepts a dot-separated path argument\r\n * (same as for `getPath`) to allow for selecting specific properties.\r\n * Examples:\r\n * ```js\r\n * client.getState(); // -> the entire state object\r\n * client.getState(\"serverUrl\"); // -> the URL we are connected to\r\n * client.getState(\"tokenResponse.patient\"); // -> The selected patient ID (if any)\r\n * ```\r\n * @param path The path (eg. \"a.b.4.c\")\r\n * @returns {*} Whatever is found in the path or undefined\r\n */\r\n getState(path = \"\") {\r\n return getPath({ ...this.state }, path);\r\n }\r\n\r\n /**\r\n * Returns a promise that will be resolved with the fhir version as defined\r\n * in the CapabilityStatement.\r\n */\r\n getFhirVersion(): Promise {\r\n return fetchConformanceStatement(this.state.serverUrl)\r\n .then((metadata) => metadata.fhirVersion);\r\n }\r\n\r\n /**\r\n * Returns a promise that will be resolved with the numeric fhir version\r\n * - 2 for DSTU2\r\n * - 3 for STU3\r\n * - 4 for R4\r\n * - 0 if the version is not known\r\n */\r\n getFhirRelease(): Promise {\r\n return this.getFhirVersion().then(v => (fhirVersions as any)[v] ?? 0);\r\n }\r\n}\r\n","import { fhirclient } from \"./types\";\r\n\r\n\r\nexport default class HttpError extends Error\r\n{\r\n /**\r\n * The HTTP status code for this error\r\n */\r\n statusCode: number;\r\n\r\n /**\r\n * The HTTP status code for this error.\r\n * Note that this is the same as `status`, i.e. the code is available\r\n * through any of these.\r\n */\r\n status: number;\r\n\r\n /**\r\n * The HTTP status text corresponding to this error\r\n */\r\n statusText: string;\r\n\r\n /**\r\n * Reference to the HTTP Response object\r\n */\r\n response: Response;\r\n\r\n constructor(response: Response) {\r\n super(`${response.status} ${response.statusText}\\nURL: ${response.url}`);\r\n this.name = \"HttpError\";\r\n this.response = response;\r\n this.statusCode = response.status;\r\n this.status = response.status;\r\n this.statusText = response.statusText;\r\n }\r\n\r\n async parse()\r\n {\r\n if (!this.response.bodyUsed) {\r\n try {\r\n const type = this.response.headers.get(\"content-type\") || \"text/plain\";\r\n if (type.match(/\\bjson\\b/i)) {\r\n let body = await this.response.json();\r\n if (body.error) {\r\n this.message += \"\\n\" + body.error;\r\n if (body.error_description) {\r\n this.message += \": \" + body.error_description;\r\n }\r\n }\r\n else {\r\n this.message += \"\\n\\n\" + JSON.stringify(body, null, 4);\r\n }\r\n }\r\n else if (type.match(/^text\\//i)) {\r\n let body = await this.response.text();\r\n if (body) {\r\n this.message += \"\\n\\n\" + body;\r\n }\r\n }\r\n } catch {\r\n // ignore\r\n }\r\n }\r\n\r\n return this;\r\n }\r\n\r\n toJSON() {\r\n return {\r\n name : this.name,\r\n statusCode: this.statusCode,\r\n status : this.status,\r\n statusText: this.statusText,\r\n message : this.message\r\n };\r\n }\r\n}\r\n","import { ready, authorize, init } from \"../smart\";\r\nimport Client from \"../Client\";\r\nimport BrowserStorage from \"../storage/BrowserStorage\";\r\nimport { fhirclient } from \"../types\";\r\nimport * as security from \"../security/browser\"\r\nimport { encodeURL, decode, fromUint8Array } from \"js-base64\"\r\n\r\n/**\r\n * Browser Adapter\r\n */\r\nexport default class BrowserAdapter implements fhirclient.Adapter\r\n{\r\n /**\r\n * Stores the URL instance associated with this adapter\r\n */\r\n private _url: URL | null = null;\r\n\r\n /**\r\n * Holds the Storage instance associated with this instance\r\n */\r\n private _storage: fhirclient.Storage | null = null;\r\n\r\n /**\r\n * Environment-specific options\r\n */\r\n options: fhirclient.BrowserFHIRSettings;\r\n\r\n security = security;\r\n\r\n /**\r\n * @param options Environment-specific options\r\n */\r\n constructor(options: fhirclient.BrowserFHIRSettings = {})\r\n {\r\n this.options = {\r\n // Replaces the browser's current URL\r\n // using window.history.replaceState API or by reloading.\r\n replaceBrowserHistory: true,\r\n\r\n // When set to true, this variable will fully utilize\r\n // HTML5 sessionStorage API.\r\n // This variable can be overridden to false by setting\r\n // FHIR.oauth2.settings.fullSessionStorageSupport = false.\r\n // When set to false, the sessionStorage will be keyed\r\n // by a state variable. This is to allow the embedded IE browser\r\n // instances instantiated on a single thread to continue to\r\n // function without having sessionStorage data shared\r\n // across the embedded IE instances.\r\n fullSessionStorageSupport: true,\r\n\r\n // Do we want to send cookies while making a request to the token\r\n // endpoint in order to obtain new access token using existing\r\n // refresh token. In rare cases the auth server might require the\r\n // client to send cookies along with those requests. In this case\r\n // developers will have to change this before initializing the app\r\n // like so:\r\n // `FHIR.oauth2.settings.refreshTokenWithCredentials = \"include\";`\r\n // or\r\n // `FHIR.oauth2.settings.refreshTokenWithCredentials = \"same-origin\";`\r\n // Can be one of:\r\n // \"include\" - always send cookies\r\n // \"same-origin\" - only send cookies if we are on the same domain (default)\r\n // \"omit\" - do not send cookies\r\n refreshTokenWithCredentials: \"same-origin\",\r\n\r\n ...options\r\n };\r\n }\r\n\r\n /**\r\n * Given a relative path, returns an absolute url using the instance base URL\r\n */\r\n relative(path: string): string\r\n {\r\n return new URL(path, this.getUrl().href).href;\r\n }\r\n\r\n /**\r\n * In browsers we need to be able to (dynamically) check if fhir.js is\r\n * included in the page. If it is, it should have created a \"fhir\" variable\r\n * in the global scope.\r\n */\r\n get fhir()\r\n {\r\n // @ts-ignore\r\n return typeof fhir === \"function\" ? fhir : null;\r\n }\r\n\r\n /**\r\n * Given the current environment, this method must return the current url\r\n * as URL instance\r\n */\r\n getUrl(): URL\r\n {\r\n if (!this._url) {\r\n this._url = new URL(location + \"\");\r\n }\r\n return this._url;\r\n }\r\n\r\n /**\r\n * Given the current environment, this method must redirect to the given\r\n * path\r\n */\r\n redirect(to: string): void\r\n {\r\n location.href = to;\r\n }\r\n\r\n /**\r\n * Returns a BrowserStorage object which is just a wrapper around\r\n * sessionStorage\r\n */\r\n getStorage(): BrowserStorage\r\n {\r\n if (!this._storage) {\r\n this._storage = new BrowserStorage();\r\n }\r\n return this._storage;\r\n }\r\n\r\n /**\r\n * Returns a reference to the AbortController constructor. In browsers,\r\n * AbortController will always be available as global (native or polyfilled)\r\n */\r\n getAbortController()\r\n {\r\n return AbortController;\r\n }\r\n\r\n /**\r\n * ASCII string to Base64\r\n */\r\n atob(str: string): string\r\n {\r\n return window.atob(str);\r\n }\r\n\r\n /**\r\n * Base64 to ASCII string\r\n */\r\n btoa(str: string): string\r\n {\r\n return window.btoa(str);\r\n }\r\n\r\n base64urlencode(input: string | Uint8Array)\r\n {\r\n if (typeof input == \"string\") {\r\n return encodeURL(input)\r\n }\r\n return fromUint8Array(input, true)\r\n }\r\n\r\n base64urldecode(input: string)\r\n {\r\n return decode(input)\r\n }\r\n\r\n /**\r\n * Creates and returns adapter-aware SMART api. Not that while the shape of\r\n * the returned object is well known, the arguments to this function are not.\r\n * Those who override this method are free to require any environment-specific\r\n * arguments. For example in node we will need a request, a response and\r\n * optionally a storage or storage factory function.\r\n */\r\n getSmartApi(): fhirclient.SMART\r\n {\r\n return {\r\n ready : (...args: any[]) => ready(this, ...args),\r\n authorize: options => authorize(this, options),\r\n init : options => init(this, options),\r\n client : (state: string | fhirclient.ClientState) => new Client(this, state),\r\n options : this.options,\r\n utils: {\r\n security\r\n }\r\n };\r\n }\r\n}\r\n","\r\n// Note: the following 2 imports appear as unused but they affect how tsc is\r\n// generating type definitions!\r\nimport { fhirclient } from \"../types\";\r\nimport Client from \"../Client\";\r\n\r\n// In Browsers we create an adapter, get the SMART api from it and build the\r\n// global FHIR object\r\nimport BrowserAdapter from \"../adapters/BrowserAdapter\";\r\n\r\nconst adapter = new BrowserAdapter();\r\nconst { ready, authorize, init, client, options, utils } = adapter.getSmartApi();\r\n\r\n// We have two kinds of browser builds - \"pure\" for new browsers and \"legacy\"\r\n// for old ones. In pure builds we assume that the browser supports everything\r\n// we need. In legacy mode, the library also acts as a polyfill. Babel will\r\n// automatically polyfill everything except \"fetch\", which we have to handle\r\n// manually.\r\n// @ts-ignore\r\nif (typeof FHIRCLIENT_PURE == \"undefined\") {\r\n const fetch = require(\"cross-fetch\");\r\n require(\"abortcontroller-polyfill/dist/abortcontroller-polyfill-only\");\r\n if (!window.fetch) {\r\n window.fetch = fetch.default;\r\n window.Headers = fetch.Headers;\r\n window.Request = fetch.Request;\r\n window.Response = fetch.Response;\r\n }\r\n}\r\n\r\n// $lab:coverage:off$\r\nconst FHIR = {\r\n AbortController: window.AbortController,\r\n client,\r\n utils,\r\n oauth2: {\r\n settings: options,\r\n ready,\r\n authorize,\r\n init\r\n }\r\n};\r\n\r\nexport = FHIR;\r\n// $lab:coverage:on$\r\n","/*\r\n * This file contains some shared functions. They are used by other modules, but\r\n * are defined here so that tests can import this library and test them.\r\n */\r\n\r\nimport HttpError from \"./HttpError\";\r\nimport { patientParams } from \"./settings\";\r\nimport { fhirclient } from \"./types\";\r\nconst debug = require(\"debug\");\r\n\r\n// $lab:coverage:off$\r\n// @ts-ignore\r\nconst { fetch } = typeof FHIRCLIENT_PURE !== \"undefined\" ? window : require(\"cross-fetch\");\r\n// $lab:coverage:on$\r\n\r\nconst _debug = debug(\"FHIR\");\r\nexport { _debug as debug };\r\n\r\n/**\r\n * The cache for the `getAndCache` function\r\n */\r\nconst cache: Record = {};\r\n\r\n/**\r\n * A namespace with functions for converting between different measurement units\r\n */\r\nexport const units = {\r\n cm({ code, value }: fhirclient.CodeValue) {\r\n ensureNumerical({ code, value });\r\n if (code == \"cm\" ) return value;\r\n if (code == \"m\" ) return value * 100;\r\n if (code == \"in\" ) return value * 2.54;\r\n if (code == \"[in_us]\") return value * 2.54;\r\n if (code == \"[in_i]\" ) return value * 2.54;\r\n if (code == \"ft\" ) return value * 30.48;\r\n if (code == \"[ft_us]\") return value * 30.48;\r\n throw new Error(\"Unrecognized length unit: \" + code);\r\n },\r\n kg({ code, value }: fhirclient.CodeValue){\r\n ensureNumerical({ code, value });\r\n if (code == \"kg\" ) return value;\r\n if (code == \"g\" ) return value / 1000;\r\n if (code.match(/lb/)) return value / 2.20462;\r\n if (code.match(/oz/)) return value / 35.274;\r\n throw new Error(\"Unrecognized weight unit: \" + code);\r\n },\r\n any(pq: fhirclient.CodeValue){\r\n ensureNumerical(pq);\r\n return pq.value;\r\n }\r\n};\r\n\r\n/**\r\n * Assertion function to guard arguments for `units` functions\r\n */\r\nfunction ensureNumerical({ value, code }: fhirclient.CodeValue) {\r\n if (typeof value !== \"number\") {\r\n throw new Error(\"Found a non-numerical unit: \" + value + \" \" + code);\r\n }\r\n}\r\n\r\n/**\r\n * Used in fetch Promise chains to reject if the \"ok\" property is not true\r\n */\r\nexport async function checkResponse(resp: Response): Promise {\r\n if (!resp.ok) {\r\n const error = new HttpError(resp);\r\n await error.parse();\r\n throw error;\r\n }\r\n return resp;\r\n}\r\n\r\n/**\r\n * Used in fetch Promise chains to return the JSON version of the response.\r\n * Note that `resp.json()` will throw on empty body so we use resp.text()\r\n * instead.\r\n */\r\nexport function responseToJSON(resp: Response): Promise {\r\n return resp.text().then(text => text.length ? JSON.parse(text) : \"\");\r\n}\r\n\r\nexport function loweCaseKeys | any[] | undefined>(obj: T): T {\r\n \r\n // Can be undefined to signal that this key should be removed\r\n if (!obj) {\r\n return obj as T\r\n }\r\n\r\n // Arrays are valid values in case of recursive calls\r\n if (Array.isArray(obj)) {\r\n return obj.map(v => v && typeof v === \"object\" ? loweCaseKeys(v) : v) as unknown as T;\r\n }\r\n\r\n // Plain object\r\n let out: Record = {};\r\n Object.keys(obj).forEach(key => {\r\n const lowerKey = key.toLowerCase()\r\n const v = (obj as Record)[key]\r\n out[lowerKey] = v && typeof v == \"object\" ? loweCaseKeys(v) : v;\r\n });\r\n return out as T;\r\n}\r\n\r\n/**\r\n * This is our built-in request function. It does a few things by default\r\n * (unless told otherwise):\r\n * - Makes CORS requests\r\n * - Sets accept header to \"application/json\"\r\n * - Handles errors\r\n * - If the response is json return the json object\r\n * - If the response is text return the result text\r\n * - Otherwise return the response object on which we call stuff like `.blob()`\r\n */\r\nexport function request(\r\n url: string | Request,\r\n requestOptions: fhirclient.FetchOptions = {}\r\n): Promise\r\n{\r\n const { includeResponse, ...options } = requestOptions;\r\n return fetch(url, {\r\n mode: \"cors\",\r\n ...options,\r\n headers: {\r\n accept: \"application/json\",\r\n ...loweCaseKeys(options.headers)\r\n }\r\n })\r\n .then(checkResponse)\r\n .then((res: Response) => {\r\n const type = res.headers.get(\"content-type\") + \"\";\r\n if (type.match(/\\bjson\\b/i)) {\r\n return responseToJSON(res).then(body => ({ res, body }));\r\n }\r\n if (type.match(/^text\\//i)) {\r\n return res.text().then(body => ({ res, body }));\r\n }\r\n return { res };\r\n })\r\n .then(({res, body}: {res:Response, body?:fhirclient.JsonObject|string}) => {\r\n\r\n // Some servers will reply after CREATE with json content type but with\r\n // empty body. In this case check if a location header is received and\r\n // fetch that to use it as the final result.\r\n if (!body && res.status == 201) {\r\n const location = res.headers.get(\"location\");\r\n if (location) {\r\n return request(location, { ...options, method: \"GET\", body: null, includeResponse });\r\n }\r\n }\r\n\r\n if (includeResponse) {\r\n return { body, response: res };\r\n }\r\n\r\n // For any non-text and non-json response return the Response object.\r\n // This to let users decide if they want to call text(), blob() or\r\n // something else on it\r\n if (body === undefined) {\r\n return res;\r\n }\r\n\r\n // Otherwise just return the parsed body (can also be \"\" or null)\r\n return body;\r\n });\r\n}\r\n\r\n/**\r\n * Makes a request using `fetch` and stores the result in internal memory cache.\r\n * The cache is cleared when the page is unloaded.\r\n * @param url The URL to request\r\n * @param requestOptions Request options\r\n * @param force If true, reload from source and update the cache, even if it has\r\n * already been cached.\r\n */\r\nexport function getAndCache(url: string, requestOptions?: RequestInit, force: boolean = process.env.NODE_ENV === \"test\"): Promise {\r\n if (force || !cache[url]) {\r\n cache[url] = request(url, requestOptions);\r\n return cache[url];\r\n }\r\n return Promise.resolve(cache[url]);\r\n}\r\n\r\n/**\r\n * Fetches the conformance statement from the given base URL.\r\n * Note that the result is cached in memory (until the page is reloaded in the\r\n * browser) because it might have to be re-used by the client\r\n * @param baseUrl The base URL of the FHIR server\r\n * @param [requestOptions] Any options passed to the fetch call\r\n */\r\nexport function fetchConformanceStatement(baseUrl = \"/\", requestOptions?: RequestInit): Promise\r\n{\r\n const url = String(baseUrl).replace(/\\/*$/, \"/\") + \"metadata\";\r\n return getAndCache(url, requestOptions).catch((ex: Error) => {\r\n throw new Error(\r\n `Failed to fetch the conformance statement from \"${url}\". ${ex}`\r\n );\r\n });\r\n}\r\n\r\n\r\n/**\r\n * Walks through an object (or array) and returns the value found at the\r\n * provided path. This function is very simple so it intentionally does not\r\n * support any argument polymorphism, meaning that the path can only be a\r\n * dot-separated string. If the path is invalid returns undefined.\r\n * @param obj The object (or Array) to walk through\r\n * @param path The path (eg. \"a.b.4.c\")\r\n * @returns {*} Whatever is found in the path or undefined\r\n */\r\nexport function getPath(obj: Record, path = \"\"): any {\r\n path = path.trim();\r\n if (!path) {\r\n return obj;\r\n }\r\n\r\n let segments = path.split(\".\");\r\n let result = obj;\r\n\r\n while (result && segments.length) {\r\n const key = segments.shift();\r\n if (!key && Array.isArray(result)) {\r\n return result.map(o => getPath(o, segments.join(\".\")));\r\n } else {\r\n result = result[key as string];\r\n }\r\n }\r\n\r\n return result;\r\n}\r\n\r\n/**\r\n * Like getPath, but if the node is found, its value is set to @value\r\n * @param obj The object (or Array) to walk through\r\n * @param path The path (eg. \"a.b.4.c\")\r\n * @param value The value to set\r\n * @param createEmpty If true, create missing intermediate objects or arrays\r\n * @returns The modified object\r\n */\r\nexport function setPath(obj: Record, path: string, value: any, createEmpty = false): Record {\r\n path.trim().split(\".\").reduce(\r\n (out, key, idx, arr) => {\r\n if (out && idx === arr.length - 1) {\r\n out[key] = value;\r\n }\r\n else {\r\n if (out && out[key] === undefined && createEmpty) {\r\n out[key] = arr[idx + 1].match(/^[0-9]+$/) ? [] : {};\r\n }\r\n return out ? out[key] : undefined;\r\n }\r\n },\r\n obj\r\n );\r\n return obj;\r\n}\r\n\r\n/**\r\n * If the argument is an array returns it as is. Otherwise puts it in an array\r\n * (`[arg]`) and returns the result\r\n * @param arg The element to test and possibly convert to array\r\n * @category Utility\r\n */\r\nexport function makeArray(arg: any): T[] {\r\n if (Array.isArray(arg)) {\r\n return arg;\r\n }\r\n return [arg];\r\n}\r\n\r\n/**\r\n * Given a path, converts it to absolute url based on the `baseUrl`. If baseUrl\r\n * is not provided, the result would be a rooted path (one that starts with `/`).\r\n * @param path The path to convert\r\n * @param baseUrl The base URL\r\n */\r\nexport function absolute(path: string, baseUrl?: string): string\r\n{\r\n if (path.match(/^http/)) return path;\r\n if (path.match(/^urn/)) return path;\r\n return String(baseUrl || \"\").replace(/\\/+$/, \"\") + \"/\" + path.replace(/^\\/+/, \"\");\r\n}\r\n\r\n/**\r\n * Generates random strings. By default this returns random 8 characters long\r\n * alphanumeric strings.\r\n * @param strLength The length of the output string. Defaults to 8.\r\n * @param charSet A string containing all the possible characters.\r\n * Defaults to all the upper and lower-case letters plus digits.\r\n * @category Utility\r\n */\r\nexport function randomString(\r\n strLength = 8,\r\n charSet = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\"\r\n): string\r\n{\r\n const result = [];\r\n const len = charSet.length;\r\n while (strLength--) {\r\n result.push(charSet.charAt(Math.floor(Math.random() * len)));\r\n }\r\n return result.join(\"\");\r\n}\r\n\r\n/**\r\n * Decodes a JWT token and returns it's body.\r\n * @param token The token to read\r\n * @param env An `Adapter` or any other object that has an `atob` method\r\n * @category Utility\r\n */\r\nexport function jwtDecode(token: string, env: fhirclient.Adapter): Record | null\r\n{\r\n const payload = token.split(\".\")[1];\r\n return payload ? JSON.parse(env.atob(payload)) : null;\r\n}\r\n\r\n/**\r\n * Add a supplied number of seconds to the supplied Date, returning\r\n * an integer number of seconds since the epoch\r\n * @param secondsAhead How far ahead, in seconds (defaults to 120 seconds)\r\n * @param from Initial time (defaults to current time)\r\n */\r\nexport function getTimeInFuture(secondsAhead: number = 120, from?: Date | number): number {\r\n return Math.floor(+(from || new Date()) / 1000 + secondsAhead) \r\n}\r\n\r\n/**\r\n * Given a token response, computes and returns the expiresAt timestamp.\r\n * Note that this should only be used immediately after an access token is\r\n * received, otherwise the computed timestamp will be incorrect.\r\n * @param tokenResponse \r\n * @param env \r\n */\r\nexport function getAccessTokenExpiration(tokenResponse: fhirclient.TokenResponse, env: fhirclient.Adapter): number\r\n{\r\n const now = Math.floor(Date.now() / 1000);\r\n\r\n // Option 1 - using the expires_in property of the token response\r\n if (tokenResponse.expires_in) {\r\n return now + tokenResponse.expires_in;\r\n }\r\n\r\n // Option 2 - using the exp property of JWT tokens (must not assume JWT!)\r\n if (tokenResponse.access_token) {\r\n let tokenBody = jwtDecode(tokenResponse.access_token, env);\r\n if (tokenBody && tokenBody.exp) {\r\n return tokenBody.exp;\r\n }\r\n }\r\n\r\n // Option 3 - if none of the above worked set this to 5 minutes after now\r\n return now + 300;\r\n}\r\n\r\n/**\r\n * Groups the observations by code. Returns a map that will look like:\r\n * ```js\r\n * const map = client.byCodes(observations, \"code\");\r\n * // map = {\r\n * // \"55284-4\": [ observation1, observation2 ],\r\n * // \"6082-2\": [ observation3 ]\r\n * // }\r\n * ```\r\n * @param observations Array of observations\r\n * @param property The name of a CodeableConcept property to group by\r\n */\r\nexport function byCode(\r\n observations: fhirclient.FHIR.Observation | fhirclient.FHIR.Observation[],\r\n property: string\r\n): fhirclient.ObservationMap\r\n{\r\n const ret: fhirclient.ObservationMap = {};\r\n\r\n function handleCodeableConcept(concept: fhirclient.FHIR.CodeableConcept, observation: fhirclient.FHIR.Observation) {\r\n if (concept && Array.isArray(concept.coding)) {\r\n concept.coding.forEach(({ code }) => {\r\n if (code) {\r\n ret[code] = ret[code] || [] as fhirclient.FHIR.Observation[];\r\n ret[code].push(observation);\r\n }\r\n });\r\n }\r\n }\r\n\r\n makeArray(observations).forEach(o => {\r\n if (o.resourceType === \"Observation\" && o[property]) {\r\n if (Array.isArray(o[property])) {\r\n o[property].forEach((concept: fhirclient.FHIR.CodeableConcept) => handleCodeableConcept(concept, o));\r\n } else {\r\n handleCodeableConcept(o[property], o);\r\n }\r\n }\r\n });\r\n\r\n return ret;\r\n}\r\n\r\n/**\r\n * First groups the observations by code using `byCode`. Then returns a function\r\n * that accepts codes as arguments and will return a flat array of observations\r\n * having that codes. Example:\r\n * ```js\r\n * const filter = client.byCodes(observations, \"category\");\r\n * filter(\"laboratory\") // => [ observation1, observation2 ]\r\n * filter(\"vital-signs\") // => [ observation3 ]\r\n * filter(\"laboratory\", \"vital-signs\") // => [ observation1, observation2, observation3 ]\r\n * ```\r\n * @param observations Array of observations\r\n * @param property The name of a CodeableConcept property to group by\r\n */\r\nexport function byCodes(\r\n observations: fhirclient.FHIR.Observation | fhirclient.FHIR.Observation[],\r\n property: string\r\n): (...codes: string[]) => any[]\r\n{\r\n const bank = byCode(observations, property);\r\n return (...codes) => codes\r\n .filter(code => (code + \"\") in bank)\r\n .reduce(\r\n (prev, code) => prev.concat(bank[code + \"\"]),\r\n [] as fhirclient.FHIR.Observation[]\r\n );\r\n}\r\n\r\n/**\r\n * Given a conformance statement and a resource type, returns the name of the\r\n * URL parameter that can be used to scope the resource type by patient ID.\r\n */\r\nexport function getPatientParam(conformance: fhirclient.FHIR.CapabilityStatement, resourceType: string): string\r\n{\r\n // Find what resources are supported by this server\r\n const resources = getPath(conformance, \"rest.0.resource\") || [];\r\n\r\n // Check if this resource is supported\r\n const meta = resources.find((r: any) => r.type === resourceType);\r\n if (!meta) {\r\n throw new Error(`Resource \"${resourceType}\" is not supported by this FHIR server`);\r\n }\r\n\r\n // Check if any search parameters are available for this resource\r\n if (!Array.isArray(meta.searchParam)) {\r\n throw new Error(`No search parameters supported for \"${resourceType}\" on this FHIR server`);\r\n }\r\n\r\n // This is a rare case but could happen in generic workflows\r\n if (resourceType == \"Patient\" && meta.searchParam.find((x: any) => x.name == \"_id\")) {\r\n return \"_id\";\r\n }\r\n\r\n // Now find the first possible parameter name\r\n const out = patientParams.find(p => meta.searchParam.find((x: any) => x.name == p));\r\n\r\n // If there is no match\r\n if (!out) {\r\n throw new Error(\"I don't know what param to use for \" + resourceType);\r\n }\r\n\r\n return out;\r\n}\r\n\r\n/**\r\n * Resolves a reference to target window. It may also open new window or tab if\r\n * the `target = \"popup\"` or `target = \"_blank\"`.\r\n * @param target\r\n * @param width Only used when `target = \"popup\"`\r\n * @param height Only used when `target = \"popup\"`\r\n */\r\nexport async function getTargetWindow(target: fhirclient.WindowTarget, width: number = 800, height: number = 720): Promise\r\n{\r\n // The target can be a function that returns the target. This can be\r\n // used to open a layer pop-up with an iframe and then return a reference\r\n // to that iframe (or its name)\r\n if (typeof target == \"function\") {\r\n target = await target();\r\n }\r\n\r\n // The target can be a window reference\r\n if (target && typeof target == \"object\") {\r\n return target;\r\n }\r\n\r\n // At this point target must be a string\r\n if (typeof target != \"string\") {\r\n _debug(\"Invalid target type '%s'. Failing back to '_self'.\", typeof target);\r\n return self;\r\n }\r\n\r\n // Current window\r\n if (target == \"_self\") {\r\n return self;\r\n }\r\n\r\n // The parent frame\r\n if (target == \"_parent\") {\r\n return parent;\r\n }\r\n\r\n // The top window\r\n if (target == \"_top\") {\r\n return top || self;\r\n }\r\n\r\n // New tab or window\r\n if (target == \"_blank\") {\r\n let error, targetWindow: Window | null = null;\r\n try {\r\n targetWindow = window.open(\"\", \"SMARTAuthPopup\");\r\n if (!targetWindow) {\r\n throw new Error(\"Perhaps window.open was blocked\");\r\n }\r\n } catch (e) {\r\n error = e;\r\n }\r\n\r\n if (!targetWindow) {\r\n _debug(\"Cannot open window. Failing back to '_self'. %s\", error);\r\n return self;\r\n } else {\r\n return targetWindow;\r\n }\r\n }\r\n\r\n // Popup window\r\n if (target == \"popup\") {\r\n let error, targetWindow: Window | null = null;\r\n // if (!targetWindow || targetWindow.closed) {\r\n try {\r\n targetWindow = window.open(\"\", \"SMARTAuthPopup\", [\r\n \"height=\" + height,\r\n \"width=\" + width,\r\n \"menubar=0\",\r\n \"resizable=1\",\r\n \"status=0\",\r\n \"top=\" + (screen.height - height) / 2,\r\n \"left=\" + (screen.width - width) / 2\r\n ].join(\",\"));\r\n if (!targetWindow) {\r\n throw new Error(\"Perhaps the popup window was blocked\");\r\n }\r\n } catch (e) {\r\n error = e;\r\n }\r\n\r\n if (!targetWindow) {\r\n _debug(\"Cannot open window. Failing back to '_self'. %s\", error);\r\n return self;\r\n } else {\r\n return targetWindow;\r\n }\r\n }\r\n\r\n // Frame or window by name\r\n const winOrFrame: Window = frames[target as any];\r\n if (winOrFrame) {\r\n return winOrFrame;\r\n }\r\n\r\n _debug(\"Unknown target '%s'. Failing back to '_self'.\", target);\r\n return self;\r\n}\r\n\r\nexport function assert(condition: any, message: string): asserts condition {\r\n if (!(condition)) {\r\n throw new Error(message)\r\n }\r\n}\r\n\r\nexport function assertJsonPatch(patch: fhirclient.JsonPatch): asserts patch {\r\n assert(Array.isArray(patch), \"The JSON patch must be an array\")\r\n assert(patch.length > 0, \"The JSON patch array should not be empty\")\r\n patch.forEach((operation: fhirclient.JsonPatchOperation) => {\r\n assert(\r\n [\"add\", \"replace\", \"test\", \"move\", \"copy\", \"remove\"].indexOf(operation.op) > -1,\r\n 'Each patch operation must have an \"op\" property which must be one of: \"add\", \"replace\", \"test\", \"move\", \"copy\", \"remove\"'\r\n )\r\n assert(operation.path && typeof operation.path, `Invalid \"${operation.op}\" operation. Missing \"path\" property`)\r\n \r\n if (operation.op == \"add\" || operation.op == \"replace\" || operation.op == \"test\") {\r\n assert(\"value\" in operation, `Invalid \"${operation.op}\" operation. Missing \"value\" property`)\r\n assert(Object.keys(operation).length == 3, `Invalid \"${operation.op}\" operation. Contains unknown properties`)\r\n }\r\n\r\n else if (operation.op == \"move\" || operation.op == \"copy\") {\r\n assert(typeof operation.from == \"string\", `Invalid \"${operation.op}\" operation. Requires a string \"from\" property`)\r\n assert(Object.keys(operation).length == 3, `Invalid \"${operation.op}\" operation. Contains unknown properties`)\r\n }\r\n\r\n else {\r\n assert(Object.keys(operation).length == 2, `Invalid \"${operation.op}\" operation. Contains unknown properties`)\r\n }\r\n })\r\n}\r\n","import { encodeURL, fromUint8Array } from \"js-base64\"\r\nimport { fhirclient } from \"../types\"\r\n\r\n\r\nconst crypto: Crypto = typeof globalThis === \"object\" && globalThis.crypto ?\r\n globalThis.crypto :\r\n require(\"isomorphic-webcrypto\").default;\r\n\r\nconst subtle = () => {\r\n if (!crypto.subtle) {\r\n if (!globalThis.isSecureContext) {\r\n throw new Error(\r\n \"Some of the required subtle crypto functionality is not \" +\r\n \"available unless you run this app in secure context (using \" +\r\n \"HTTPS or running locally). See \" +\r\n \"https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts\"\r\n )\r\n }\r\n throw new Error(\r\n \"Some of the required subtle crypto functionality is not \" +\r\n \"available in the current environment (no crypto.subtle)\"\r\n )\r\n }\r\n return crypto.subtle\r\n}\r\n\r\n\r\ninterface PkcePair {\r\n codeChallenge: string\r\n codeVerifier: string\r\n}\r\n\r\nconst ALGS = {\r\n ES384: {\r\n name: \"ECDSA\",\r\n namedCurve: \"P-384\"\r\n } as EcKeyGenParams,\r\n RS384: {\r\n name: \"RSASSA-PKCS1-v1_5\",\r\n modulusLength: 4096,\r\n publicExponent: new Uint8Array([1, 0, 1]),\r\n hash: {\r\n name: 'SHA-384'\r\n }\r\n } as RsaHashedKeyGenParams\r\n};\r\n\r\nexport function randomBytes(count: number): Uint8Array {\r\n return crypto.getRandomValues(new Uint8Array(count));\r\n}\r\n\r\nexport async function digestSha256(payload: string): Promise {\r\n const prepared = new TextEncoder().encode(payload);\r\n const hash = await subtle().digest('SHA-256', prepared);\r\n return new Uint8Array(hash);\r\n}\r\n\r\nexport const generatePKCEChallenge = async (entropy = 96): Promise => {\r\n const inputBytes = randomBytes(entropy)\r\n const codeVerifier = fromUint8Array(inputBytes, true)\r\n const codeChallenge = fromUint8Array(await digestSha256(codeVerifier), true)\r\n return { codeChallenge, codeVerifier }\r\n}\r\n\r\nexport async function importJWK(jwk: fhirclient.JWK): Promise {\r\n // alg is optional in JWK but we need it here!\r\n if (!jwk.alg) {\r\n throw new Error('The \"alg\" property of the JWK must be set to \"ES384\" or \"RS384\"')\r\n }\r\n\r\n // Use of the \"key_ops\" member is OPTIONAL, unless the application requires its presence.\r\n // https://www.rfc-editor.org/rfc/rfc7517.html#section-4.3\r\n // \r\n // In our case the app will only import private keys so we can assume \"sign\"\r\n if (!Array.isArray(jwk.key_ops)) {\r\n jwk.key_ops = [\"sign\"]\r\n }\r\n\r\n // In this case the JWK has a \"key_ops\" array and \"sign\" is not listed\r\n if (!jwk.key_ops.includes(\"sign\")) {\r\n throw new Error('The \"key_ops\" property of the JWK does not contain \"sign\"')\r\n }\r\n\r\n try {\r\n return await subtle().importKey(\r\n \"jwk\",\r\n jwk,\r\n ALGS[jwk.alg],\r\n jwk.ext === true,\r\n jwk.key_ops// || ['sign']\r\n )\r\n } catch (e) {\r\n throw new Error(`The ${jwk.alg} is not supported by this browser: ${e}`)\r\n }\r\n}\r\n\r\nexport async function signCompactJws(alg: keyof typeof ALGS, privateKey: CryptoKey, header: any, payload: any): Promise {\r\n\r\n const jwtHeader = JSON.stringify({ ...header, alg });\r\n const jwtPayload = JSON.stringify(payload);\r\n const jwtAuthenticatedContent = `${encodeURL(jwtHeader)}.${encodeURL(jwtPayload)}`;\r\n\r\n const signature = await subtle().sign(\r\n { ...privateKey.algorithm, hash: 'SHA-384' },\r\n privateKey,\r\n new TextEncoder().encode(jwtAuthenticatedContent)\r\n );\r\n\r\n return `${jwtAuthenticatedContent}.${fromUint8Array(new Uint8Array(signature), true)}`\r\n}\r\n","/**\r\n * Combined list of FHIR resource types accepting patient parameter in FHIR R2-R4\r\n */\r\nexport const patientCompartment = [\r\n \"Account\",\r\n \"AdverseEvent\",\r\n \"AllergyIntolerance\",\r\n \"Appointment\",\r\n \"AppointmentResponse\",\r\n \"AuditEvent\",\r\n \"Basic\",\r\n \"BodySite\",\r\n \"BodyStructure\",\r\n \"CarePlan\",\r\n \"CareTeam\",\r\n \"ChargeItem\",\r\n \"Claim\",\r\n \"ClaimResponse\",\r\n \"ClinicalImpression\",\r\n \"Communication\",\r\n \"CommunicationRequest\",\r\n \"Composition\",\r\n \"Condition\",\r\n \"Consent\",\r\n \"Coverage\",\r\n \"CoverageEligibilityRequest\",\r\n \"CoverageEligibilityResponse\",\r\n \"DetectedIssue\",\r\n \"DeviceRequest\",\r\n \"DeviceUseRequest\",\r\n \"DeviceUseStatement\",\r\n \"DiagnosticOrder\",\r\n \"DiagnosticReport\",\r\n \"DocumentManifest\",\r\n \"DocumentReference\",\r\n \"EligibilityRequest\",\r\n \"Encounter\",\r\n \"EnrollmentRequest\",\r\n \"EpisodeOfCare\",\r\n \"ExplanationOfBenefit\",\r\n \"FamilyMemberHistory\",\r\n \"Flag\",\r\n \"Goal\",\r\n \"Group\",\r\n \"ImagingManifest\",\r\n \"ImagingObjectSelection\",\r\n \"ImagingStudy\",\r\n \"Immunization\",\r\n \"ImmunizationEvaluation\",\r\n \"ImmunizationRecommendation\",\r\n \"Invoice\",\r\n \"List\",\r\n \"MeasureReport\",\r\n \"Media\",\r\n \"MedicationAdministration\",\r\n \"MedicationDispense\",\r\n \"MedicationOrder\",\r\n \"MedicationRequest\",\r\n \"MedicationStatement\",\r\n \"MolecularSequence\",\r\n \"NutritionOrder\",\r\n \"Observation\",\r\n \"Order\",\r\n \"Patient\",\r\n \"Person\",\r\n \"Procedure\",\r\n \"ProcedureRequest\",\r\n \"Provenance\",\r\n \"QuestionnaireResponse\",\r\n \"ReferralRequest\",\r\n \"RelatedPerson\",\r\n \"RequestGroup\",\r\n \"ResearchSubject\",\r\n \"RiskAssessment\",\r\n \"Schedule\",\r\n \"ServiceRequest\",\r\n \"Specimen\",\r\n \"SupplyDelivery\",\r\n \"SupplyRequest\",\r\n \"VisionPrescription\"\r\n];\r\n\r\n/**\r\n * Map of FHIR releases and their abstract version as number\r\n */\r\nexport const fhirVersions = {\r\n \"0.4.0\": 2,\r\n \"0.5.0\": 2,\r\n \"1.0.0\": 2,\r\n \"1.0.1\": 2,\r\n \"1.0.2\": 2,\r\n \"1.1.0\": 3,\r\n \"1.4.0\": 3,\r\n \"1.6.0\": 3,\r\n \"1.8.0\": 3,\r\n \"3.0.0\": 3,\r\n \"3.0.1\": 3,\r\n \"3.3.0\": 4,\r\n \"3.5.0\": 4,\r\n \"4.0.0\": 4,\r\n \"4.0.1\": 4\r\n};\r\n\r\n/**\r\n * Combined (FHIR R2-R4) list of search parameters that can be used to scope\r\n * a request by patient ID.\r\n */\r\nexport const patientParams = [\r\n \"patient\",\r\n \"subject\",\r\n \"requester\",\r\n \"member\",\r\n \"actor\",\r\n \"beneficiary\"\r\n];\r\n\r\n/**\r\n * The name of the sessionStorage entry that contains the current key\r\n */\r\nexport const SMART_KEY = \"SMART_KEY\";\r\n","/* global window */\r\nimport {\r\n debug as _debug,\r\n request,\r\n getPath,\r\n getTimeInFuture,\r\n randomString,\r\n getAndCache,\r\n fetchConformanceStatement,\r\n getAccessTokenExpiration,\r\n getTargetWindow,\r\n assert\r\n} from \"./lib\";\r\nimport Client from \"./Client\";\r\nimport { SMART_KEY } from \"./settings\";\r\nimport { fhirclient } from \"./types\";\r\n\r\nconst debug = _debug.extend(\"oauth2\");\r\n\r\nexport { SMART_KEY as KEY };\r\n\r\nfunction isBrowser() {\r\n return typeof window === \"object\";\r\n}\r\n\r\n/**\r\n * Fetches the well-known json file from the given base URL.\r\n * Note that the result is cached in memory (until the page is reloaded in the\r\n * browser) because it might have to be re-used by the client\r\n * @param baseUrl The base URL of the FHIR server\r\n */\r\nexport function fetchWellKnownJson(baseUrl = \"/\", requestOptions?: RequestInit): Promise\r\n{\r\n const url = String(baseUrl).replace(/\\/*$/, \"/\") + \".well-known/smart-configuration\";\r\n return getAndCache(url, requestOptions).catch((ex: Error) => {\r\n throw new Error(`Failed to fetch the well-known json \"${url}\". ${ex.message}`);\r\n });\r\n}\r\n\r\n/**\r\n * Fetch a \"WellKnownJson\" and extract the SMART endpoints from it\r\n */\r\nfunction getSecurityExtensionsFromWellKnownJson(baseUrl = \"/\", requestOptions?: RequestInit): Promise\r\n{\r\n return fetchWellKnownJson(baseUrl, requestOptions).then(meta => {\r\n if (!meta.authorization_endpoint || !meta.token_endpoint) {\r\n throw new Error(\"Invalid wellKnownJson\");\r\n }\r\n return {\r\n registrationUri : meta.registration_endpoint || \"\",\r\n authorizeUri : meta.authorization_endpoint,\r\n tokenUri : meta.token_endpoint,\r\n codeChallengeMethods: meta.code_challenge_methods_supported || []\r\n };\r\n });\r\n}\r\n\r\n/**\r\n * Fetch a `CapabilityStatement` and extract the SMART endpoints from it\r\n */\r\nfunction getSecurityExtensionsFromConformanceStatement(baseUrl = \"/\", requestOptions?: RequestInit): Promise\r\n{\r\n return fetchConformanceStatement(baseUrl, requestOptions).then(meta => {\r\n const nsUri = \"http://fhir-registry.smarthealthit.org/StructureDefinition/oauth-uris\";\r\n const extensions = ((getPath(meta || {}, \"rest.0.security.extension\") || []) as Array>)\r\n .filter(e => e.url === nsUri)\r\n .map(o => o.extension)[0];\r\n\r\n const out:fhirclient.OAuthSecurityExtensions = {\r\n registrationUri : \"\",\r\n authorizeUri : \"\",\r\n tokenUri : \"\",\r\n codeChallengeMethods: [],\r\n };\r\n\r\n if (extensions) {\r\n extensions.forEach(ext => {\r\n if (ext.url === \"register\") {\r\n out.registrationUri = ext.valueUri;\r\n }\r\n if (ext.url === \"authorize\") {\r\n out.authorizeUri = ext.valueUri;\r\n }\r\n if (ext.url === \"token\") {\r\n out.tokenUri = ext.valueUri;\r\n }\r\n });\r\n }\r\n\r\n return out;\r\n });\r\n}\r\n\r\n\r\n/**\r\n * Given a FHIR server, returns an object with it's Oauth security endpoints\r\n * that we are interested in. This will try to find the info in both the\r\n * `CapabilityStatement` and the `.well-known/smart-configuration`. Whatever\r\n * Arrives first will be used and the other request will be aborted.\r\n * @param [baseUrl = \"/\"] Fhir server base URL\r\n */\r\nexport function getSecurityExtensions(baseUrl = \"/\"): Promise\r\n{\r\n return getSecurityExtensionsFromWellKnownJson(baseUrl)\r\n .catch(() => getSecurityExtensionsFromConformanceStatement(baseUrl));\r\n}\r\n\r\n/**\r\n * Starts the SMART Launch Sequence.\r\n * > **IMPORTANT**:\r\n * `authorize()` will end up redirecting you to the authorization server.\r\n * This means that you should not add anything to the returned promise chain.\r\n * Any code written directly after the authorize() call might not be executed\r\n * due to that redirect!\r\n * @param env\r\n * @param [params]\r\n */\r\nexport async function authorize(\r\n env: fhirclient.Adapter,\r\n params: fhirclient.AuthorizeParams | fhirclient.AuthorizeParams[] = {}\r\n): Promise\r\n{\r\n const url = env.getUrl();\r\n\r\n // Multiple config for EHR launches ---------------------------------------\r\n if (Array.isArray(params)) {\r\n const urlISS = url.searchParams.get(\"iss\") || url.searchParams.get(\"fhirServiceUrl\");\r\n if (!urlISS) {\r\n throw new Error(\r\n 'Passing in an \"iss\" url parameter is required if authorize ' +\r\n 'uses multiple configurations'\r\n );\r\n }\r\n // pick the right config\r\n const cfg = params.find(x => {\r\n if (x.issMatch) {\r\n if (typeof x.issMatch === \"function\") {\r\n return !!x.issMatch(urlISS);\r\n }\r\n if (typeof x.issMatch === \"string\") {\r\n return x.issMatch === urlISS;\r\n }\r\n if (x.issMatch instanceof RegExp) {\r\n return x.issMatch.test(urlISS);\r\n }\r\n }\r\n return false;\r\n });\r\n assert(cfg, `No configuration found matching the current \"iss\" parameter \"${urlISS}\"`);\r\n return await authorize(env, cfg);\r\n }\r\n // ------------------------------------------------------------------------\r\n\r\n // Obtain input\r\n const {\r\n clientSecret,\r\n fakeTokenResponse,\r\n encounterId,\r\n target,\r\n width,\r\n height,\r\n pkceMode,\r\n clientPublicKeySetUrl,\r\n // Two deprecated values to use as fall-back values later\r\n redirect_uri,\r\n client_id,\r\n } = params;\r\n \r\n let {\r\n iss,\r\n launch,\r\n patientId,\r\n fhirServiceUrl,\r\n redirectUri,\r\n noRedirect,\r\n scope = \"\",\r\n clientId,\r\n completeInTarget,\r\n clientPrivateJwk,\r\n stateKey\r\n } = params;\r\n\r\n const storage = env.getStorage();\r\n\r\n // For these, a url param takes precedence over inline option\r\n iss = url.searchParams.get(\"iss\") || iss;\r\n fhirServiceUrl = url.searchParams.get(\"fhirServiceUrl\") || fhirServiceUrl;\r\n launch = url.searchParams.get(\"launch\") || launch;\r\n patientId = url.searchParams.get(\"patientId\") || patientId;\r\n clientId = url.searchParams.get(\"clientId\") || clientId;\r\n\r\n // If there's still no clientId or redirectUri, check deprecated params \r\n if (!clientId) {\r\n clientId = client_id;\r\n }\r\n if (!redirectUri) {\r\n redirectUri = redirect_uri;\r\n }\r\n\r\n if (!redirectUri) {\r\n redirectUri = env.relative(\".\");\r\n } else if (!redirectUri.match(/^https?\\:\\/\\//)) {\r\n redirectUri = env.relative(redirectUri);\r\n }\r\n\r\n const serverUrl = String(iss || fhirServiceUrl || \"\");\r\n\r\n // Validate input\r\n if (!serverUrl) {\r\n throw new Error(\r\n \"No server url found. It must be specified as `iss` or as \" +\r\n \"`fhirServiceUrl` parameter\"\r\n );\r\n }\r\n\r\n if (iss) {\r\n debug(\"Making %s launch...\", launch ? \"EHR\" : \"standalone\");\r\n }\r\n\r\n // append launch scope if needed\r\n if (launch && !scope.match(/launch/)) {\r\n scope += \" launch\";\r\n }\r\n\r\n if (isBrowser()) {\r\n const inFrame = isInFrame();\r\n const inPopUp = isInPopUp();\r\n\r\n if ((inFrame || inPopUp) && completeInTarget !== true && completeInTarget !== false) {\r\n \r\n // completeInTarget will default to true if authorize is called from\r\n // within an iframe. This is to avoid issues when the entire app\r\n // happens to be rendered in an iframe (including in some EHRs),\r\n // even though that was not how the app developer's intention.\r\n completeInTarget = inFrame;\r\n\r\n // In this case we can't always make the best decision so ask devs\r\n // to be explicit in their configuration.\r\n console.warn(\r\n 'Your app is being authorized from within an iframe or popup ' +\r\n 'window. Please be explicit and provide a \"completeInTarget\" ' +\r\n 'option. Use \"true\" to complete the authorization in the ' +\r\n 'same window, or \"false\" to try to complete it in the parent ' +\r\n 'or the opener window. See http://docs.smarthealthit.org/client-js/api.html'\r\n );\r\n }\r\n }\r\n\r\n // If `authorize` is called, make sure we clear any previous state (in case\r\n // this is a re-authorize)\r\n const oldKey = await storage.get(SMART_KEY);\r\n await storage.unset(oldKey);\r\n\r\n stateKey = stateKey ?? randomString(16);\r\n\r\n // Create initial state\r\n const state: fhirclient.ClientState = {\r\n clientId,\r\n scope,\r\n redirectUri,\r\n serverUrl,\r\n clientSecret,\r\n clientPrivateJwk,\r\n tokenResponse: {},\r\n key: stateKey,\r\n completeInTarget,\r\n clientPublicKeySetUrl\r\n };\r\n\r\n const fullSessionStorageSupport = isBrowser() ?\r\n getPath(env, \"options.fullSessionStorageSupport\") :\r\n true;\r\n\r\n if (fullSessionStorageSupport) {\r\n await storage.set(SMART_KEY, stateKey);\r\n }\r\n\r\n // fakeTokenResponse to override stuff (useful in development)\r\n if (fakeTokenResponse) {\r\n Object.assign(state.tokenResponse!, fakeTokenResponse);\r\n }\r\n\r\n // Fixed patientId (useful in development)\r\n if (patientId) {\r\n Object.assign(state.tokenResponse!, { patient: patientId });\r\n }\r\n\r\n // Fixed encounterId (useful in development)\r\n if (encounterId) {\r\n Object.assign(state.tokenResponse!, { encounter: encounterId });\r\n }\r\n\r\n let redirectUrl = redirectUri + \"?state=\" + encodeURIComponent(stateKey);\r\n\r\n // bypass oauth if fhirServiceUrl is used (but iss takes precedence)\r\n if (fhirServiceUrl && !iss) {\r\n debug(\"Making fake launch...\");\r\n await storage.set(stateKey, state);\r\n if (noRedirect) {\r\n return redirectUrl;\r\n }\r\n return await env.redirect(redirectUrl);\r\n }\r\n\r\n // Get oauth endpoints and add them to the state\r\n const extensions = await getSecurityExtensions(serverUrl);\r\n Object.assign(state, extensions);\r\n await storage.set(stateKey, state);\r\n\r\n // If this happens to be an open server and there is no authorizeUri\r\n if (!state.authorizeUri) {\r\n if (noRedirect) {\r\n return redirectUrl;\r\n }\r\n return await env.redirect(redirectUrl);\r\n }\r\n\r\n // build the redirect uri\r\n const redirectParams = [\r\n \"response_type=code\",\r\n \"client_id=\" + encodeURIComponent(clientId || \"\"),\r\n \"scope=\" + encodeURIComponent(scope),\r\n \"redirect_uri=\" + encodeURIComponent(redirectUri),\r\n \"aud=\" + encodeURIComponent(serverUrl),\r\n \"state=\" + encodeURIComponent(stateKey)\r\n ];\r\n\r\n // also pass this in case of EHR launch\r\n if (launch) {\r\n redirectParams.push(\"launch=\" + encodeURIComponent(launch));\r\n }\r\n\r\n if (shouldIncludeChallenge(extensions.codeChallengeMethods.includes('S256'), pkceMode)) {\r\n let codes = await env.security.generatePKCEChallenge()\r\n Object.assign(state, codes);\r\n await storage.set(stateKey, state);\r\n redirectParams.push(\"code_challenge=\" + state.codeChallenge);// note that the challenge is ALREADY encoded properly\r\n redirectParams.push(\"code_challenge_method=S256\");\r\n }\r\n \r\n redirectUrl = state.authorizeUri + \"?\" + redirectParams.join(\"&\");\r\n\r\n if (noRedirect) {\r\n return redirectUrl;\r\n }\r\n\r\n if (target && isBrowser()) {\r\n let win: Window;\r\n\r\n win = await getTargetWindow(target, width, height);\r\n\r\n if (win !== self) {\r\n try {\r\n // Also remove any old state from the target window and then\r\n // transfer the current state there\r\n win.sessionStorage.removeItem(oldKey);\r\n win.sessionStorage.setItem(stateKey, JSON.stringify(state));\r\n } catch (ex) {\r\n _debug(`Failed to modify window.sessionStorage. Perhaps it is from different origin?. Failing back to \"_self\". %s`, ex);\r\n win = self;\r\n }\r\n }\r\n\r\n if (win !== self) {\r\n try {\r\n win.location.href = redirectUrl;\r\n self.addEventListener(\"message\", onMessage);\r\n } catch (ex) {\r\n _debug(`Failed to modify window.location. Perhaps it is from different origin?. Failing back to \"_self\". %s`, ex);\r\n self.location.href = redirectUrl;\r\n }\r\n } else {\r\n self.location.href = redirectUrl;\r\n }\r\n\r\n return;\r\n }\r\n else {\r\n return await env.redirect(redirectUrl);\r\n }\r\n}\r\n\r\nfunction shouldIncludeChallenge(S256supported: boolean, pkceMode?: string) {\r\n if (pkceMode === \"disabled\") {\r\n return false;\r\n }\r\n if (pkceMode === \"unsafeV1\") {\r\n return true;\r\n }\r\n if (pkceMode === \"required\") {\r\n if (!S256supported) {\r\n throw new Error(\"Required PKCE code challenge method (`S256`) was not found in the server's codeChallengeMethods declaration.\");\r\n }\r\n return true;\r\n }\r\n return S256supported;\r\n}\r\n\r\n/**\r\n * Checks if called within a frame. Only works in browsers!\r\n * If the current window has a `parent` or `top` properties that refer to\r\n * another window, returns true. If trying to access `top` or `parent` throws an\r\n * error, returns true. Otherwise returns `false`.\r\n */\r\nexport function isInFrame() {\r\n try {\r\n return self !== top && parent !== self;\r\n } catch (e) {\r\n return true;\r\n }\r\n}\r\n\r\n/**\r\n * Checks if called within another window (popup or tab). Only works in browsers!\r\n * To consider itself called in a new window, this function verifies that:\r\n * 1. `self === top` (not in frame)\r\n * 2. `!!opener && opener !== self` The window has an opener\r\n * 3. `!!window.name` The window has a `name` set\r\n */\r\nexport function isInPopUp() {\r\n try {\r\n return self === top &&\r\n !!opener &&\r\n opener !== self &&\r\n !!window.name;\r\n } catch (e) {\r\n return false;\r\n }\r\n}\r\n\r\n/**\r\n * Another window can send a \"completeAuth\" message to this one, making it to\r\n * navigate to e.data.url\r\n * @param e The message event\r\n */\r\nexport function onMessage(e: MessageEvent) {\r\n if (e.data.type == \"completeAuth\" && e.origin === new URL(self.location.href).origin) {\r\n window.removeEventListener(\"message\", onMessage);\r\n window.location.href = e.data.url;\r\n }\r\n}\r\n\r\n/**\r\n * The ready function should only be called on the page that represents\r\n * the redirectUri. We typically land there after a redirect from the\r\n * authorization server, but this code will also be executed upon subsequent\r\n * navigation or page refresh.\r\n */\r\nexport async function ready(env: fhirclient.Adapter, options: fhirclient.ReadyOptions = {}): Promise\r\n{\r\n const url = env.getUrl();\r\n const Storage = env.getStorage();\r\n const params = url.searchParams;\r\n\r\n let key = params.get(\"state\") || options.stateKey;\r\n const code = params.get(\"code\") || options.code;\r\n const authError = params.get(\"error\");\r\n const authErrorDescription = params.get(\"error_description\");\r\n\r\n if (!key) {\r\n key = await Storage.get(SMART_KEY);\r\n }\r\n\r\n // Start by checking the url for `error` and `error_description` parameters.\r\n // This happens when the auth server rejects our authorization attempt. In\r\n // this case it has no other way to tell us what the error was, other than\r\n // appending these parameters to the redirect url.\r\n // From client's point of view, this is not very reliable (because we can't\r\n // know how we have landed on this page - was it a redirect or was it loaded\r\n // manually). However, if `ready()` is being called, we can assume\r\n // that the url comes from the auth server (otherwise the app won't work\r\n // anyway).\r\n if (authError || authErrorDescription) {\r\n throw new Error([\r\n authError,\r\n authErrorDescription\r\n ].filter(Boolean).join(\": \"));\r\n }\r\n\r\n debug(\"key: %s, code: %s\", key, code);\r\n\r\n // key might be coming from the page url so it might be empty or missing\r\n assert(key, \"No 'state' parameter found. Please (re)launch the app.\");\r\n\r\n // Check if we have a previous state\r\n let state = (await Storage.get(key)) as fhirclient.ClientState;\r\n\r\n const fullSessionStorageSupport = isBrowser() ?\r\n getPath(env, \"options.fullSessionStorageSupport\") :\r\n true;\r\n\r\n // If we are in a popup window or an iframe and the authorization is\r\n // complete, send the location back to our opener and exit.\r\n if (isBrowser() && state && !state.completeInTarget) {\r\n\r\n const inFrame = isInFrame();\r\n const inPopUp = isInPopUp();\r\n\r\n // we are about to return to the opener/parent where completeAuth will\r\n // be called again. In rare cases the opener or parent might also be\r\n // a frame or popup. Then inFrame or inPopUp will be true but we still\r\n // have to stop going up the chain. To guard against that weird form of\r\n // recursion we pass one additional parameter to the url which we later\r\n // remove.\r\n if ((inFrame || inPopUp) && !url.searchParams.get(\"complete\")) {\r\n url.searchParams.set(\"complete\", \"1\");\r\n const { href, origin } = url;\r\n if (inFrame) {\r\n parent.postMessage({ type: \"completeAuth\", url: href }, origin);\r\n }\r\n if (inPopUp) {\r\n opener.postMessage({ type: \"completeAuth\", url: href }, origin);\r\n window.close();\r\n }\r\n\r\n return new Promise(() => { /* leave it pending!!! */ });\r\n }\r\n }\r\n\r\n url.searchParams.delete(\"complete\");\r\n\r\n // Do we have to remove the `code` and `state` params from the URL?\r\n const hasState = params.has(\"state\") || options.stateKey ? true : false;\r\n\r\n if (isBrowser() && getPath(env, \"options.replaceBrowserHistory\") && (code || hasState)) {\r\n // `code` is the flag that tell us to request an access token.\r\n // We have to remove it, otherwise the page will authorize on\r\n // every load!\r\n if (code) {\r\n params.delete(\"code\");\r\n debug(\"Removed code parameter from the url.\");\r\n }\r\n\r\n // If we have `fullSessionStorageSupport` it means we no longer\r\n // need the `state` key. It will be stored to a well know\r\n // location - sessionStorage[SMART_KEY]. However, no\r\n // fullSessionStorageSupport means that this \"well know location\"\r\n // might be shared between windows and tabs. In this case we\r\n // MUST keep the `state` url parameter.\r\n if (hasState && fullSessionStorageSupport) {\r\n params.delete(\"state\");\r\n debug(\"Removed state parameter from the url.\");\r\n }\r\n\r\n // If the browser does not support the replaceState method for the\r\n // History Web API, the \"code\" parameter cannot be removed. As a\r\n // consequence, the page will (re)authorize on every load. The\r\n // workaround is to reload the page to new location without those\r\n // parameters. If that is not acceptable replaceBrowserHistory\r\n // should be set to false.\r\n if (window.history.replaceState) {\r\n window.history.replaceState({}, \"\", url.href);\r\n }\r\n }\r\n\r\n // If the state does not exist, it means the page has been loaded directly.\r\n assert(state, \"No state found! Please (re)launch the app.\");\r\n\r\n // Assume the client has already completed a token exchange when\r\n // there is no code (but we have a state) or access token is found in state\r\n const authorized = !code || state.tokenResponse?.access_token;\r\n\r\n // If we are authorized already, then this is just a reload.\r\n // Otherwise, we have to complete the code flow\r\n if (!authorized && state.tokenUri) {\r\n\r\n assert(code, \"'code' url parameter is required\");\r\n\r\n debug(\"Preparing to exchange the code for access token...\");\r\n const requestOptions = await buildTokenRequest(env, {\r\n code,\r\n state,\r\n clientPublicKeySetUrl: options.clientPublicKeySetUrl,\r\n privateKey: options.privateKey || state.clientPrivateJwk\r\n });\r\n debug(\"Token request options: %O\", requestOptions);\r\n\r\n // The EHR authorization server SHALL return a JSON structure that\r\n // includes an access token or a message indicating that the\r\n // authorization request has been denied.\r\n const tokenResponse = await request(state.tokenUri, requestOptions);\r\n debug(\"Token response: %O\", tokenResponse);\r\n assert(tokenResponse.access_token, \"Failed to obtain access token.\");\r\n\r\n // Now we need to determine when is this authorization going to expire\r\n state.expiresAt = getAccessTokenExpiration(tokenResponse, env);\r\n\r\n // save the tokenResponse so that we don't have to re-authorize on\r\n // every page reload\r\n state = { ...state, tokenResponse };\r\n await Storage.set(key, state);\r\n debug(\"Authorization successful!\");\r\n }\r\n else {\r\n debug(state.tokenResponse?.access_token ?\r\n \"Already authorized\" :\r\n \"No authorization needed\"\r\n );\r\n }\r\n\r\n if (fullSessionStorageSupport) {\r\n await Storage.set(SMART_KEY, key);\r\n }\r\n\r\n const client = new Client(env, state);\r\n debug(\"Created client instance: %O\", client);\r\n return client;\r\n}\r\n\r\n/**\r\n * Builds the token request options. Does not make the request, just\r\n * creates it's configuration and returns it in a Promise.\r\n */\r\nexport async function buildTokenRequest(\r\n env: fhirclient.Adapter,\r\n {\r\n code,\r\n state,\r\n clientPublicKeySetUrl,\r\n privateKey\r\n }: {\r\n /**\r\n * The `code` URL parameter received from the auth redirect\r\n */\r\n code: string,\r\n \r\n /**\r\n * The app state\r\n */\r\n state: fhirclient.ClientState\r\n\r\n /**\r\n * If provided overrides the `clientPublicKeySetUrl` from the authorize\r\n * options (if any). Used for `jku` token header in case of asymmetric auth.\r\n */\r\n clientPublicKeySetUrl?: string\r\n\r\n /**\r\n * Can be a private JWK, or an object with alg, kid and key properties,\r\n * where `key` is an un-extractable private CryptoKey object.\r\n */\r\n privateKey?: fhirclient.JWK | {\r\n key: CryptoKey\r\n alg: \"RS384\" | \"ES384\"\r\n kid: string\r\n }\r\n }\r\n): Promise\r\n{\r\n const { redirectUri, clientSecret, tokenUri, clientId, codeVerifier } = state;\r\n\r\n assert(redirectUri, \"Missing state.redirectUri\");\r\n assert(tokenUri, \"Missing state.tokenUri\");\r\n assert(clientId, \"Missing state.clientId\");\r\n\r\n const requestOptions: Record = {\r\n method: \"POST\",\r\n headers: { \"content-type\": \"application/x-www-form-urlencoded\" },\r\n body: `code=${code}&grant_type=authorization_code&redirect_uri=${\r\n encodeURIComponent(redirectUri)}`\r\n };\r\n\r\n // For public apps, authentication is not possible (and thus not required),\r\n // since a client with no secret cannot prove its identity when it issues a\r\n // call. (The end-to-end system can still be secure because the client comes\r\n // from a known, https protected endpoint specified and enforced by the\r\n // redirect uri.) For confidential apps, an Authorization header using HTTP\r\n // Basic authentication is required, where the username is the app’s\r\n // client_id and the password is the app’s client_secret (see example).\r\n if (clientSecret) {\r\n requestOptions.headers.authorization = \"Basic \" + env.btoa(\r\n clientId + \":\" + clientSecret\r\n );\r\n debug(\r\n \"Using state.clientSecret to construct the authorization header: %s\",\r\n requestOptions.headers.authorization\r\n );\r\n }\r\n \r\n // Asymmetric auth\r\n else if (privateKey) {\r\n\r\n const pk = \"key\" in privateKey ?\r\n privateKey.key as CryptoKey:\r\n await env.security.importJWK(privateKey as fhirclient.JWK)\r\n\r\n const jwtHeaders = {\r\n typ: \"JWT\",\r\n kid: privateKey.kid,\r\n jku: clientPublicKeySetUrl || state.clientPublicKeySetUrl\r\n };\r\n\r\n const jwtClaims = {\r\n iss: clientId,\r\n sub: clientId,\r\n aud: tokenUri,\r\n jti: env.base64urlencode(env.security.randomBytes(32)),\r\n exp: getTimeInFuture(120) // two minutes in the future\r\n };\r\n \r\n const clientAssertion = await env.security.signCompactJws(privateKey.alg, pk, jwtHeaders, jwtClaims);\r\n requestOptions.body += `&client_assertion_type=${encodeURIComponent(\"urn:ietf:params:oauth:client-assertion-type:jwt-bearer\")}`;\r\n requestOptions.body += `&client_assertion=${encodeURIComponent(clientAssertion)}`;\r\n debug(\"Using state.clientPrivateJwk to add a client_assertion to the POST body\")\r\n }\r\n \r\n // Public client\r\n else {\r\n debug(\"Public client detected; adding state.clientId to the POST body\");\r\n requestOptions.body += `&client_id=${encodeURIComponent(clientId)}`;\r\n }\r\n\r\n if (codeVerifier) {\r\n debug(\"Found state.codeVerifier, adding to the POST body\")\r\n // Note that the codeVerifier is ALREADY encoded properly \r\n requestOptions.body += \"&code_verifier=\" + codeVerifier;\r\n }\r\n \r\n return requestOptions as RequestInit;\r\n}\r\n\r\n/**\r\n * This function can be used when you want to handle everything in one page\r\n * (no launch endpoint needed). You can think of it as if it does:\r\n * ```js\r\n * authorize(options).then(ready)\r\n * ```\r\n *\r\n * **Be careful with init()!** There are some details you need to be aware of:\r\n *\r\n * 1. It will only work if your launch_uri is the same as your redirect_uri.\r\n * While this should be valid, we can’t promise that every EHR will allow you\r\n * to register client with such settings.\r\n * 2. Internally, `init()` will be called twice. First it will redirect to the\r\n * EHR, then the EHR will redirect back to the page where init() will be\r\n * called again to complete the authorization. This is generally fine,\r\n * because the returned promise will only be resolved once, after the second\r\n * execution, but please also consider the following:\r\n * - You should wrap all your app’s code in a function that is only executed\r\n * after `init()` resolves!\r\n * - Since the page will be loaded twice, you must be careful if your code\r\n * has global side effects that can persist between page reloads\r\n * (for example writing to localStorage).\r\n * 3. For standalone launch, only use init in combination with offline_access\r\n * scope. Once the access_token expires, if you don’t have a refresh_token\r\n * there is no way to re-authorize properly. We detect that and delete the\r\n * expired access token, but it still means that the user will have to\r\n * refresh the page twice to re-authorize.\r\n * @param env The adapter\r\n * @param authorizeOptions The authorize options\r\n */\r\nexport async function init(\r\n env: fhirclient.Adapter,\r\n authorizeOptions: fhirclient.AuthorizeParams,\r\n readyOptions?: fhirclient.ReadyOptions\r\n): Promise\r\n{\r\n const url = env.getUrl();\r\n const code = url.searchParams.get(\"code\");\r\n const state = url.searchParams.get(\"state\");\r\n\r\n // if `code` and `state` params are present we need to complete the auth flow\r\n if (code && state) {\r\n return ready(env, readyOptions);\r\n }\r\n\r\n // Check for existing client state. If state is found, it means a client\r\n // instance have already been created in this session and we should try to\r\n // \"revive\" it.\r\n const storage = env.getStorage();\r\n const key = state || await storage.get(SMART_KEY);\r\n const cached = await storage.get(key);\r\n if (cached) {\r\n return new Client(env, cached);\r\n }\r\n\r\n // Otherwise try to launch\r\n return authorize(env, authorizeOptions).then(() => {\r\n // `init` promises a Client but that cannot happen in this case. The\r\n // browser will be redirected (unload the page and be redirected back\r\n // to it later and the same init function will be called again). On\r\n // success, authorize will resolve with the redirect url but we don't\r\n // want to return that from this promise chain because it is not a\r\n // Client instance. At the same time, if authorize fails, we do want to\r\n // pass the error to those waiting for a client instance.\r\n return new Promise(() => { /* leave it pending!!! */ });\r\n });\r\n}\r\n","export default class Storage\r\n{\r\n /**\r\n * Gets the value at `key`. Returns a promise that will be resolved\r\n * with that value (or undefined for missing keys).\r\n */\r\n async get(key: string): Promise\r\n {\r\n const value = sessionStorage[key];\r\n if (value) {\r\n return JSON.parse(value);\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Sets the `value` on `key` and returns a promise that will be resolved\r\n * with the value that was set.\r\n */\r\n async set(key: string, value: any): Promise\r\n {\r\n sessionStorage[key] = JSON.stringify(value);\r\n return value;\r\n }\r\n\r\n /**\r\n * Deletes the value at `key`. Returns a promise that will be resolved\r\n * with true if the key was deleted or with false if it was not (eg. if\r\n * did not exist).\r\n */\r\n async unset(key: string): Promise\r\n {\r\n if (key in sessionStorage) {\r\n delete sessionStorage[key];\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n}\r\n","// This map contains reusable debug messages (only those used in multiple places)\r\nexport default {\r\n expired : \"Session expired! Please re-launch the app\",\r\n noScopeForId : \"Trying to get the ID of the selected %s. Please add 'launch' or 'launch/%s' to the requested scopes and try again.\",\r\n noIfNoAuth : \"You are trying to get %s but the app is not authorized yet.\",\r\n noFreeContext: \"Please don't use open fhir servers if you need to access launch context items like the %S.\"\r\n};\r\n","var global = typeof self !== 'undefined' ? self : this;\nvar __self__ = (function () {\nfunction F() {\nthis.fetch = false;\nthis.DOMException = global.DOMException\n}\nF.prototype = global;\nreturn new F();\n})();\n(function(self) {\n\nvar irrelevant = (function (exports) {\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob:\n 'FileReader' in self &&\n 'Blob' in self &&\n (function() {\n try {\n new Blob();\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n };\n\n function isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ];\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n };\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name);\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value);\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift();\n return {done: value === undefined, value: value}\n }\n };\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n };\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {};\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value);\n }, this);\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1]);\n }, this);\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name]);\n }, this);\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name);\n value = normalizeValue(value);\n var oldValue = this.map[name];\n this.map[name] = oldValue ? oldValue + ', ' + value : value;\n };\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)];\n };\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name);\n return this.has(name) ? this.map[name] : null\n };\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n };\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value);\n };\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this);\n }\n }\n };\n\n Headers.prototype.keys = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push(name);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.values = function() {\n var items = [];\n this.forEach(function(value) {\n items.push(value);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.entries = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push([name, value]);\n });\n return iteratorFor(items)\n };\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries;\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true;\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result);\n };\n reader.onerror = function() {\n reject(reader.error);\n };\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsArrayBuffer(blob);\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsText(blob);\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf);\n var chars = new Array(view.length);\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i]);\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength);\n view.set(new Uint8Array(buf));\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false;\n\n this._initBody = function(body) {\n this._bodyInit = body;\n if (!body) {\n this._bodyText = '';\n } else if (typeof body === 'string') {\n this._bodyText = body;\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body;\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body;\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString();\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer);\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer]);\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body);\n } else {\n this._bodyText = body = Object.prototype.toString.call(body);\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8');\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type);\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n }\n };\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n };\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n };\n }\n\n this.text = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n };\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n };\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n };\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'];\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase();\n return methods.indexOf(upcased) > -1 ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {};\n var body = options.body;\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url;\n this.credentials = input.credentials;\n if (!options.headers) {\n this.headers = new Headers(input.headers);\n }\n this.method = input.method;\n this.mode = input.mode;\n this.signal = input.signal;\n if (!body && input._bodyInit != null) {\n body = input._bodyInit;\n input.bodyUsed = true;\n }\n } else {\n this.url = String(input);\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin';\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers);\n }\n this.method = normalizeMethod(options.method || this.method || 'GET');\n this.mode = options.mode || this.mode || null;\n this.signal = options.signal || this.signal;\n this.referrer = null;\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body);\n }\n\n Request.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n };\n\n function decode(body) {\n var form = new FormData();\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=');\n var name = split.shift().replace(/\\+/g, ' ');\n var value = split.join('=').replace(/\\+/g, ' ');\n form.append(decodeURIComponent(name), decodeURIComponent(value));\n }\n });\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers();\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ');\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':');\n var key = parts.shift().trim();\n if (key) {\n var value = parts.join(':').trim();\n headers.append(key, value);\n }\n });\n return headers\n }\n\n Body.call(Request.prototype);\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {};\n }\n\n this.type = 'default';\n this.status = options.status === undefined ? 200 : options.status;\n this.ok = this.status >= 200 && this.status < 300;\n this.statusText = 'statusText' in options ? options.statusText : 'OK';\n this.headers = new Headers(options.headers);\n this.url = options.url || '';\n this._initBody(bodyInit);\n }\n\n Body.call(Response.prototype);\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n };\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''});\n response.type = 'error';\n return response\n };\n\n var redirectStatuses = [301, 302, 303, 307, 308];\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n };\n\n exports.DOMException = self.DOMException;\n try {\n new exports.DOMException();\n } catch (err) {\n exports.DOMException = function(message, name) {\n this.message = message;\n this.name = name;\n var error = Error(message);\n this.stack = error.stack;\n };\n exports.DOMException.prototype = Object.create(Error.prototype);\n exports.DOMException.prototype.constructor = exports.DOMException;\n }\n\n function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init);\n\n if (request.signal && request.signal.aborted) {\n return reject(new exports.DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest();\n\n function abortXhr() {\n xhr.abort();\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n };\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');\n var body = 'response' in xhr ? xhr.response : xhr.responseText;\n resolve(new Response(body, options));\n };\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.onabort = function() {\n reject(new exports.DOMException('Aborted', 'AbortError'));\n };\n\n xhr.open(request.method, request.url, true);\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true;\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false;\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob';\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value);\n });\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr);\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr);\n }\n };\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);\n })\n }\n\n fetch.polyfill = true;\n\n if (!self.fetch) {\n self.fetch = fetch;\n self.Headers = Headers;\n self.Request = Request;\n self.Response = Response;\n }\n\n exports.Headers = Headers;\n exports.Request = Request;\n exports.Response = Response;\n exports.fetch = fetch;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n return exports;\n\n})({});\n})(__self__);\n__self__.fetch.ponyfill = true;\n// Remove \"polyfill\" property added by whatwg-fetch\ndelete __self__.fetch.polyfill;\n// Choose between native implementation (global) or custom implementation (__self__)\n// var ctx = global.fetch ? global : __self__;\nvar ctx = __self__; // this line disable service worker support temporarily\nexports = ctx.fetch // To enable: import fetch from 'cross-fetch'\nexports.default = ctx.fetch // For TypeScript consumers without esModuleInterop.\nexports.fetch = ctx.fetch // To enable: import {fetch} from 'cross-fetch'\nexports.Headers = ctx.Headers\nexports.Request = ctx.Request\nexports.Response = ctx.Response\nmodule.exports = exports\n","//\n// THIS FILE IS AUTOMATICALLY GENERATED! DO NOT EDIT BY HAND!\n//\n;\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n ? module.exports = factory()\n : typeof define === 'function' && define.amd\n ? define(factory) :\n // cf. https://github.com/dankogai/js-base64/issues/119\n (function () {\n // existing version for noConflict()\n var _Base64 = global.Base64;\n var gBase64 = factory();\n gBase64.noConflict = function () {\n global.Base64 = _Base64;\n return gBase64;\n };\n if (global.Meteor) { // Meteor.js\n Base64 = gBase64;\n }\n global.Base64 = gBase64;\n })();\n}((typeof self !== 'undefined' ? self\n : typeof window !== 'undefined' ? window\n : typeof global !== 'undefined' ? global\n : this), function () {\n 'use strict';\n /**\n * base64.ts\n *\n * Licensed under the BSD 3-Clause License.\n * http://opensource.org/licenses/BSD-3-Clause\n *\n * References:\n * http://en.wikipedia.org/wiki/Base64\n *\n * @author Dan Kogai (https://github.com/dankogai)\n */\n var version = '3.7.7';\n /**\n * @deprecated use lowercase `version`.\n */\n var VERSION = version;\n var _hasBuffer = typeof Buffer === 'function';\n var _TD = typeof TextDecoder === 'function' ? new TextDecoder() : undefined;\n var _TE = typeof TextEncoder === 'function' ? new TextEncoder() : undefined;\n var b64ch = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n var b64chs = Array.prototype.slice.call(b64ch);\n var b64tab = (function (a) {\n var tab = {};\n a.forEach(function (c, i) { return tab[c] = i; });\n return tab;\n })(b64chs);\n var b64re = /^(?:[A-Za-z\\d+\\/]{4})*?(?:[A-Za-z\\d+\\/]{2}(?:==)?|[A-Za-z\\d+\\/]{3}=?)?$/;\n var _fromCC = String.fromCharCode.bind(String);\n var _U8Afrom = typeof Uint8Array.from === 'function'\n ? Uint8Array.from.bind(Uint8Array)\n : function (it) { return new Uint8Array(Array.prototype.slice.call(it, 0)); };\n var _mkUriSafe = function (src) { return src\n .replace(/=/g, '').replace(/[+\\/]/g, function (m0) { return m0 == '+' ? '-' : '_'; }); };\n var _tidyB64 = function (s) { return s.replace(/[^A-Za-z0-9\\+\\/]/g, ''); };\n /**\n * polyfill version of `btoa`\n */\n var btoaPolyfill = function (bin) {\n // console.log('polyfilled');\n var u32, c0, c1, c2, asc = '';\n var pad = bin.length % 3;\n for (var i = 0; i < bin.length;) {\n if ((c0 = bin.charCodeAt(i++)) > 255 ||\n (c1 = bin.charCodeAt(i++)) > 255 ||\n (c2 = bin.charCodeAt(i++)) > 255)\n throw new TypeError('invalid character found');\n u32 = (c0 << 16) | (c1 << 8) | c2;\n asc += b64chs[u32 >> 18 & 63]\n + b64chs[u32 >> 12 & 63]\n + b64chs[u32 >> 6 & 63]\n + b64chs[u32 & 63];\n }\n return pad ? asc.slice(0, pad - 3) + \"===\".substring(pad) : asc;\n };\n /**\n * does what `window.btoa` of web browsers do.\n * @param {String} bin binary string\n * @returns {string} Base64-encoded string\n */\n var _btoa = typeof btoa === 'function' ? function (bin) { return btoa(bin); }\n : _hasBuffer ? function (bin) { return Buffer.from(bin, 'binary').toString('base64'); }\n : btoaPolyfill;\n var _fromUint8Array = _hasBuffer\n ? function (u8a) { return Buffer.from(u8a).toString('base64'); }\n : function (u8a) {\n // cf. https://stackoverflow.com/questions/12710001/how-to-convert-uint8-array-to-base64-encoded-string/12713326#12713326\n var maxargs = 0x1000;\n var strs = [];\n for (var i = 0, l = u8a.length; i < l; i += maxargs) {\n strs.push(_fromCC.apply(null, u8a.subarray(i, i + maxargs)));\n }\n return _btoa(strs.join(''));\n };\n /**\n * converts a Uint8Array to a Base64 string.\n * @param {boolean} [urlsafe] URL-and-filename-safe a la RFC4648 §5\n * @returns {string} Base64 string\n */\n var fromUint8Array = function (u8a, urlsafe) {\n if (urlsafe === void 0) { urlsafe = false; }\n return urlsafe ? _mkUriSafe(_fromUint8Array(u8a)) : _fromUint8Array(u8a);\n };\n // This trick is found broken https://github.com/dankogai/js-base64/issues/130\n // const utob = (src: string) => unescape(encodeURIComponent(src));\n // reverting good old fationed regexp\n var cb_utob = function (c) {\n if (c.length < 2) {\n var cc = c.charCodeAt(0);\n return cc < 0x80 ? c\n : cc < 0x800 ? (_fromCC(0xc0 | (cc >>> 6))\n + _fromCC(0x80 | (cc & 0x3f)))\n : (_fromCC(0xe0 | ((cc >>> 12) & 0x0f))\n + _fromCC(0x80 | ((cc >>> 6) & 0x3f))\n + _fromCC(0x80 | (cc & 0x3f)));\n }\n else {\n var cc = 0x10000\n + (c.charCodeAt(0) - 0xD800) * 0x400\n + (c.charCodeAt(1) - 0xDC00);\n return (_fromCC(0xf0 | ((cc >>> 18) & 0x07))\n + _fromCC(0x80 | ((cc >>> 12) & 0x3f))\n + _fromCC(0x80 | ((cc >>> 6) & 0x3f))\n + _fromCC(0x80 | (cc & 0x3f)));\n }\n };\n var re_utob = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFFF]|[^\\x00-\\x7F]/g;\n /**\n * @deprecated should have been internal use only.\n * @param {string} src UTF-8 string\n * @returns {string} UTF-16 string\n */\n var utob = function (u) { return u.replace(re_utob, cb_utob); };\n //\n var _encode = _hasBuffer\n ? function (s) { return Buffer.from(s, 'utf8').toString('base64'); }\n : _TE\n ? function (s) { return _fromUint8Array(_TE.encode(s)); }\n : function (s) { return _btoa(utob(s)); };\n /**\n * converts a UTF-8-encoded string to a Base64 string.\n * @param {boolean} [urlsafe] if `true` make the result URL-safe\n * @returns {string} Base64 string\n */\n var encode = function (src, urlsafe) {\n if (urlsafe === void 0) { urlsafe = false; }\n return urlsafe\n ? _mkUriSafe(_encode(src))\n : _encode(src);\n };\n /**\n * converts a UTF-8-encoded string to URL-safe Base64 RFC4648 §5.\n * @returns {string} Base64 string\n */\n var encodeURI = function (src) { return encode(src, true); };\n // This trick is found broken https://github.com/dankogai/js-base64/issues/130\n // const btou = (src: string) => decodeURIComponent(escape(src));\n // reverting good old fationed regexp\n var re_btou = /[\\xC0-\\xDF][\\x80-\\xBF]|[\\xE0-\\xEF][\\x80-\\xBF]{2}|[\\xF0-\\xF7][\\x80-\\xBF]{3}/g;\n var cb_btou = function (cccc) {\n switch (cccc.length) {\n case 4:\n var cp = ((0x07 & cccc.charCodeAt(0)) << 18)\n | ((0x3f & cccc.charCodeAt(1)) << 12)\n | ((0x3f & cccc.charCodeAt(2)) << 6)\n | (0x3f & cccc.charCodeAt(3)), offset = cp - 0x10000;\n return (_fromCC((offset >>> 10) + 0xD800)\n + _fromCC((offset & 0x3FF) + 0xDC00));\n case 3:\n return _fromCC(((0x0f & cccc.charCodeAt(0)) << 12)\n | ((0x3f & cccc.charCodeAt(1)) << 6)\n | (0x3f & cccc.charCodeAt(2)));\n default:\n return _fromCC(((0x1f & cccc.charCodeAt(0)) << 6)\n | (0x3f & cccc.charCodeAt(1)));\n }\n };\n /**\n * @deprecated should have been internal use only.\n * @param {string} src UTF-16 string\n * @returns {string} UTF-8 string\n */\n var btou = function (b) { return b.replace(re_btou, cb_btou); };\n /**\n * polyfill version of `atob`\n */\n var atobPolyfill = function (asc) {\n // console.log('polyfilled');\n asc = asc.replace(/\\s+/g, '');\n if (!b64re.test(asc))\n throw new TypeError('malformed base64.');\n asc += '=='.slice(2 - (asc.length & 3));\n var u24, bin = '', r1, r2;\n for (var i = 0; i < asc.length;) {\n u24 = b64tab[asc.charAt(i++)] << 18\n | b64tab[asc.charAt(i++)] << 12\n | (r1 = b64tab[asc.charAt(i++)]) << 6\n | (r2 = b64tab[asc.charAt(i++)]);\n bin += r1 === 64 ? _fromCC(u24 >> 16 & 255)\n : r2 === 64 ? _fromCC(u24 >> 16 & 255, u24 >> 8 & 255)\n : _fromCC(u24 >> 16 & 255, u24 >> 8 & 255, u24 & 255);\n }\n return bin;\n };\n /**\n * does what `window.atob` of web browsers do.\n * @param {String} asc Base64-encoded string\n * @returns {string} binary string\n */\n var _atob = typeof atob === 'function' ? function (asc) { return atob(_tidyB64(asc)); }\n : _hasBuffer ? function (asc) { return Buffer.from(asc, 'base64').toString('binary'); }\n : atobPolyfill;\n //\n var _toUint8Array = _hasBuffer\n ? function (a) { return _U8Afrom(Buffer.from(a, 'base64')); }\n : function (a) { return _U8Afrom(_atob(a).split('').map(function (c) { return c.charCodeAt(0); })); };\n /**\n * converts a Base64 string to a Uint8Array.\n */\n var toUint8Array = function (a) { return _toUint8Array(_unURI(a)); };\n //\n var _decode = _hasBuffer\n ? function (a) { return Buffer.from(a, 'base64').toString('utf8'); }\n : _TD\n ? function (a) { return _TD.decode(_toUint8Array(a)); }\n : function (a) { return btou(_atob(a)); };\n var _unURI = function (a) { return _tidyB64(a.replace(/[-_]/g, function (m0) { return m0 == '-' ? '+' : '/'; })); };\n /**\n * converts a Base64 string to a UTF-8 string.\n * @param {String} src Base64 string. Both normal and URL-safe are supported\n * @returns {string} UTF-8 string\n */\n var decode = function (src) { return _decode(_unURI(src)); };\n /**\n * check if a value is a valid Base64 string\n * @param {String} src a value to check\n */\n var isValid = function (src) {\n if (typeof src !== 'string')\n return false;\n var s = src.replace(/\\s+/g, '').replace(/={0,2}$/, '');\n return !/[^\\s0-9a-zA-Z\\+/]/.test(s) || !/[^\\s0-9a-zA-Z\\-_]/.test(s);\n };\n //\n var _noEnum = function (v) {\n return {\n value: v, enumerable: false, writable: true, configurable: true\n };\n };\n /**\n * extend String.prototype with relevant methods\n */\n var extendString = function () {\n var _add = function (name, body) { return Object.defineProperty(String.prototype, name, _noEnum(body)); };\n _add('fromBase64', function () { return decode(this); });\n _add('toBase64', function (urlsafe) { return encode(this, urlsafe); });\n _add('toBase64URI', function () { return encode(this, true); });\n _add('toBase64URL', function () { return encode(this, true); });\n _add('toUint8Array', function () { return toUint8Array(this); });\n };\n /**\n * extend Uint8Array.prototype with relevant methods\n */\n var extendUint8Array = function () {\n var _add = function (name, body) { return Object.defineProperty(Uint8Array.prototype, name, _noEnum(body)); };\n _add('toBase64', function (urlsafe) { return fromUint8Array(this, urlsafe); });\n _add('toBase64URI', function () { return fromUint8Array(this, true); });\n _add('toBase64URL', function () { return fromUint8Array(this, true); });\n };\n /**\n * extend Builtin prototypes with relevant methods\n */\n var extendBuiltins = function () {\n extendString();\n extendUint8Array();\n };\n var gBase64 = {\n version: version,\n VERSION: VERSION,\n atob: _atob,\n atobPolyfill: atobPolyfill,\n btoa: _btoa,\n btoaPolyfill: btoaPolyfill,\n fromBase64: decode,\n toBase64: encode,\n encode: encode,\n encodeURI: encodeURI,\n encodeURL: encodeURI,\n utob: utob,\n btou: btou,\n decode: decode,\n isValid: isValid,\n fromUint8Array: fromUint8Array,\n toUint8Array: toUint8Array,\n extendString: extendString,\n extendUint8Array: extendUint8Array,\n extendBuiltins: extendBuiltins\n };\n //\n // export Base64 to the namespace\n //\n // ES5 is yet to have Object.assign() that may make transpilers unhappy.\n // gBase64.Base64 = Object.assign({}, gBase64);\n gBase64.Base64 = {};\n Object.keys(gBase64).forEach(function (k) { return gBase64.Base64[k] = gBase64[k]; });\n return gBase64;\n}));\n","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function(val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isFinite(val)) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'weeks':\n case 'week':\n case 'w':\n return n * w;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (msAbs >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (msAbs >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (msAbs >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return plural(ms, msAbs, d, 'day');\n }\n if (msAbs >= h) {\n return plural(ms, msAbs, h, 'hour');\n }\n if (msAbs >= m) {\n return plural(ms, msAbs, m, 'minute');\n }\n if (msAbs >= s) {\n return plural(ms, msAbs, s, 'second');\n }\n return ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, msAbs, n, name) {\n var isPlural = msAbs >= n * 1.5;\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\n","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nmodule.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\nmodule.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function asyncGeneratorStep(n, t, e, r, o, a, c) {\n try {\n var i = n[a](c),\n u = i.value;\n } catch (n) {\n return void e(n);\n }\n i.done ? t(u) : Promise.resolve(u).then(r, o);\n}\nfunction _asyncToGenerator(n) {\n return function () {\n var t = this,\n e = arguments;\n return new Promise(function (r, o) {\n var a = n.apply(t, e);\n function _next(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n);\n }\n function _throw(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n);\n }\n _next(void 0);\n });\n };\n}\nmodule.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var isNativeReflectConstruct = require(\"./isNativeReflectConstruct.js\");\nvar setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\n}\nmodule.exports = _construct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _getPrototypeOf(t) {\n return module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _getPrototypeOf(t);\n}\nmodule.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _inherits(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n t.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: t,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(t, \"prototype\", {\n writable: !1\n }), e && setPrototypeOf(t, e);\n}\nmodule.exports = _inherits, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _interopRequireDefault(e) {\n return e && e.__esModule ? e : {\n \"default\": e\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _isNativeFunction(t) {\n try {\n return -1 !== Function.toString.call(t).indexOf(\"[native code]\");\n } catch (n) {\n return \"function\" == typeof t;\n }\n}\nmodule.exports = _isNativeFunction, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (module.exports = _isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports)();\n}\nmodule.exports = _isNativeReflectConstruct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose.js\");\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var s = Object.getOwnPropertySymbols(e);\n for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nmodule.exports = _objectWithoutProperties, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (e.includes(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\nfunction _possibleConstructorReturn(t, e) {\n if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e;\n if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return assertThisInitialized(t);\n}\nmodule.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(t, e) {\n return module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _setPrototypeOf(t, e);\n}\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\nvar iterableToArray = require(\"./iterableToArray.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\nfunction _toConsumableArray(r) {\n return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nmodule.exports = _toConsumableArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nmodule.exports = toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nmodule.exports = toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var getPrototypeOf = require(\"./getPrototypeOf.js\");\nvar setPrototypeOf = require(\"./setPrototypeOf.js\");\nvar isNativeFunction = require(\"./isNativeFunction.js\");\nvar construct = require(\"./construct.js\");\nfunction _wrapNativeSuper(t) {\n var r = \"function\" == typeof Map ? new Map() : void 0;\n return module.exports = _wrapNativeSuper = function _wrapNativeSuper(t) {\n if (null === t || !isNativeFunction(t)) return t;\n if (\"function\" != typeof t) throw new TypeError(\"Super expression must either be null or a function\");\n if (void 0 !== r) {\n if (r.has(t)) return r.get(t);\n r.set(t, Wrapper);\n }\n function Wrapper() {\n return construct(t, arguments, getPrototypeOf(this).constructor);\n }\n return Wrapper.prototype = Object.create(t.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: !1,\n writable: !0,\n configurable: !0\n }\n }), setPrototypeOf(Wrapper, t);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _wrapNativeSuper(t);\n}\nmodule.exports = _wrapNativeSuper, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n if (isConstructor(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a constructor');\n};\n","'use strict';\nvar isPossiblePrototype = require('../internals/is-possible-prototype');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (isPossiblePrototype(argument)) return argument;\n throw new $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] === undefined) {\n defineProperty(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.es/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n","'use strict';\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw new $TypeError('Incorrect invocation');\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\n// eslint-disable-next-line es/no-typed-arrays -- safe\nmodule.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined';\n","'use strict';\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-basic-detection');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar classof = require('../internals/classof');\nvar tryToString = require('../internals/try-to-string');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar uid = require('../internals/uid');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar Int8Array = globalThis.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = globalThis.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar TypeError = globalThis.TypeError;\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\nvar TYPED_ARRAY_CONSTRUCTOR = 'TypedArrayConstructor';\n// Fixing native typed arrays in Opera Presto crashes the browser, see #595\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(globalThis.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQUIRED = false;\nvar NAME, Constructor, Prototype;\n\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\n\nvar BigIntArrayConstructorsList = {\n BigInt64Array: 8,\n BigUint64Array: 8\n};\n\nvar isView = function isView(it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return klass === 'DataView'\n || hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar getTypedArrayConstructor = function (it) {\n var proto = getPrototypeOf(it);\n if (!isObject(proto)) return;\n var state = getInternalState(proto);\n return (state && hasOwn(state, TYPED_ARRAY_CONSTRUCTOR)) ? state[TYPED_ARRAY_CONSTRUCTOR] : getTypedArrayConstructor(proto);\n};\n\nvar isTypedArray = function (it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar aTypedArray = function (it) {\n if (isTypedArray(it)) return it;\n throw new TypeError('Target is not a typed array');\n};\n\nvar aTypedArrayConstructor = function (C) {\n if (isCallable(C) && (!setPrototypeOf || isPrototypeOf(TypedArray, C))) return C;\n throw new TypeError(tryToString(C) + ' is not a typed array constructor');\n};\n\nvar exportTypedArrayMethod = function (KEY, property, forced, options) {\n if (!DESCRIPTORS) return;\n if (forced) for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = globalThis[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor.prototype, KEY)) try {\n delete TypedArrayConstructor.prototype[KEY];\n } catch (error) {\n // old WebKit bug - some methods are non-configurable\n try {\n TypedArrayConstructor.prototype[KEY] = property;\n } catch (error2) { /* empty */ }\n }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n defineBuiltIn(TypedArrayPrototype, KEY, forced ? property\n : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property, options);\n }\n};\n\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS) return;\n if (setPrototypeOf) {\n if (forced) for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = globalThis[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor, KEY)) try {\n delete TypedArrayConstructor[KEY];\n } catch (error) { /* empty */ }\n }\n if (!TypedArray[KEY] || forced) {\n // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable\n try {\n return defineBuiltIn(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property);\n } catch (error) { /* empty */ }\n } else return;\n }\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = globalThis[ARRAY];\n if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {\n defineBuiltIn(TypedArrayConstructor, KEY, property);\n }\n }\n};\n\nfor (NAME in TypedArrayConstructorsList) {\n Constructor = globalThis[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;\n else NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\n\nfor (NAME in BigIntArrayConstructorsList) {\n Constructor = globalThis[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;\n}\n\n// WebKit bug - typed arrays constructors prototype is Object.prototype\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !isCallable(TypedArray) || TypedArray === Function.prototype) {\n // eslint-disable-next-line no-shadow -- safe\n TypedArray = function TypedArray() {\n throw new TypeError('Incorrect invocation');\n };\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (globalThis[NAME]) setPrototypeOf(globalThis[NAME], TypedArray);\n }\n}\n\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n TypedArrayPrototype = TypedArray.prototype;\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (globalThis[NAME]) setPrototypeOf(globalThis[NAME].prototype, TypedArrayPrototype);\n }\n}\n\n// WebKit bug - one more object in Uint8ClampedArray prototype chain\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\n\nif (DESCRIPTORS && !hasOwn(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQUIRED = true;\n defineBuiltInAccessor(TypedArrayPrototype, TO_STRING_TAG, {\n configurable: true,\n get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n }\n });\n for (NAME in TypedArrayConstructorsList) if (globalThis[NAME]) {\n createNonEnumerableProperty(globalThis[NAME], TYPED_ARRAY_TAG, NAME);\n }\n}\n\nmodule.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQUIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n getTypedArrayConstructor: getTypedArrayConstructor,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-basic-detection');\nvar FunctionName = require('../internals/function-name');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar fails = require('../internals/fails');\nvar anInstance = require('../internals/an-instance');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar fround = require('../internals/math-fround');\nvar IEEE754 = require('../internals/ieee754');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar arrayFill = require('../internals/array-fill');\nvar arraySlice = require('../internals/array-slice');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length';\nvar WRONG_INDEX = 'Wrong index';\nvar getInternalArrayBufferState = InternalStateModule.getterFor(ARRAY_BUFFER);\nvar getInternalDataViewState = InternalStateModule.getterFor(DATA_VIEW);\nvar setInternalState = InternalStateModule.set;\nvar NativeArrayBuffer = globalThis[ARRAY_BUFFER];\nvar $ArrayBuffer = NativeArrayBuffer;\nvar ArrayBufferPrototype = $ArrayBuffer && $ArrayBuffer[PROTOTYPE];\nvar $DataView = globalThis[DATA_VIEW];\nvar DataViewPrototype = $DataView && $DataView[PROTOTYPE];\nvar ObjectPrototype = Object.prototype;\nvar Array = globalThis.Array;\nvar RangeError = globalThis.RangeError;\nvar fill = uncurryThis(arrayFill);\nvar reverse = uncurryThis([].reverse);\n\nvar packIEEE754 = IEEE754.pack;\nvar unpackIEEE754 = IEEE754.unpack;\n\nvar packInt8 = function (number) {\n return [number & 0xFF];\n};\n\nvar packInt16 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF];\n};\n\nvar packInt32 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF];\n};\n\nvar unpackInt32 = function (buffer) {\n return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0];\n};\n\nvar packFloat32 = function (number) {\n return packIEEE754(fround(number), 23, 4);\n};\n\nvar packFloat64 = function (number) {\n return packIEEE754(number, 52, 8);\n};\n\nvar addGetter = function (Constructor, key, getInternalState) {\n defineBuiltInAccessor(Constructor[PROTOTYPE], key, {\n configurable: true,\n get: function () {\n return getInternalState(this)[key];\n }\n });\n};\n\nvar get = function (view, count, index, isLittleEndian) {\n var store = getInternalDataViewState(view);\n var intIndex = toIndex(index);\n var boolIsLittleEndian = !!isLittleEndian;\n if (intIndex + count > store.byteLength) throw new RangeError(WRONG_INDEX);\n var bytes = store.bytes;\n var start = intIndex + store.byteOffset;\n var pack = arraySlice(bytes, start, start + count);\n return boolIsLittleEndian ? pack : reverse(pack);\n};\n\nvar set = function (view, count, index, conversion, value, isLittleEndian) {\n var store = getInternalDataViewState(view);\n var intIndex = toIndex(index);\n var pack = conversion(+value);\n var boolIsLittleEndian = !!isLittleEndian;\n if (intIndex + count > store.byteLength) throw new RangeError(WRONG_INDEX);\n var bytes = store.bytes;\n var start = intIndex + store.byteOffset;\n for (var i = 0; i < count; i++) bytes[start + i] = pack[boolIsLittleEndian ? i : count - i - 1];\n};\n\nif (!NATIVE_ARRAY_BUFFER) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, ArrayBufferPrototype);\n var byteLength = toIndex(length);\n setInternalState(this, {\n type: ARRAY_BUFFER,\n bytes: fill(Array(byteLength), 0),\n byteLength: byteLength\n });\n if (!DESCRIPTORS) {\n this.byteLength = byteLength;\n this.detached = false;\n }\n };\n\n ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE];\n\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, DataViewPrototype);\n anInstance(buffer, ArrayBufferPrototype);\n var bufferState = getInternalArrayBufferState(buffer);\n var bufferLength = bufferState.byteLength;\n var offset = toIntegerOrInfinity(byteOffset);\n if (offset < 0 || offset > bufferLength) throw new RangeError('Wrong offset');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw new RangeError(WRONG_LENGTH);\n setInternalState(this, {\n type: DATA_VIEW,\n buffer: buffer,\n byteLength: byteLength,\n byteOffset: offset,\n bytes: bufferState.bytes\n });\n if (!DESCRIPTORS) {\n this.buffer = buffer;\n this.byteLength = byteLength;\n this.byteOffset = offset;\n }\n };\n\n DataViewPrototype = $DataView[PROTOTYPE];\n\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, 'byteLength', getInternalArrayBufferState);\n addGetter($DataView, 'buffer', getInternalDataViewState);\n addGetter($DataView, 'byteLength', getInternalDataViewState);\n addGetter($DataView, 'byteOffset', getInternalDataViewState);\n }\n\n defineBuiltIns(DataViewPrototype, {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : false);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : false);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : false));\n },\n getUint32: function getUint32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : false)) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : false), 23);\n },\n getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : false), 52);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : false);\n },\n setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : false);\n },\n setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : false);\n },\n setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : false);\n },\n setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : false);\n },\n setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n set(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : false);\n }\n });\n} else {\n var INCORRECT_ARRAY_BUFFER_NAME = PROPER_FUNCTION_NAME && NativeArrayBuffer.name !== ARRAY_BUFFER;\n /* eslint-disable no-new, sonar/inconsistent-function-call -- required for testing */\n if (!fails(function () {\n NativeArrayBuffer(1);\n }) || !fails(function () {\n new NativeArrayBuffer(-1);\n }) || fails(function () {\n new NativeArrayBuffer();\n new NativeArrayBuffer(1.5);\n new NativeArrayBuffer(NaN);\n return NativeArrayBuffer.length !== 1 || INCORRECT_ARRAY_BUFFER_NAME && !CONFIGURABLE_FUNCTION_NAME;\n })) {\n /* eslint-enable no-new, sonar/inconsistent-function-call -- required for testing */\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, ArrayBufferPrototype);\n return inheritIfRequired(new NativeArrayBuffer(toIndex(length)), this, $ArrayBuffer);\n };\n\n $ArrayBuffer[PROTOTYPE] = ArrayBufferPrototype;\n\n ArrayBufferPrototype.constructor = $ArrayBuffer;\n\n copyConstructorProperties($ArrayBuffer, NativeArrayBuffer);\n } else if (INCORRECT_ARRAY_BUFFER_NAME && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(NativeArrayBuffer, 'name', ARRAY_BUFFER);\n }\n\n // WebKit bug - the same parent prototype for typed arrays and data view\n if (setPrototypeOf && getPrototypeOf(DataViewPrototype) !== ObjectPrototype) {\n setPrototypeOf(DataViewPrototype, ObjectPrototype);\n }\n\n // iOS Safari 7.x bug\n var testView = new $DataView(new $ArrayBuffer(2));\n var $setInt8 = uncurryThis(DataViewPrototype.setInt8);\n testView.setInt8(0, 2147483648);\n testView.setInt8(1, 2147483649);\n if (testView.getInt8(0) || !testView.getInt8(1)) defineBuiltIns(DataViewPrototype, {\n setInt8: function setInt8(byteOffset, value) {\n $setInt8(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n $setInt8(this, byteOffset, value << 24 >> 24);\n }\n }, { unsafe: true });\n}\n\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\n\nmodule.exports = {\n ArrayBuffer: $ArrayBuffer,\n DataView: $DataView\n};\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar deletePropertyOrThrow = require('../internals/delete-property-or-throw');\n\nvar min = Math.min;\n\n// `Array.prototype.copyWithin` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.copywithin\n// eslint-disable-next-line es/no-array-prototype-copywithin -- safe\nmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var to = toAbsoluteIndex(target, len);\n var from = toAbsoluteIndex(start, len);\n var end = arguments.length > 2 ? arguments[2] : undefined;\n var count = min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n var inc = 1;\n if (from < to && to < from + count) {\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count-- > 0) {\n if (from in O) O[to] = O[from];\n else deletePropertyOrThrow(O, to);\n to += inc;\n from += inc;\n } return O;\n};\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.fill` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.fill\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = lengthOfArrayLike(O);\n var argumentsLength = arguments.length;\n var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);\n var end = argumentsLength > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nmodule.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n} : [].forEach;\n","'use strict';\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\nmodule.exports = function (Constructor, list, $length) {\n var index = 0;\n var length = arguments.length > 2 ? $length : lengthOfArrayLike(list);\n var result = new Constructor(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar isConstructor = require('../internals/is-constructor');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $Array = Array;\n\n// `Array.from` method implementation\n// https://tc39.es/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var IS_CONSTRUCTOR = isConstructor(this);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined);\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod && !(this === $Array && isArrayIteratorMethod(iteratorMethod))) {\n result = IS_CONSTRUCTOR ? new this() : [];\n iterator = getIterator(O, iteratorMethod);\n next = iterator.next;\n for (;!(step = call(next, iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = lengthOfArrayLike(O);\n result = IS_CONSTRUCTOR ? new this(length) : $Array(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n if (length === 0) return !IS_INCLUDES && -1;\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el !== el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value !== value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = uncurryThis([].push);\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE === 1;\n var IS_FILTER = TYPE === 2;\n var IS_SOME = TYPE === 3;\n var IS_EVERY = TYPE === 4;\n var IS_FIND_INDEX = TYPE === 6;\n var IS_FILTER_REJECT = TYPE === 7;\n var NO_HOLES = TYPE === 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var length = lengthOfArrayLike(self);\n var boundFunction = bind(callbackfn, that);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push(target, value); // filterReject\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterReject` method\n // https://github.com/tc39/proposal-array-filtering\n filterReject: createMethod(7)\n};\n","'use strict';\n/* eslint-disable es/no-array-prototype-lastindexof -- safe */\nvar apply = require('../internals/function-apply');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar min = Math.min;\nvar $lastIndexOf = [].lastIndexOf;\nvar NEGATIVE_ZERO = !!$lastIndexOf && 1 / [1].lastIndexOf(1, -0) < 0;\nvar STRICT_METHOD = arrayMethodIsStrict('lastIndexOf');\nvar FORCED = NEGATIVE_ZERO || !STRICT_METHOD;\n\n// `Array.prototype.lastIndexOf` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.lastindexof\nmodule.exports = FORCED ? function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {\n // convert -0 to +0\n if (NEGATIVE_ZERO) return apply($lastIndexOf, this, arguments) || 0;\n var O = toIndexedObject(this);\n var length = lengthOfArrayLike(O);\n if (length === 0) return -1;\n var index = length - 1;\n if (arguments.length > 1) index = min(index, toIntegerOrInfinity(arguments[1]));\n if (index < 0) index = length + index;\n for (;index >= 0; index--) if (index in O && O[index] === searchElement) return index || 0;\n return -1;\n} : $lastIndexOf;\n","'use strict';\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/environment-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call -- required for testing\n method.call(null, argument || function () { return 1; }, 1);\n });\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\nvar $TypeError = TypeError;\n\nvar REDUCE_EMPTY = 'Reduce of empty array with no initial value';\n\n// `Array.prototype.{ reduce, reduceRight }` methods implementation\nvar createMethod = function (IS_RIGHT) {\n return function (that, callbackfn, argumentsLength, memo) {\n var O = toObject(that);\n var self = IndexedObject(O);\n var length = lengthOfArrayLike(O);\n aCallable(callbackfn);\n if (length === 0 && argumentsLength < 2) throw new $TypeError(REDUCE_EMPTY);\n var index = IS_RIGHT ? length - 1 : 0;\n var i = IS_RIGHT ? -1 : 1;\n if (argumentsLength < 2) while (true) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (IS_RIGHT ? index < 0 : length <= index) {\n throw new $TypeError(REDUCE_EMPTY);\n }\n }\n for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.reduce` method\n // https://tc39.es/ecma262/#sec-array.prototype.reduce\n left: createMethod(false),\n // `Array.prototype.reduceRight` method\n // https://tc39.es/ecma262/#sec-array.prototype.reduceright\n right: createMethod(true)\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar isArray = require('../internals/is-array');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Safari < 13 does not throw an error in this case\nvar SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function () {\n // makes no sense without proper strict mode support\n if (this !== undefined) return true;\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).length = 1;\n } catch (error) {\n return error instanceof TypeError;\n }\n}();\n\nmodule.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) {\n if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) {\n throw new $TypeError('Cannot set read only .length');\n } return O.length = length;\n} : function (O, length) {\n return O.length = length;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","'use strict';\nvar arraySlice = require('../internals/array-slice');\n\nvar floor = Math.floor;\n\nvar sort = function (array, comparefn) {\n var length = array.length;\n\n if (length < 8) {\n // insertion sort\n var i = 1;\n var element, j;\n\n while (i < length) {\n j = i;\n element = array[i];\n while (j && comparefn(array[j - 1], element) > 0) {\n array[j] = array[--j];\n }\n if (j !== i++) array[j] = element;\n }\n } else {\n // merge sort\n var middle = floor(length / 2);\n var left = sort(arraySlice(array, 0, middle), comparefn);\n var right = sort(arraySlice(array, middle), comparefn);\n var llength = left.length;\n var rlength = right.length;\n var lindex = 0;\n var rindex = 0;\n\n while (lindex < llength || rindex < rlength) {\n array[lindex + rindex] = (lindex < llength && rindex < rlength)\n ? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++]\n : lindex < llength ? left[lindex++] : right[rindex++];\n }\n }\n\n return array;\n};\n\nmodule.exports = sort;\n","'use strict';\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar $Array = Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (isConstructor(C) && (C === $Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? $Array : C;\n};\n","'use strict';\nvar arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar iteratorClose = require('../internals/iterator-close');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n try {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n } catch (error) { return false; } // workaround of old WebKit + `eval` bug\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (error1) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (error2) { /* empty */ }\n } return false;\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\n\nvar quot = /\"/g;\nvar replace = uncurryThis(''.replace);\n\n// `CreateHTML` abstract operation\n// https://tc39.es/ecma262/#sec-createhtml\nmodule.exports = function (string, tag, attribute, value) {\n var S = toString(requireObjectCoercible(string));\n var p1 = '<' + tag;\n if (attribute !== '') p1 += ' ' + attribute + '=\"' + replace(toString(value), quot, '"') + '\"';\n return p1 + '>' + S + '';\n};\n","'use strict';\n// `CreateIterResultObject` abstract operation\n// https://tc39.es/ecma262/#sec-createiterresultobject\nmodule.exports = function (value, done) {\n return { value: value, done: done };\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n if (DESCRIPTORS) definePropertyModule.f(object, key, createPropertyDescriptor(0, value));\n else object[key] = value;\n};\n","'use strict';\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n return defineProperty.f(target, name, descriptor);\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","'use strict';\nvar defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) defineBuiltIn(target, key, src[key], options);\n return target;\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(globalThis, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n globalThis[key] = value;\n } return value;\n};\n","'use strict';\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (O, P) {\n if (!delete O[P]) throw new $TypeError('Cannot delete property ' + tryToString(P) + ' of ' + tryToString(O));\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isObject = require('../internals/is-object');\n\nvar document = globalThis.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nvar $TypeError = TypeError;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991\n\nmodule.exports = function (it) {\n if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded');\n return it;\n};\n","'use strict';\n// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","'use strict';\n// in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList`\nvar documentCreateElement = require('../internals/document-create-element');\n\nvar classList = documentCreateElement('span').classList;\nvar DOMTokenListPrototype = classList && classList.constructor && classList.constructor.prototype;\n\nmodule.exports = DOMTokenListPrototype === Object.prototype ? undefined : DOMTokenListPrototype;\n","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","'use strict';\nvar userAgent = require('../internals/environment-user-agent');\n\nvar firefox = userAgent.match(/firefox\\/(\\d+)/i);\n\nmodule.exports = !!firefox && +firefox[1];\n","'use strict';\nvar UA = require('../internals/environment-user-agent');\n\nmodule.exports = /MSIE|Trident/.test(UA);\n","'use strict';\nvar userAgent = require('../internals/environment-user-agent');\n\nmodule.exports = /ipad|iphone|ipod/i.test(userAgent) && typeof Pebble != 'undefined';\n","'use strict';\nvar userAgent = require('../internals/environment-user-agent');\n\n// eslint-disable-next-line redos/no-vulnerable -- safe\nmodule.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent);\n","'use strict';\nvar ENVIRONMENT = require('../internals/environment');\n\nmodule.exports = ENVIRONMENT === 'NODE';\n","'use strict';\nvar userAgent = require('../internals/environment-user-agent');\n\nmodule.exports = /web0s(?!.*chrome)/i.test(userAgent);\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\nvar navigator = globalThis.navigator;\nvar userAgent = navigator && navigator.userAgent;\n\nmodule.exports = userAgent ? String(userAgent) : '';\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar userAgent = require('../internals/environment-user-agent');\n\nvar process = globalThis.process;\nvar Deno = globalThis.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\nvar userAgent = require('../internals/environment-user-agent');\n\nvar webkit = userAgent.match(/AppleWebKit\\/(\\d+)\\./);\n\nmodule.exports = !!webkit && +webkit[1];\n","'use strict';\n/* global Bun, Deno -- detection */\nvar globalThis = require('../internals/global-this');\nvar userAgent = require('../internals/environment-user-agent');\nvar classof = require('../internals/classof-raw');\n\nvar userAgentStartsWith = function (string) {\n return userAgent.slice(0, string.length) === string;\n};\n\nmodule.exports = (function () {\n if (userAgentStartsWith('Bun/')) return 'BUN';\n if (userAgentStartsWith('Cloudflare-Workers')) return 'CLOUDFLARE';\n if (userAgentStartsWith('Deno/')) return 'DENO';\n if (userAgentStartsWith('Node.js/')) return 'NODE';\n if (globalThis.Bun && typeof Bun.version == 'string') return 'BUN';\n if (globalThis.Deno && typeof Deno.version == 'object') return 'DENO';\n if (classof(globalThis.process) === 'process') return 'NODE';\n if (globalThis.window && globalThis.document) return 'BROWSER';\n return 'REST';\n})();\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = globalThis;\n } else if (STATIC) {\n target = globalThis[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = globalThis[TARGET] && globalThis[TARGET].prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar call = require('../internals/function-call');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar regexpExec = require('../internals/regexp-exec');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\nvar RegExpPrototype = RegExp.prototype;\n\nmodule.exports = function (KEY, exec, FORCED, SHAM) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegExp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) !== 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n re = {};\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n re.flags = '';\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () {\n execCalled = true;\n return null;\n };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n FORCED\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n var $exec = regexp.exec;\n if ($exec === regexpExec || $exec === RegExpPrototype.exec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: call(nativeRegExpMethod, regexp, str, arg2) };\n }\n return { done: true, value: call(nativeMethod, str, regexp, arg2) };\n }\n return { done: false };\n });\n\n defineBuiltIn(String.prototype, KEY, methods[0]);\n defineBuiltIn(RegExpPrototype, SYMBOL, methods[1]);\n }\n\n if (SHAM) createNonEnumerableProperty(RegExpPrototype[SYMBOL], 'sham', true);\n};\n","'use strict';\nvar isArray = require('../internals/is-array');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar bind = require('../internals/function-bind-context');\n\n// `FlattenIntoArray` abstract operation\n// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray\nvar flattenIntoArray = function (target, original, source, sourceLen, start, depth, mapper, thisArg) {\n var targetIndex = start;\n var sourceIndex = 0;\n var mapFn = mapper ? bind(mapper, thisArg) : false;\n var element, elementLen;\n\n while (sourceIndex < sourceLen) {\n if (sourceIndex in source) {\n element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];\n\n if (depth > 0 && isArray(element)) {\n elementLen = lengthOfArrayLike(element);\n targetIndex = flattenIntoArray(target, original, element, elementLen, targetIndex, depth - 1) - 1;\n } else {\n doesNotExceedSafeInteger(targetIndex + 1);\n target[targetIndex] = element;\n }\n\n targetIndex++;\n }\n sourceIndex++;\n }\n return targetIndex;\n};\n\nmodule.exports = flattenIntoArray;\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar arraySlice = require('../internals/array-slice');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar $Function = Function;\nvar concat = uncurryThis([].concat);\nvar join = uncurryThis([].join);\nvar factories = {};\n\nvar construct = function (C, argsLength, args) {\n if (!hasOwn(factories, argsLength)) {\n var list = [];\n var i = 0;\n for (; i < argsLength; i++) list[i] = 'a[' + i + ']';\n factories[argsLength] = $Function('C,a', 'return new C(' + join(list, ',') + ')');\n } return factories[argsLength](C, args);\n};\n\n// `Function.prototype.bind` method implementation\n// https://tc39.es/ecma262/#sec-function.prototype.bind\n// eslint-disable-next-line es/no-function-prototype-bind -- detection\nmodule.exports = NATIVE_BIND ? $Function.bind : function bind(that /* , ...args */) {\n var F = aCallable(this);\n var Prototype = F.prototype;\n var partArgs = arraySlice(arguments, 1);\n var boundFunction = function bound(/* args... */) {\n var args = concat(partArgs, arraySlice(arguments));\n return this instanceof boundFunction ? construct(F, args.length, args) : F.apply(that, args);\n };\n if (isObject(Prototype)) boundFunction.prototype = Prototype;\n return boundFunction;\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n } catch (error) { /* empty */ }\n};\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(globalThis[namespace]) : globalThis[namespace] && globalThis[namespace][method];\n};\n","'use strict';\nvar classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n throw new $TypeError(tryToString(argument) + ' is not iterable');\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isArray = require('../internals/is-array');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof-raw');\nvar toString = require('../internals/to-string');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (replacer) {\n if (isCallable(replacer)) return replacer;\n if (!isArray(replacer)) return;\n var rawLength = replacer.length;\n var keys = [];\n for (var i = 0; i < rawLength; i++) {\n var element = replacer[i];\n if (typeof element == 'string') push(keys, element);\n else if (typeof element == 'number' || classof(element) === 'Number' || classof(element) === 'String') push(keys, toString(element));\n }\n var keysLength = keys.length;\n var root = true;\n return function (key, value) {\n if (root) {\n root = false;\n return value;\n }\n if (isArray(this)) return value;\n for (var j = 0; j < keysLength; j++) if (keys[j] === key) return value;\n };\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar floor = Math.floor;\nvar charAt = uncurryThis(''.charAt);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\n// eslint-disable-next-line redos/no-vulnerable -- safe\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d{1,2}|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d{1,2})/g;\n\n// `GetSubstitution` abstract operation\n// https://tc39.es/ecma262/#sec-getsubstitution\nmodule.exports = function (matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return replace(replacement, symbols, function (match, ch) {\n var capture;\n switch (charAt(ch, 0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return stringSlice(str, 0, position);\n case \"'\": return stringSlice(str, tailPos);\n case '<':\n capture = namedCaptures[stringSlice(ch, 1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? charAt(ch, 1) : captures[f - 1] + charAt(ch, 1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n};\n","'use strict';\nvar check = function (it) {\n return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n check(typeof this == 'object' && this) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nmodule.exports = function (a, b) {\n try {\n // eslint-disable-next-line no-console -- safe\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n } catch (error) { /* empty */ }\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\n// IEEE754 conversions based on https://github.com/feross/ieee754\nvar $Array = Array;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\n\nvar pack = function (number, mantissaLength, bytes) {\n var buffer = $Array(bytes);\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0;\n var index = 0;\n var exponent, mantissa, c;\n number = abs(number);\n // eslint-disable-next-line no-self-compare -- NaN check\n if (number !== number || number === Infinity) {\n // eslint-disable-next-line no-self-compare -- NaN check\n mantissa = number !== number ? 1 : 0;\n exponent = eMax;\n } else {\n exponent = floor(log(number) / LN2);\n c = pow(2, -exponent);\n if (number * c < 1) {\n exponent--;\n c *= 2;\n }\n if (exponent + eBias >= 1) {\n number += rt / c;\n } else {\n number += rt * pow(2, 1 - eBias);\n }\n if (number * c >= 2) {\n exponent++;\n c /= 2;\n }\n if (exponent + eBias >= eMax) {\n mantissa = 0;\n exponent = eMax;\n } else if (exponent + eBias >= 1) {\n mantissa = (number * c - 1) * pow(2, mantissaLength);\n exponent += eBias;\n } else {\n mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength);\n exponent = 0;\n }\n }\n while (mantissaLength >= 8) {\n buffer[index++] = mantissa & 255;\n mantissa /= 256;\n mantissaLength -= 8;\n }\n exponent = exponent << mantissaLength | mantissa;\n exponentLength += mantissaLength;\n while (exponentLength > 0) {\n buffer[index++] = exponent & 255;\n exponent /= 256;\n exponentLength -= 8;\n }\n buffer[index - 1] |= sign * 128;\n return buffer;\n};\n\nvar unpack = function (buffer, mantissaLength) {\n var bytes = buffer.length;\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var nBits = exponentLength - 7;\n var index = bytes - 1;\n var sign = buffer[index--];\n var exponent = sign & 127;\n var mantissa;\n sign >>= 7;\n while (nBits > 0) {\n exponent = exponent * 256 + buffer[index--];\n nBits -= 8;\n }\n mantissa = exponent & (1 << -nBits) - 1;\n exponent >>= -nBits;\n nBits += mantissaLength;\n while (nBits > 0) {\n mantissa = mantissa * 256 + buffer[index--];\n nBits -= 8;\n }\n if (exponent === 0) {\n exponent = 1 - eBias;\n } else if (exponent === eMax) {\n return mantissa ? NaN : sign ? -Infinity : Infinity;\n } else {\n mantissa += pow(2, mantissaLength);\n exponent -= eBias;\n } return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength);\n};\n\nmodule.exports = {\n pack: pack,\n unpack: unpack\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar globalThis = require('../internals/global-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = globalThis.TypeError;\nvar WeakMap = globalThis.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw new TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","'use strict';\nvar classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) === 'Array';\n};\n","'use strict';\nvar classof = require('../internals/classof');\n\nmodule.exports = function (it) {\n var klass = classof(it);\n return klass === 'BigInt64Array' || klass === 'BigUint64Array';\n};\n","'use strict';\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\nvar documentAll = typeof document == 'object' && document.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nmodule.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.test(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, [], argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value === POLYFILL ? true\n : value === NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar floor = Math.floor;\n\n// `IsIntegralNumber` abstract operation\n// https://tc39.es/ecma262/#sec-isintegralnumber\n// eslint-disable-next-line es/no-number-isinteger -- safe\nmodule.exports = Number.isInteger || function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nmodule.exports = function (argument) {\n return isObject(argument) || argument === null;\n};\n","'use strict';\nmodule.exports = false;\n","'use strict';\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.es/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) === 'RegExp');\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar $TypeError = TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_RECORD = !!(options && options.IS_RECORD);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal', condition);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_RECORD) {\n iterator = iterable.iterator;\n } else if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn) throw new $TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = IS_RECORD ? iterable.next : iterator.next;\n while (!(step = call(next, iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar IS_PURE = require('../internals/is-pure');\nvar FunctionName = require('../internals/function-name');\nvar isCallable = require('../internals/is-callable');\nvar createIteratorConstructor = require('../internals/iterator-create-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND && KIND in IterablePrototype) return IterablePrototype[KIND];\n\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n }\n\n return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME === 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n defineBuiltIn(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array.prototype.{ values, @@iterator }.name in V8 / FF\n if (PROPER_FUNCTION_NAME && DEFAULT === VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n } else {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return call(nativeIterator, this); };\n }\n }\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n defineBuiltIn(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n }\n Iterators[NAME] = defaultIterator;\n\n return methods;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\nelse if (IS_PURE) IteratorPrototype = create(IteratorPrototype);\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif (!isCallable(IteratorPrototype[ITERATOR])) {\n defineBuiltIn(IteratorPrototype, ITERATOR, function () {\n return this;\n });\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\).*$/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","'use strict';\nvar sign = require('../internals/math-sign');\n\nvar abs = Math.abs;\n\nvar EPSILON = 2.220446049250313e-16; // Number.EPSILON\nvar INVERSE_EPSILON = 1 / EPSILON;\n\nvar roundTiesToEven = function (n) {\n return n + INVERSE_EPSILON - INVERSE_EPSILON;\n};\n\nmodule.exports = function (x, FLOAT_EPSILON, FLOAT_MAX_VALUE, FLOAT_MIN_VALUE) {\n var n = +x;\n var absolute = abs(n);\n var s = sign(n);\n if (absolute < FLOAT_MIN_VALUE) return s * roundTiesToEven(absolute / FLOAT_MIN_VALUE / FLOAT_EPSILON) * FLOAT_MIN_VALUE * FLOAT_EPSILON;\n var a = (1 + FLOAT_EPSILON / EPSILON) * absolute;\n var result = a - (a - absolute);\n // eslint-disable-next-line no-self-compare -- NaN check\n if (result > FLOAT_MAX_VALUE || result !== result) return s * Infinity;\n return s * result;\n};\n","'use strict';\nvar floatRound = require('../internals/math-float-round');\n\nvar FLOAT32_EPSILON = 1.1920928955078125e-7; // 2 ** -23;\nvar FLOAT32_MAX_VALUE = 3.4028234663852886e+38; // 2 ** 128 - 2 ** 104\nvar FLOAT32_MIN_VALUE = 1.1754943508222875e-38; // 2 ** -126;\n\n// `Math.fround` method implementation\n// https://tc39.es/ecma262/#sec-math.fround\n// eslint-disable-next-line es/no-math-fround -- safe\nmodule.exports = Math.fround || function fround(x) {\n return floatRound(x, FLOAT32_EPSILON, FLOAT32_MAX_VALUE, FLOAT32_MIN_VALUE);\n};\n","'use strict';\n// `Math.sign` method implementation\n// https://tc39.es/ecma262/#sec-math.sign\n// eslint-disable-next-line es/no-math-sign -- safe\nmodule.exports = Math.sign || function sign(x) {\n var n = +x;\n // eslint-disable-next-line no-self-compare -- NaN check\n return n === 0 || n !== n ? n : n < 0 ? -1 : 1;\n};\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar safeGetBuiltIn = require('../internals/safe-get-built-in');\nvar bind = require('../internals/function-bind-context');\nvar macrotask = require('../internals/task').set;\nvar Queue = require('../internals/queue');\nvar IS_IOS = require('../internals/environment-is-ios');\nvar IS_IOS_PEBBLE = require('../internals/environment-is-ios-pebble');\nvar IS_WEBOS_WEBKIT = require('../internals/environment-is-webos-webkit');\nvar IS_NODE = require('../internals/environment-is-node');\n\nvar MutationObserver = globalThis.MutationObserver || globalThis.WebKitMutationObserver;\nvar document = globalThis.document;\nvar process = globalThis.process;\nvar Promise = globalThis.Promise;\nvar microtask = safeGetBuiltIn('queueMicrotask');\nvar notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!microtask) {\n var queue = new Queue();\n\n var flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (fn = queue.get()) try {\n fn();\n } catch (error) {\n if (queue.head) notify();\n throw error;\n }\n if (parent) parent.enter();\n };\n\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898\n if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (!IS_IOS_PEBBLE && Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n // workaround of WebKit ~ iOS Safari 10.1 bug\n promise.constructor = Promise;\n then = bind(promise.then, promise);\n notify = function () {\n then(flush);\n };\n // Node.js without promises\n } else if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessage\n // - onreadystatechange\n // - setTimeout\n } else {\n // `webpack` dev server bug on IE global methods - use bind(fn, global)\n macrotask = bind(macrotask, globalThis);\n notify = function () {\n macrotask(flush);\n };\n }\n\n microtask = function (fn) {\n if (!queue.head) notify();\n queue.add(fn);\n };\n}\n\nmodule.exports = microtask;\n","'use strict';\nvar aCallable = require('../internals/a-callable');\n\nvar $TypeError = TypeError;\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw new $TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aCallable(resolve);\n this.reject = aCallable(reject);\n};\n\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","'use strict';\nvar isRegExp = require('../internals/is-regexp');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw new $TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar call = require('../internals/function-call');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\n// eslint-disable-next-line es/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\nvar concat = uncurryThis([].concat);\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line es/no-symbol -- safe\n var symbol = Symbol('assign detection');\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return $assign({}, A)[symbol] !== 7 || objectKeys($assign({}, B)).join('') !== alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","'use strict';\n/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n // eslint-disable-next-line no-useless-assignment -- avoid memory leak\n activeXDocument = null;\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\n/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar classof = require('../internals/classof-raw');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar arraySlice = require('../internals/array-slice');\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return $getOwnPropertyNames(it);\n } catch (error) {\n return arraySlice(windowNames);\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && classof(it) === 'Window'\n ? getWindowNames(it)\n : $getOwnPropertyNames(toIndexedObject(it));\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar $Object = Object;\nvar ObjectPrototype = $Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof $Object ? ObjectPrototype : null;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar isObject = require('../internals/is-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n requireObjectCoercible(O);\n aPossiblePrototype(proto);\n if (!isObject(O)) return O;\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\nmodule.exports = globalThis;\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar isCallable = require('../internals/is-callable');\nvar isForced = require('../internals/is-forced');\nvar inspectSource = require('../internals/inspect-source');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar ENVIRONMENT = require('../internals/environment');\nvar IS_PURE = require('../internals/is-pure');\nvar V8_VERSION = require('../internals/environment-v8-version');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar SPECIES = wellKnownSymbol('species');\nvar SUBCLASSING = false;\nvar NATIVE_PROMISE_REJECTION_EVENT = isCallable(globalThis.PromiseRejectionEvent);\n\nvar FORCED_PROMISE_CONSTRUCTOR = isForced('Promise', function () {\n var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(NativePromiseConstructor);\n var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(NativePromiseConstructor);\n // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // We can't detect it synchronously, so just check versions\n if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true;\n // We need Promise#{ catch, finally } in the pure version for preventing prototype pollution\n if (IS_PURE && !(NativePromisePrototype['catch'] && NativePromisePrototype['finally'])) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (!V8_VERSION || V8_VERSION < 51 || !/native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) {\n // Detect correctness of subclassing with @@species support\n var promise = new NativePromiseConstructor(function (resolve) { resolve(1); });\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;\n if (!SUBCLASSING) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n } return !GLOBAL_CORE_JS_PROMISE && (ENVIRONMENT === 'BROWSER' || ENVIRONMENT === 'DENO') && !NATIVE_PROMISE_REJECTION_EVENT;\n});\n\nmodule.exports = {\n CONSTRUCTOR: FORCED_PROMISE_CONSTRUCTOR,\n REJECTION_EVENT: NATIVE_PROMISE_REJECTION_EVENT,\n SUBCLASSING: SUBCLASSING\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\nmodule.exports = globalThis.Promise;\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","'use strict';\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\nmodule.exports = FORCED_PROMISE_CONSTRUCTOR || !checkCorrectnessOfIteration(function (iterable) {\n NativePromiseConstructor.all(iterable).then(undefined, function () { /* empty */ });\n});\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (Target, Source, key) {\n key in Target || defineProperty(Target, key, {\n configurable: true,\n get: function () { return Source[key]; },\n set: function (it) { Source[key] = it; }\n });\n};\n","'use strict';\nvar Queue = function () {\n this.head = null;\n this.tail = null;\n};\n\nQueue.prototype = {\n add: function (item) {\n var entry = { item: item, next: null };\n var tail = this.tail;\n if (tail) tail.next = entry;\n else this.head = entry;\n this.tail = entry;\n },\n get: function () {\n var entry = this.head;\n if (entry) {\n var next = this.head = entry.next;\n if (next === null) this.tail = null;\n return entry.item;\n }\n }\n};\n\nmodule.exports = Queue;\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof-raw');\nvar regexpExec = require('../internals/regexp-exec');\n\nvar $TypeError = TypeError;\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (isCallable(exec)) {\n var result = call(exec, R, S);\n if (result !== null) anObject(result);\n return result;\n }\n if (classof(R) === 'RegExp') return call(regexpExec, R, S);\n throw new $TypeError('RegExp#exec called on incompatible receiver');\n};\n","'use strict';\n/* eslint-disable regexp/no-empty-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */\n/* eslint-disable regexp/no-useless-quantifier -- testing */\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar regexpFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar shared = require('../internals/shared');\nvar create = require('../internals/object-create');\nvar getInternalState = require('../internals/internal-state').get;\nvar UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');\nvar UNSUPPORTED_NCG = require('../internals/regexp-unsupported-ncg');\n\nvar nativeReplace = shared('native-string-replace', String.prototype.replace);\nvar nativeExec = RegExp.prototype.exec;\nvar patchedExec = nativeExec;\nvar charAt = uncurryThis(''.charAt);\nvar indexOf = uncurryThis(''.indexOf);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n call(nativeExec, re1, 'a');\n call(nativeExec, re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG;\n\nif (PATCH) {\n patchedExec = function exec(string) {\n var re = this;\n var state = getInternalState(re);\n var str = toString(string);\n var raw = state.raw;\n var result, reCopy, lastIndex, match, i, object, group;\n\n if (raw) {\n raw.lastIndex = re.lastIndex;\n result = call(patchedExec, raw, str);\n re.lastIndex = raw.lastIndex;\n return result;\n }\n\n var groups = state.groups;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = call(regexpFlags, re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = replace(flags, 'y', '');\n if (indexOf(flags, 'g') === -1) {\n flags += 'g';\n }\n\n strCopy = stringSlice(str, re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && charAt(str, re.lastIndex - 1) !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = call(nativeExec, sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = stringSlice(match.input, charsAdded);\n match[0] = stringSlice(match[0], charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn't work for /(.?)?/\n call(nativeReplace, match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n if (match && groups) {\n match.groups = object = create(null);\n for (i = 0; i < groups.length; i++) {\n group = groups[i];\n object[group[0]] = match[group[1]];\n }\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.hasIndices) result += 'd';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.unicodeSets) result += 'v';\n if (that.sticky) result += 'y';\n return result;\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar hasOwn = require('../internals/has-own-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar regExpFlags = require('../internals/regexp-flags');\n\nvar RegExpPrototype = RegExp.prototype;\n\nmodule.exports = function (R) {\n var flags = R.flags;\n return flags === undefined && !('flags' in RegExpPrototype) && !hasOwn(R, 'flags') && isPrototypeOf(RegExpPrototype, R)\n ? call(regExpFlags, R) : flags;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\n\n// babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\nvar $RegExp = globalThis.RegExp;\n\nvar UNSUPPORTED_Y = fails(function () {\n var re = $RegExp('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') !== null;\n});\n\n// UC Browser bug\n// https://github.com/zloirock/core-js/issues/1008\nvar MISSED_STICKY = UNSUPPORTED_Y || fails(function () {\n return !$RegExp('a', 'y').sticky;\n});\n\nvar BROKEN_CARET = UNSUPPORTED_Y || fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = $RegExp('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') !== null;\n});\n\nmodule.exports = {\n BROKEN_CARET: BROKEN_CARET,\n MISSED_STICKY: MISSED_STICKY,\n UNSUPPORTED_Y: UNSUPPORTED_Y\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\n\n// babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError\nvar $RegExp = globalThis.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('.', 's');\n return !(re.dotAll && re.test('\\n') && re.flags === 's');\n});\n","'use strict';\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\n\n// babel-minify and Closure Compiler transpiles RegExp('(?b)', 'g') -> /(?b)/g and it causes SyntaxError\nvar $RegExp = globalThis.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('(?b)', 'g');\n return re.exec('b').groups.a !== 'b' ||\n 'b'.replace(re, '$c') !== 'bc';\n});\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar DESCRIPTORS = require('../internals/descriptors');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Avoid NodeJS experimental warning\nmodule.exports = function (name) {\n if (!DESCRIPTORS) return globalThis[name];\n var descriptor = getOwnPropertyDescriptor(globalThis, name);\n return descriptor && descriptor.value;\n};\n","'use strict';\n// `SameValue` abstract operation\n// https://tc39.es/ecma262/#sec-samevalue\n// eslint-disable-next-line es/no-object-is -- safe\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare -- NaN check\n return x === y ? x !== 0 || 1 / x === 1 / y : x !== x && y !== y;\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineBuiltInAccessor(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (target, TAG, STATIC) {\n if (target && !STATIC) target = target.prototype;\n if (target && !hasOwn(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar globalThis = require('../internals/global-this');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});\n\n(store.versions || (store.versions = [])).push({\n version: '3.38.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2024 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.38.1/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar store = require('../internals/shared-store');\n\nmodule.exports = function (key, value) {\n return store[key] || (store[key] = value || {});\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar aConstructor = require('../internals/a-constructor');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || isNullOrUndefined(S = anObject(C)[SPECIES]) ? defaultConstructor : aConstructor(S);\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// check the existence of a method, lowercase\n// of a tag and escaping quotes in arguments\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n var test = ''[METHOD_NAME]('\"');\n return test !== test.toLowerCase() || test.split('\"').length > 3;\n });\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar stringSlice = uncurryThis(''.slice);\n\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = toString(requireObjectCoercible($this));\n var position = toIntegerOrInfinity(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = charCodeAt(S, position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING\n ? charAt(S, position)\n : first\n : CONVERT_TO_STRING\n ? stringSlice(S, position, position + 2)\n : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","'use strict';\n// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128; // 0x80\nvar delimiter = '-'; // '\\x2D'\nvar regexNonASCII = /[^\\0-\\u007E]/; // non-ASCII chars\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\n\nvar $RangeError = RangeError;\nvar exec = uncurryThis(regexSeparators.exec);\nvar floor = Math.floor;\nvar fromCharCode = String.fromCharCode;\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar join = uncurryThis([].join);\nvar push = uncurryThis([].push);\nvar replace = uncurryThis(''.replace);\nvar split = uncurryThis(''.split);\nvar toLowerCase = uncurryThis(''.toLowerCase);\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n */\nvar ucs2decode = function (string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n while (counter < length) {\n var value = charCodeAt(string, counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n // It's a high surrogate, and there is a next character.\n var extra = charCodeAt(string, counter++);\n if ((extra & 0xFC00) === 0xDC00) { // Low surrogate.\n push(output, ((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n // It's an unmatched surrogate; only append this code unit, in case the\n // next code unit is the high surrogate of a surrogate pair.\n push(output, value);\n counter--;\n }\n } else {\n push(output, value);\n }\n }\n return output;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n */\nvar digitToBasic = function (digit) {\n // 0..25 map to ASCII a..z or A..Z\n // 26..35 map to ASCII 0..9\n return digit + 22 + 75 * (digit < 26);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n */\nvar adapt = function (delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n while (delta > baseMinusTMin * tMax >> 1) {\n delta = floor(delta / baseMinusTMin);\n k += base;\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n */\nvar encode = function (input) {\n var output = [];\n\n // Convert the input in UCS-2 to an array of Unicode code points.\n input = ucs2decode(input);\n\n // Cache the length.\n var inputLength = input.length;\n\n // Initialize the state.\n var n = initialN;\n var delta = 0;\n var bias = initialBias;\n var i, currentValue;\n\n // Handle the basic code points.\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < 0x80) {\n push(output, fromCharCode(currentValue));\n }\n }\n\n var basicLength = output.length; // number of basic code points.\n var handledCPCount = basicLength; // number of code points that have been handled;\n\n // Finish the basic string with a delimiter unless it's empty.\n if (basicLength) {\n push(output, delimiter);\n }\n\n // Main encoding loop:\n while (handledCPCount < inputLength) {\n // All non-basic code points < n have been handled already. Find the next larger one:\n var m = maxInt;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n\n // Increase `delta` enough to advance the decoder's state to , but guard against overflow.\n var handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n throw new $RangeError(OVERFLOW_ERROR);\n }\n\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < n && ++delta > maxInt) {\n throw new $RangeError(OVERFLOW_ERROR);\n }\n if (currentValue === n) {\n // Represent delta as a generalized variable-length integer.\n var q = delta;\n var k = base;\n while (true) {\n var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;\n if (q < t) break;\n var qMinusT = q - t;\n var baseMinusT = base - t;\n push(output, fromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n q = floor(qMinusT / baseMinusT);\n k += base;\n }\n\n push(output, fromCharCode(digitToBasic(q)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount === basicLength);\n delta = 0;\n handledCPCount++;\n }\n }\n\n delta++;\n n++;\n }\n return join(output, '');\n};\n\nmodule.exports = function (input) {\n var encoded = [];\n var labels = split(replace(toLowerCase(input), regexSeparators, '\\u002E'), '.');\n var i, label;\n for (i = 0; i < labels.length; i++) {\n label = labels[i];\n push(encoded, exec(regexNonASCII, label) ? 'xn--' + encode(label) : label);\n }\n return join(encoded, '.');\n};\n","'use strict';\nvar PROPER_FUNCTION_NAME = require('../internals/function-name').PROPER;\nvar fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]()\n || non[METHOD_NAME]() !== non\n || (PROPER_FUNCTION_NAME && whitespaces[METHOD_NAME].name !== METHOD_NAME);\n });\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar whitespaces = require('../internals/whitespaces');\n\nvar replace = uncurryThis(''.replace);\nvar ltrim = RegExp('^[' + whitespaces + ']+');\nvar rtrim = RegExp('(^|[^' + whitespaces + '])[' + whitespaces + ']+$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = toString(requireObjectCoercible($this));\n if (TYPE & 1) string = replace(string, ltrim, '');\n if (TYPE & 2) string = replace(string, rtrim, '$1');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.es/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/environment-v8-version');\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\n\nvar $String = globalThis.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\nvar call = require('../internals/function-call');\nvar getBuiltIn = require('../internals/get-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function () {\n var Symbol = getBuiltIn('Symbol');\n var SymbolPrototype = Symbol && Symbol.prototype;\n var valueOf = SymbolPrototype && SymbolPrototype.valueOf;\n var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n if (SymbolPrototype && !SymbolPrototype[TO_PRIMITIVE]) {\n // `Symbol.prototype[@@toPrimitive]` method\n // https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\n // eslint-disable-next-line no-unused-vars -- required for .length\n defineBuiltIn(SymbolPrototype, TO_PRIMITIVE, function (hint) {\n return call(valueOf, this);\n }, { arity: 1 });\n }\n};\n","'use strict';\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\n/* eslint-disable es/no-symbol -- safe */\nmodule.exports = NATIVE_SYMBOL && !!Symbol['for'] && !!Symbol.keyFor;\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind-context');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar fails = require('../internals/fails');\nvar html = require('../internals/html');\nvar arraySlice = require('../internals/array-slice');\nvar createElement = require('../internals/document-create-element');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar IS_IOS = require('../internals/environment-is-ios');\nvar IS_NODE = require('../internals/environment-is-node');\n\nvar set = globalThis.setImmediate;\nvar clear = globalThis.clearImmediate;\nvar process = globalThis.process;\nvar Dispatch = globalThis.Dispatch;\nvar Function = globalThis.Function;\nvar MessageChannel = globalThis.MessageChannel;\nvar String = globalThis.String;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar $location, defer, channel, port;\n\nfails(function () {\n // Deno throws a ReferenceError on `location` access without `--location` flag\n $location = globalThis.location;\n});\n\nvar run = function (id) {\n if (hasOwn(queue, id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar eventListener = function (event) {\n run(event.data);\n};\n\nvar globalPostMessageDefer = function (id) {\n // old engines have not location.origin\n globalThis.postMessage(String(id), $location.protocol + '//' + $location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(handler) {\n validateArgumentsLength(arguments.length, 1);\n var fn = isCallable(handler) ? handler : Function(handler);\n var args = arraySlice(arguments, 1);\n queue[++counter] = function () {\n apply(fn, undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (IS_NODE) {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = eventListener;\n defer = bind(port.postMessage, port);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n globalThis.addEventListener &&\n isCallable(globalThis.postMessage) &&\n !globalThis.importScripts &&\n $location && $location.protocol !== 'file:' &&\n !fails(globalPostMessageDefer)\n ) {\n defer = globalPostMessageDefer;\n globalThis.addEventListener('message', eventListener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\n// `thisNumberValue` abstract operation\n// https://tc39.es/ecma262/#sec-thisnumbervalue\nmodule.exports = uncurryThis(1.0.valueOf);\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\n\nvar $TypeError = TypeError;\n\n// `ToBigInt` abstract operation\n// https://tc39.es/ecma262/#sec-tobigint\nmodule.exports = function (argument) {\n var prim = toPrimitive(argument, 'number');\n if (typeof prim == 'number') throw new $TypeError(\"Can't convert number to bigint\");\n // eslint-disable-next-line es/no-bigint -- safe\n return BigInt(prim);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\n\nvar $RangeError = RangeError;\n\n// `ToIndex` abstract operation\n// https://tc39.es/ecma262/#sec-toindex\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toIntegerOrInfinity(it);\n var length = toLength(number);\n if (number !== length) throw new $RangeError('Wrong length or index');\n return length;\n};\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n var len = toIntegerOrInfinity(argument);\n return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar toPositiveInteger = require('../internals/to-positive-integer');\n\nvar $RangeError = RangeError;\n\nmodule.exports = function (it, BYTES) {\n var offset = toPositiveInteger(it);\n if (offset % BYTES) throw new $RangeError('Wrong offset');\n return offset;\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar $RangeError = RangeError;\n\nmodule.exports = function (it) {\n var result = toIntegerOrInfinity(it);\n if (result < 0) throw new $RangeError(\"The argument can't be less than 0\");\n return result;\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw new $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","'use strict';\nvar round = Math.round;\n\nmodule.exports = function (it) {\n var value = round(it);\n return value < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF;\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar globalThis = require('../internals/global-this');\nvar call = require('../internals/function-call');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-array-constructors-require-wrappers');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayBufferModule = require('../internals/array-buffer');\nvar anInstance = require('../internals/an-instance');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar isIntegralNumber = require('../internals/is-integral-number');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar toOffset = require('../internals/to-offset');\nvar toUint8Clamped = require('../internals/to-uint8-clamped');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar classof = require('../internals/classof');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar create = require('../internals/object-create');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar typedArrayFrom = require('../internals/typed-array-from');\nvar forEach = require('../internals/array-iteration').forEach;\nvar setSpecies = require('../internals/set-species');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar arrayFromConstructorAndList = require('../internals/array-from-constructor-and-list');\nvar InternalStateModule = require('../internals/internal-state');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar enforceInternalState = InternalStateModule.enforce;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar RangeError = globalThis.RangeError;\nvar ArrayBuffer = ArrayBufferModule.ArrayBuffer;\nvar ArrayBufferPrototype = ArrayBuffer.prototype;\nvar DataView = ArrayBufferModule.DataView;\nvar NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS;\nvar TYPED_ARRAY_TAG = ArrayBufferViewCore.TYPED_ARRAY_TAG;\nvar TypedArray = ArrayBufferViewCore.TypedArray;\nvar TypedArrayPrototype = ArrayBufferViewCore.TypedArrayPrototype;\nvar isTypedArray = ArrayBufferViewCore.isTypedArray;\nvar BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\nvar WRONG_LENGTH = 'Wrong length';\n\nvar addGetter = function (it, key) {\n defineBuiltInAccessor(it, key, {\n configurable: true,\n get: function () {\n return getInternalState(this)[key];\n }\n });\n};\n\nvar isArrayBuffer = function (it) {\n var klass;\n return isPrototypeOf(ArrayBufferPrototype, it) || (klass = classof(it)) === 'ArrayBuffer' || klass === 'SharedArrayBuffer';\n};\n\nvar isTypedArrayIndex = function (target, key) {\n return isTypedArray(target)\n && !isSymbol(key)\n && key in target\n && isIntegralNumber(+key)\n && key >= 0;\n};\n\nvar wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) {\n key = toPropertyKey(key);\n return isTypedArrayIndex(target, key)\n ? createPropertyDescriptor(2, target[key])\n : nativeGetOwnPropertyDescriptor(target, key);\n};\n\nvar wrappedDefineProperty = function defineProperty(target, key, descriptor) {\n key = toPropertyKey(key);\n if (isTypedArrayIndex(target, key)\n && isObject(descriptor)\n && hasOwn(descriptor, 'value')\n && !hasOwn(descriptor, 'get')\n && !hasOwn(descriptor, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !descriptor.configurable\n && (!hasOwn(descriptor, 'writable') || descriptor.writable)\n && (!hasOwn(descriptor, 'enumerable') || descriptor.enumerable)\n ) {\n target[key] = descriptor.value;\n return target;\n } return nativeDefineProperty(target, key, descriptor);\n};\n\nif (DESCRIPTORS) {\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n getOwnPropertyDescriptorModule.f = wrappedGetOwnPropertyDescriptor;\n definePropertyModule.f = wrappedDefineProperty;\n addGetter(TypedArrayPrototype, 'buffer');\n addGetter(TypedArrayPrototype, 'byteOffset');\n addGetter(TypedArrayPrototype, 'byteLength');\n addGetter(TypedArrayPrototype, 'length');\n }\n\n $({ target: 'Object', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, {\n getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor,\n defineProperty: wrappedDefineProperty\n });\n\n module.exports = function (TYPE, wrapper, CLAMPED) {\n var BYTES = TYPE.match(/\\d+/)[0] / 8;\n var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + TYPE;\n var SETTER = 'set' + TYPE;\n var NativeTypedArrayConstructor = globalThis[CONSTRUCTOR_NAME];\n var TypedArrayConstructor = NativeTypedArrayConstructor;\n var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype;\n var exported = {};\n\n var getter = function (that, index) {\n var data = getInternalState(that);\n return data.view[GETTER](index * BYTES + data.byteOffset, true);\n };\n\n var setter = function (that, index, value) {\n var data = getInternalState(that);\n data.view[SETTER](index * BYTES + data.byteOffset, CLAMPED ? toUint8Clamped(value) : value, true);\n };\n\n var addElement = function (that, index) {\n nativeDefineProperty(that, index, {\n get: function () {\n return getter(this, index);\n },\n set: function (value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n TypedArrayConstructor = wrapper(function (that, data, offset, $length) {\n anInstance(that, TypedArrayConstructorPrototype);\n var index = 0;\n var byteOffset = 0;\n var buffer, byteLength, length;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new ArrayBuffer(byteLength);\n } else if (isArrayBuffer(data)) {\n buffer = data;\n byteOffset = toOffset(offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw new RangeError(WRONG_LENGTH);\n byteLength = $len - byteOffset;\n if (byteLength < 0) throw new RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + byteOffset > $len) throw new RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (isTypedArray(data)) {\n return arrayFromConstructorAndList(TypedArrayConstructor, data);\n } else {\n return call(typedArrayFrom, TypedArrayConstructor, data);\n }\n setInternalState(that, {\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength,\n length: length,\n view: new DataView(buffer)\n });\n while (index < length) addElement(that, index++);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype);\n } else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) {\n TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) {\n anInstance(dummy, TypedArrayConstructorPrototype);\n return inheritIfRequired(function () {\n if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data));\n if (isArrayBuffer(data)) return $length !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length)\n : typedArrayOffset !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES))\n : new NativeTypedArrayConstructor(data);\n if (isTypedArray(data)) return arrayFromConstructorAndList(TypedArrayConstructor, data);\n return call(typedArrayFrom, TypedArrayConstructor, data);\n }(), dummy, TypedArrayConstructor);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) {\n if (!(key in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]);\n }\n });\n TypedArrayConstructor.prototype = TypedArrayConstructorPrototype;\n }\n\n if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor);\n }\n\n enforceInternalState(TypedArrayConstructorPrototype).TypedArrayConstructor = TypedArrayConstructor;\n\n if (TYPED_ARRAY_TAG) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME);\n }\n\n var FORCED = TypedArrayConstructor !== NativeTypedArrayConstructor;\n\n exported[CONSTRUCTOR_NAME] = TypedArrayConstructor;\n\n $({ global: true, constructor: true, forced: FORCED, sham: !NATIVE_ARRAY_BUFFER_VIEWS }, exported);\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES);\n }\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES);\n }\n\n setSpecies(CONSTRUCTOR_NAME);\n };\n} else module.exports = function () { /* empty */ };\n","'use strict';\n/* eslint-disable no-new, sonar/inconsistent-function-call -- required for testing */\nvar globalThis = require('../internals/global-this');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar NATIVE_ARRAY_BUFFER_VIEWS = require('../internals/array-buffer-view-core').NATIVE_ARRAY_BUFFER_VIEWS;\n\nvar ArrayBuffer = globalThis.ArrayBuffer;\nvar Int8Array = globalThis.Int8Array;\n\nmodule.exports = !NATIVE_ARRAY_BUFFER_VIEWS || !fails(function () {\n Int8Array(1);\n}) || !fails(function () {\n new Int8Array(-1);\n}) || !checkCorrectnessOfIteration(function (iterable) {\n new Int8Array();\n new Int8Array(null);\n new Int8Array(1.5);\n new Int8Array(iterable);\n}, true) || fails(function () {\n // Safari (11+) bug - a reason why even Safari 13 should load a typed array polyfill\n return new Int8Array(new ArrayBuffer(2), 1, undefined).length !== 1;\n});\n","'use strict';\nvar arrayFromConstructorAndList = require('../internals/array-from-constructor-and-list');\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\n\nmodule.exports = function (instance, list) {\n return arrayFromConstructorAndList(typedArraySpeciesConstructor(instance), list);\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar aConstructor = require('../internals/a-constructor');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar isBigIntArray = require('../internals/is-big-int-array');\nvar aTypedArrayConstructor = require('../internals/array-buffer-view-core').aTypedArrayConstructor;\nvar toBigInt = require('../internals/to-big-int');\n\nmodule.exports = function from(source /* , mapfn, thisArg */) {\n var C = aConstructor(this);\n var O = toObject(source);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var i, length, result, thisIsBigIntArray, value, step, iterator, next;\n if (iteratorMethod && !isArrayIteratorMethod(iteratorMethod)) {\n iterator = getIterator(O, iteratorMethod);\n next = iterator.next;\n O = [];\n while (!(step = call(next, iterator)).done) {\n O.push(step.value);\n }\n }\n if (mapping && argumentsLength > 2) {\n mapfn = bind(mapfn, arguments[2]);\n }\n length = lengthOfArrayLike(O);\n result = new (aTypedArrayConstructor(C))(length);\n thisIsBigIntArray = isBigIntArray(result);\n for (i = 0; length > i; i++) {\n value = mapping ? mapfn(O[i], i) : O[i];\n // FF30- typed arrays doesn't properly convert objects to typed array values\n result[i] = thisIsBigIntArray ? toBigInt(value) : +value;\n }\n return result;\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar speciesConstructor = require('../internals/species-constructor');\n\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;\n\n// a part of `TypedArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#typedarray-species-create\nmodule.exports = function (originalArray) {\n return aTypedArrayConstructor(speciesConstructor(originalArray, getTypedArrayConstructor(originalArray)));\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line unicorn/relative-url-style -- required for testing\n var url = new URL('b?a=1&b=2&c=3', 'https://a');\n var params = url.searchParams;\n var params2 = new URLSearchParams('a=1&a=2&b=3');\n var result = '';\n url.pathname = 'c%20d';\n params.forEach(function (value, key) {\n params['delete']('b');\n result += key + value;\n });\n params2['delete']('a', 2);\n // `undefined` case is a Chromium 117 bug\n // https://bugs.chromium.org/p/v8/issues/detail?id=14222\n params2['delete']('b', undefined);\n return (IS_PURE && (!url.toJSON || !params2.has('a', 1) || params2.has('a', 2) || !params2.has('a', undefined) || params2.has('b')))\n || (!params.size && (IS_PURE || !DESCRIPTORS))\n || !params.sort\n || url.href !== 'https://a/c%20d?a=1&c=3'\n || params.get('c') !== '3'\n || String(new URLSearchParams('?a=1')) !== 'a=1'\n || !params[ITERATOR]\n // throws in Edge\n || new URL('https://a@b').username !== 'a'\n || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'\n // not punycoded in Edge\n || new URL('https://тест').host !== 'xn--e1aybc'\n // not escaped in Chrome 62-\n || new URL('https://a#б').hash !== '#%D0%B1'\n // fails in Chrome 66-\n || result !== 'a1c3'\n // throws in Safari\n || new URL('https://x', undefined).host !== 'x';\n});\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\nvar $TypeError = TypeError;\n\nmodule.exports = function (passed, required) {\n if (passed < required) throw new $TypeError('Not enough arguments');\n return passed;\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = globalThis.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nvar path = require('../internals/path');\nvar hasOwn = require('../internals/has-own-property');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!hasOwn(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = globalThis.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\n// a string of all valid unicode whitespaces\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002' +\n '\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","'use strict';\nvar $ = require('../internals/export');\nvar globalThis = require('../internals/global-this');\nvar arrayBufferModule = require('../internals/array-buffer');\nvar setSpecies = require('../internals/set-species');\n\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar ArrayBuffer = arrayBufferModule[ARRAY_BUFFER];\nvar NativeArrayBuffer = globalThis[ARRAY_BUFFER];\n\n// `ArrayBuffer` constructor\n// https://tc39.es/ecma262/#sec-arraybuffer-constructor\n$({ global: true, constructor: true, forced: NativeArrayBuffer !== ArrayBuffer }, {\n ArrayBuffer: ArrayBuffer\n});\n\nsetSpecies(ARRAY_BUFFER);\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/environment-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !arrayMethodHasSpeciesSupport('concat');\n\n// `Array.prototype.concat` method\n// https://tc39.es/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n concat: function concat(arg) {\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = lengthOfArrayLike(E);\n doesNotExceedSafeInteger(n + len);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n doesNotExceedSafeInteger(n + 1);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\n// Shouldn't skip holes\n// eslint-disable-next-line es/no-array-prototype-find -- testing\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.es/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n","'use strict';\nvar $ = require('../internals/export');\nvar flattenIntoArray = require('../internals/flatten-into-array');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\n// `Array.prototype.flat` method\n// https://tc39.es/ecma262/#sec-array.prototype.flat\n$({ target: 'Array', proto: true }, {\n flat: function flat(/* depthArg = 1 */) {\n var depthArg = arguments.length ? arguments[0] : undefined;\n var O = toObject(this);\n var sourceLen = lengthOfArrayLike(O);\n var A = arraySpeciesCreate(O, 0);\n A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toIntegerOrInfinity(depthArg));\n return A;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar fails = require('../internals/fails');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// FF99+ bug\nvar BROKEN_ON_SPARSE = fails(function () {\n // eslint-disable-next-line es/no-array-prototype-includes -- detection\n return !Array(1).includes();\n});\n\n// `Array.prototype.includes` method\n// https://tc39.es/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineProperty = require('../internals/object-define-property').f;\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = null;\n return createIterResultObject(undefined, true);\n }\n switch (state.kind) {\n case 'keys': return createIterResultObject(index, false);\n case 'values': return createIterResultObject(target[index], false);\n } return createIterResultObject([index, target[index]], false);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nvar values = Iterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n// V8 ~ Chrome 45- bug\nif (!IS_PURE && DESCRIPTORS && values.name !== 'values') try {\n defineProperty(values, 'name', { value: 'values' });\n} catch (error) { /* empty */ }\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeJoin = uncurryThis([].join);\n\nvar ES3_STRINGS = IndexedObject !== Object;\nvar FORCED = ES3_STRINGS || !arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.es/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: FORCED }, {\n join: function join(separator) {\n return nativeJoin(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n\n// `Array.prototype.map` method\n// https://tc39.es/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar nativeSlice = require('../internals/array-slice');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar $Array = Array;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.es/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (isConstructor(Constructor) && (Constructor === $Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === $Array || Constructor === undefined) {\n return nativeSlice(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? $Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar deletePropertyOrThrow = require('../internals/delete-property-or-throw');\nvar toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar internalSort = require('../internals/array-sort');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar FF = require('../internals/environment-ff-version');\nvar IE_OR_EDGE = require('../internals/environment-is-ie-or-edge');\nvar V8 = require('../internals/environment-v8-version');\nvar WEBKIT = require('../internals/environment-webkit-version');\n\nvar test = [];\nvar nativeSort = uncurryThis(test.sort);\nvar push = uncurryThis(test.push);\n\n// IE8-\nvar FAILS_ON_UNDEFINED = fails(function () {\n test.sort(undefined);\n});\n// V8 bug\nvar FAILS_ON_NULL = fails(function () {\n test.sort(null);\n});\n// Old WebKit\nvar STRICT_METHOD = arrayMethodIsStrict('sort');\n\nvar STABLE_SORT = !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 70;\n if (FF && FF > 3) return;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 603;\n\n var result = '';\n var code, chr, value, index;\n\n // generate an array with more 512 elements (Chakra and old V8 fails only in this case)\n for (code = 65; code < 76; code++) {\n chr = String.fromCharCode(code);\n\n switch (code) {\n case 66: case 69: case 70: case 72: value = 3; break;\n case 68: case 71: value = 4; break;\n default: value = 2;\n }\n\n for (index = 0; index < 47; index++) {\n test.push({ k: chr + index, v: value });\n }\n }\n\n test.sort(function (a, b) { return b.v - a.v; });\n\n for (index = 0; index < test.length; index++) {\n chr = test[index].k.charAt(0);\n if (result.charAt(result.length - 1) !== chr) result += chr;\n }\n\n return result !== 'DGBEFHACIJK';\n});\n\nvar FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT;\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (y === undefined) return -1;\n if (x === undefined) return 1;\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n return toString(x) > toString(y) ? 1 : -1;\n };\n};\n\n// `Array.prototype.sort` method\n// https://tc39.es/ecma262/#sec-array.prototype.sort\n$({ target: 'Array', proto: true, forced: FORCED }, {\n sort: function sort(comparefn) {\n if (comparefn !== undefined) aCallable(comparefn);\n\n var array = toObject(this);\n\n if (STABLE_SORT) return comparefn === undefined ? nativeSort(array) : nativeSort(array, comparefn);\n\n var items = [];\n var arrayLength = lengthOfArrayLike(array);\n var itemsLength, index;\n\n for (index = 0; index < arrayLength; index++) {\n if (index in array) push(items, array[index]);\n }\n\n internalSort(items, getSortCompare(comparefn));\n\n itemsLength = lengthOfArrayLike(items);\n index = 0;\n\n while (index < itemsLength) array[index] = items[index++];\n while (index < arrayLength) deletePropertyOrThrow(array, index++);\n\n return array;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar setArrayLength = require('../internals/array-set-length');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar createProperty = require('../internals/create-property');\nvar deletePropertyOrThrow = require('../internals/delete-property-or-throw');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// `Array.prototype.splice` method\n// https://tc39.es/ecma262/#sec-array.prototype.splice\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n splice: function splice(start, deleteCount /* , ...items */) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var actualStart = toAbsoluteIndex(start, len);\n var argumentsLength = arguments.length;\n var insertCount, actualDeleteCount, A, k, from, to;\n if (argumentsLength === 0) {\n insertCount = actualDeleteCount = 0;\n } else if (argumentsLength === 1) {\n insertCount = 0;\n actualDeleteCount = len - actualStart;\n } else {\n insertCount = argumentsLength - 2;\n actualDeleteCount = min(max(toIntegerOrInfinity(deleteCount), 0), len - actualStart);\n }\n doesNotExceedSafeInteger(len + insertCount - actualDeleteCount);\n A = arraySpeciesCreate(O, actualDeleteCount);\n for (k = 0; k < actualDeleteCount; k++) {\n from = actualStart + k;\n if (from in O) createProperty(A, k, O[from]);\n }\n A.length = actualDeleteCount;\n if (insertCount < actualDeleteCount) {\n for (k = actualStart; k < len - actualDeleteCount; k++) {\n from = k + actualDeleteCount;\n to = k + insertCount;\n if (from in O) O[to] = O[from];\n else deletePropertyOrThrow(O, to);\n }\n for (k = len; k > len - actualDeleteCount + insertCount; k--) deletePropertyOrThrow(O, k - 1);\n } else if (insertCount > actualDeleteCount) {\n for (k = len - actualDeleteCount; k > actualStart; k--) {\n from = k + actualDeleteCount - 1;\n to = k + insertCount - 1;\n if (from in O) O[to] = O[from];\n else deletePropertyOrThrow(O, to);\n }\n }\n for (k = 0; k < insertCount; k++) {\n O[k + actualStart] = arguments[k + 2];\n }\n setArrayLength(O, len - actualDeleteCount + insertCount);\n return A;\n }\n});\n","'use strict';\n// this method was added to unscopables after implementation\n// in popular engines, so it's moved to a separate module\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('flat');\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar FUNCTION_NAME_EXISTS = require('../internals/function-name').EXISTS;\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\n\nvar FunctionPrototype = Function.prototype;\nvar functionToString = uncurryThis(FunctionPrototype.toString);\nvar nameRE = /function\\b(?:\\s|\\/\\*[\\S\\s]*?\\*\\/|\\/\\/[^\\n\\r]*[\\n\\r]+)*([^\\s(/]*)/;\nvar regExpExec = uncurryThis(nameRE.exec);\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.es/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !FUNCTION_NAME_EXISTS) {\n defineBuiltInAccessor(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return regExpExec(nameRE, functionToString(this))[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar globalThis = require('../internals/global-this');\n\n// `globalThis` object\n// https://tc39.es/ecma262/#sec-globalthis\n$({ global: true, forced: globalThis.globalThis !== globalThis }, {\n globalThis: globalThis\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar isSymbol = require('../internals/is-symbol');\nvar arraySlice = require('../internals/array-slice');\nvar getReplacerFunction = require('../internals/get-json-replacer-function');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nvar $String = String;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar exec = uncurryThis(/./.exec);\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar replace = uncurryThis(''.replace);\nvar numberToString = uncurryThis(1.0.toString);\n\nvar tester = /[\\uD800-\\uDFFF]/g;\nvar low = /^[\\uD800-\\uDBFF]$/;\nvar hi = /^[\\uDC00-\\uDFFF]$/;\n\nvar WRONG_SYMBOLS_CONVERSION = !NATIVE_SYMBOL || fails(function () {\n var symbol = getBuiltIn('Symbol')('stringify detection');\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) !== '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) !== '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) !== '{}';\n});\n\n// https://github.com/tc39/proposal-well-formed-stringify\nvar ILL_FORMED_UNICODE = fails(function () {\n return $stringify('\\uDF06\\uD834') !== '\"\\\\udf06\\\\ud834\"'\n || $stringify('\\uDEAD') !== '\"\\\\udead\"';\n});\n\nvar stringifyWithSymbolsFix = function (it, replacer) {\n var args = arraySlice(arguments);\n var $replacer = getReplacerFunction(replacer);\n if (!isCallable($replacer) && (it === undefined || isSymbol(it))) return; // IE8 returns string on undefined\n args[1] = function (key, value) {\n // some old implementations (like WebKit) could pass numbers as keys\n if (isCallable($replacer)) value = call($replacer, this, $String(key), value);\n if (!isSymbol(value)) return value;\n };\n return apply($stringify, null, args);\n};\n\nvar fixIllFormed = function (match, offset, string) {\n var prev = charAt(string, offset - 1);\n var next = charAt(string, offset + 1);\n if ((exec(low, match) && !exec(hi, next)) || (exec(hi, match) && !exec(low, prev))) {\n return '\\\\u' + numberToString(charCodeAt(match, 0), 16);\n } return match;\n};\n\nif ($stringify) {\n // `JSON.stringify` method\n // https://tc39.es/ecma262/#sec-json.stringify\n $({ target: 'JSON', stat: true, arity: 3, forced: WRONG_SYMBOLS_CONVERSION || ILL_FORMED_UNICODE }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n stringify: function stringify(it, replacer, space) {\n var args = arraySlice(arguments);\n var result = apply(WRONG_SYMBOLS_CONVERSION ? stringifyWithSymbolsFix : $stringify, null, args);\n return ILL_FORMED_UNICODE && typeof result == 'string' ? replace(result, tester, fixIllFormed) : result;\n }\n });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar globalThis = require('../internals/global-this');\nvar path = require('../internals/path');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar hasOwn = require('../internals/has-own-property');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar isSymbol = require('../internals/is-symbol');\nvar toPrimitive = require('../internals/to-primitive');\nvar fails = require('../internals/fails');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar thisNumberValue = require('../internals/this-number-value');\nvar trim = require('../internals/string-trim').trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = globalThis[NUMBER];\nvar PureNumberNamespace = path[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\nvar TypeError = globalThis.TypeError;\nvar stringSlice = uncurryThis(''.slice);\nvar charCodeAt = uncurryThis(''.charCodeAt);\n\n// `ToNumeric` abstract operation\n// https://tc39.es/ecma262/#sec-tonumeric\nvar toNumeric = function (value) {\n var primValue = toPrimitive(value, 'number');\n return typeof primValue == 'bigint' ? primValue : toNumber(primValue);\n};\n\n// `ToNumber` abstract operation\n// https://tc39.es/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, 'number');\n var first, third, radix, maxCode, digits, length, index, code;\n if (isSymbol(it)) throw new TypeError('Cannot convert a Symbol value to a number');\n if (typeof it == 'string' && it.length > 2) {\n it = trim(it);\n first = charCodeAt(it, 0);\n if (first === 43 || first === 45) {\n third = charCodeAt(it, 2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (charCodeAt(it, 1)) {\n // fast equal of /^0b[01]+$/i\n case 66:\n case 98:\n radix = 2;\n maxCode = 49;\n break;\n // fast equal of /^0o[0-7]+$/i\n case 79:\n case 111:\n radix = 8;\n maxCode = 55;\n break;\n default:\n return +it;\n }\n digits = stringSlice(it, 2);\n length = digits.length;\n for (index = 0; index < length; index++) {\n code = charCodeAt(digits, index);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\nvar FORCED = isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'));\n\nvar calledWithNew = function (dummy) {\n // includes check on 1..constructor(foo) case\n return isPrototypeOf(NumberPrototype, dummy) && fails(function () { thisNumberValue(dummy); });\n};\n\n// `Number` constructor\n// https://tc39.es/ecma262/#sec-number-constructor\nvar NumberWrapper = function Number(value) {\n var n = arguments.length < 1 ? 0 : NativeNumber(toNumeric(value));\n return calledWithNew(this) ? inheritIfRequired(Object(n), this, NumberWrapper) : n;\n};\n\nNumberWrapper.prototype = NumberPrototype;\nif (FORCED && !IS_PURE) NumberPrototype.constructor = NumberWrapper;\n\n$({ global: true, constructor: true, wrap: true, forced: FORCED }, {\n Number: NumberWrapper\n});\n\n// Use `internal/copy-constructor-properties` helper in `core-js@4`\nvar copyConstructorProperties = function (target, source) {\n for (var keys = DESCRIPTORS ? getOwnPropertyNames(source) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES2015 (in case, if modules with ES2015 Number statics required before):\n 'EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,' +\n // ESNext\n 'fromString,range'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (hasOwn(source, key = keys[j]) && !hasOwn(target, key)) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n\nif (IS_PURE && PureNumberNamespace) copyConstructorProperties(path[NUMBER], PureNumberNamespace);\nif (FORCED || IS_PURE) copyConstructorProperties(path[NUMBER], NativeNumber);\n","'use strict';\nvar $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\n// eslint-disable-next-line es/no-object-assign -- required for testing\n$({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, {\n assign: assign\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar FORCED = !DESCRIPTORS || fails(function () { nativeGetOwnPropertyDescriptor(1); });\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\n$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {\n return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar ownKeys = require('../internals/own-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar createProperty = require('../internals/create-property');\n\n// `Object.getOwnPropertyDescriptors` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIndexedObject(object);\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n var keys = ownKeys(O);\n var result = {};\n var index = 0;\n var key, descriptor;\n while (keys.length > index) {\n descriptor = getOwnPropertyDescriptor(O, key = keys[index++]);\n if (descriptor !== undefined) createProperty(result, key, descriptor);\n }\n return result;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar fails = require('../internals/fails');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar toObject = require('../internals/to-object');\n\n// V8 ~ Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FORCED = !NATIVE_SYMBOL || fails(function () { getOwnPropertySymbolsModule.f(1); });\n\n// `Object.getOwnPropertySymbols` method\n// https://tc39.es/ecma262/#sec-object.getownpropertysymbols\n$({ target: 'Object', stat: true, forced: FORCED }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n var $getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return $getOwnPropertySymbols ? $getOwnPropertySymbols(toObject(it)) : [];\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n defineBuiltIn(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.all` method\n// https://tc39.es/ecma262/#sec-promise.all\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n remaining++;\n call($promiseResolve, C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\n\n// `Promise.prototype.catch` method\n// https://tc39.es/ecma262/#sec-promise.prototype.catch\n$({ target: 'Promise', proto: true, forced: FORCED_PROMISE_CONSTRUCTOR, real: true }, {\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n});\n\n// makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromiseConstructor)) {\n var method = getBuiltIn('Promise').prototype['catch'];\n if (NativePromisePrototype['catch'] !== method) {\n defineBuiltIn(NativePromisePrototype, 'catch', method, { unsafe: true });\n }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar IS_NODE = require('../internals/environment-is-node');\nvar globalThis = require('../internals/global-this');\nvar call = require('../internals/function-call');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar aCallable = require('../internals/a-callable');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar perform = require('../internals/perform');\nvar Queue = require('../internals/queue');\nvar InternalStateModule = require('../internals/internal-state');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar PromiseConstructorDetection = require('../internals/promise-constructor-detection');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\n\nvar PROMISE = 'Promise';\nvar FORCED_PROMISE_CONSTRUCTOR = PromiseConstructorDetection.CONSTRUCTOR;\nvar NATIVE_PROMISE_REJECTION_EVENT = PromiseConstructorDetection.REJECTION_EVENT;\nvar NATIVE_PROMISE_SUBCLASSING = PromiseConstructorDetection.SUBCLASSING;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar setInternalState = InternalStateModule.set;\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar PromiseConstructor = NativePromiseConstructor;\nvar PromisePrototype = NativePromisePrototype;\nvar TypeError = globalThis.TypeError;\nvar document = globalThis.document;\nvar process = globalThis.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\n\nvar DISPATCH_EVENT = !!(document && document.createEvent && globalThis.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\n\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && isCallable(then = it.then) ? then : false;\n};\n\nvar callReaction = function (reaction, state) {\n var value = state.value;\n var ok = state.state === FULFILLED;\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(new TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n call(then, result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n};\n\nvar notify = function (state, isReject) {\n if (state.notified) return;\n state.notified = true;\n microtask(function () {\n var reactions = state.reactions;\n var reaction;\n while (reaction = reactions.get()) {\n callReaction(reaction, state);\n }\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(state);\n });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n globalThis.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (!NATIVE_PROMISE_REJECTION_EVENT && (handler = globalThis['on' + name])) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (state) {\n call(task, globalThis, function () {\n var promise = state.facade;\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\n\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (state) {\n call(task, globalThis, function () {\n var promise = state.facade;\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, state, unwrap) {\n return function (value) {\n fn(state, value, unwrap);\n };\n};\n\nvar internalReject = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(state, true);\n};\n\nvar internalResolve = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (state.facade === value) throw new TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n call(then, value,\n bind(internalResolve, wrapper, state),\n bind(internalReject, wrapper, state)\n );\n } catch (error) {\n internalReject(wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(state, false);\n }\n } catch (error) {\n internalReject({ done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED_PROMISE_CONSTRUCTOR) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromisePrototype);\n aCallable(executor);\n call(Internal, this);\n var state = getInternalPromiseState(this);\n try {\n executor(bind(internalResolve, state), bind(internalReject, state));\n } catch (error) {\n internalReject(state, error);\n }\n };\n\n PromisePrototype = PromiseConstructor.prototype;\n\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: new Queue(),\n rejection: false,\n state: PENDING,\n value: null\n });\n };\n\n // `Promise.prototype.then` method\n // https://tc39.es/ecma262/#sec-promise.prototype.then\n Internal.prototype = defineBuiltIn(PromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n state.parent = true;\n reaction.ok = isCallable(onFulfilled) ? onFulfilled : true;\n reaction.fail = isCallable(onRejected) && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n if (state.state === PENDING) state.reactions.add(reaction);\n else microtask(function () {\n callReaction(reaction, state);\n });\n return reaction.promise;\n });\n\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalPromiseState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, state);\n this.reject = bind(internalReject, state);\n };\n\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && isCallable(NativePromiseConstructor) && NativePromisePrototype !== Object.prototype) {\n nativeThen = NativePromisePrototype.then;\n\n if (!NATIVE_PROMISE_SUBCLASSING) {\n // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n defineBuiltIn(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n call(nativeThen, that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n }\n\n // make `.constructor === Promise` work for native promise-based APIs\n try {\n delete NativePromisePrototype.constructor;\n } catch (error) { /* empty */ }\n\n // make `instanceof Promise` work for native promise-based APIs\n if (setPrototypeOf) {\n setPrototypeOf(NativePromisePrototype, PromisePrototype);\n }\n }\n}\n\n$({ global: true, constructor: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar fails = require('../internals/fails');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar speciesConstructor = require('../internals/species-constructor');\nvar promiseResolve = require('../internals/promise-resolve');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\n\n// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829\nvar NON_GENERIC = !!NativePromiseConstructor && fails(function () {\n // eslint-disable-next-line unicorn/no-thenable -- required for testing\n NativePromisePrototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ });\n});\n\n// `Promise.prototype.finally` method\n// https://tc39.es/ecma262/#sec-promise.prototype.finally\n$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, {\n 'finally': function (onFinally) {\n var C = speciesConstructor(this, getBuiltIn('Promise'));\n var isFunction = isCallable(onFinally);\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n }\n});\n\n// makes sure that native promise-based APIs `Promise#finally` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromiseConstructor)) {\n var method = getBuiltIn('Promise').prototype['finally'];\n if (NativePromisePrototype['finally'] !== method) {\n defineBuiltIn(NativePromisePrototype, 'finally', method, { unsafe: true });\n }\n}\n","'use strict';\n// TODO: Remove this module from `core-js@4` since it's split to modules listed below\nrequire('../modules/es.promise.constructor');\nrequire('../modules/es.promise.all');\nrequire('../modules/es.promise.catch');\nrequire('../modules/es.promise.race');\nrequire('../modules/es.promise.reject');\nrequire('../modules/es.promise.resolve');\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.race` method\n// https://tc39.es/ecma262/#sec-promise.race\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n iterate(iterable, function (promise) {\n call($promiseResolve, C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\n// `Promise.reject` method\n// https://tc39.es/ecma262/#sec-promise.reject\n$({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n reject: function reject(r) {\n var capability = newPromiseCapabilityModule.f(this);\n var capabilityReject = capability.reject;\n capabilityReject(r);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar promiseResolve = require('../internals/promise-resolve');\n\nvar PromiseConstructorWrapper = getBuiltIn('Promise');\nvar CHECK_WRAPPER = IS_PURE && !FORCED_PROMISE_CONSTRUCTOR;\n\n// `Promise.resolve` method\n// https://tc39.es/ecma262/#sec-promise.resolve\n$({ target: 'Promise', stat: true, forced: IS_PURE || FORCED_PROMISE_CONSTRUCTOR }, {\n resolve: function resolve(x) {\n return promiseResolve(CHECK_WRAPPER && this === PromiseConstructorWrapper ? NativePromiseConstructor : this, x);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind');\nvar aConstructor = require('../internals/a-constructor');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar fails = require('../internals/fails');\n\nvar nativeConstruct = getBuiltIn('Reflect', 'construct');\nvar ObjectPrototype = Object.prototype;\nvar push = [].push;\n\n// `Reflect.construct` method\n// https://tc39.es/ecma262/#sec-reflect.construct\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n function F() { /* empty */ }\n return !(nativeConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\n\nvar ARGS_BUG = !fails(function () {\n nativeConstruct(function () { /* empty */ });\n});\n\nvar FORCED = NEW_TARGET_BUG || ARGS_BUG;\n\n$({ target: 'Reflect', stat: true, forced: FORCED, sham: FORCED }, {\n construct: function construct(Target, args /* , newTarget */) {\n aConstructor(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aConstructor(arguments[2]);\n if (ARGS_BUG && !NEW_TARGET_BUG) return nativeConstruct(Target, args, newTarget);\n if (Target === newTarget) {\n // w/o altered newTarget, optimization for 0-4 arguments\n switch (args.length) {\n case 0: return new Target();\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n apply(push, $args, args);\n return new (apply(bind, Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : ObjectPrototype);\n var result = apply(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar globalThis = require('../internals/global-this');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar create = require('../internals/object-create');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar isRegExp = require('../internals/is-regexp');\nvar toString = require('../internals/to-string');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar proxyAccessor = require('../internals/proxy-accessor');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar fails = require('../internals/fails');\nvar hasOwn = require('../internals/has-own-property');\nvar enforceInternalState = require('../internals/internal-state').enforce;\nvar setSpecies = require('../internals/set-species');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');\nvar UNSUPPORTED_NCG = require('../internals/regexp-unsupported-ncg');\n\nvar MATCH = wellKnownSymbol('match');\nvar NativeRegExp = globalThis.RegExp;\nvar RegExpPrototype = NativeRegExp.prototype;\nvar SyntaxError = globalThis.SyntaxError;\nvar exec = uncurryThis(RegExpPrototype.exec);\nvar charAt = uncurryThis(''.charAt);\nvar replace = uncurryThis(''.replace);\nvar stringIndexOf = uncurryThis(''.indexOf);\nvar stringSlice = uncurryThis(''.slice);\n// TODO: Use only proper RegExpIdentifierName\nvar IS_NCG = /^\\?<[^\\s\\d!#%&*+<=>@^][^\\s!#%&*+<=>@^]*>/;\nvar re1 = /a/g;\nvar re2 = /a/g;\n\n// \"new\" should create a new object, old webkit bug\nvar CORRECT_NEW = new NativeRegExp(re1) !== re1;\n\nvar MISSED_STICKY = stickyHelpers.MISSED_STICKY;\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\n\nvar BASE_FORCED = DESCRIPTORS &&\n (!CORRECT_NEW || MISSED_STICKY || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG || fails(function () {\n re2[MATCH] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n // eslint-disable-next-line sonar/inconsistent-function-call -- required for testing\n return NativeRegExp(re1) !== re1 || NativeRegExp(re2) === re2 || String(NativeRegExp(re1, 'i')) !== '/a/i';\n }));\n\nvar handleDotAll = function (string) {\n var length = string.length;\n var index = 0;\n var result = '';\n var brackets = false;\n var chr;\n for (; index <= length; index++) {\n chr = charAt(string, index);\n if (chr === '\\\\') {\n result += chr + charAt(string, ++index);\n continue;\n }\n if (!brackets && chr === '.') {\n result += '[\\\\s\\\\S]';\n } else {\n if (chr === '[') {\n brackets = true;\n } else if (chr === ']') {\n brackets = false;\n } result += chr;\n }\n } return result;\n};\n\nvar handleNCG = function (string) {\n var length = string.length;\n var index = 0;\n var result = '';\n var named = [];\n var names = create(null);\n var brackets = false;\n var ncg = false;\n var groupid = 0;\n var groupname = '';\n var chr;\n for (; index <= length; index++) {\n chr = charAt(string, index);\n if (chr === '\\\\') {\n chr += charAt(string, ++index);\n } else if (chr === ']') {\n brackets = false;\n } else if (!brackets) switch (true) {\n case chr === '[':\n brackets = true;\n break;\n case chr === '(':\n result += chr;\n // ignore non-capturing groups\n if (stringSlice(string, index + 1, index + 3) === '?:') {\n continue;\n }\n if (exec(IS_NCG, stringSlice(string, index + 1))) {\n index += 2;\n ncg = true;\n }\n groupid++;\n continue;\n case chr === '>' && ncg:\n if (groupname === '' || hasOwn(names, groupname)) {\n throw new SyntaxError('Invalid capture group name');\n }\n names[groupname] = true;\n named[named.length] = [groupname, groupid];\n ncg = false;\n groupname = '';\n continue;\n }\n if (ncg) groupname += chr;\n else result += chr;\n } return [result, named];\n};\n\n// `RegExp` constructor\n// https://tc39.es/ecma262/#sec-regexp-constructor\nif (isForced('RegExp', BASE_FORCED)) {\n var RegExpWrapper = function RegExp(pattern, flags) {\n var thisIsRegExp = isPrototypeOf(RegExpPrototype, this);\n var patternIsRegExp = isRegExp(pattern);\n var flagsAreUndefined = flags === undefined;\n var groups = [];\n var rawPattern = pattern;\n var rawFlags, dotAll, sticky, handled, result, state;\n\n if (!thisIsRegExp && patternIsRegExp && flagsAreUndefined && pattern.constructor === RegExpWrapper) {\n return pattern;\n }\n\n if (patternIsRegExp || isPrototypeOf(RegExpPrototype, pattern)) {\n pattern = pattern.source;\n if (flagsAreUndefined) flags = getRegExpFlags(rawPattern);\n }\n\n pattern = pattern === undefined ? '' : toString(pattern);\n flags = flags === undefined ? '' : toString(flags);\n rawPattern = pattern;\n\n if (UNSUPPORTED_DOT_ALL && 'dotAll' in re1) {\n dotAll = !!flags && stringIndexOf(flags, 's') > -1;\n if (dotAll) flags = replace(flags, /s/g, '');\n }\n\n rawFlags = flags;\n\n if (MISSED_STICKY && 'sticky' in re1) {\n sticky = !!flags && stringIndexOf(flags, 'y') > -1;\n if (sticky && UNSUPPORTED_Y) flags = replace(flags, /y/g, '');\n }\n\n if (UNSUPPORTED_NCG) {\n handled = handleNCG(pattern);\n pattern = handled[0];\n groups = handled[1];\n }\n\n result = inheritIfRequired(NativeRegExp(pattern, flags), thisIsRegExp ? this : RegExpPrototype, RegExpWrapper);\n\n if (dotAll || sticky || groups.length) {\n state = enforceInternalState(result);\n if (dotAll) {\n state.dotAll = true;\n state.raw = RegExpWrapper(handleDotAll(pattern), rawFlags);\n }\n if (sticky) state.sticky = true;\n if (groups.length) state.groups = groups;\n }\n\n if (pattern !== rawPattern) try {\n // fails in old engines, but we have no alternatives for unsupported regex syntax\n createNonEnumerableProperty(result, 'source', rawPattern === '' ? '(?:)' : rawPattern);\n } catch (error) { /* empty */ }\n\n return result;\n };\n\n for (var keys = getOwnPropertyNames(NativeRegExp), index = 0; keys.length > index;) {\n proxyAccessor(RegExpWrapper, NativeRegExp, keys[index++]);\n }\n\n RegExpPrototype.constructor = RegExpWrapper;\n RegExpWrapper.prototype = RegExpPrototype;\n defineBuiltIn(globalThis, 'RegExp', RegExpWrapper, { constructor: true });\n}\n\n// https://tc39.es/ecma262/#sec-get-regexp-@@species\nsetSpecies('RegExp');\n","'use strict';\nvar $ = require('../internals/export');\nvar exec = require('../internals/regexp-exec');\n\n// `RegExp.prototype.exec` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.exec\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n exec: exec\n});\n","'use strict';\nvar PROPER_FUNCTION_NAME = require('../internals/function-name').PROPER;\nvar defineBuiltIn = require('../internals/define-built-in');\nvar anObject = require('../internals/an-object');\nvar $toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) !== '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = PROPER_FUNCTION_NAME && nativeToString.name !== TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n defineBuiltIn(RegExpPrototype, TO_STRING, function toString() {\n var R = anObject(this);\n var pattern = $toString(R.source);\n var flags = $toString(getRegExpFlags(R));\n return '/' + pattern + '/' + flags;\n }, { unsafe: true });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\nvar $RangeError = RangeError;\nvar fromCharCode = String.fromCharCode;\n// eslint-disable-next-line es/no-string-fromcodepoint -- required for testing\nvar $fromCodePoint = String.fromCodePoint;\nvar join = uncurryThis([].join);\n\n// length should be 1, old FF problem\nvar INCORRECT_LENGTH = !!$fromCodePoint && $fromCodePoint.length !== 1;\n\n// `String.fromCodePoint` method\n// https://tc39.es/ecma262/#sec-string.fromcodepoint\n$({ target: 'String', stat: true, arity: 1, forced: INCORRECT_LENGTH }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n fromCodePoint: function fromCodePoint(x) {\n var elements = [];\n var length = arguments.length;\n var i = 0;\n var code;\n while (length > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10FFFF) !== code) throw new $RangeError(code + ' is not a valid code point');\n elements[i] = code < 0x10000\n ? fromCharCode(code)\n : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00);\n } return join(elements, '');\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\nvar stringIndexOf = uncurryThis(''.indexOf);\n\n// `String.prototype.includes` method\n// https://tc39.es/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~stringIndexOf(\n toString(requireObjectCoercible(this)),\n toString(notARegExp(searchString)),\n arguments.length > 1 ? arguments[1] : undefined\n );\n }\n});\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar toString = require('../internals/to-string');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: toString(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return createIterResultObject(undefined, true);\n point = charAt(string, index);\n state.index += point.length;\n return createIterResultObject(point, false);\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar createHTML = require('../internals/create-html');\nvar forcedStringHTMLMethod = require('../internals/string-html-forced');\n\n// `String.prototype.link` method\n// https://tc39.es/ecma262/#sec-string.prototype.link\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('link') }, {\n link: function link(url) {\n return createHTML(this, 'a', 'href', url);\n }\n});\n","'use strict';\nvar call = require('../internals/function-call');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar getMethod = require('../internals/get-method');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@match logic\nfixRegExpWellKnownSymbolLogic('match', function (MATCH, nativeMatch, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.es/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = requireObjectCoercible(this);\n var matcher = isNullOrUndefined(regexp) ? undefined : getMethod(regexp, MATCH);\n return matcher ? call(matcher, regexp, O) : new RegExp(regexp)[MATCH](toString(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@match\n function (string) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(nativeMatch, rx, S);\n\n if (res.done) return res.value;\n\n if (!rx.global) return regExpExec(rx, S);\n\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = toString(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","'use strict';\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar fails = require('../internals/fails');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar getMethod = require('../internals/get-method');\nvar getSubstitution = require('../internals/get-substitution');\nvar regExpExec = require('../internals/regexp-exec-abstract');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar max = Math.max;\nvar min = Math.min;\nvar concat = uncurryThis([].concat);\nvar push = uncurryThis([].push);\nvar stringIndexOf = uncurryThis(''.indexOf);\nvar stringSlice = uncurryThis(''.slice);\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n if (/./[REPLACE]) {\n return /./[REPLACE]('a', '$0') === '';\n }\n return false;\n})();\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n // eslint-disable-next-line regexp/no-useless-dollar-replacements -- false positive\n return ''.replace(re, '$') !== '7';\n});\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNative) {\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.es/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = isNullOrUndefined(searchValue) ? undefined : getMethod(searchValue, REPLACE);\n return replacer\n ? call(replacer, searchValue, O, replaceValue)\n : call(nativeReplace, toString(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace\n function (string, replaceValue) {\n var rx = anObject(this);\n var S = toString(string);\n\n if (\n typeof replaceValue == 'string' &&\n stringIndexOf(replaceValue, UNSAFE_SUBSTITUTE) === -1 &&\n stringIndexOf(replaceValue, '$<') === -1\n ) {\n var res = maybeCallNative(nativeReplace, rx, S, replaceValue);\n if (res.done) return res.value;\n }\n\n var functionalReplace = isCallable(replaceValue);\n if (!functionalReplace) replaceValue = toString(replaceValue);\n\n var global = rx.global;\n var fullUnicode;\n if (global) {\n fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n\n var results = [];\n var result;\n while (true) {\n result = regExpExec(rx, S);\n if (result === null) break;\n\n push(results, result);\n if (!global) break;\n\n var matchStr = toString(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = toString(result[0]);\n var position = max(min(toIntegerOrInfinity(result.index), S.length), 0);\n var captures = [];\n var replacement;\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) push(captures, maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = concat([matched], captures, position, S);\n if (namedCaptures !== undefined) push(replacerArgs, namedCaptures);\n replacement = toString(apply(replaceValue, undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += stringSlice(S, nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n\n return accumulatedResult + stringSlice(S, nextSourcePosition);\n }\n ];\n}, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE);\n","'use strict';\nvar call = require('../internals/function-call');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar sameValue = require('../internals/same-value');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@search logic\nfixRegExpWellKnownSymbolLogic('search', function (SEARCH, nativeSearch, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.es/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = requireObjectCoercible(this);\n var searcher = isNullOrUndefined(regexp) ? undefined : getMethod(regexp, SEARCH);\n return searcher ? call(searcher, regexp, O) : new RegExp(regexp)[SEARCH](toString(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@search\n function (string) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(nativeSearch, rx, S);\n\n if (res.done) return res.value;\n\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","'use strict';\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar speciesConstructor = require('../internals/species-constructor');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar regExpExec = require('../internals/regexp-exec-abstract');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar fails = require('../internals/fails');\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\nvar MAX_UINT32 = 0xFFFFFFFF;\nvar min = Math.min;\nvar push = uncurryThis([].push);\nvar stringSlice = uncurryThis(''.slice);\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n // eslint-disable-next-line regexp/no-empty-group -- required for testing\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';\n});\n\nvar BUGGY = 'abbc'.split(/(b)*/)[1] === 'c' ||\n // eslint-disable-next-line regexp/no-empty-group -- required for testing\n 'test'.split(/(?:)/, -1).length !== 4 ||\n 'ab'.split(/(?:ab)*/).length !== 2 ||\n '.'.split(/(.?)(.?)/).length !== 4 ||\n // eslint-disable-next-line regexp/no-empty-capturing-group, regexp/no-empty-group -- required for testing\n '.'.split(/()()/).length > 1 ||\n ''.split(/.?/).length;\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', function (SPLIT, nativeSplit, maybeCallNative) {\n var internalSplit = '0'.split(undefined, 0).length ? function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : call(nativeSplit, this, separator, limit);\n } : nativeSplit;\n\n return [\n // `String.prototype.split` method\n // https://tc39.es/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = requireObjectCoercible(this);\n var splitter = isNullOrUndefined(separator) ? undefined : getMethod(separator, SPLIT);\n return splitter\n ? call(splitter, separator, O, limit)\n : call(internalSplit, toString(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (string, limit) {\n var rx = anObject(this);\n var S = toString(string);\n\n if (!BUGGY) {\n var res = maybeCallNative(internalSplit, rx, S, limit, internalSplit !== nativeSplit);\n if (res.done) return res.value;\n }\n\n var C = speciesConstructor(rx, RegExp);\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (UNSUPPORTED_Y ? 'g' : 'y');\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(UNSUPPORTED_Y ? '^(?:' + rx.source + ')' : rx, flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return regExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = UNSUPPORTED_Y ? 0 : q;\n var z = regExpExec(splitter, UNSUPPORTED_Y ? stringSlice(S, q) : S);\n var e;\n if (\n z === null ||\n (e = min(toLength(splitter.lastIndex + (UNSUPPORTED_Y ? q : 0)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n push(A, stringSlice(S, p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n push(A, z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n push(A, stringSlice(S, p));\n return A;\n }\n ];\n}, BUGGY || !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC, UNSUPPORTED_Y);\n","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.es/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar globalThis = require('../internals/global-this');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar fails = require('../internals/fails');\nvar hasOwn = require('../internals/has-own-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar $toString = require('../internals/to-string');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\nvar defineSymbolToPrimitive = require('../internals/symbol-define-to-primitive');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\n\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\n\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = globalThis.Symbol;\nvar SymbolPrototype = $Symbol && $Symbol[PROTOTYPE];\nvar RangeError = globalThis.RangeError;\nvar TypeError = globalThis.TypeError;\nvar QObject = globalThis.QObject;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar push = uncurryThis([].push);\n\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar WellKnownSymbolsStore = shared('wks');\n\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar fallbackDefineProperty = function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n};\n\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a !== 7;\n}) ? fallbackDefineProperty : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate(SymbolPrototype);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPropertyKey(P);\n anObject(Attributes);\n if (hasOwn(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!hasOwn(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, nativeObjectCreate(null)));\n O[HIDDEN][key] = true;\n } else {\n if (hasOwn(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || call($propertyIsEnumerable, properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPropertyKey(V);\n var enumerable = call(nativePropertyIsEnumerable, this, P);\n if (this === ObjectPrototype && hasOwn(AllSymbols, P) && !hasOwn(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !hasOwn(this, P) || !hasOwn(AllSymbols, P) || hasOwn(this, HIDDEN) && this[HIDDEN][P]\n ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPropertyKey(P);\n if (it === ObjectPrototype && hasOwn(AllSymbols, key) && !hasOwn(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && hasOwn(AllSymbols, key) && !(hasOwn(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!hasOwn(AllSymbols, key) && !hasOwn(hiddenKeys, key)) push(result, key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function (O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (hasOwn(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || hasOwn(ObjectPrototype, key))) {\n push(result, AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.es/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (isPrototypeOf(SymbolPrototype, this)) throw new TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n var $this = this === undefined ? globalThis : this;\n if ($this === ObjectPrototype) call(setter, ObjectPrototypeSymbols, value);\n if (hasOwn($this, HIDDEN) && hasOwn($this[HIDDEN], tag)) $this[HIDDEN][tag] = false;\n var descriptor = createPropertyDescriptor(1, value);\n try {\n setSymbolDescriptor($this, tag, descriptor);\n } catch (error) {\n if (!(error instanceof RangeError)) throw error;\n fallbackDefineProperty($this, tag, descriptor);\n }\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n SymbolPrototype = $Symbol[PROTOTYPE];\n\n defineBuiltIn(SymbolPrototype, 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n defineBuiltIn($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n definePropertiesModule.f = $defineProperties;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n defineBuiltInAccessor(SymbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n defineBuiltIn(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, constructor: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.es/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.es/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.es/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.es/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames\n});\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\ndefineSymbolToPrimitive();\n\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar hasOwn = require('../internals/has-own-property');\nvar toString = require('../internals/to-string');\nvar shared = require('../internals/shared');\nvar NATIVE_SYMBOL_REGISTRY = require('../internals/symbol-registry-detection');\n\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\n\n// `Symbol.for` method\n// https://tc39.es/ecma262/#sec-symbol.for\n$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, {\n 'for': function (key) {\n var string = toString(key);\n if (hasOwn(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = getBuiltIn('Symbol')(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n }\n});\n","'use strict';\n// TODO: Remove this module from `core-js@4` since it's split to modules listed below\nrequire('../modules/es.symbol.constructor');\nrequire('../modules/es.symbol.for');\nrequire('../modules/es.symbol.key-for');\nrequire('../modules/es.json.stringify');\nrequire('../modules/es.object.get-own-property-symbols');\n","'use strict';\nvar $ = require('../internals/export');\nvar hasOwn = require('../internals/has-own-property');\nvar isSymbol = require('../internals/is-symbol');\nvar tryToString = require('../internals/try-to-string');\nvar shared = require('../internals/shared');\nvar NATIVE_SYMBOL_REGISTRY = require('../internals/symbol-registry-detection');\n\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\n\n// `Symbol.keyFor` method\n// https://tc39.es/ecma262/#sec-symbol.keyfor\n$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, {\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw new TypeError(tryToString(sym) + ' is not a symbol');\n if (hasOwn(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n }\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $ArrayCopyWithin = require('../internals/array-copy-within');\n\nvar u$ArrayCopyWithin = uncurryThis($ArrayCopyWithin);\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.copyWithin` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.copywithin\nexportTypedArrayMethod('copyWithin', function copyWithin(target, start /* , end */) {\n return u$ArrayCopyWithin(aTypedArray(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $every = require('../internals/array-iteration').every;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.every` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.every\nexportTypedArrayMethod('every', function every(callbackfn /* , thisArg */) {\n return $every(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $fill = require('../internals/array-fill');\nvar toBigInt = require('../internals/to-big-int');\nvar classof = require('../internals/classof');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar slice = uncurryThis(''.slice);\n\n// V8 ~ Chrome < 59, Safari < 14.1, FF < 55, Edge <=18\nvar CONVERSION_BUG = fails(function () {\n var count = 0;\n // eslint-disable-next-line es/no-typed-arrays -- safe\n new Int8Array(2).fill({ valueOf: function () { return count++; } });\n return count !== 1;\n});\n\n// `%TypedArray%.prototype.fill` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.fill\nexportTypedArrayMethod('fill', function fill(value /* , start, end */) {\n var length = arguments.length;\n aTypedArray(this);\n var actualValue = slice(classof(this), 0, 3) === 'Big' ? toBigInt(value) : +value;\n return call($fill, this, actualValue, length > 1 ? arguments[1] : undefined, length > 2 ? arguments[2] : undefined);\n}, CONVERSION_BUG);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $filter = require('../internals/array-iteration').filter;\nvar fromSpeciesAndList = require('../internals/typed-array-from-species-and-list');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.filter` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.filter\nexportTypedArrayMethod('filter', function filter(callbackfn /* , thisArg */) {\n var list = $filter(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n return fromSpeciesAndList(this, list);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $findIndex = require('../internals/array-iteration').findIndex;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.findIndex` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findindex\nexportTypedArrayMethod('findIndex', function findIndex(predicate /* , thisArg */) {\n return $findIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $find = require('../internals/array-iteration').find;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.find` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.find\nexportTypedArrayMethod('find', function find(predicate /* , thisArg */) {\n return $find(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.forEach` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.foreach\nexportTypedArrayMethod('forEach', function forEach(callbackfn /* , thisArg */) {\n $forEach(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $includes = require('../internals/array-includes').includes;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.includes` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.includes\nexportTypedArrayMethod('includes', function includes(searchElement /* , fromIndex */) {\n return $includes(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $indexOf = require('../internals/array-includes').indexOf;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.indexOf` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.indexof\nexportTypedArrayMethod('indexOf', function indexOf(searchElement /* , fromIndex */) {\n return $indexOf(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar fails = require('../internals/fails');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayIterators = require('../modules/es.array.iterator');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar Uint8Array = globalThis.Uint8Array;\nvar arrayValues = uncurryThis(ArrayIterators.values);\nvar arrayKeys = uncurryThis(ArrayIterators.keys);\nvar arrayEntries = uncurryThis(ArrayIterators.entries);\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar TypedArrayPrototype = Uint8Array && Uint8Array.prototype;\n\nvar GENERIC = !fails(function () {\n TypedArrayPrototype[ITERATOR].call([1]);\n});\n\nvar ITERATOR_IS_VALUES = !!TypedArrayPrototype\n && TypedArrayPrototype.values\n && TypedArrayPrototype[ITERATOR] === TypedArrayPrototype.values\n && TypedArrayPrototype.values.name === 'values';\n\nvar typedArrayValues = function values() {\n return arrayValues(aTypedArray(this));\n};\n\n// `%TypedArray%.prototype.entries` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.entries\nexportTypedArrayMethod('entries', function entries() {\n return arrayEntries(aTypedArray(this));\n}, GENERIC);\n// `%TypedArray%.prototype.keys` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.keys\nexportTypedArrayMethod('keys', function keys() {\n return arrayKeys(aTypedArray(this));\n}, GENERIC);\n// `%TypedArray%.prototype.values` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.values\nexportTypedArrayMethod('values', typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' });\n// `%TypedArray%.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype-@@iterator\nexportTypedArrayMethod(ITERATOR, typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' });\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $join = uncurryThis([].join);\n\n// `%TypedArray%.prototype.join` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.join\nexportTypedArrayMethod('join', function join(separator) {\n return $join(aTypedArray(this), separator);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar apply = require('../internals/function-apply');\nvar $lastIndexOf = require('../internals/array-last-index-of');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.lastIndexOf` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.lastindexof\nexportTypedArrayMethod('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) {\n var length = arguments.length;\n return apply($lastIndexOf, aTypedArray(this), length > 1 ? [searchElement, arguments[1]] : [searchElement]);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $map = require('../internals/array-iteration').map;\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.map` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.map\nexportTypedArrayMethod('map', function map(mapfn /* , thisArg */) {\n return $map(aTypedArray(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) {\n return new (typedArraySpeciesConstructor(O))(length);\n });\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $reduceRight = require('../internals/array-reduce').right;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.reduceRight` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduceright\nexportTypedArrayMethod('reduceRight', function reduceRight(callbackfn /* , initialValue */) {\n var length = arguments.length;\n return $reduceRight(aTypedArray(this), callbackfn, length, length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $reduce = require('../internals/array-reduce').left;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.reduce` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduce\nexportTypedArrayMethod('reduce', function reduce(callbackfn /* , initialValue */) {\n var length = arguments.length;\n return $reduce(aTypedArray(this), callbackfn, length, length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar floor = Math.floor;\n\n// `%TypedArray%.prototype.reverse` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reverse\nexportTypedArrayMethod('reverse', function reverse() {\n var that = this;\n var length = aTypedArray(that).length;\n var middle = floor(length / 2);\n var index = 0;\n var value;\n while (index < middle) {\n value = that[index];\n that[index++] = that[--length];\n that[length] = value;\n } return that;\n});\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar call = require('../internals/function-call');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toOffset = require('../internals/to-offset');\nvar toIndexedObject = require('../internals/to-object');\nvar fails = require('../internals/fails');\n\nvar RangeError = globalThis.RangeError;\nvar Int8Array = globalThis.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar $set = Int8ArrayPrototype && Int8ArrayPrototype.set;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS = !fails(function () {\n // eslint-disable-next-line es/no-typed-arrays -- required for testing\n var array = new Uint8ClampedArray(2);\n call($set, array, { length: 1, 0: 3 }, 1);\n return array[1] !== 3;\n});\n\n// https://bugs.chromium.org/p/v8/issues/detail?id=11294 and other\nvar TO_OBJECT_BUG = WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS && ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS && fails(function () {\n var array = new Int8Array(2);\n array.set(1);\n array.set('2', 1);\n return array[0] !== 0 || array[1] !== 2;\n});\n\n// `%TypedArray%.prototype.set` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set\nexportTypedArrayMethod('set', function set(arrayLike /* , offset */) {\n aTypedArray(this);\n var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1);\n var src = toIndexedObject(arrayLike);\n if (WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS) return call($set, this, src, offset);\n var length = this.length;\n var len = lengthOfArrayLike(src);\n var index = 0;\n if (len + offset > length) throw new RangeError('Wrong length');\n while (index < len) this[offset + index] = src[index++];\n}, !WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS || TO_OBJECT_BUG);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\nvar fails = require('../internals/fails');\nvar arraySlice = require('../internals/array-slice');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar FORCED = fails(function () {\n // eslint-disable-next-line es/no-typed-arrays -- required for testing\n new Int8Array(1).slice();\n});\n\n// `%TypedArray%.prototype.slice` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.slice\nexportTypedArrayMethod('slice', function slice(start, end) {\n var list = arraySlice(aTypedArray(this), start, end);\n var C = typedArraySpeciesConstructor(this);\n var index = 0;\n var length = list.length;\n var result = new C(length);\n while (length > index) result[index] = list[index++];\n return result;\n}, FORCED);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $some = require('../internals/array-iteration').some;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.some` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.some\nexportTypedArrayMethod('some', function some(callbackfn /* , thisArg */) {\n return $some(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar fails = require('../internals/fails');\nvar aCallable = require('../internals/a-callable');\nvar internalSort = require('../internals/array-sort');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar FF = require('../internals/environment-ff-version');\nvar IE_OR_EDGE = require('../internals/environment-is-ie-or-edge');\nvar V8 = require('../internals/environment-v8-version');\nvar WEBKIT = require('../internals/environment-webkit-version');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar Uint16Array = globalThis.Uint16Array;\nvar nativeSort = Uint16Array && uncurryThis(Uint16Array.prototype.sort);\n\n// WebKit\nvar ACCEPT_INCORRECT_ARGUMENTS = !!nativeSort && !(fails(function () {\n nativeSort(new Uint16Array(2), null);\n}) && fails(function () {\n nativeSort(new Uint16Array(2), {});\n}));\n\nvar STABLE_SORT = !!nativeSort && !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 74;\n if (FF) return FF < 67;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 602;\n\n var array = new Uint16Array(516);\n var expected = Array(516);\n var index, mod;\n\n for (index = 0; index < 516; index++) {\n mod = index % 4;\n array[index] = 515 - index;\n expected[index] = index - 2 * mod + 3;\n }\n\n nativeSort(array, function (a, b) {\n return (a / 4 | 0) - (b / 4 | 0);\n });\n\n for (index = 0; index < 516; index++) {\n if (array[index] !== expected[index]) return true;\n }\n});\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n // eslint-disable-next-line no-self-compare -- NaN check\n if (y !== y) return -1;\n // eslint-disable-next-line no-self-compare -- NaN check\n if (x !== x) return 1;\n if (x === 0 && y === 0) return 1 / x > 0 && 1 / y < 0 ? 1 : -1;\n return x > y;\n };\n};\n\n// `%TypedArray%.prototype.sort` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.sort\nexportTypedArrayMethod('sort', function sort(comparefn) {\n if (comparefn !== undefined) aCallable(comparefn);\n if (STABLE_SORT) return nativeSort(this, comparefn);\n\n return internalSort(aTypedArray(this), getSortCompare(comparefn));\n}, !STABLE_SORT || ACCEPT_INCORRECT_ARGUMENTS);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.subarray` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.subarray\nexportTypedArrayMethod('subarray', function subarray(begin, end) {\n var O = aTypedArray(this);\n var length = O.length;\n var beginIndex = toAbsoluteIndex(begin, length);\n var C = typedArraySpeciesConstructor(O);\n return new C(\n O.buffer,\n O.byteOffset + beginIndex * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - beginIndex)\n );\n});\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar apply = require('../internals/function-apply');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar fails = require('../internals/fails');\nvar arraySlice = require('../internals/array-slice');\n\nvar Int8Array = globalThis.Int8Array;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $toLocaleString = [].toLocaleString;\n\n// iOS Safari 6.x fails here\nvar TO_LOCALE_STRING_BUG = !!Int8Array && fails(function () {\n $toLocaleString.call(new Int8Array(1));\n});\n\nvar FORCED = fails(function () {\n return [1, 2].toLocaleString() !== new Int8Array([1, 2]).toLocaleString();\n}) || !fails(function () {\n Int8Array.prototype.toLocaleString.call([1, 2]);\n});\n\n// `%TypedArray%.prototype.toLocaleString` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tolocalestring\nexportTypedArrayMethod('toLocaleString', function toLocaleString() {\n return apply(\n $toLocaleString,\n TO_LOCALE_STRING_BUG ? arraySlice(aTypedArray(this)) : aTypedArray(this),\n arraySlice(arguments)\n );\n}, FORCED);\n","'use strict';\nvar exportTypedArrayMethod = require('../internals/array-buffer-view-core').exportTypedArrayMethod;\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar Uint8Array = globalThis.Uint8Array;\nvar Uint8ArrayPrototype = Uint8Array && Uint8Array.prototype || {};\nvar arrayToString = [].toString;\nvar join = uncurryThis([].join);\n\nif (fails(function () { arrayToString.call({}); })) {\n arrayToString = function toString() {\n return join(this);\n };\n}\n\nvar IS_NOT_ARRAY_METHOD = Uint8ArrayPrototype.toString !== arrayToString;\n\n// `%TypedArray%.prototype.toString` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tostring\nexportTypedArrayMethod('toString', arrayToString, IS_NOT_ARRAY_METHOD);\n","'use strict';\nvar createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Uint8Array` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Uint8', function (init) {\n return function Uint8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","'use strict';\n// TODO: Remove from `core-js@4`\nrequire('../modules/es.global-this');\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar handlePrototype = function (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n if (DOMIterables[COLLECTION_NAME]) {\n handlePrototype(globalThis[COLLECTION_NAME] && globalThis[COLLECTION_NAME].prototype);\n }\n}\n\nhandlePrototype(DOMTokenListPrototype);\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nvar handlePrototype = function (CollectionPrototype, COLLECTION_NAME) {\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n setToStringTag(CollectionPrototype, COLLECTION_NAME, true);\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n handlePrototype(globalThis[COLLECTION_NAME] && globalThis[COLLECTION_NAME].prototype, COLLECTION_NAME);\n}\n\nhandlePrototype(DOMTokenListPrototype, 'DOMTokenList');\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.array.iterator');\nrequire('../modules/es.string.from-code-point');\nvar $ = require('../internals/export');\nvar globalThis = require('../internals/global-this');\nvar safeGetBuiltIn = require('../internals/safe-get-built-in');\nvar getBuiltIn = require('../internals/get-built-in');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/url-constructor-detection');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createIteratorConstructor = require('../internals/iterator-create-constructor');\nvar InternalStateModule = require('../internals/internal-state');\nvar anInstance = require('../internals/an-instance');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar bind = require('../internals/function-bind-context');\nvar classof = require('../internals/classof');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar $toString = require('../internals/to-string');\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arraySort = require('../internals/array-sort');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\n\nvar nativeFetch = safeGetBuiltIn('fetch');\nvar NativeRequest = safeGetBuiltIn('Request');\nvar Headers = safeGetBuiltIn('Headers');\nvar RequestPrototype = NativeRequest && NativeRequest.prototype;\nvar HeadersPrototype = Headers && Headers.prototype;\nvar TypeError = globalThis.TypeError;\nvar encodeURIComponent = globalThis.encodeURIComponent;\nvar fromCharCode = String.fromCharCode;\nvar fromCodePoint = getBuiltIn('String', 'fromCodePoint');\nvar $parseInt = parseInt;\nvar charAt = uncurryThis(''.charAt);\nvar join = uncurryThis([].join);\nvar push = uncurryThis([].push);\nvar replace = uncurryThis(''.replace);\nvar shift = uncurryThis([].shift);\nvar splice = uncurryThis([].splice);\nvar split = uncurryThis(''.split);\nvar stringSlice = uncurryThis(''.slice);\nvar exec = uncurryThis(/./.exec);\n\nvar plus = /\\+/g;\nvar FALLBACK_REPLACER = '\\uFFFD';\nvar VALID_HEX = /^[0-9a-f]+$/i;\n\nvar parseHexOctet = function (string, start) {\n var substr = stringSlice(string, start, start + 2);\n if (!exec(VALID_HEX, substr)) return NaN;\n\n return $parseInt(substr, 16);\n};\n\nvar getLeadingOnes = function (octet) {\n var count = 0;\n for (var mask = 0x80; mask > 0 && (octet & mask) !== 0; mask >>= 1) {\n count++;\n }\n return count;\n};\n\nvar utf8Decode = function (octets) {\n var codePoint = null;\n\n switch (octets.length) {\n case 1:\n codePoint = octets[0];\n break;\n case 2:\n codePoint = (octets[0] & 0x1F) << 6 | (octets[1] & 0x3F);\n break;\n case 3:\n codePoint = (octets[0] & 0x0F) << 12 | (octets[1] & 0x3F) << 6 | (octets[2] & 0x3F);\n break;\n case 4:\n codePoint = (octets[0] & 0x07) << 18 | (octets[1] & 0x3F) << 12 | (octets[2] & 0x3F) << 6 | (octets[3] & 0x3F);\n break;\n }\n\n return codePoint > 0x10FFFF ? null : codePoint;\n};\n\nvar decode = function (input) {\n input = replace(input, plus, ' ');\n var length = input.length;\n var result = '';\n var i = 0;\n\n while (i < length) {\n var decodedChar = charAt(input, i);\n\n if (decodedChar === '%') {\n if (charAt(input, i + 1) === '%' || i + 3 > length) {\n result += '%';\n i++;\n continue;\n }\n\n var octet = parseHexOctet(input, i + 1);\n\n // eslint-disable-next-line no-self-compare -- NaN check\n if (octet !== octet) {\n result += decodedChar;\n i++;\n continue;\n }\n\n i += 2;\n var byteSequenceLength = getLeadingOnes(octet);\n\n if (byteSequenceLength === 0) {\n decodedChar = fromCharCode(octet);\n } else {\n if (byteSequenceLength === 1 || byteSequenceLength > 4) {\n result += FALLBACK_REPLACER;\n i++;\n continue;\n }\n\n var octets = [octet];\n var sequenceIndex = 1;\n\n while (sequenceIndex < byteSequenceLength) {\n i++;\n if (i + 3 > length || charAt(input, i) !== '%') break;\n\n var nextByte = parseHexOctet(input, i + 1);\n\n // eslint-disable-next-line no-self-compare -- NaN check\n if (nextByte !== nextByte) {\n i += 3;\n break;\n }\n if (nextByte > 191 || nextByte < 128) break;\n\n push(octets, nextByte);\n i += 2;\n sequenceIndex++;\n }\n\n if (octets.length !== byteSequenceLength) {\n result += FALLBACK_REPLACER;\n continue;\n }\n\n var codePoint = utf8Decode(octets);\n if (codePoint === null) {\n result += FALLBACK_REPLACER;\n } else {\n decodedChar = fromCodePoint(codePoint);\n }\n }\n }\n\n result += decodedChar;\n i++;\n }\n\n return result;\n};\n\nvar find = /[!'()~]|%20/g;\n\nvar replacements = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+'\n};\n\nvar replacer = function (match) {\n return replacements[match];\n};\n\nvar serialize = function (it) {\n return replace(encodeURIComponent(it), find, replacer);\n};\n\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n setInternalState(this, {\n type: URL_SEARCH_PARAMS_ITERATOR,\n target: getInternalParamsState(params).entries,\n index: 0,\n kind: kind\n });\n}, URL_SEARCH_PARAMS, function next() {\n var state = getInternalIteratorState(this);\n var target = state.target;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = null;\n return createIterResultObject(undefined, true);\n }\n var entry = target[index];\n switch (state.kind) {\n case 'keys': return createIterResultObject(entry.key, false);\n case 'values': return createIterResultObject(entry.value, false);\n } return createIterResultObject([entry.key, entry.value], false);\n}, true);\n\nvar URLSearchParamsState = function (init) {\n this.entries = [];\n this.url = null;\n\n if (init !== undefined) {\n if (isObject(init)) this.parseObject(init);\n else this.parseQuery(typeof init == 'string' ? charAt(init, 0) === '?' ? stringSlice(init, 1) : init : $toString(init));\n }\n};\n\nURLSearchParamsState.prototype = {\n type: URL_SEARCH_PARAMS,\n bindURL: function (url) {\n this.url = url;\n this.update();\n },\n parseObject: function (object) {\n var entries = this.entries;\n var iteratorMethod = getIteratorMethod(object);\n var iterator, next, step, entryIterator, entryNext, first, second;\n\n if (iteratorMethod) {\n iterator = getIterator(object, iteratorMethod);\n next = iterator.next;\n while (!(step = call(next, iterator)).done) {\n entryIterator = getIterator(anObject(step.value));\n entryNext = entryIterator.next;\n if (\n (first = call(entryNext, entryIterator)).done ||\n (second = call(entryNext, entryIterator)).done ||\n !call(entryNext, entryIterator).done\n ) throw new TypeError('Expected sequence with length 2');\n push(entries, { key: $toString(first.value), value: $toString(second.value) });\n }\n } else for (var key in object) if (hasOwn(object, key)) {\n push(entries, { key: key, value: $toString(object[key]) });\n }\n },\n parseQuery: function (query) {\n if (query) {\n var entries = this.entries;\n var attributes = split(query, '&');\n var index = 0;\n var attribute, entry;\n while (index < attributes.length) {\n attribute = attributes[index++];\n if (attribute.length) {\n entry = split(attribute, '=');\n push(entries, {\n key: decode(shift(entry)),\n value: decode(join(entry, '='))\n });\n }\n }\n }\n },\n serialize: function () {\n var entries = this.entries;\n var result = [];\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n push(result, serialize(entry.key) + '=' + serialize(entry.value));\n } return join(result, '&');\n },\n update: function () {\n this.entries.length = 0;\n this.parseQuery(this.url.query);\n },\n updateURL: function () {\n if (this.url) this.url.update();\n }\n};\n\n// `URLSearchParams` constructor\n// https://url.spec.whatwg.org/#interface-urlsearchparams\nvar URLSearchParamsConstructor = function URLSearchParams(/* init */) {\n anInstance(this, URLSearchParamsPrototype);\n var init = arguments.length > 0 ? arguments[0] : undefined;\n var state = setInternalState(this, new URLSearchParamsState(init));\n if (!DESCRIPTORS) this.size = state.entries.length;\n};\n\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\n\ndefineBuiltIns(URLSearchParamsPrototype, {\n // `URLSearchParams.prototype.append` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-append\n append: function append(name, value) {\n var state = getInternalParamsState(this);\n validateArgumentsLength(arguments.length, 2);\n push(state.entries, { key: $toString(name), value: $toString(value) });\n if (!DESCRIPTORS) this.length++;\n state.updateURL();\n },\n // `URLSearchParams.prototype.delete` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-delete\n 'delete': function (name /* , value */) {\n var state = getInternalParamsState(this);\n var length = validateArgumentsLength(arguments.length, 1);\n var entries = state.entries;\n var key = $toString(name);\n var $value = length < 2 ? undefined : arguments[1];\n var value = $value === undefined ? $value : $toString($value);\n var index = 0;\n while (index < entries.length) {\n var entry = entries[index];\n if (entry.key === key && (value === undefined || entry.value === value)) {\n splice(entries, index, 1);\n if (value !== undefined) break;\n } else index++;\n }\n if (!DESCRIPTORS) this.size = entries.length;\n state.updateURL();\n },\n // `URLSearchParams.prototype.get` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-get\n get: function get(name) {\n var entries = getInternalParamsState(this).entries;\n validateArgumentsLength(arguments.length, 1);\n var key = $toString(name);\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) return entries[index].value;\n }\n return null;\n },\n // `URLSearchParams.prototype.getAll` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-getall\n getAll: function getAll(name) {\n var entries = getInternalParamsState(this).entries;\n validateArgumentsLength(arguments.length, 1);\n var key = $toString(name);\n var result = [];\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) push(result, entries[index].value);\n }\n return result;\n },\n // `URLSearchParams.prototype.has` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-has\n has: function has(name /* , value */) {\n var entries = getInternalParamsState(this).entries;\n var length = validateArgumentsLength(arguments.length, 1);\n var key = $toString(name);\n var $value = length < 2 ? undefined : arguments[1];\n var value = $value === undefined ? $value : $toString($value);\n var index = 0;\n while (index < entries.length) {\n var entry = entries[index++];\n if (entry.key === key && (value === undefined || entry.value === value)) return true;\n }\n return false;\n },\n // `URLSearchParams.prototype.set` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-set\n set: function set(name, value) {\n var state = getInternalParamsState(this);\n validateArgumentsLength(arguments.length, 1);\n var entries = state.entries;\n var found = false;\n var key = $toString(name);\n var val = $toString(value);\n var index = 0;\n var entry;\n for (; index < entries.length; index++) {\n entry = entries[index];\n if (entry.key === key) {\n if (found) splice(entries, index--, 1);\n else {\n found = true;\n entry.value = val;\n }\n }\n }\n if (!found) push(entries, { key: key, value: val });\n if (!DESCRIPTORS) this.size = entries.length;\n state.updateURL();\n },\n // `URLSearchParams.prototype.sort` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-sort\n sort: function sort() {\n var state = getInternalParamsState(this);\n arraySort(state.entries, function (a, b) {\n return a.key > b.key ? 1 : -1;\n });\n state.updateURL();\n },\n // `URLSearchParams.prototype.forEach` method\n forEach: function forEach(callback /* , thisArg */) {\n var entries = getInternalParamsState(this).entries;\n var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined);\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n boundFunction(entry.value, entry.key, this);\n }\n },\n // `URLSearchParams.prototype.keys` method\n keys: function keys() {\n return new URLSearchParamsIterator(this, 'keys');\n },\n // `URLSearchParams.prototype.values` method\n values: function values() {\n return new URLSearchParamsIterator(this, 'values');\n },\n // `URLSearchParams.prototype.entries` method\n entries: function entries() {\n return new URLSearchParamsIterator(this, 'entries');\n }\n}, { enumerable: true });\n\n// `URLSearchParams.prototype[@@iterator]` method\ndefineBuiltIn(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries, { name: 'entries' });\n\n// `URLSearchParams.prototype.toString` method\n// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior\ndefineBuiltIn(URLSearchParamsPrototype, 'toString', function toString() {\n return getInternalParamsState(this).serialize();\n}, { enumerable: true });\n\n// `URLSearchParams.prototype.size` getter\n// https://github.com/whatwg/url/pull/734\nif (DESCRIPTORS) defineBuiltInAccessor(URLSearchParamsPrototype, 'size', {\n get: function size() {\n return getInternalParamsState(this).entries.length;\n },\n configurable: true,\n enumerable: true\n});\n\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n\n$({ global: true, constructor: true, forced: !USE_NATIVE_URL }, {\n URLSearchParams: URLSearchParamsConstructor\n});\n\n// Wrap `fetch` and `Request` for correct work with polyfilled `URLSearchParams`\nif (!USE_NATIVE_URL && isCallable(Headers)) {\n var headersHas = uncurryThis(HeadersPrototype.has);\n var headersSet = uncurryThis(HeadersPrototype.set);\n\n var wrapRequestOptions = function (init) {\n if (isObject(init)) {\n var body = init.body;\n var headers;\n if (classof(body) === URL_SEARCH_PARAMS) {\n headers = init.headers ? new Headers(init.headers) : new Headers();\n if (!headersHas(headers, 'content-type')) {\n headersSet(headers, 'content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n return create(init, {\n body: createPropertyDescriptor(0, $toString(body)),\n headers: createPropertyDescriptor(0, headers)\n });\n }\n } return init;\n };\n\n if (isCallable(nativeFetch)) {\n $({ global: true, enumerable: true, dontCallGetSet: true, forced: true }, {\n fetch: function fetch(input /* , init */) {\n return nativeFetch(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {});\n }\n });\n }\n\n if (isCallable(NativeRequest)) {\n var RequestConstructor = function Request(input /* , init */) {\n anInstance(this, RequestPrototype);\n return new NativeRequest(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {});\n };\n\n RequestPrototype.constructor = RequestConstructor;\n RequestConstructor.prototype = RequestPrototype;\n\n $({ global: true, constructor: true, dontCallGetSet: true, forced: true }, {\n Request: RequestConstructor\n });\n }\n}\n\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\n","'use strict';\n// TODO: Remove this module from `core-js@4` since it's replaced to module below\nrequire('../modules/web.url-search-params.constructor');\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.string.iterator');\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/url-constructor-detection');\nvar globalThis = require('../internals/global-this');\nvar bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar anInstance = require('../internals/an-instance');\nvar hasOwn = require('../internals/has-own-property');\nvar assign = require('../internals/object-assign');\nvar arrayFrom = require('../internals/array-from');\nvar arraySlice = require('../internals/array-slice');\nvar codeAt = require('../internals/string-multibyte').codeAt;\nvar toASCII = require('../internals/string-punycode-to-ascii');\nvar $toString = require('../internals/to-string');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar URLSearchParamsModule = require('../modules/web.url-search-params.constructor');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\n\nvar NativeURL = globalThis.URL;\nvar TypeError = globalThis.TypeError;\nvar parseInt = globalThis.parseInt;\nvar floor = Math.floor;\nvar pow = Math.pow;\nvar charAt = uncurryThis(''.charAt);\nvar exec = uncurryThis(/./.exec);\nvar join = uncurryThis([].join);\nvar numberToString = uncurryThis(1.0.toString);\nvar pop = uncurryThis([].pop);\nvar push = uncurryThis([].push);\nvar replace = uncurryThis(''.replace);\nvar shift = uncurryThis([].shift);\nvar split = uncurryThis(''.split);\nvar stringSlice = uncurryThis(''.slice);\nvar toLowerCase = uncurryThis(''.toLowerCase);\nvar unshift = uncurryThis([].unshift);\n\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\n\nvar ALPHA = /[a-z]/i;\n// eslint-disable-next-line regexp/no-obscure-range -- safe\nvar ALPHANUMERIC = /[\\d+-.a-z]/i;\nvar DIGIT = /\\d/;\nvar HEX_START = /^0x/i;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\da-f]+$/i;\n/* eslint-disable regexp/no-control-character -- safe */\nvar FORBIDDEN_HOST_CODE_POINT = /[\\0\\t\\n\\r #%/:<>?@[\\\\\\]^|]/;\nvar FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\0\\t\\n\\r #/:<>?@[\\\\\\]^|]/;\nvar LEADING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u0020]+/;\nvar TRAILING_C0_CONTROL_OR_SPACE = /(^|[^\\u0000-\\u0020])[\\u0000-\\u0020]+$/;\nvar TAB_AND_NEW_LINE = /[\\t\\n\\r]/g;\n/* eslint-enable regexp/no-control-character -- safe */\nvar EOF;\n\n// https://url.spec.whatwg.org/#ipv4-number-parser\nvar parseIPv4 = function (input) {\n var parts = split(input, '.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n if (parts.length && parts[parts.length - 1] === '') {\n parts.length--;\n }\n partsLength = parts.length;\n if (partsLength > 4) return input;\n numbers = [];\n for (index = 0; index < partsLength; index++) {\n part = parts[index];\n if (part === '') return input;\n radix = 10;\n if (part.length > 1 && charAt(part, 0) === '0') {\n radix = exec(HEX_START, part) ? 16 : 8;\n part = stringSlice(part, radix === 8 ? 1 : 2);\n }\n if (part === '') {\n number = 0;\n } else {\n if (!exec(radix === 10 ? DEC : radix === 8 ? OCT : HEX, part)) return input;\n number = parseInt(part, radix);\n }\n push(numbers, number);\n }\n for (index = 0; index < partsLength; index++) {\n number = numbers[index];\n if (index === partsLength - 1) {\n if (number >= pow(256, 5 - partsLength)) return null;\n } else if (number > 255) return null;\n }\n ipv4 = pop(numbers);\n for (index = 0; index < numbers.length; index++) {\n ipv4 += numbers[index] * pow(256, 3 - index);\n }\n return ipv4;\n};\n\n// https://url.spec.whatwg.org/#concept-ipv6-parser\n// eslint-disable-next-line max-statements -- TODO\nvar parseIPv6 = function (input) {\n var address = [0, 0, 0, 0, 0, 0, 0, 0];\n var pieceIndex = 0;\n var compress = null;\n var pointer = 0;\n var value, length, numbersSeen, ipv4Piece, number, swaps, swap;\n\n var chr = function () {\n return charAt(input, pointer);\n };\n\n if (chr() === ':') {\n if (charAt(input, 1) !== ':') return;\n pointer += 2;\n pieceIndex++;\n compress = pieceIndex;\n }\n while (chr()) {\n if (pieceIndex === 8) return;\n if (chr() === ':') {\n if (compress !== null) return;\n pointer++;\n pieceIndex++;\n compress = pieceIndex;\n continue;\n }\n value = length = 0;\n while (length < 4 && exec(HEX, chr())) {\n value = value * 16 + parseInt(chr(), 16);\n pointer++;\n length++;\n }\n if (chr() === '.') {\n if (length === 0) return;\n pointer -= length;\n if (pieceIndex > 6) return;\n numbersSeen = 0;\n while (chr()) {\n ipv4Piece = null;\n if (numbersSeen > 0) {\n if (chr() === '.' && numbersSeen < 4) pointer++;\n else return;\n }\n if (!exec(DIGIT, chr())) return;\n while (exec(DIGIT, chr())) {\n number = parseInt(chr(), 10);\n if (ipv4Piece === null) ipv4Piece = number;\n else if (ipv4Piece === 0) return;\n else ipv4Piece = ipv4Piece * 10 + number;\n if (ipv4Piece > 255) return;\n pointer++;\n }\n address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n numbersSeen++;\n if (numbersSeen === 2 || numbersSeen === 4) pieceIndex++;\n }\n if (numbersSeen !== 4) return;\n break;\n } else if (chr() === ':') {\n pointer++;\n if (!chr()) return;\n } else if (chr()) return;\n address[pieceIndex++] = value;\n }\n if (compress !== null) {\n swaps = pieceIndex - compress;\n pieceIndex = 7;\n while (pieceIndex !== 0 && swaps > 0) {\n swap = address[pieceIndex];\n address[pieceIndex--] = address[compress + swaps - 1];\n address[compress + --swaps] = swap;\n }\n } else if (pieceIndex !== 8) return;\n return address;\n};\n\nvar findLongestZeroSequence = function (ipv6) {\n var maxIndex = null;\n var maxLength = 1;\n var currStart = null;\n var currLength = 0;\n var index = 0;\n for (; index < 8; index++) {\n if (ipv6[index] !== 0) {\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n currStart = null;\n currLength = 0;\n } else {\n if (currStart === null) currStart = index;\n ++currLength;\n }\n }\n return currLength > maxLength ? currStart : maxIndex;\n};\n\n// https://url.spec.whatwg.org/#host-serializing\nvar serializeHost = function (host) {\n var result, index, compress, ignore0;\n\n // ipv4\n if (typeof host == 'number') {\n result = [];\n for (index = 0; index < 4; index++) {\n unshift(result, host % 256);\n host = floor(host / 256);\n }\n return join(result, '.');\n }\n\n // ipv6\n if (typeof host == 'object') {\n result = '';\n compress = findLongestZeroSequence(host);\n for (index = 0; index < 8; index++) {\n if (ignore0 && host[index] === 0) continue;\n if (ignore0) ignore0 = false;\n if (compress === index) {\n result += index ? ':' : '::';\n ignore0 = true;\n } else {\n result += numberToString(host[index], 16);\n if (index < 7) result += ':';\n }\n }\n return '[' + result + ']';\n }\n\n return host;\n};\n\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1, '\"': 1, '<': 1, '>': 1, '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1, '?': 1, '{': 1, '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\\\': 1, ']': 1, '^': 1, '|': 1\n});\n\nvar percentEncode = function (chr, set) {\n var code = codeAt(chr, 0);\n return code > 0x20 && code < 0x7F && !hasOwn(set, chr) ? chr : encodeURIComponent(chr);\n};\n\n// https://url.spec.whatwg.org/#special-scheme\nvar specialSchemes = {\n ftp: 21,\n file: null,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\n\n// https://url.spec.whatwg.org/#windows-drive-letter\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length === 2 && exec(ALPHA, charAt(string, 0))\n && ((second = charAt(string, 1)) === ':' || (!normalized && second === '|'));\n};\n\n// https://url.spec.whatwg.org/#start-with-a-windows-drive-letter\nvar startsWithWindowsDriveLetter = function (string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(stringSlice(string, 0, 2)) && (\n string.length === 2 ||\n ((third = charAt(string, 2)) === '/' || third === '\\\\' || third === '?' || third === '#')\n );\n};\n\n// https://url.spec.whatwg.org/#single-dot-path-segment\nvar isSingleDot = function (segment) {\n return segment === '.' || toLowerCase(segment) === '%2e';\n};\n\n// https://url.spec.whatwg.org/#double-dot-path-segment\nvar isDoubleDot = function (segment) {\n segment = toLowerCase(segment);\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\n\n// States:\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\n\nvar URLState = function (url, isBase, base) {\n var urlString = $toString(url);\n var baseState, failure, searchParams;\n if (isBase) {\n failure = this.parse(urlString);\n if (failure) throw new TypeError(failure);\n this.searchParams = null;\n } else {\n if (base !== undefined) baseState = new URLState(base, true);\n failure = this.parse(urlString, null, baseState);\n if (failure) throw new TypeError(failure);\n searchParams = getInternalSearchParamsState(new URLSearchParams());\n searchParams.bindURL(this);\n this.searchParams = searchParams;\n }\n};\n\nURLState.prototype = {\n type: 'URL',\n // https://url.spec.whatwg.org/#url-parsing\n // eslint-disable-next-line max-statements -- TODO\n parse: function (input, stateOverride, base) {\n var url = this;\n var state = stateOverride || SCHEME_START;\n var pointer = 0;\n var buffer = '';\n var seenAt = false;\n var seenBracket = false;\n var seenPasswordToken = false;\n var codePoints, chr, bufferCodePoints, failure;\n\n input = $toString(input);\n\n if (!stateOverride) {\n url.scheme = '';\n url.username = '';\n url.password = '';\n url.host = null;\n url.port = null;\n url.path = [];\n url.query = null;\n url.fragment = null;\n url.cannotBeABaseURL = false;\n input = replace(input, LEADING_C0_CONTROL_OR_SPACE, '');\n input = replace(input, TRAILING_C0_CONTROL_OR_SPACE, '$1');\n }\n\n input = replace(input, TAB_AND_NEW_LINE, '');\n\n codePoints = arrayFrom(input);\n\n while (pointer <= codePoints.length) {\n chr = codePoints[pointer];\n switch (state) {\n case SCHEME_START:\n if (chr && exec(ALPHA, chr)) {\n buffer += toLowerCase(chr);\n state = SCHEME;\n } else if (!stateOverride) {\n state = NO_SCHEME;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case SCHEME:\n if (chr && (exec(ALPHANUMERIC, chr) || chr === '+' || chr === '-' || chr === '.')) {\n buffer += toLowerCase(chr);\n } else if (chr === ':') {\n if (stateOverride && (\n (url.isSpecial() !== hasOwn(specialSchemes, buffer)) ||\n (buffer === 'file' && (url.includesCredentials() || url.port !== null)) ||\n (url.scheme === 'file' && !url.host)\n )) return;\n url.scheme = buffer;\n if (stateOverride) {\n if (url.isSpecial() && specialSchemes[url.scheme] === url.port) url.port = null;\n return;\n }\n buffer = '';\n if (url.scheme === 'file') {\n state = FILE;\n } else if (url.isSpecial() && base && base.scheme === url.scheme) {\n state = SPECIAL_RELATIVE_OR_AUTHORITY;\n } else if (url.isSpecial()) {\n state = SPECIAL_AUTHORITY_SLASHES;\n } else if (codePoints[pointer + 1] === '/') {\n state = PATH_OR_AUTHORITY;\n pointer++;\n } else {\n url.cannotBeABaseURL = true;\n push(url.path, '');\n state = CANNOT_BE_A_BASE_URL_PATH;\n }\n } else if (!stateOverride) {\n buffer = '';\n state = NO_SCHEME;\n pointer = 0;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case NO_SCHEME:\n if (!base || (base.cannotBeABaseURL && chr !== '#')) return INVALID_SCHEME;\n if (base.cannotBeABaseURL && chr === '#') {\n url.scheme = base.scheme;\n url.path = arraySlice(base.path);\n url.query = base.query;\n url.fragment = '';\n url.cannotBeABaseURL = true;\n state = FRAGMENT;\n break;\n }\n state = base.scheme === 'file' ? FILE : RELATIVE;\n continue;\n\n case SPECIAL_RELATIVE_OR_AUTHORITY:\n if (chr === '/' && codePoints[pointer + 1] === '/') {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n pointer++;\n } else {\n state = RELATIVE;\n continue;\n } break;\n\n case PATH_OR_AUTHORITY:\n if (chr === '/') {\n state = AUTHORITY;\n break;\n } else {\n state = PATH;\n continue;\n }\n\n case RELATIVE:\n url.scheme = base.scheme;\n if (chr === EOF) {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.query = base.query;\n } else if (chr === '/' || (chr === '\\\\' && url.isSpecial())) {\n state = RELATIVE_SLASH;\n } else if (chr === '?') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.query = '';\n state = QUERY;\n } else if (chr === '#') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.path.length--;\n state = PATH;\n continue;\n } break;\n\n case RELATIVE_SLASH:\n if (url.isSpecial() && (chr === '/' || chr === '\\\\')) {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n } else if (chr === '/') {\n state = AUTHORITY;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n state = PATH;\n continue;\n } break;\n\n case SPECIAL_AUTHORITY_SLASHES:\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n if (chr !== '/' || charAt(buffer, pointer + 1) !== '/') continue;\n pointer++;\n break;\n\n case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n if (chr !== '/' && chr !== '\\\\') {\n state = AUTHORITY;\n continue;\n } break;\n\n case AUTHORITY:\n if (chr === '@') {\n if (seenAt) buffer = '%40' + buffer;\n seenAt = true;\n bufferCodePoints = arrayFrom(buffer);\n for (var i = 0; i < bufferCodePoints.length; i++) {\n var codePoint = bufferCodePoints[i];\n if (codePoint === ':' && !seenPasswordToken) {\n seenPasswordToken = true;\n continue;\n }\n var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n if (seenPasswordToken) url.password += encodedCodePoints;\n else url.username += encodedCodePoints;\n }\n buffer = '';\n } else if (\n chr === EOF || chr === '/' || chr === '?' || chr === '#' ||\n (chr === '\\\\' && url.isSpecial())\n ) {\n if (seenAt && buffer === '') return INVALID_AUTHORITY;\n pointer -= arrayFrom(buffer).length + 1;\n buffer = '';\n state = HOST;\n } else buffer += chr;\n break;\n\n case HOST:\n case HOSTNAME:\n if (stateOverride && url.scheme === 'file') {\n state = FILE_HOST;\n continue;\n } else if (chr === ':' && !seenBracket) {\n if (buffer === '') return INVALID_HOST;\n failure = url.parseHost(buffer);\n if (failure) return failure;\n buffer = '';\n state = PORT;\n if (stateOverride === HOSTNAME) return;\n } else if (\n chr === EOF || chr === '/' || chr === '?' || chr === '#' ||\n (chr === '\\\\' && url.isSpecial())\n ) {\n if (url.isSpecial() && buffer === '') return INVALID_HOST;\n if (stateOverride && buffer === '' && (url.includesCredentials() || url.port !== null)) return;\n failure = url.parseHost(buffer);\n if (failure) return failure;\n buffer = '';\n state = PATH_START;\n if (stateOverride) return;\n continue;\n } else {\n if (chr === '[') seenBracket = true;\n else if (chr === ']') seenBracket = false;\n buffer += chr;\n } break;\n\n case PORT:\n if (exec(DIGIT, chr)) {\n buffer += chr;\n } else if (\n chr === EOF || chr === '/' || chr === '?' || chr === '#' ||\n (chr === '\\\\' && url.isSpecial()) ||\n stateOverride\n ) {\n if (buffer !== '') {\n var port = parseInt(buffer, 10);\n if (port > 0xFFFF) return INVALID_PORT;\n url.port = (url.isSpecial() && port === specialSchemes[url.scheme]) ? null : port;\n buffer = '';\n }\n if (stateOverride) return;\n state = PATH_START;\n continue;\n } else return INVALID_PORT;\n break;\n\n case FILE:\n url.scheme = 'file';\n if (chr === '/' || chr === '\\\\') state = FILE_SLASH;\n else if (base && base.scheme === 'file') {\n switch (chr) {\n case EOF:\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.query = base.query;\n break;\n case '?':\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.query = '';\n state = QUERY;\n break;\n case '#':\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n break;\n default:\n if (!startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) {\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.shortenPath();\n }\n state = PATH;\n continue;\n }\n } else {\n state = PATH;\n continue;\n } break;\n\n case FILE_SLASH:\n if (chr === '/' || chr === '\\\\') {\n state = FILE_HOST;\n break;\n }\n if (base && base.scheme === 'file' && !startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) {\n if (isWindowsDriveLetter(base.path[0], true)) push(url.path, base.path[0]);\n else url.host = base.host;\n }\n state = PATH;\n continue;\n\n case FILE_HOST:\n if (chr === EOF || chr === '/' || chr === '\\\\' || chr === '?' || chr === '#') {\n if (!stateOverride && isWindowsDriveLetter(buffer)) {\n state = PATH;\n } else if (buffer === '') {\n url.host = '';\n if (stateOverride) return;\n state = PATH_START;\n } else {\n failure = url.parseHost(buffer);\n if (failure) return failure;\n if (url.host === 'localhost') url.host = '';\n if (stateOverride) return;\n buffer = '';\n state = PATH_START;\n } continue;\n } else buffer += chr;\n break;\n\n case PATH_START:\n if (url.isSpecial()) {\n state = PATH;\n if (chr !== '/' && chr !== '\\\\') continue;\n } else if (!stateOverride && chr === '?') {\n url.query = '';\n state = QUERY;\n } else if (!stateOverride && chr === '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr !== EOF) {\n state = PATH;\n if (chr !== '/') continue;\n } break;\n\n case PATH:\n if (\n chr === EOF || chr === '/' ||\n (chr === '\\\\' && url.isSpecial()) ||\n (!stateOverride && (chr === '?' || chr === '#'))\n ) {\n if (isDoubleDot(buffer)) {\n url.shortenPath();\n if (chr !== '/' && !(chr === '\\\\' && url.isSpecial())) {\n push(url.path, '');\n }\n } else if (isSingleDot(buffer)) {\n if (chr !== '/' && !(chr === '\\\\' && url.isSpecial())) {\n push(url.path, '');\n }\n } else {\n if (url.scheme === 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n if (url.host) url.host = '';\n buffer = charAt(buffer, 0) + ':'; // normalize windows drive letter\n }\n push(url.path, buffer);\n }\n buffer = '';\n if (url.scheme === 'file' && (chr === EOF || chr === '?' || chr === '#')) {\n while (url.path.length > 1 && url.path[0] === '') {\n shift(url.path);\n }\n }\n if (chr === '?') {\n url.query = '';\n state = QUERY;\n } else if (chr === '#') {\n url.fragment = '';\n state = FRAGMENT;\n }\n } else {\n buffer += percentEncode(chr, pathPercentEncodeSet);\n } break;\n\n case CANNOT_BE_A_BASE_URL_PATH:\n if (chr === '?') {\n url.query = '';\n state = QUERY;\n } else if (chr === '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr !== EOF) {\n url.path[0] += percentEncode(chr, C0ControlPercentEncodeSet);\n } break;\n\n case QUERY:\n if (!stateOverride && chr === '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr !== EOF) {\n if (chr === \"'\" && url.isSpecial()) url.query += '%27';\n else if (chr === '#') url.query += '%23';\n else url.query += percentEncode(chr, C0ControlPercentEncodeSet);\n } break;\n\n case FRAGMENT:\n if (chr !== EOF) url.fragment += percentEncode(chr, fragmentPercentEncodeSet);\n break;\n }\n\n pointer++;\n }\n },\n // https://url.spec.whatwg.org/#host-parsing\n parseHost: function (input) {\n var result, codePoints, index;\n if (charAt(input, 0) === '[') {\n if (charAt(input, input.length - 1) !== ']') return INVALID_HOST;\n result = parseIPv6(stringSlice(input, 1, -1));\n if (!result) return INVALID_HOST;\n this.host = result;\n // opaque host\n } else if (!this.isSpecial()) {\n if (exec(FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT, input)) return INVALID_HOST;\n result = '';\n codePoints = arrayFrom(input);\n for (index = 0; index < codePoints.length; index++) {\n result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n }\n this.host = result;\n } else {\n input = toASCII(input);\n if (exec(FORBIDDEN_HOST_CODE_POINT, input)) return INVALID_HOST;\n result = parseIPv4(input);\n if (result === null) return INVALID_HOST;\n this.host = result;\n }\n },\n // https://url.spec.whatwg.org/#cannot-have-a-username-password-port\n cannotHaveUsernamePasswordPort: function () {\n return !this.host || this.cannotBeABaseURL || this.scheme === 'file';\n },\n // https://url.spec.whatwg.org/#include-credentials\n includesCredentials: function () {\n return this.username !== '' || this.password !== '';\n },\n // https://url.spec.whatwg.org/#is-special\n isSpecial: function () {\n return hasOwn(specialSchemes, this.scheme);\n },\n // https://url.spec.whatwg.org/#shorten-a-urls-path\n shortenPath: function () {\n var path = this.path;\n var pathSize = path.length;\n if (pathSize && (this.scheme !== 'file' || pathSize !== 1 || !isWindowsDriveLetter(path[0], true))) {\n path.length--;\n }\n },\n // https://url.spec.whatwg.org/#concept-url-serializer\n serialize: function () {\n var url = this;\n var scheme = url.scheme;\n var username = url.username;\n var password = url.password;\n var host = url.host;\n var port = url.port;\n var path = url.path;\n var query = url.query;\n var fragment = url.fragment;\n var output = scheme + ':';\n if (host !== null) {\n output += '//';\n if (url.includesCredentials()) {\n output += username + (password ? ':' + password : '') + '@';\n }\n output += serializeHost(host);\n if (port !== null) output += ':' + port;\n } else if (scheme === 'file') output += '//';\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : '';\n if (query !== null) output += '?' + query;\n if (fragment !== null) output += '#' + fragment;\n return output;\n },\n // https://url.spec.whatwg.org/#dom-url-href\n setHref: function (href) {\n var failure = this.parse(href);\n if (failure) throw new TypeError(failure);\n this.searchParams.update();\n },\n // https://url.spec.whatwg.org/#dom-url-origin\n getOrigin: function () {\n var scheme = this.scheme;\n var port = this.port;\n if (scheme === 'blob') try {\n return new URLConstructor(scheme.path[0]).origin;\n } catch (error) {\n return 'null';\n }\n if (scheme === 'file' || !this.isSpecial()) return 'null';\n return scheme + '://' + serializeHost(this.host) + (port !== null ? ':' + port : '');\n },\n // https://url.spec.whatwg.org/#dom-url-protocol\n getProtocol: function () {\n return this.scheme + ':';\n },\n setProtocol: function (protocol) {\n this.parse($toString(protocol) + ':', SCHEME_START);\n },\n // https://url.spec.whatwg.org/#dom-url-username\n getUsername: function () {\n return this.username;\n },\n setUsername: function (username) {\n var codePoints = arrayFrom($toString(username));\n if (this.cannotHaveUsernamePasswordPort()) return;\n this.username = '';\n for (var i = 0; i < codePoints.length; i++) {\n this.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n },\n // https://url.spec.whatwg.org/#dom-url-password\n getPassword: function () {\n return this.password;\n },\n setPassword: function (password) {\n var codePoints = arrayFrom($toString(password));\n if (this.cannotHaveUsernamePasswordPort()) return;\n this.password = '';\n for (var i = 0; i < codePoints.length; i++) {\n this.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n },\n // https://url.spec.whatwg.org/#dom-url-host\n getHost: function () {\n var host = this.host;\n var port = this.port;\n return host === null ? ''\n : port === null ? serializeHost(host)\n : serializeHost(host) + ':' + port;\n },\n setHost: function (host) {\n if (this.cannotBeABaseURL) return;\n this.parse(host, HOST);\n },\n // https://url.spec.whatwg.org/#dom-url-hostname\n getHostname: function () {\n var host = this.host;\n return host === null ? '' : serializeHost(host);\n },\n setHostname: function (hostname) {\n if (this.cannotBeABaseURL) return;\n this.parse(hostname, HOSTNAME);\n },\n // https://url.spec.whatwg.org/#dom-url-port\n getPort: function () {\n var port = this.port;\n return port === null ? '' : $toString(port);\n },\n setPort: function (port) {\n if (this.cannotHaveUsernamePasswordPort()) return;\n port = $toString(port);\n if (port === '') this.port = null;\n else this.parse(port, PORT);\n },\n // https://url.spec.whatwg.org/#dom-url-pathname\n getPathname: function () {\n var path = this.path;\n return this.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : '';\n },\n setPathname: function (pathname) {\n if (this.cannotBeABaseURL) return;\n this.path = [];\n this.parse(pathname, PATH_START);\n },\n // https://url.spec.whatwg.org/#dom-url-search\n getSearch: function () {\n var query = this.query;\n return query ? '?' + query : '';\n },\n setSearch: function (search) {\n search = $toString(search);\n if (search === '') {\n this.query = null;\n } else {\n if (charAt(search, 0) === '?') search = stringSlice(search, 1);\n this.query = '';\n this.parse(search, QUERY);\n }\n this.searchParams.update();\n },\n // https://url.spec.whatwg.org/#dom-url-searchparams\n getSearchParams: function () {\n return this.searchParams.facade;\n },\n // https://url.spec.whatwg.org/#dom-url-hash\n getHash: function () {\n var fragment = this.fragment;\n return fragment ? '#' + fragment : '';\n },\n setHash: function (hash) {\n hash = $toString(hash);\n if (hash === '') {\n this.fragment = null;\n return;\n }\n if (charAt(hash, 0) === '#') hash = stringSlice(hash, 1);\n this.fragment = '';\n this.parse(hash, FRAGMENT);\n },\n update: function () {\n this.query = this.searchParams.serialize() || null;\n }\n};\n\n// `URL` constructor\n// https://url.spec.whatwg.org/#url-class\nvar URLConstructor = function URL(url /* , base */) {\n var that = anInstance(this, URLPrototype);\n var base = validateArgumentsLength(arguments.length, 1) > 1 ? arguments[1] : undefined;\n var state = setInternalState(that, new URLState(url, false, base));\n if (!DESCRIPTORS) {\n that.href = state.serialize();\n that.origin = state.getOrigin();\n that.protocol = state.getProtocol();\n that.username = state.getUsername();\n that.password = state.getPassword();\n that.host = state.getHost();\n that.hostname = state.getHostname();\n that.port = state.getPort();\n that.pathname = state.getPathname();\n that.search = state.getSearch();\n that.searchParams = state.getSearchParams();\n that.hash = state.getHash();\n }\n};\n\nvar URLPrototype = URLConstructor.prototype;\n\nvar accessorDescriptor = function (getter, setter) {\n return {\n get: function () {\n return getInternalURLState(this)[getter]();\n },\n set: setter && function (value) {\n return getInternalURLState(this)[setter](value);\n },\n configurable: true,\n enumerable: true\n };\n};\n\nif (DESCRIPTORS) {\n // `URL.prototype.href` accessors pair\n // https://url.spec.whatwg.org/#dom-url-href\n defineBuiltInAccessor(URLPrototype, 'href', accessorDescriptor('serialize', 'setHref'));\n // `URL.prototype.origin` getter\n // https://url.spec.whatwg.org/#dom-url-origin\n defineBuiltInAccessor(URLPrototype, 'origin', accessorDescriptor('getOrigin'));\n // `URL.prototype.protocol` accessors pair\n // https://url.spec.whatwg.org/#dom-url-protocol\n defineBuiltInAccessor(URLPrototype, 'protocol', accessorDescriptor('getProtocol', 'setProtocol'));\n // `URL.prototype.username` accessors pair\n // https://url.spec.whatwg.org/#dom-url-username\n defineBuiltInAccessor(URLPrototype, 'username', accessorDescriptor('getUsername', 'setUsername'));\n // `URL.prototype.password` accessors pair\n // https://url.spec.whatwg.org/#dom-url-password\n defineBuiltInAccessor(URLPrototype, 'password', accessorDescriptor('getPassword', 'setPassword'));\n // `URL.prototype.host` accessors pair\n // https://url.spec.whatwg.org/#dom-url-host\n defineBuiltInAccessor(URLPrototype, 'host', accessorDescriptor('getHost', 'setHost'));\n // `URL.prototype.hostname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hostname\n defineBuiltInAccessor(URLPrototype, 'hostname', accessorDescriptor('getHostname', 'setHostname'));\n // `URL.prototype.port` accessors pair\n // https://url.spec.whatwg.org/#dom-url-port\n defineBuiltInAccessor(URLPrototype, 'port', accessorDescriptor('getPort', 'setPort'));\n // `URL.prototype.pathname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-pathname\n defineBuiltInAccessor(URLPrototype, 'pathname', accessorDescriptor('getPathname', 'setPathname'));\n // `URL.prototype.search` accessors pair\n // https://url.spec.whatwg.org/#dom-url-search\n defineBuiltInAccessor(URLPrototype, 'search', accessorDescriptor('getSearch', 'setSearch'));\n // `URL.prototype.searchParams` getter\n // https://url.spec.whatwg.org/#dom-url-searchparams\n defineBuiltInAccessor(URLPrototype, 'searchParams', accessorDescriptor('getSearchParams'));\n // `URL.prototype.hash` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hash\n defineBuiltInAccessor(URLPrototype, 'hash', accessorDescriptor('getHash', 'setHash'));\n}\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\ndefineBuiltIn(URLPrototype, 'toJSON', function toJSON() {\n return getInternalURLState(this).serialize();\n}, { enumerable: true });\n\n// `URL.prototype.toString` method\n// https://url.spec.whatwg.org/#URL-stringification-behavior\ndefineBuiltIn(URLPrototype, 'toString', function toString() {\n return getInternalURLState(this).serialize();\n}, { enumerable: true });\n\nif (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n // `URL.createObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL\n if (nativeCreateObjectURL) defineBuiltIn(URLConstructor, 'createObjectURL', bind(nativeCreateObjectURL, NativeURL));\n // `URL.revokeObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL\n if (nativeRevokeObjectURL) defineBuiltIn(URLConstructor, 'revokeObjectURL', bind(nativeRevokeObjectURL, NativeURL));\n}\n\nsetToStringTag(URLConstructor, 'URL');\n\n$({ global: true, constructor: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {\n URL: URLConstructor\n});\n","'use strict';\n// TODO: Remove this module from `core-js@4` since it's replaced to module below\nrequire('../modules/web.url.constructor');\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\n$({ target: 'URL', proto: true, enumerable: true }, {\n toJSON: function toJSON() {\n return call(URL.prototype.toString, this);\n }\n});\n","import './webcrypto-shim.mjs'\nexport default window.crypto\n","/**\n * @file Web Cryptography API shim\n * @author Artem S Vybornov \n * @license MIT\n */\n(function (global, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define([], function () {\n return factory(global);\n });\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports\n module.exports = factory(global);\n } else {\n factory(global);\n }\n}(typeof self !== 'undefined' ? self : this, function (global) {\n 'use strict';\n\n if ( typeof Promise !== 'function' )\n throw \"Promise support required\";\n\n var _crypto = global.crypto || global.msCrypto;\n if ( !_crypto ) return;\n\n var _subtle = _crypto.subtle || _crypto.webkitSubtle;\n if ( !_subtle ) return;\n\n var _Crypto = global.Crypto || _crypto.constructor || Object,\n _SubtleCrypto = global.SubtleCrypto || _subtle.constructor || Object,\n _CryptoKey = global.CryptoKey || global.Key || Object;\n\n var isEdge = global.navigator.userAgent.indexOf('Edge/') > -1;\n var isIE = !!global.msCrypto && !isEdge;\n var isWebkit = !_crypto.subtle && !!_crypto.webkitSubtle;\n if ( !isIE && !isWebkit ) return;\n\n function s2a ( s ) {\n return btoa(s).replace(/\\=+$/, '').replace(/\\+/g, '-').replace(/\\//g, '_');\n }\n\n function a2s ( s ) {\n s += '===', s = s.slice( 0, -s.length % 4 );\n return atob( s.replace(/-/g, '+').replace(/_/g, '/') );\n }\n\n function s2b ( s ) {\n var b = new Uint8Array(s.length);\n for ( var i = 0; i < s.length; i++ ) b[i] = s.charCodeAt(i);\n return b;\n }\n\n function b2s ( b ) {\n if ( b instanceof ArrayBuffer ) b = new Uint8Array(b);\n return String.fromCharCode.apply( String, b );\n }\n\n function alg ( a ) {\n var r = { 'name': (a.name || a || '').toUpperCase().replace('V','v') };\n switch ( r.name ) {\n case 'SHA-1':\n case 'SHA-256':\n case 'SHA-384':\n case 'SHA-512':\n break;\n case 'AES-CBC':\n case 'AES-GCM':\n case 'AES-KW':\n if ( a.length ) r['length'] = a.length;\n break;\n case 'HMAC':\n if ( a.hash ) r['hash'] = alg(a.hash);\n if ( a.length ) r['length'] = a.length;\n break;\n case 'RSAES-PKCS1-v1_5':\n if ( a.publicExponent ) r['publicExponent'] = new Uint8Array(a.publicExponent);\n if ( a.modulusLength ) r['modulusLength'] = a.modulusLength;\n break;\n case 'RSASSA-PKCS1-v1_5':\n case 'RSA-OAEP':\n if ( a.hash ) r['hash'] = alg(a.hash);\n if ( a.publicExponent ) r['publicExponent'] = new Uint8Array(a.publicExponent);\n if ( a.modulusLength ) r['modulusLength'] = a.modulusLength;\n break;\n default:\n throw new SyntaxError(\"Bad algorithm name\");\n }\n return r;\n };\n\n function jwkAlg ( a ) {\n return {\n 'HMAC': {\n 'SHA-1': 'HS1',\n 'SHA-256': 'HS256',\n 'SHA-384': 'HS384',\n 'SHA-512': 'HS512',\n },\n 'RSASSA-PKCS1-v1_5': {\n 'SHA-1': 'RS1',\n 'SHA-256': 'RS256',\n 'SHA-384': 'RS384',\n 'SHA-512': 'RS512',\n },\n 'RSAES-PKCS1-v1_5': {\n '': 'RSA1_5',\n },\n 'RSA-OAEP': {\n 'SHA-1': 'RSA-OAEP',\n 'SHA-256': 'RSA-OAEP-256',\n },\n 'AES-KW': {\n '128': 'A128KW',\n '192': 'A192KW',\n '256': 'A256KW',\n },\n 'AES-GCM': {\n '128': 'A128GCM',\n '192': 'A192GCM',\n '256': 'A256GCM',\n },\n 'AES-CBC': {\n '128': 'A128CBC',\n '192': 'A192CBC',\n '256': 'A256CBC',\n },\n }[a.name][ ( a.hash || {} ).name || a.length || '' ];\n }\n\n function b2jwk ( k ) {\n if ( k instanceof ArrayBuffer || k instanceof Uint8Array ) k = JSON.parse( decodeURIComponent( escape( b2s(k) ) ) );\n var jwk = { 'kty': k.kty, 'alg': k.alg, 'ext': k.ext || k.extractable };\n switch ( jwk.kty ) {\n case 'oct':\n jwk.k = k.k;\n case 'RSA':\n [ 'n', 'e', 'd', 'p', 'q', 'dp', 'dq', 'qi', 'oth' ].forEach( function ( x ) { if ( x in k ) jwk[x] = k[x] } );\n break;\n default:\n throw new TypeError(\"Unsupported key type\");\n }\n return jwk;\n }\n\n function jwk2b ( k ) {\n var jwk = b2jwk(k);\n if ( isIE ) jwk['extractable'] = jwk.ext, delete jwk.ext;\n return s2b( unescape( encodeURIComponent( JSON.stringify(jwk) ) ) ).buffer;\n }\n\n function pkcs2jwk ( k ) {\n var info = b2der(k), prv = false;\n if ( info.length > 2 ) prv = true, info.shift(); // remove version from PKCS#8 PrivateKeyInfo structure\n var jwk = { 'ext': true };\n switch ( info[0][0] ) {\n case '1.2.840.113549.1.1.1':\n var rsaComp = [ 'n', 'e', 'd', 'p', 'q', 'dp', 'dq', 'qi' ],\n rsaKey = b2der( info[1] );\n if ( prv ) rsaKey.shift(); // remove version from PKCS#1 RSAPrivateKey structure\n for ( var i = 0; i < rsaKey.length; i++ ) {\n if ( !rsaKey[i][0] ) rsaKey[i] = rsaKey[i].subarray(1);\n jwk[ rsaComp[i] ] = s2a( b2s( rsaKey[i] ) );\n }\n jwk['kty'] = 'RSA';\n break;\n default:\n throw new TypeError(\"Unsupported key type\");\n }\n return jwk;\n }\n\n function jwk2pkcs ( k ) {\n var key, info = [ [ '', null ] ], prv = false;\n switch ( k.kty ) {\n case 'RSA':\n var rsaComp = [ 'n', 'e', 'd', 'p', 'q', 'dp', 'dq', 'qi' ],\n rsaKey = [];\n for ( var i = 0; i < rsaComp.length; i++ ) {\n if ( !( rsaComp[i] in k ) ) break;\n var b = rsaKey[i] = s2b( a2s( k[ rsaComp[i] ] ) );\n if ( b[0] & 0x80 ) rsaKey[i] = new Uint8Array(b.length + 1), rsaKey[i].set( b, 1 );\n }\n if ( rsaKey.length > 2 ) prv = true, rsaKey.unshift( new Uint8Array([0]) ); // add version to PKCS#1 RSAPrivateKey structure\n info[0][0] = '1.2.840.113549.1.1.1';\n key = rsaKey;\n break;\n default:\n throw new TypeError(\"Unsupported key type\");\n }\n info.push( new Uint8Array( der2b(key) ).buffer );\n if ( !prv ) info[1] = { 'tag': 0x03, 'value': info[1] };\n else info.unshift( new Uint8Array([0]) ); // add version to PKCS#8 PrivateKeyInfo structure\n return new Uint8Array( der2b(info) ).buffer;\n }\n\n var oid2str = { 'KoZIhvcNAQEB': '1.2.840.113549.1.1.1' },\n str2oid = { '1.2.840.113549.1.1.1': 'KoZIhvcNAQEB' };\n\n function b2der ( buf, ctx ) {\n if ( buf instanceof ArrayBuffer ) buf = new Uint8Array(buf);\n if ( !ctx ) ctx = { pos: 0, end: buf.length };\n\n if ( ctx.end - ctx.pos < 2 || ctx.end > buf.length ) throw new RangeError(\"Malformed DER\");\n\n var tag = buf[ctx.pos++],\n len = buf[ctx.pos++];\n\n if ( len >= 0x80 ) {\n len &= 0x7f;\n if ( ctx.end - ctx.pos < len ) throw new RangeError(\"Malformed DER\");\n for ( var xlen = 0; len--; ) xlen <<= 8, xlen |= buf[ctx.pos++];\n len = xlen;\n }\n\n if ( ctx.end - ctx.pos < len ) throw new RangeError(\"Malformed DER\");\n\n var rv;\n\n switch ( tag ) {\n case 0x02: // Universal Primitive INTEGER\n rv = buf.subarray( ctx.pos, ctx.pos += len );\n break;\n case 0x03: // Universal Primitive BIT STRING\n if ( buf[ctx.pos++] ) throw new Error( \"Unsupported bit string\" );\n len--;\n case 0x04: // Universal Primitive OCTET STRING\n rv = new Uint8Array( buf.subarray( ctx.pos, ctx.pos += len ) ).buffer;\n break;\n case 0x05: // Universal Primitive NULL\n rv = null;\n break;\n case 0x06: // Universal Primitive OBJECT IDENTIFIER\n var oid = btoa( b2s( buf.subarray( ctx.pos, ctx.pos += len ) ) );\n if ( !( oid in oid2str ) ) throw new Error( \"Unsupported OBJECT ID \" + oid );\n rv = oid2str[oid];\n break;\n case 0x30: // Universal Constructed SEQUENCE\n rv = [];\n for ( var end = ctx.pos + len; ctx.pos < end; ) rv.push( b2der( buf, ctx ) );\n break;\n default:\n throw new Error( \"Unsupported DER tag 0x\" + tag.toString(16) );\n }\n\n return rv;\n }\n\n function der2b ( val, buf ) {\n if ( !buf ) buf = [];\n\n var tag = 0, len = 0,\n pos = buf.length + 2;\n\n buf.push( 0, 0 ); // placeholder\n\n if ( val instanceof Uint8Array ) { // Universal Primitive INTEGER\n tag = 0x02, len = val.length;\n for ( var i = 0; i < len; i++ ) buf.push( val[i] );\n }\n else if ( val instanceof ArrayBuffer ) { // Universal Primitive OCTET STRING\n tag = 0x04, len = val.byteLength, val = new Uint8Array(val);\n for ( var i = 0; i < len; i++ ) buf.push( val[i] );\n }\n else if ( val === null ) { // Universal Primitive NULL\n tag = 0x05, len = 0;\n }\n else if ( typeof val === 'string' && val in str2oid ) { // Universal Primitive OBJECT IDENTIFIER\n var oid = s2b( atob( str2oid[val] ) );\n tag = 0x06, len = oid.length;\n for ( var i = 0; i < len; i++ ) buf.push( oid[i] );\n }\n else if ( val instanceof Array ) { // Universal Constructed SEQUENCE\n for ( var i = 0; i < val.length; i++ ) der2b( val[i], buf );\n tag = 0x30, len = buf.length - pos;\n }\n else if ( typeof val === 'object' && val.tag === 0x03 && val.value instanceof ArrayBuffer ) { // Tag hint\n val = new Uint8Array(val.value), tag = 0x03, len = val.byteLength;\n buf.push(0); for ( var i = 0; i < len; i++ ) buf.push( val[i] );\n len++;\n }\n else {\n throw new Error( \"Unsupported DER value \" + val );\n }\n\n if ( len >= 0x80 ) {\n var xlen = len, len = 4;\n buf.splice( pos, 0, (xlen >> 24) & 0xff, (xlen >> 16) & 0xff, (xlen >> 8) & 0xff, xlen & 0xff );\n while ( len > 1 && !(xlen >> 24) ) xlen <<= 8, len--;\n if ( len < 4 ) buf.splice( pos, 4 - len );\n len |= 0x80;\n }\n\n buf.splice( pos - 2, 2, tag, len );\n\n return buf;\n }\n\n function CryptoKey ( key, alg, ext, use ) {\n Object.defineProperties( this, {\n _key: {\n value: key\n },\n type: {\n value: key.type,\n enumerable: true,\n },\n extractable: {\n value: (ext === undefined) ? key.extractable : ext,\n enumerable: true,\n },\n algorithm: {\n value: (alg === undefined) ? key.algorithm : alg,\n enumerable: true,\n },\n usages: {\n value: (use === undefined) ? key.usages : use,\n enumerable: true,\n },\n });\n }\n\n function isPubKeyUse ( u ) {\n return u === 'verify' || u === 'encrypt' || u === 'wrapKey';\n }\n\n function isPrvKeyUse ( u ) {\n return u === 'sign' || u === 'decrypt' || u === 'unwrapKey';\n }\n\n [ 'generateKey', 'importKey', 'unwrapKey' ]\n .forEach( function ( m ) {\n var _fn = _subtle[m];\n\n _subtle[m] = function ( a, b, c ) {\n var args = [].slice.call(arguments),\n ka, kx, ku;\n\n switch ( m ) {\n case 'generateKey':\n ka = alg(a), kx = b, ku = c;\n break;\n case 'importKey':\n ka = alg(c), kx = args[3], ku = args[4];\n if ( a === 'jwk' ) {\n b = b2jwk(b);\n if ( !b.alg ) b.alg = jwkAlg(ka);\n if ( !b.key_ops ) b.key_ops = ( b.kty !== 'oct' ) ? ( 'd' in b ) ? ku.filter(isPrvKeyUse) : ku.filter(isPubKeyUse) : ku.slice();\n args[1] = jwk2b(b);\n }\n break;\n case 'unwrapKey':\n ka = args[4], kx = args[5], ku = args[6];\n args[2] = c._key;\n break;\n }\n\n if ( m === 'generateKey' && ka.name === 'HMAC' && ka.hash ) {\n ka.length = ka.length || { 'SHA-1': 512, 'SHA-256': 512, 'SHA-384': 1024, 'SHA-512': 1024 }[ka.hash.name];\n return _subtle.importKey( 'raw', _crypto.getRandomValues( new Uint8Array( (ka.length+7)>>3 ) ), ka, kx, ku );\n }\n\n if ( isWebkit && m === 'generateKey' && ka.name === 'RSASSA-PKCS1-v1_5' && ( !ka.modulusLength || ka.modulusLength >= 2048 ) ) {\n a = alg(a), a.name = 'RSAES-PKCS1-v1_5', delete a.hash;\n return _subtle.generateKey( a, true, [ 'encrypt', 'decrypt' ] )\n .then( function ( k ) {\n return Promise.all([\n _subtle.exportKey( 'jwk', k.publicKey ),\n _subtle.exportKey( 'jwk', k.privateKey ),\n ]);\n })\n .then( function ( keys ) {\n keys[0].alg = keys[1].alg = jwkAlg(ka);\n keys[0].key_ops = ku.filter(isPubKeyUse), keys[1].key_ops = ku.filter(isPrvKeyUse);\n return Promise.all([\n _subtle.importKey( 'jwk', keys[0], ka, true, keys[0].key_ops ),\n _subtle.importKey( 'jwk', keys[1], ka, kx, keys[1].key_ops ),\n ]);\n })\n .then( function ( keys ) {\n return {\n publicKey: keys[0],\n privateKey: keys[1],\n };\n });\n }\n\n if ( ( isWebkit || ( isIE && ( ka.hash || {} ).name === 'SHA-1' ) )\n && m === 'importKey' && a === 'jwk' && ka.name === 'HMAC' && b.kty === 'oct' ) {\n return _subtle.importKey( 'raw', s2b( a2s(b.k) ), c, args[3], args[4] );\n }\n\n if ( isWebkit && m === 'importKey' && ( a === 'spki' || a === 'pkcs8' ) ) {\n return _subtle.importKey( 'jwk', pkcs2jwk(b), c, args[3], args[4] );\n }\n\n if ( isIE && m === 'unwrapKey' ) {\n return _subtle.decrypt( args[3], c, b )\n .then( function ( k ) {\n return _subtle.importKey( a, k, args[4], args[5], args[6] );\n });\n }\n\n var op;\n try {\n op = _fn.apply( _subtle, args );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n if ( isIE ) {\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) { rej(e) };\n op.oncomplete = function ( r ) { res(r.target.result) };\n });\n }\n\n op = op.then( function ( k ) {\n if ( ka.name === 'HMAC' ) {\n if ( !ka.length ) ka.length = 8 * k.algorithm.length;\n }\n if ( ka.name.search('RSA') == 0 ) {\n if ( !ka.modulusLength ) ka.modulusLength = (k.publicKey || k).algorithm.modulusLength;\n if ( !ka.publicExponent ) ka.publicExponent = (k.publicKey || k).algorithm.publicExponent;\n }\n if ( k.publicKey && k.privateKey ) {\n k = {\n publicKey: new CryptoKey( k.publicKey, ka, kx, ku.filter(isPubKeyUse) ),\n privateKey: new CryptoKey( k.privateKey, ka, kx, ku.filter(isPrvKeyUse) ),\n };\n }\n else {\n k = new CryptoKey( k, ka, kx, ku );\n }\n return k;\n });\n\n return op;\n }\n });\n\n [ 'exportKey', 'wrapKey' ]\n .forEach( function ( m ) {\n var _fn = _subtle[m];\n\n _subtle[m] = function ( a, b, c ) {\n var args = [].slice.call(arguments);\n\n switch ( m ) {\n case 'exportKey':\n args[1] = b._key;\n break;\n case 'wrapKey':\n args[1] = b._key, args[2] = c._key;\n break;\n }\n\n if ( ( isWebkit || ( isIE && ( b.algorithm.hash || {} ).name === 'SHA-1' ) )\n && m === 'exportKey' && a === 'jwk' && b.algorithm.name === 'HMAC' ) {\n args[0] = 'raw';\n }\n\n if ( isWebkit && m === 'exportKey' && ( a === 'spki' || a === 'pkcs8' ) ) {\n args[0] = 'jwk';\n }\n\n if ( isIE && m === 'wrapKey' ) {\n return _subtle.exportKey( a, b )\n .then( function ( k ) {\n if ( a === 'jwk' ) k = s2b( unescape( encodeURIComponent( JSON.stringify( b2jwk(k) ) ) ) );\n return _subtle.encrypt( args[3], c, k );\n });\n }\n\n var op;\n try {\n op = _fn.apply( _subtle, args );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n if ( isIE ) {\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) { rej(e) };\n op.oncomplete = function ( r ) { res(r.target.result) };\n });\n }\n\n if ( m === 'exportKey' && a === 'jwk' ) {\n op = op.then( function ( k ) {\n if ( ( isWebkit || ( isIE && ( b.algorithm.hash || {} ).name === 'SHA-1' ) )\n && b.algorithm.name === 'HMAC') {\n return { 'kty': 'oct', 'alg': jwkAlg(b.algorithm), 'key_ops': b.usages.slice(), 'ext': true, 'k': s2a( b2s(k) ) };\n }\n k = b2jwk(k);\n if ( !k.alg ) k['alg'] = jwkAlg(b.algorithm);\n if ( !k.key_ops ) k['key_ops'] = ( b.type === 'public' ) ? b.usages.filter(isPubKeyUse) : ( b.type === 'private' ) ? b.usages.filter(isPrvKeyUse) : b.usages.slice();\n return k;\n });\n }\n\n if ( isWebkit && m === 'exportKey' && ( a === 'spki' || a === 'pkcs8' ) ) {\n op = op.then( function ( k ) {\n k = jwk2pkcs( b2jwk(k) );\n return k;\n });\n }\n\n return op;\n }\n });\n\n [ 'encrypt', 'decrypt', 'sign', 'verify' ]\n .forEach( function ( m ) {\n var _fn = _subtle[m];\n\n _subtle[m] = function ( a, b, c, d ) {\n if ( isIE && ( !c.byteLength || ( d && !d.byteLength ) ) )\n throw new Error(\"Empy input is not allowed\");\n\n var args = [].slice.call(arguments),\n ka = alg(a);\n\n if ( isIE && m === 'decrypt' && ka.name === 'AES-GCM' ) {\n var tl = a.tagLength >> 3;\n args[2] = (c.buffer || c).slice( 0, c.byteLength - tl ),\n a.tag = (c.buffer || c).slice( c.byteLength - tl );\n }\n\n args[1] = b._key;\n\n var op;\n try {\n op = _fn.apply( _subtle, args );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n if ( isIE ) {\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) {\n rej(e);\n };\n\n op.oncomplete = function ( r ) {\n var r = r.target.result;\n\n if ( m === 'encrypt' && r instanceof AesGcmEncryptResult ) {\n var c = r.ciphertext, t = r.tag;\n r = new Uint8Array( c.byteLength + t.byteLength );\n r.set( new Uint8Array(c), 0 );\n r.set( new Uint8Array(t), c.byteLength );\n r = r.buffer;\n }\n\n res(r);\n };\n });\n }\n\n return op;\n }\n });\n\n if ( isIE ) {\n var _digest = _subtle.digest;\n\n _subtle['digest'] = function ( a, b ) {\n if ( !b.byteLength )\n throw new Error(\"Empy input is not allowed\");\n\n var op;\n try {\n op = _digest.call( _subtle, a, b );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) { rej(e) };\n op.oncomplete = function ( r ) { res(r.target.result) };\n });\n\n return op;\n };\n\n global.crypto = Object.create( _crypto, {\n getRandomValues: { value: function ( a ) { return _crypto.getRandomValues(a) } },\n subtle: { value: _subtle },\n });\n\n global.CryptoKey = CryptoKey;\n }\n\n if ( isWebkit ) {\n _crypto.subtle = _subtle;\n\n global.Crypto = _Crypto;\n global.SubtleCrypto = _SubtleCrypto;\n global.CryptoKey = CryptoKey;\n }\n}));\n\n export default {} // section modified by isomorphic-webcrypto build \n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(\"./src/entry/browser.ts\");\n",""],"names":["exports","formatArgs","save","load","useColors","storage","localstorage","destroy","warned","console","warn","colors","window","process","type","__nwjs","navigator","userAgent","toLowerCase","match","m","document","documentElement","style","WebkitAppearance","firebug","exception","table","parseInt","args","namespace","module","humanize","diff","c","color","splice","index","lastC","replace","log","debug","namespaces","setItem","removeItem","error","r","getItem","env","DEBUG","localStorage","require","formatters","j","v","JSON","stringify","message","setup","createDebug","default","coerce","disable","enable","enabled","Object","keys","forEach","key","names","skips","selectColor","hash","i","length","charCodeAt","Math","abs","prevTime","enableOverride","namespacesCache","enabledCache","_len","arguments","Array","_key","self","curr","Number","Date","ms","prev","unshift","format","formatter","val","call","logFn","apply","extend","defineProperty","enumerable","configurable","get","set","init","delimiter","newDebug","split","len","push","RegExp","slice","concat","_toConsumableArray2","map","toNamespace","join","name","test","regexp","toString","substring","Error","stack","lib_1","strings_1","settings_1","_ref","FHIRCLIENT_PURE","Response","contextualize","_x","_x2","_contextualize","_asyncToGenerator2","_regenerator","mark","_callee9","requestOptions","client","base","contextualURL","_contextualURL","wrap","_callee9$","_context9","next","_contextualURL3","_callee8","_url","resourceType","conformance","searchParam","_callee8$","_context8","pathname","pop","assert","patientCompartment","indexOf","fetchConformanceStatement","state","serverUrl","sent","getPatientParam","searchParams","patient","id","abrupt","href","stop","_contextualURL2","_x9","absolute","URL","t0","url","getRef","refId","cache","signal","headers","request","then","res","Promise","resolve","resolveRef","obj","path","graph","node","getPath","isArray","all","makeArray","filter","Boolean","item","ref","reference","sub","setPath","catch","ex","status","resolveRefs","fhirOptions","paths","resolveReferences","String","trim","p","groups","task","sort","group","Client","environment","_this","_classCallCheck2","units","_state","_refreshTask","getPatientId","read","_objectSpread","reject","undefined","_callee","options","_callee$","_context","encounter","getEncounterId","user","fhirUser","getFhirUser","getUserId","getUserType","connect","fhir","_createClass2","value","fhirJs","baseUrl","accessToken","getState","auth","token","_this$state","username","password","pass","api","patientId","tokenResponse","scope","noScopeForId","authorizeUri","noIfNoAuth","noFreeContext","getIdToken","idToken","id_token","hasOpenid","hasProfile","hasFhirUser","jwtDecode","profile","getAuthorizationHeader","_this$state2","btoa","_clearState2","_callee2","_callee2$","_context2","getStorage","SMART_KEY","unset","_clearState","create","resource","method","body","update","delete","_patch2","_callee3","patch","_args3","_callee3$","_context3","assertJsonPatch","_x3","_x4","_request","_callee7","_this2","_resolvedRefs","_a","debugRequest","job","response","_args7","_callee7$","_context7","flat","pageLimit","useRefreshToken","onPage","refreshIfNeeded","authHeader","authorization","result","includeResponse","_ref3","_callee4","_callee4$","_context4","expired","_x6","data","_ref4","_callee5","_data","_callee5$","_context5","entry","_x7","_ref5","_callee6","links","nextPage","_callee6$","_context6","link","find","l","relation","assign","references","_x8","_x5","refreshToken","expiresAt","now","refresh","_this3","debugRefresh","_b","refresh_token","tokenUri","scopes","hasOfflineAccess","search","hasOnlineAccess","encodeURIComponent","refreshTokenWithClientId","clientId","refreshRequestOptions","credentials","refreshTokenWithCredentials","mode","_this$state3","clientSecret","access_token","getAccessTokenExpiration","finally","byCode","observations","property","byCodes","getFhirVersion","metadata","fhirVersion","getFhirRelease","fhirVersions","HttpError","_Error","_callSuper","statusText","statusCode","_inherits2","_parse","_body","bodyUsed","json","error_description","text","parse","toJSON","_wrapNativeSuper2","smart_1","Client_1","BrowserStorage_1","security","js_base64_1","BrowserAdapter","_storage","replaceBrowserHistory","fullSessionStorageSupport","relative","getUrl","location","redirect","to","getAbortController","AbortController","atob","str","base64urlencode","input","encodeURL","fromUint8Array","base64urldecode","decode","getSmartApi","ready","authorize","utils","BrowserAdapter_1","adapter","_adapter$getSmartApi","fetch","Headers","Request","FHIR","oauth2","settings","_interopRequireDefault","_defineProperty2","_objectWithoutProperties2","_typeof2","_excluded","ownKeys","e","t","getOwnPropertySymbols","o","getOwnPropertyDescriptor","getOwnPropertyDescriptors","defineProperties","HttpError_1","_debug","cm","_ref2","code","ensureNumerical","kg","any","pq","checkResponse","_checkResponse","resp","ok","responseToJSON","loweCaseKeys","out","lowerKey","accept","getAndCache","force","NODE_ENV","segments","shift","createEmpty","reduce","idx","arr","arg","randomString","strLength","charSet","charAt","floor","random","payload","getTimeInFuture","secondsAhead","from","expires_in","tokenBody","exp","ret","handleCodeableConcept","concept","observation","coding","_ref6","bank","codes","resources","meta","x","patientParams","getTargetWindow","_getTargetWindow","target","width","height","targetWindow","_error","_targetWindow","winOrFrame","_args2","parent","top","open","screen","t1","frames","condition","operation","op","crypto","globalThis","subtle","isSecureContext","ALGS","ES384","namedCurve","RS384","modulusLength","publicExponent","Uint8Array","randomBytes","count","getRandomValues","digestSha256","_digestSha","prepared","TextEncoder","encode","digest","generatePKCEChallenge","entropy","inputBytes","codeVerifier","codeChallenge","_args","importJWK","_importJWK","jwk","alg","key_ops","includes","importKey","ext","signCompactJws","_signCompactJws","privateKey","header","jwtHeader","jwtPayload","jwtAuthenticatedContent","signature","sign","algorithm","isBrowser","fetchWellKnownJson","getSecurityExtensionsFromWellKnownJson","authorization_endpoint","token_endpoint","registrationUri","registration_endpoint","codeChallengeMethods","code_challenge_methods_supported","getSecurityExtensionsFromConformanceStatement","nsUri","extensions","extension","valueUri","getSecurityExtensions","_authorize","params","urlISS","cfg","fakeTokenResponse","encounterId","pkceMode","clientPublicKeySetUrl","redirect_uri","client_id","iss","launch","fhirServiceUrl","redirectUri","noRedirect","_params$scope","completeInTarget","clientPrivateJwk","stateKey","inFrame","inPopUp","oldKey","redirectUrl","redirectParams","win","issMatch","isInFrame","isInPopUp","shouldIncludeChallenge","sessionStorage","addEventListener","onMessage","S256supported","opener","origin","removeEventListener","_ready","Storage","authError","authErrorDescription","hasState","authorized","postMessage","close","has","history","replaceState","buildTokenRequest","_buildTokenRequest","pk","jwtHeaders","jwtClaims","clientAssertion","typ","kid","jku","aud","jti","_init","authorizeOptions","readyOptions","cached","_get","_set","_unset"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/build/fhir-client.min.js b/dist/build/fhir-client.min.js index 1c1f1fbc..cc81b756 100644 --- a/dist/build/fhir-client.min.js +++ b/dist/build/fhir-client.min.js @@ -1,3 +1,3 @@ /*! For license information please see fhir-client.min.js.LICENSE.txt */ -!function(){var t={7847:function(t,e,r){var n,o;n=function(){"use strict";function t(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function e(t,e){for(var r=0;r=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/));var t},e.storage=function(){try{return localStorage}catch(t){}}(),e.destroy=(n=!1,function(){n||(n=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}),e.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],e.log=console.debug||console.log||function(){},t.exports=r(9507)(e),t.exports.formatters.j=function(t){try{return JSON.stringify(t)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}},9507:function(t,e,r){"use strict";var n=r(4994)(r(1132));r(8706),r(8598),r(2062),r(4782),r(4554),r(8130),r(9432),r(6099),r(4864),r(7495),r(8781),r(5440),r(744),r(3500),t.exports=function(t){function e(t){var r,n,i,a=null;function s(){for(var t=arguments.length,n=new Array(t),o=0;o-1,'Cannot filter "'.concat(n,'" resources by patient')),t.next=5,(0,l.fetchConformanceStatement)(r.state.serverUrl);case 5:return i=t.sent,a=(0,l.getPatientParam)(i,n),e.searchParams.set(a,r.patient.id),t.abrupt("return",e.href);case 9:case"end":return t.stop()}}),t)})))).apply(this,arguments)},i=function(t){return a.apply(this,arguments)},n=(0,l.absolute)("/",r.state.serverUrl),!("string"==typeof e||e instanceof URL)){t.next=8;break}return t.next=6,i(new URL(e+"",n));case 6:return t.t0=t.sent,t.abrupt("return",{url:t.t0});case 8:return t.next=10,i(new URL(e.url+"",n));case 10:return e.url=t.sent,t.abrupt("return",e);case 12:case"end":return t.stop()}}),t)}))),g.apply(this,arguments)}function b(t,e,r,n,o){var i=(0,l.makeArray)(e.resolveReferences).filter(Boolean).map((function(t){return String(t).trim()})).filter(Boolean);if(!(i=i.filter((function(t,e){return!(i.indexOf(t,e+1)>-1&&(v('Duplicated reference path "%s"',t),1))}))).length)return Promise.resolve();var a={};i.forEach((function(t){var e=t.split(".").length;a[e]||(a[e]=[]),a[e].push(t)}));var s=Promise.resolve();return Object.keys(a).sort().forEach((function(i){var u=a[i];s=s.then((function(){return Promise.all(u.map((function(i){return function(t,e,r,n,o,i){var a=(0,l.getPath)(t,e);if(a){var s=Array.isArray(a);return Promise.all((0,l.makeArray)(a).filter(Boolean).map((function(a,u){var c=a.reference;if(c)return function(t,e,r,n){if(!e[t]){var o=n.signal,i=n.headers;e[t]=r.request({url:t,headers:i,signal:o}).then((function(r){return e[t]=r,r}),(function(r){throw delete e[t],r}))}return Promise.resolve(e[t])}(c,n,o,i).then((function(n){r&&(s?e.indexOf("..")>-1?(0,l.setPath)(t,"".concat(e.replace("..",".".concat(u,"."))),n):(0,l.setPath)(t,"".concat(e,".").concat(u),n):(0,l.setPath)(t,e,n))})).catch((function(t){if(404!==t.status)throw t}))})))}}(t,i,!!e.graph,r,n,o)})))}))})),s}var m=function(){return(0,s.default)((function t(e,r){var n=this;(0,a.default)(this,t),this.units=l.units;var i="string"==typeof r?{serverUrl:r}:r;(0,l.assert)(i.serverUrl&&i.serverUrl.match(/https?:\/\/.+/),'A "serverUrl" option is required and must begin with "http(s)"'),this.state=i,this.environment=e,this._refreshTask=null;var s=this;this.patient={get id(){return s.getPatientId()},read:function(t){var e=n.patient.id;return e?n.request(f(f({},t),{},{url:"Patient/".concat(e)})):Promise.reject(new Error("Patient is not available"))},request:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return n.patient.id?(0,u.default)(o.default.mark((function r(){var i;return o.default.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,y(t,n);case 2:return i=r.sent,r.abrupt("return",n.request(i,e));case 4:case"end":return r.stop()}}),r)})))():Promise.reject(new Error("Patient is not available"))}},this.encounter={get id(){return s.getEncounterId()},read:function(t){var e=n.encounter.id;return e?n.request(f(f({},t),{},{url:"Encounter/".concat(e)})):Promise.reject(new Error("Encounter is not available"))}},this.user={get fhirUser(){return s.getFhirUser()},get id(){return s.getUserId()},get resourceType(){return s.getUserType()},read:function(t){var e=n.user.fhirUser;return e?n.request(f(f({},t),{},{url:e})):Promise.reject(new Error("User is not available"))}},this.connect(e.fhir)}),[{key:"connect",value:function(t){if("function"==typeof t){var e={baseUrl:this.state.serverUrl.replace(/\/$/,"")},r=this.getState("tokenResponse.access_token");if(r)e.auth={token:r};else{var n=this.state,o=n.username,i=n.password;o&&i&&(e.auth={user:o,pass:i})}this.api=t(e);var a=this.getState("tokenResponse.patient");a&&(this.patient.api=t(f(f({},e),{},{patient:a})))}return this}},{key:"getPatientId",value:function(){var t=this.state.tokenResponse;return t?t.patient?t.patient:((this.state.scope||"").match(/\blaunch(\/patient)?\b/)?v("The ID of the selected patient is not available. Please check if your server supports that."):v(p.default.noScopeForId,"patient","patient"),null):(this.state.authorizeUri?v(p.default.noIfNoAuth,"the ID of the selected patient"):v(p.default.noFreeContext,"selected patient"),null)}},{key:"getEncounterId",value:function(){var t=this.state.tokenResponse;return t?t.encounter?t.encounter:((this.state.scope||"").match(/\blaunch(\/encounter)?\b/)?v("The ID of the selected encounter is not available. Please check if your server supports that, and that the selected patient has any recorded encounters."):v(p.default.noScopeForId,"encounter","encounter"),null):(this.state.authorizeUri?v(p.default.noIfNoAuth,"the ID of the selected encounter"):v(p.default.noFreeContext,"selected encounter"),null)}},{key:"getIdToken",value:function(){var t=this.state.tokenResponse;if(t){var e=t.id_token,r=this.state.scope||"";if(!e){var n=r.match(/\bopenid\b/),o=r.match(/\bprofile\b/),i=r.match(/\bfhirUser\b/);return v(n&&(i||o)?"The id_token is not available. Please check if your server supports that.":"You are trying to get the id_token but you are not using the right scopes. Please add 'openid' and 'fhirUser' or 'profile' to the scopes you are requesting."),null}return(0,l.jwtDecode)(e,this.environment)}return this.state.authorizeUri?v(p.default.noIfNoAuth,"the id_token"):v(p.default.noFreeContext,"id_token"),null}},{key:"getFhirUser",value:function(){var t=this.getIdToken();return t?t.fhirUser?t.fhirUser.split("/").slice(-2).join("/"):t.profile:null}},{key:"getUserId",value:function(){var t=this.getFhirUser();return t?t.split("/")[1]:null}},{key:"getUserType",value:function(){var t=this.getFhirUser();return t?t.split("/")[0]:null}},{key:"getAuthorizationHeader",value:function(){var t=this.getState("tokenResponse.access_token");if(t)return"Bearer "+t;var e=this.state,r=e.username,n=e.password;return r&&n?"Basic "+this.environment.btoa(r+":"+n):null}},{key:"_clearState",value:(r=(0,u.default)(o.default.mark((function t(){var e,r;return o.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=this.environment.getStorage(),t.next=3,e.get(h.SMART_KEY);case 3:if(!(r=t.sent)){t.next=7;break}return t.next=7,e.unset(r);case 7:return t.next=9,e.unset(h.SMART_KEY);case 9:this.state.tokenResponse={};case 10:case"end":return t.stop()}}),t,this)}))),function(){return r.apply(this,arguments)})},{key:"create",value:function(t,e){return this.request(f(f({},e),{},{url:"".concat(t.resourceType),method:"POST",body:JSON.stringify(t),headers:f({"content-type":"application/json"},(e||{}).headers)}))}},{key:"update",value:function(t,e){return this.request(f(f({},e),{},{url:"".concat(t.resourceType,"/").concat(t.id),method:"PUT",body:JSON.stringify(t),headers:f({"content-type":"application/json"},(e||{}).headers)}))}},{key:"delete",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.request(f(f({},e),{},{url:t,method:"DELETE"}))}},{key:"patch",value:(e=(0,u.default)(o.default.mark((function t(e,r){var n,i=arguments;return o.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=i.length>2&&void 0!==i[2]?i[2]:{},(0,l.assertJsonPatch)(r),t.abrupt("return",this.request(f(f({},n),{},{url:e,method:"PATCH",body:JSON.stringify(r),headers:f({prefer:"return=presentation","content-type":"application/json-patch+json; charset=UTF-8"},n.headers)})));case 3:case"end":return t.stop()}}),t,this)}))),function(t,r){return e.apply(this,arguments)})},{key:"request",value:(t=(0,u.default)(o.default.mark((function t(e){var r,n,i,a,s,c,h,v,y,g=this,m=arguments;return o.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=m.length>1&&void 0!==m[1]?m[1]:{},n=m.length>2&&void 0!==m[2]?m[2]:{},a=l.debug.extend("client:request"),(0,l.assert)(e,"request requires an url or request options as argument"),"string"==typeof e||e instanceof URL?(s=String(e),e={}):s=String(e.url),s=(0,l.absolute)(s,this.state.serverUrl),c={graph:!1!==r.graph,flat:!!r.flat,pageLimit:null!==(i=r.pageLimit)&&void 0!==i?i:1,resolveReferences:r.resolveReferences||[],useRefreshToken:!1!==r.useRefreshToken,onPage:"function"==typeof r.onPage?r.onPage:void 0},h=e.signal||void 0,v=c.useRefreshToken?this.refreshIfNeeded({signal:h}).then((function(){return e})):Promise.resolve(e),t.abrupt("return",v.then((function(t){var e=g.getAuthorizationHeader();return e&&(t.headers=f(f({},t.headers),{},{authorization:e})),t})).then((function(t){return a("%s, options: %O, fhirOptions: %O",s,t,c),(0,l.request)(s,t).then((function(e){return t.includeResponse?(y=e.response,e.body):e}))})).catch(function(){var t=(0,u.default)(o.default.mark((function t(e){return o.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(401!=e.status){t.next=15;break}if(g.getState("tokenResponse.access_token")){t.next=4;break}throw e.message+="\nThis app cannot be accessed directly. Please launch it as SMART app!",e;case 4:if(c.useRefreshToken){t.next=10;break}return a("Your session has expired and the useRefreshToken option is set to false. Please re-launch the app."),t.next=8,g._clearState();case 8:case 13:throw e.message+="\n"+p.default.expired,e;case 10:return a("Auto-refresh failed! Please re-launch the app."),t.next=13,g._clearState();case 15:throw e;case 16:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()).catch((function(t){throw 403==t.status&&a("Permission denied! Please make sure that you have requested the proper scopes."),t})).then((function(t){return!t||"string"==typeof t||t instanceof d?e.includeResponse?{body:t,response:y}:t:(r=(0,u.default)(o.default.mark((function t(r){return o.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if("Bundle"!=r.resourceType){t.next=5;break}return t.next=3,Promise.all((r.entry||[]).map((function(t){return b(t.resource,c,n,g,e)})));case 3:t.next=7;break;case 5:return t.next=7,b(r,c,n,g,e);case 7:return t.abrupt("return",r);case 8:case"end":return t.stop()}}),t)}))),function(t){return r.apply(this,arguments)})(t).then(function(){var t=(0,u.default)(o.default.mark((function t(e){var r,i,a;return o.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!e||"Bundle"!=e.resourceType){t.next=19;break}if(r=e.link||[],c.flat&&(e=(e.entry||[]).map((function(t){return t.resource}))),!c.onPage){t.next=6;break}return t.next=6,c.onPage(e,f({},n));case 6:if(! --c.pageLimit){t.next=19;break}if(i=r.find((function(t){return"next"==t.relation})),e=(0,l.makeArray)(e),!i||!i.url){t.next=19;break}return t.next=12,g.request({url:i.url,signal:h},c,n);case 12:if(a=t.sent,!c.onPage){t.next=15;break}return t.abrupt("return",null);case 15:if(!c.resolveReferences.length){t.next=18;break}return Object.assign(n,a.references),t.abrupt("return",e.concat((0,l.makeArray)(a.data||a)));case 18:return t.abrupt("return",e.concat((0,l.makeArray)(a)));case 19:return t.abrupt("return",e);case 20:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()).then((function(t){if(c.graph)n={};else if(!c.onPage&&c.resolveReferences.length)return{data:t,references:n};return t})).then((function(t){return e.includeResponse?{body:t,response:y}:t}));var r})));case 10:case"end":return t.stop()}}),t,this)}))),function(e){return t.apply(this,arguments)})},{key:"refreshIfNeeded",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=this.getState("tokenResponse.access_token"),r=this.getState("tokenResponse.refresh_token"),n=this.state.expiresAt||0;return e&&r&&n-100&&void 0!==arguments[0]?arguments[0]:{},o=l.debug.extend("client:refresh");o("Attempting to refresh with refresh_token...");var i=null===(e=null===(t=this.state)||void 0===t?void 0:t.tokenResponse)||void 0===e?void 0:e.refresh_token;(0,l.assert)(i,"Unable to refresh. No refresh_token found.");var a=this.state.tokenUri;(0,l.assert)(a,"Unable to refresh. No tokenUri found.");var s=this.getState("tokenResponse.scope")||"",u=s.search(/\boffline_access\b/)>-1,c=s.search(/\bonline_access\b/)>-1;if((0,l.assert)(u||c,"Unable to refresh. No offline_access or online_access scope found."),!this._refreshTask){var p="grant_type=refresh_token&refresh_token=".concat(encodeURIComponent(i));this.environment.options.refreshTokenWithClientId&&(p+="&client_id=".concat(this.state.clientId));var h=f(f({credentials:this.environment.options.refreshTokenWithCredentials||"same-origin"},n),{},{method:"POST",mode:"cors",headers:f(f({},n.headers||{}),{},{"content-type":"application/x-www-form-urlencoded"}),body:p});if(!("authorization"in h.headers)){var d=this.state,v=d.clientSecret,y=d.clientId;v&&(h.headers.authorization="Basic "+this.environment.btoa(y+":"+v))}this._refreshTask=(0,l.request)(a,h).then((function(t){return(0,l.assert)(t.access_token,"No access token received"),o("Received new access token response %O",t),r.state.tokenResponse=f(f({},r.state.tokenResponse),t),r.state.expiresAt=(0,l.getAccessTokenExpiration)(t,r.environment),r.state})).catch((function(t){var e,n;throw(null===(n=null===(e=r.state)||void 0===e?void 0:e.tokenResponse)||void 0===n?void 0:n.refresh_token)&&(o("Deleting the expired or invalid refresh token."),delete r.state.tokenResponse.refresh_token),t})).finally((function(){r._refreshTask=null;var t=r.state.key;t?r.environment.getStorage().set(t,r.state):o("No 'key' found in Clint.state. Cannot persist the instance.")}))}return this._refreshTask}},{key:"byCode",value:function(t,e){return(0,l.byCode)(t,e)}},{key:"byCodes",value:function(t,e){return(0,l.byCodes)(t,e)}},{key:"getPath",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return(0,l.getPath)(t,e)}},{key:"getState",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return(0,l.getPath)(f({},this.state),t)}},{key:"getFhirVersion",value:function(){return(0,l.fetchConformanceStatement)(this.state.serverUrl).then((function(t){return t.fhirVersion}))}},{key:"getFhirRelease",value:function(){return this.getFhirVersion().then((function(t){var e;return null!==(e=h.fhirVersions[t])&&void 0!==e?e:0}))}}]);var t,e,r}();e.default=m},1829:function(t,e,r){"use strict";r(825);var n=r(4994),o=n(r(4756));r(8706),r(2010),r(7495),r(1761);var i=n(r(9293)),a=n(r(7383)),s=n(r(4579)),u=n(r(8452)),c=n(r(3072)),f=n(r(9511)),l=n(r(1837));function p(t,e,r){return e=(0,c.default)(e),(0,u.default)(t,h()?Reflect.construct(e,r||[],(0,c.default)(t).constructor):e.apply(t,r))}function h(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(h=function(){return!!t})()}Object.defineProperty(e,"__esModule",{value:!0});var d=function(t){function e(t){var r;return(0,a.default)(this,e),(r=p(this,e,["".concat(t.status," ").concat(t.statusText,"\nURL: ").concat(t.url)])).name="HttpError",r.response=t,r.statusCode=t.status,r.status=t.status,r.statusText=t.statusText,r}return(0,f.default)(e,t),(0,s.default)(e,[{key:"parse",value:(r=(0,i.default)(o.default.mark((function t(){var e,r,n;return o.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(this.response.bodyUsed){t.next=19;break}if(t.prev=1,!(e=this.response.headers.get("content-type")||"text/plain").match(/\bjson\b/i)){t.next=10;break}return t.next=6,this.response.json();case 6:(r=t.sent).error?(this.message+="\n"+r.error,r.error_description&&(this.message+=": "+r.error_description)):this.message+="\n\n"+JSON.stringify(r,null,4),t.next=15;break;case 10:if(!e.match(/^text\//i)){t.next=15;break}return t.next=13,this.response.text();case 13:(n=t.sent)&&(this.message+="\n\n"+n);case 15:t.next=19;break;case 17:t.prev=17,t.t0=t.catch(1);case 19:return t.abrupt("return",this);case 20:case"end":return t.stop()}}),t,this,[[1,17]])}))),function(){return r.apply(this,arguments)})},{key:"toJSON",value:function(){return{name:this.name,statusCode:this.statusCode,status:this.status,statusText:this.statusText,message:this.message}}}]);var r}((0,l.default)(Error));e.default=d},7129:function(t,e,r){"use strict";r(2675),r(2008),r(3851),r(1278),r(9432),r(3500);var n=r(4994);r(8706),r(3792),r(6099),r(7764),r(2953),r(3296),r(7208),r(8408);var o=n(r(3693)),i=n(r(7383)),a=n(r(4579));function s(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}Object.defineProperty(e,"__esModule",{value:!0});var u=r(438),c=r(7024),f=r(4944),l=r(4818),p=r(8127),h=function(){return(0,a.default)((function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(0,i.default)(this,t),this._url=null,this._storage=null,this.security=l,this.options=function(t){for(var e=1;e1&&void 0!==arguments[1]?arguments[1]:{},r=e.includeResponse,n=(0,a.default)(e,c);return v(t,l(l({mode:"cors"},n),{},{headers:l({accept:"application/json"},S(n.headers))})).then(m).then((function(t){var e=t.headers.get("content-type")+"";return e.match(/\bjson\b/i)?x(t).then((function(e){return{res:t,body:e}})):e.match(/^text\//i)?t.text().then((function(e){return{res:t,body:e}})):{res:t}})).then((function(t){var e=t.res,o=t.body;if(!o&&201==e.status){var i=e.headers.get("location");if(i)return A(i,l(l({},n),{},{method:"GET",body:null,includeResponse:r}))}return r?{body:o,response:e}:void 0===o?e:o}))}function k(t,e){return arguments.length>2&&void 0!==arguments[2]&&arguments[2]||!g[t]?(g[t]=A(t,e),g[t]):Promise.resolve(g[t])}function O(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if(!(e=e.trim()))return t;for(var r=e.split("."),n=t;n&&r.length;){var o=r.shift();if(!o&&Array.isArray(n))return n.map((function(t){return O(t,r.join("."))}));n=n[o]}return n}function E(t){return Array.isArray(t)?t:[t]}function P(t,e){var r=t.split(".")[1];return r?JSON.parse(e.atob(r)):null}function C(t,e){var r={};function n(t,e){t&&Array.isArray(t.coding)&&t.coding.forEach((function(t){var n=t.code;n&&(r[n]=r[n]||[],r[n].push(e))}))}return E(t).forEach((function(t){"Observation"===t.resourceType&&t[e]&&(Array.isArray(t[e])?t[e].forEach((function(e){return n(e,t)})):n(t[e],t))})),r}function R(){return R=(0,u.default)(o.default.mark((function t(e){var r,n,i,a,u,c,f,l=arguments;return o.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r=l.length>1&&void 0!==l[1]?l[1]:800,n=l.length>2&&void 0!==l[2]?l[2]:720,"function"!=typeof e){t.next=6;break}return t.next=5,e();case 5:e=t.sent;case 6:if(!e||"object"!=(0,s.default)(e)){t.next=8;break}return t.abrupt("return",e);case 8:if("string"==typeof e){t.next=11;break}return y("Invalid target type '%s'. Failing back to '_self'.",(0,s.default)(e)),t.abrupt("return",self);case 11:if("_self"!=e){t.next=13;break}return t.abrupt("return",self);case 13:if("_parent"!=e){t.next=15;break}return t.abrupt("return",parent);case 15:if("_top"!=e){t.next=17;break}return t.abrupt("return",top||self);case 17:if("_blank"!=e){t.next=34;break}if(a=null,t.prev=19,a=window.open("","SMARTAuthPopup")){t.next=23;break}throw new Error("Perhaps window.open was blocked");case 23:t.next=28;break;case 25:t.prev=25,t.t0=t.catch(19),i=t.t0;case 28:if(a){t.next=33;break}return y("Cannot open window. Failing back to '_self'. %s",i),t.abrupt("return",self);case 33:return t.abrupt("return",a);case 34:if("popup"!=e){t.next=51;break}if(c=null,t.prev=36,c=window.open("","SMARTAuthPopup",["height="+n,"width="+r,"menubar=0","resizable=1","status=0","top="+(screen.height-n)/2,"left="+(screen.width-r)/2].join(","))){t.next=40;break}throw new Error("Perhaps the popup window was blocked");case 40:t.next=45;break;case 42:t.prev=42,t.t1=t.catch(36),u=t.t1;case 45:if(c){t.next=50;break}return y("Cannot open window. Failing back to '_self'. %s",u),t.abrupt("return",self);case 50:return t.abrupt("return",c);case 51:if(!(f=frames[e])){t.next=54;break}return t.abrupt("return",f);case 54:return y("Unknown target '%s'. Failing back to '_self'.",e),t.abrupt("return",self);case 56:case"end":return t.stop()}}),t,null,[[19,25],[36,42]])}))),R.apply(this,arguments)}function _(t,e){if(!t)throw new Error(e)}e.units={cm:function(t){var e=t.code,r=t.value;if(b({code:e,value:r}),"cm"==e)return r;if("m"==e)return 100*r;if("in"==e)return 2.54*r;if("[in_us]"==e)return 2.54*r;if("[in_i]"==e)return 2.54*r;if("ft"==e)return 30.48*r;if("[ft_us]"==e)return 30.48*r;throw new Error("Unrecognized length unit: "+e)},kg:function(t){var e=t.code,r=t.value;if(b({code:e,value:r}),"kg"==e)return r;if("g"==e)return r/1e3;if(e.match(/lb/))return r/2.20462;if(e.match(/oz/))return r/35.274;throw new Error("Unrecognized weight unit: "+e)},any:function(t){return b(t),t.value}},e.checkResponse=m,e.responseToJSON=x,e.loweCaseKeys=S,e.request=A,e.getAndCache=k,e.fetchConformanceStatement=function(){var t=arguments.length>1?arguments[1]:void 0,e=String(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/").replace(/\/*$/,"/")+"metadata";return k(e,t).catch((function(t){throw new Error('Failed to fetch the conformance statement from "'.concat(e,'". ').concat(t))}))},e.getPath=O,e.setPath=function(t,e,r){var n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return e.trim().split(".").reduce((function(t,e,o,i){if(!t||o!==i.length-1)return t&&void 0===t[e]&&n&&(t[e]=i[o+1].match(/^[0-9]+$/)?[]:{}),t?t[e]:void 0;t[e]=r}),t),t},e.makeArray=E,e.absolute=function(t,e){return t.match(/^http/)||t.match(/^urn/)?t:String(e||"").replace(/\/+$/,"")+"/"+t.replace(/^\/+/,"")},e.randomString=function(){for(var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:8,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",r=[],n=e.length;t--;)r.push(e.charAt(Math.floor(Math.random()*n)));return r.join("")},e.jwtDecode=P,e.getTimeInFuture=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:120,e=arguments.length>1?arguments[1]:void 0;return Math.floor(+(e||new Date)/1e3+t)},e.getAccessTokenExpiration=function(t,e){var r=Math.floor(Date.now()/1e3);if(t.expires_in)return r+t.expires_in;if(t.access_token){var n=P(t.access_token,e);if(n&&n.exp)return n.exp}return r+300},e.byCode=C,e.byCodes=function(t,e){var r=C(t,e);return function(){for(var t=arguments.length,e=new Array(t),n=0;n0,"The JSON patch array should not be empty"),t.forEach((function(t){_(["add","replace","test","move","copy","remove"].indexOf(t.op)>-1,'Each patch operation must have an "op" property which must be one of: "add", "replace", "test", "move", "copy", "remove"'),_(t.path&&(0,s.default)(t.path),'Invalid "'.concat(t.op,'" operation. Missing "path" property')),"add"==t.op||"replace"==t.op||"test"==t.op?(_("value"in t,'Invalid "'.concat(t.op,'" operation. Missing "value" property')),_(3==Object.keys(t).length,'Invalid "'.concat(t.op,'" operation. Contains unknown properties'))):"move"==t.op||"copy"==t.op?(_("string"==typeof t.from,'Invalid "'.concat(t.op,'" operation. Requires a string "from" property')),_(3==Object.keys(t).length,'Invalid "'.concat(t.op,'" operation. Contains unknown properties'))):_(2==Object.keys(t).length,'Invalid "'.concat(t.op,'" operation. Contains unknown properties'))}))}},4818:function(t,e,r){"use strict";r(2675),r(2008),r(3851),r(1278),r(9432),r(3500);var n=r(4994),o=n(r(4756));r(8706),r(4423),r(3792),r(4743),r(6099),r(1699),r(1489),r(1630),r(2170),r(5044),r(1920),r(1694),r(9955),r(3206),r(4496),r(6651),r(2887),r(9369),r(6812),r(8995),r(1575),r(6072),r(8747),r(8845),r(9423),r(7301),r(373),r(6614),r(1405),r(3684),r(2480);var i=n(r(3693)),a=n(r(9293)),s=n(r(3738));function u(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function c(t){for(var e=1;e0&&void 0!==i[0]?i[0]:96),r=(0,f.fromUint8Array)(e,!0),t.t0=f.fromUint8Array,t.next=6,v(r);case 6:return t.t1=t.sent,n=(0,t.t0)(t.t1,!0),t.abrupt("return",{codeChallenge:n,codeVerifier:r});case 9:case"end":return t.stop()}}),t)})));return function(){return t.apply(this,arguments)}}();function b(){return(b=(0,a.default)(o.default.mark((function t(e){return o.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(e.alg){t.next=2;break}throw new Error('The "alg" property of the JWK must be set to "ES384" or "RS384"');case 2:if(Array.isArray(e.key_ops)||(e.key_ops=["sign"]),e.key_ops.includes("sign")){t.next=5;break}throw new Error('The "key_ops" property of the JWK does not contain "sign"');case 5:return t.prev=5,t.next=8,p().importKey("jwk",e,h[e.alg],!0===e.ext,e.key_ops);case 8:return t.abrupt("return",t.sent);case 11:throw t.prev=11,t.t0=t.catch(5),new Error("The ".concat(e.alg," is not supported by this browser: ").concat(t.t0));case 14:case"end":return t.stop()}}),t,null,[[5,11]])})))).apply(this,arguments)}function m(){return(m=(0,a.default)(o.default.mark((function t(e,r,n,i){var a,s,u,l;return o.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a=JSON.stringify(c(c({},n),{},{alg:e})),s=JSON.stringify(i),u="".concat((0,f.encodeURL)(a),".").concat((0,f.encodeURL)(s)),t.next=5,p().sign(c(c({},r.algorithm),{},{hash:"SHA-384"}),r,(new TextEncoder).encode(u));case 5:return l=t.sent,t.abrupt("return","".concat(u,".").concat((0,f.fromUint8Array)(new Uint8Array(l),!0)));case 7:case"end":return t.stop()}}),t)})))).apply(this,arguments)}e.generatePKCEChallenge=g,e.importJWK=function(t){return b.apply(this,arguments)},e.signCompactJws=function(t,e,r,n){return m.apply(this,arguments)}},9830:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SMART_KEY=e.patientParams=e.fhirVersions=e.patientCompartment=void 0,e.patientCompartment=["Account","AdverseEvent","AllergyIntolerance","Appointment","AppointmentResponse","AuditEvent","Basic","BodySite","BodyStructure","CarePlan","CareTeam","ChargeItem","Claim","ClaimResponse","ClinicalImpression","Communication","CommunicationRequest","Composition","Condition","Consent","Coverage","CoverageEligibilityRequest","CoverageEligibilityResponse","DetectedIssue","DeviceRequest","DeviceUseRequest","DeviceUseStatement","DiagnosticOrder","DiagnosticReport","DocumentManifest","DocumentReference","EligibilityRequest","Encounter","EnrollmentRequest","EpisodeOfCare","ExplanationOfBenefit","FamilyMemberHistory","Flag","Goal","Group","ImagingManifest","ImagingObjectSelection","ImagingStudy","Immunization","ImmunizationEvaluation","ImmunizationRecommendation","Invoice","List","MeasureReport","Media","MedicationAdministration","MedicationDispense","MedicationOrder","MedicationRequest","MedicationStatement","MolecularSequence","NutritionOrder","Observation","Order","Patient","Person","Procedure","ProcedureRequest","Provenance","QuestionnaireResponse","ReferralRequest","RelatedPerson","RequestGroup","ResearchSubject","RiskAssessment","Schedule","ServiceRequest","Specimen","SupplyDelivery","SupplyRequest","VisionPrescription"],e.fhirVersions={"0.4.0":2,"0.5.0":2,"1.0.0":2,"1.0.1":2,"1.0.2":2,"1.1.0":3,"1.4.0":3,"1.6.0":3,"1.8.0":3,"3.0.0":3,"3.0.1":3,"3.3.0":4,"3.5.0":4,"4.0.0":4,"4.0.1":4},e.patientParams=["patient","subject","requester","member","actor","beneficiary"],e.SMART_KEY="SMART_KEY"},438:function(t,e,r){"use strict";r(2675),r(3851),r(1278),r(9432);var n=r(4994),o=n(r(4756));r(8706),r(2008),r(113),r(4423),r(3792),r(8598),r(2062),r(2010),r(9085),r(6099),r(3362),r(4864),r(7495),r(8781),r(1699),r(7764),r(1761),r(5440),r(3500),r(2953),r(3296),r(7208),r(8408);var i=n(r(3693)),a=n(r(9293)),s=n(r(3738));function u(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function c(t){for(var e=1;e1?arguments[1]:void 0,e=String(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/").replace(/\/*$/,"/")+".well-known/smart-configuration";return(0,f.getAndCache)(e,t).catch((function(t){throw new Error('Failed to fetch the well-known json "'.concat(e,'". ').concat(t.message))}))}function y(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/";return function(){return v(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/",arguments.length>1?arguments[1]:void 0).then((function(t){if(!t.authorization_endpoint||!t.token_endpoint)throw new Error("Invalid wellKnownJson");return{registrationUri:t.registration_endpoint||"",authorizeUri:t.authorization_endpoint,tokenUri:t.token_endpoint,codeChallengeMethods:t.code_challenge_methods_supported||[]}}))}(t).catch((function(){return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/",e=arguments.length>1?arguments[1]:void 0;return(0,f.fetchConformanceStatement)(t,e).then((function(t){var e=((0,f.getPath)(t||{},"rest.0.security.extension")||[]).filter((function(t){return"http://fhir-registry.smarthealthit.org/StructureDefinition/oauth-uris"===t.url})).map((function(t){return t.extension}))[0],r={registrationUri:"",authorizeUri:"",tokenUri:"",codeChallengeMethods:[]};return e&&e.forEach((function(t){"register"===t.url&&(r.registrationUri=t.valueUri),"authorize"===t.url&&(r.authorizeUri=t.valueUri),"token"===t.url&&(r.tokenUri=t.valueUri)})),r}))}(t)}))}function g(t){return b.apply(this,arguments)}function b(){return b=(0,a.default)(o.default.mark((function t(e){var r,n,i,a,s,u,c,l,v,b,A,k,O,E,P,C,R,_,T,j,U,I,F,M,L,B,N,D,K,q,H,z,G,J,V,W,Y,$=arguments;return o.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r=$.length>1&&void 0!==$[1]?$[1]:{},n=e.getUrl(),!Array.isArray(r)){t.next=11;break}if(i=n.searchParams.get("iss")||n.searchParams.get("fhirServiceUrl")){t.next=6;break}throw new Error('Passing in an "iss" url parameter is required if authorize uses multiple configurations');case 6:return a=r.find((function(t){if(t.issMatch){if("function"==typeof t.issMatch)return!!t.issMatch(i);if("string"==typeof t.issMatch)return t.issMatch===i;if(t.issMatch instanceof RegExp)return t.issMatch.test(i)}return!1})),(0,f.assert)(a,'No configuration found matching the current "iss" parameter "'.concat(i,'"')),t.next=10,g(e,a);case 10:return t.abrupt("return",t.sent);case 11:if(s=r.clientSecret,u=r.fakeTokenResponse,c=r.encounterId,l=r.target,v=r.width,b=r.height,A=r.pkceMode,k=r.clientPublicKeySetUrl,O=r.redirect_uri,E=r.client_id,P=r.iss,C=r.launch,R=r.patientId,_=r.fhirServiceUrl,T=r.redirectUri,j=r.noRedirect,U=r.scope,I=void 0===U?"":U,F=r.clientId,M=r.completeInTarget,L=r.clientPrivateJwk,B=r.stateKey,N=e.getStorage(),P=n.searchParams.get("iss")||P,_=n.searchParams.get("fhirServiceUrl")||_,C=n.searchParams.get("launch")||C,R=n.searchParams.get("patientId")||R,(F=n.searchParams.get("clientId")||F)||(F=E),T||(T=O),T?T.match(/^https?\:\/\//)||(T=e.relative(T)):T=e.relative("."),D=String(P||_||"")){t.next=25;break}throw new Error("No server url found. It must be specified as `iss` or as `fhirServiceUrl` parameter");case 25:return P&&h("Making %s launch...",C?"EHR":"standalone"),C&&!I.match(/launch/)&&(I+=" launch"),d()&&(K=w(),q=x(),(K||q)&&!0!==M&&!1!==M&&(M=K,console.warn('Your app is being authorized from within an iframe or popup window. Please be explicit and provide a "completeInTarget" option. Use "true" to complete the authorization in the same window, or "false" to try to complete it in the parent or the opener window. See http://docs.smarthealthit.org/client-js/api.html'))),t.next=30,N.get(p.SMART_KEY);case 30:return H=t.sent,t.next=33,N.unset(H);case 33:if(B=null!=B?B:(0,f.randomString)(16),z={clientId:F,scope:I,redirectUri:T,serverUrl:D,clientSecret:s,clientPrivateJwk:L,tokenResponse:{},key:B,completeInTarget:M,clientPublicKeySetUrl:k},d()&&!(0,f.getPath)(e,"options.fullSessionStorageSupport")){t.next=39;break}return t.next=39,N.set(p.SMART_KEY,B);case 39:if(u&&Object.assign(z.tokenResponse,u),R&&Object.assign(z.tokenResponse,{patient:R}),c&&Object.assign(z.tokenResponse,{encounter:c}),G=T+"?state="+encodeURIComponent(B),!_||P){t.next=52;break}return h("Making fake launch..."),t.next=47,N.set(B,z);case 47:if(!j){t.next=49;break}return t.abrupt("return",G);case 49:return t.next=51,e.redirect(G);case 51:return t.abrupt("return",t.sent);case 52:return t.next=54,y(D);case 54:return J=t.sent,Object.assign(z,J),t.next=58,N.set(B,z);case 58:if(z.authorizeUri){t.next=64;break}if(!j){t.next=61;break}return t.abrupt("return",G);case 61:return t.next=63,e.redirect(G);case 63:return t.abrupt("return",t.sent);case 64:if(V=["response_type=code","client_id="+encodeURIComponent(F||""),"scope="+encodeURIComponent(I),"redirect_uri="+encodeURIComponent(T),"aud="+encodeURIComponent(D),"state="+encodeURIComponent(B)],C&&V.push("launch="+encodeURIComponent(C)),!m(J.codeChallengeMethods.includes("S256"),A)){t.next=75;break}return t.next=69,e.security.generatePKCEChallenge();case 69:return W=t.sent,Object.assign(z,W),t.next=73,N.set(B,z);case 73:V.push("code_challenge="+z.codeChallenge),V.push("code_challenge_method=S256");case 75:if(G=z.authorizeUri+"?"+V.join("&"),!j){t.next=78;break}return t.abrupt("return",G);case 78:if(!l||!d()){t.next=87;break}return t.next=81,(0,f.getTargetWindow)(l,v,b);case 81:if((Y=t.sent)!==self)try{Y.sessionStorage.removeItem(H),Y.sessionStorage.setItem(B,JSON.stringify(z))}catch(t){(0,f.debug)('Failed to modify window.sessionStorage. Perhaps it is from different origin?. Failing back to "_self". %s',t),Y=self}if(Y!==self)try{Y.location.href=G,self.addEventListener("message",S)}catch(t){(0,f.debug)('Failed to modify window.location. Perhaps it is from different origin?. Failing back to "_self". %s',t),self.location.href=G}else self.location.href=G;return t.abrupt("return");case 87:return t.next=89,e.redirect(G);case 89:return t.abrupt("return",t.sent);case 90:case"end":return t.stop()}}),t)}))),b.apply(this,arguments)}function m(t,e){if("disabled"===e)return!1;if("unsafeV1"===e)return!0;if("required"===e){if(!t)throw new Error("Required PKCE code challenge method (`S256`) was not found in the server's codeChallengeMethods declaration.");return!0}return t}function w(){try{return self!==top&&parent!==self}catch(t){return!0}}function x(){try{return self===top&&!!opener&&opener!==self&&!!window.name}catch(t){return!1}}function S(t){"completeAuth"==t.data.type&&t.origin===new URL(self.location.href).origin&&(window.removeEventListener("message",S),window.location.href=t.data.url)}function A(t){return k.apply(this,arguments)}function k(){return k=(0,a.default)(o.default.mark((function t(e){var r,n,i,a,s,u,v,y,g,b,m,S,A,k,E,P,C,R,_,T,j=arguments;return o.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r=j.length>1&&void 0!==j[1]?j[1]:{},a=e.getUrl(),s=e.getStorage(),u=a.searchParams,v=u.get("state"),y=u.get("code"),g=u.get("error"),b=u.get("error_description"),v){t.next=12;break}return t.next=11,s.get(p.SMART_KEY);case 11:v=t.sent;case 12:if(!g&&!b){t.next=14;break}throw new Error([g,b].filter(Boolean).join(": "));case 14:return h("key: %s, code: %s",v,y),(0,f.assert)(v,"No 'state' parameter found. Please (re)launch the app."),t.next=18,s.get(v);case 18:if(m=t.sent,S=!d()||(0,f.getPath)(e,"options.fullSessionStorageSupport"),!d()||!m||m.completeInTarget){t.next=29;break}if(A=w(),k=x(),!A&&!k||a.searchParams.get("complete")){t.next=29;break}return a.searchParams.set("complete","1"),E=a.href,P=a.origin,A&&parent.postMessage({type:"completeAuth",url:E},P),k&&(opener.postMessage({type:"completeAuth",url:E},P),window.close()),t.abrupt("return",new Promise((function(){})));case 29:if(a.searchParams.delete("complete"),C=u.has("state"),d()&&(0,f.getPath)(e,"options.replaceBrowserHistory")&&(y||C)&&(y&&(u.delete("code"),h("Removed code parameter from the url.")),C&&S&&(u.delete("state"),h("Removed state parameter from the url.")),window.history.replaceState&&window.history.replaceState({},"",a.href)),(0,f.assert)(m,"No state found! Please (re)launch the app."),!y||(null===(n=m.tokenResponse)||void 0===n?void 0:n.access_token)||!m.tokenUri){t.next=53;break}return(0,f.assert)(y,"'code' url parameter is required"),h("Preparing to exchange the code for access token..."),t.next=39,O(e,{code:y,state:m,clientPublicKeySetUrl:r.clientPublicKeySetUrl,privateKey:r.privateKey||m.clientPrivateJwk});case 39:return R=t.sent,h("Token request options: %O",R),t.next=43,(0,f.request)(m.tokenUri,R);case 43:return _=t.sent,h("Token response: %O",_),(0,f.assert)(_.access_token,"Failed to obtain access token."),m.expiresAt=(0,f.getAccessTokenExpiration)(_,e),m=c(c({},m),{},{tokenResponse:_}),t.next=50,s.set(v,m);case 50:h("Authorization successful!"),t.next=54;break;case 53:h((null===(i=m.tokenResponse)||void 0===i?void 0:i.access_token)?"Already authorized":"No authorization needed");case 54:if(!S){t.next=57;break}return t.next=57,s.set(p.SMART_KEY,v);case 57:return T=new l.default(e,m),h("Created client instance: %O",T),t.abrupt("return",T);case 60:case"end":return t.stop()}}),t)}))),k.apply(this,arguments)}function O(t,e){return E.apply(this,arguments)}function E(){return(E=(0,a.default)(o.default.mark((function t(e,r){var n,i,a,s,u,c,l,p,d,v,y,g,b,m;return o.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=r.code,i=r.state,a=r.clientPublicKeySetUrl,s=r.privateKey,u=i.redirectUri,c=i.clientSecret,l=i.tokenUri,p=i.clientId,d=i.codeVerifier,(0,f.assert)(u,"Missing state.redirectUri"),(0,f.assert)(l,"Missing state.tokenUri"),(0,f.assert)(p,"Missing state.clientId"),v={method:"POST",headers:{"content-type":"application/x-www-form-urlencoded"},body:"code=".concat(n,"&grant_type=authorization_code&redirect_uri=").concat(encodeURIComponent(u))},!c){t.next=11;break}v.headers.authorization="Basic "+e.btoa(p+":"+c),h("Using state.clientSecret to construct the authorization header: %s",v.headers.authorization),t.next=32;break;case 11:if(!s){t.next=30;break}if(!("key"in s)){t.next=16;break}t.t0=s.key,t.next=19;break;case 16:return t.next=18,e.security.importJWK(s);case 18:t.t0=t.sent;case 19:return y=t.t0,g={typ:"JWT",kid:s.kid,jku:a||i.clientPublicKeySetUrl},b={iss:p,sub:p,aud:l,jti:e.base64urlencode(e.security.randomBytes(32)),exp:(0,f.getTimeInFuture)(120)},t.next=24,e.security.signCompactJws(s.alg,y,g,b);case 24:m=t.sent,v.body+="&client_assertion_type=".concat(encodeURIComponent("urn:ietf:params:oauth:client-assertion-type:jwt-bearer")),v.body+="&client_assertion=".concat(encodeURIComponent(m)),h("Using state.clientPrivateJwk to add a client_assertion to the POST body"),t.next=32;break;case 30:h("Public client detected; adding state.clientId to the POST body"),v.body+="&client_id=".concat(encodeURIComponent(p));case 32:return d&&(h("Found state.codeVerifier, adding to the POST body"),v.body+="&code_verifier="+d),t.abrupt("return",v);case 34:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function P(){return(P=(0,a.default)(o.default.mark((function t(e,r,n){var i,a,s,u,c,f;return o.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(i=e.getUrl(),a=i.searchParams.get("code"),s=i.searchParams.get("state"),!a||!s){t.next=5;break}return t.abrupt("return",A(e,n));case 5:if(u=e.getStorage(),t.t0=s,t.t0){t.next=11;break}return t.next=10,u.get(p.SMART_KEY);case 10:t.t0=t.sent;case 11:return c=t.t0,t.next=14,u.get(c);case 14:if(!(f=t.sent)){t.next=17;break}return t.abrupt("return",new l.default(e,f));case 17:return t.abrupt("return",g(e,r).then((function(){return new Promise((function(){}))})));case 18:case"end":return t.stop()}}),t)})))).apply(this,arguments)}e.fetchWellKnownJson=v,e.getSecurityExtensions=y,e.authorize=g,e.isInFrame=w,e.isInPopUp=x,e.onMessage=S,e.ready=A,e.buildTokenRequest=O,e.init=function(t,e,r){return P.apply(this,arguments)}},4944:function(t,e,r){"use strict";var n=r(4994),o=n(r(4756));r(9432);var i=n(r(9293)),a=n(r(7383)),s=n(r(4579));Object.defineProperty(e,"__esModule",{value:!0});var u=function(){return(0,s.default)((function t(){(0,a.default)(this,t)}),[{key:"get",value:(r=(0,i.default)(o.default.mark((function t(e){var r;return o.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!(r=sessionStorage[e])){t.next=3;break}return t.abrupt("return",JSON.parse(r));case 3:return t.abrupt("return",null);case 4:case"end":return t.stop()}}),t)}))),function(t){return r.apply(this,arguments)})},{key:"set",value:(e=(0,i.default)(o.default.mark((function t(e,r){return o.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return sessionStorage[e]=JSON.stringify(r),t.abrupt("return",r);case 2:case"end":return t.stop()}}),t)}))),function(t,r){return e.apply(this,arguments)})},{key:"unset",value:(t=(0,i.default)(o.default.mark((function t(e){return o.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!(e in sessionStorage)){t.next=3;break}return delete sessionStorage[e],t.abrupt("return",!0);case 3:return t.abrupt("return",!1);case 4:case"end":return t.stop()}}),t)}))),function(e){return t.apply(this,arguments)})}]);var t,e,r}();e.default=u},945:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default={expired:"Session expired! Please re-launch the app",noScopeForId:"Trying to get the ID of the selected %s. Please add 'launch' or 'launch/%s' to the requested scopes and try again.",noIfNoAuth:"You are trying to get %s but the app is not authorized yet.",noFreeContext:"Please don't use open fhir servers if you need to access launch context items like the %S."}},4945:function(t,e){var r="undefined"!=typeof self?self:this,n=function(){function t(){this.fetch=!1,this.DOMException=r.DOMException}return t.prototype=r,new t}();!function(t){!function(e){var r="URLSearchParams"in t,n="Symbol"in t&&"iterator"in Symbol,o="FileReader"in t&&"Blob"in t&&function(){try{return new Blob,!0}catch(t){return!1}}(),i="FormData"in t,a="ArrayBuffer"in t;if(a)var s=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],u=ArrayBuffer.isView||function(t){return t&&s.indexOf(Object.prototype.toString.call(t))>-1};function c(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(t))throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function f(t){return"string"!=typeof t&&(t=String(t)),t}function l(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return n&&(e[Symbol.iterator]=function(){return e}),e}function p(t){this.map={},t instanceof p?t.forEach((function(t,e){this.append(e,t)}),this):Array.isArray(t)?t.forEach((function(t){this.append(t[0],t[1])}),this):t&&Object.getOwnPropertyNames(t).forEach((function(e){this.append(e,t[e])}),this)}function h(t){if(t.bodyUsed)return Promise.reject(new TypeError("Already read"));t.bodyUsed=!0}function d(t){return new Promise((function(e,r){t.onload=function(){e(t.result)},t.onerror=function(){r(t.error)}}))}function v(t){var e=new FileReader,r=d(e);return e.readAsArrayBuffer(t),r}function y(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function g(){return this.bodyUsed=!1,this._initBody=function(t){var e;this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:o&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:i&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:r&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():a&&o&&(e=t)&&DataView.prototype.isPrototypeOf(e)?(this._bodyArrayBuffer=y(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):a&&(ArrayBuffer.prototype.isPrototypeOf(t)||u(t))?this._bodyArrayBuffer=y(t):this._bodyText=t=Object.prototype.toString.call(t):this._bodyText="",this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):r&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},o&&(this.blob=function(){var t=h(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?h(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(v)}),this.text=function(){var t,e,r,n=h(this);if(n)return n;if(this._bodyBlob)return t=this._bodyBlob,r=d(e=new FileReader),e.readAsText(t),r;if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),r=new Array(e.length),n=0;n-1?n:r),this.mode=e.mode||this.mode||null,this.signal=e.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&o)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(o)}function w(t){var e=new FormData;return t.trim().split("&").forEach((function(t){if(t){var r=t.split("="),n=r.shift().replace(/\+/g," "),o=r.join("=").replace(/\+/g," ");e.append(decodeURIComponent(n),decodeURIComponent(o))}})),e}function x(t,e){e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in e?e.statusText:"OK",this.headers=new p(e.headers),this.url=e.url||"",this._initBody(t)}m.prototype.clone=function(){return new m(this,{body:this._bodyInit})},g.call(m.prototype),g.call(x.prototype),x.prototype.clone=function(){return new x(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new p(this.headers),url:this.url})},x.error=function(){var t=new x(null,{status:0,statusText:""});return t.type="error",t};var S=[301,302,303,307,308];x.redirect=function(t,e){if(-1===S.indexOf(e))throw new RangeError("Invalid status code");return new x(null,{status:e,headers:{location:t}})},e.DOMException=t.DOMException;try{new e.DOMException}catch(t){e.DOMException=function(t,e){this.message=t,this.name=e;var r=Error(t);this.stack=r.stack},e.DOMException.prototype=Object.create(Error.prototype),e.DOMException.prototype.constructor=e.DOMException}function A(t,r){return new Promise((function(n,i){var a=new m(t,r);if(a.signal&&a.signal.aborted)return i(new e.DOMException("Aborted","AbortError"));var s=new XMLHttpRequest;function u(){s.abort()}s.onload=function(){var t,e,r={status:s.status,statusText:s.statusText,headers:(t=s.getAllResponseHeaders()||"",e=new p,t.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach((function(t){var r=t.split(":"),n=r.shift().trim();if(n){var o=r.join(":").trim();e.append(n,o)}})),e)};r.url="responseURL"in s?s.responseURL:r.headers.get("X-Request-URL");var o="response"in s?s.response:s.responseText;n(new x(o,r))},s.onerror=function(){i(new TypeError("Network request failed"))},s.ontimeout=function(){i(new TypeError("Network request failed"))},s.onabort=function(){i(new e.DOMException("Aborted","AbortError"))},s.open(a.method,a.url,!0),"include"===a.credentials?s.withCredentials=!0:"omit"===a.credentials&&(s.withCredentials=!1),"responseType"in s&&o&&(s.responseType="blob"),a.headers.forEach((function(t,e){s.setRequestHeader(e,t)})),a.signal&&(a.signal.addEventListener("abort",u),s.onreadystatechange=function(){4===s.readyState&&a.signal.removeEventListener("abort",u)}),s.send(void 0===a._bodyInit?null:a._bodyInit)}))}A.polyfill=!0,t.fetch||(t.fetch=A,t.Headers=p,t.Request=m,t.Response=x),e.Headers=p,e.Request=m,e.Response=x,e.fetch=A,Object.defineProperty(e,"__esModule",{value:!0})}({})}(n),n.fetch.ponyfill=!0,delete n.fetch.polyfill;var o=n;(e=o.fetch).default=o.fetch,e.fetch=o.fetch,e.Headers=o.Headers,e.Request=o.Request,e.Response=o.Response,t.exports=e},8127:function(t,e,r){"undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==r.g&&r.g,t.exports=function(){"use strict";var t,e="3.7.7",r=e,n="function"==typeof Buffer,o="function"==typeof TextDecoder?new TextDecoder:void 0,i="function"==typeof TextEncoder?new TextEncoder:void 0,a=Array.prototype.slice.call("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="),s=(t={},a.forEach((function(e,r){return t[e]=r})),t),u=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,c=String.fromCharCode.bind(String),f="function"==typeof Uint8Array.from?Uint8Array.from.bind(Uint8Array):function(t){return new Uint8Array(Array.prototype.slice.call(t,0))},l=function(t){return t.replace(/=/g,"").replace(/[+\/]/g,(function(t){return"+"==t?"-":"_"}))},p=function(t){return t.replace(/[^A-Za-z0-9\+\/]/g,"")},h=function(t){for(var e,r,n,o,i="",s=t.length%3,u=0;u255||(n=t.charCodeAt(u++))>255||(o=t.charCodeAt(u++))>255)throw new TypeError("invalid character found");i+=a[(e=r<<16|n<<8|o)>>18&63]+a[e>>12&63]+a[e>>6&63]+a[63&e]}return s?i.slice(0,s-3)+"===".substring(s):i},d="function"==typeof btoa?function(t){return btoa(t)}:n?function(t){return Buffer.from(t,"binary").toString("base64")}:h,v=n?function(t){return Buffer.from(t).toString("base64")}:function(t){for(var e=[],r=0,n=t.length;r>>6)+c(128|63&e):c(224|e>>>12&15)+c(128|e>>>6&63)+c(128|63&e);var e=65536+1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320);return c(240|e>>>18&7)+c(128|e>>>12&63)+c(128|e>>>6&63)+c(128|63&e)},b=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,m=function(t){return t.replace(b,g)},w=n?function(t){return Buffer.from(t,"utf8").toString("base64")}:i?function(t){return v(i.encode(t))}:function(t){return d(m(t))},x=function(t,e){return void 0===e&&(e=!1),e?l(w(t)):w(t)},S=function(t){return x(t,!0)},A=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,k=function(t){switch(t.length){case 4:var e=((7&t.charCodeAt(0))<<18|(63&t.charCodeAt(1))<<12|(63&t.charCodeAt(2))<<6|63&t.charCodeAt(3))-65536;return c(55296+(e>>>10))+c(56320+(1023&e));case 3:return c((15&t.charCodeAt(0))<<12|(63&t.charCodeAt(1))<<6|63&t.charCodeAt(2));default:return c((31&t.charCodeAt(0))<<6|63&t.charCodeAt(1))}},O=function(t){return t.replace(A,k)},E=function(t){if(t=t.replace(/\s+/g,""),!u.test(t))throw new TypeError("malformed base64.");t+="==".slice(2-(3&t.length));for(var e,r,n,o="",i=0;i>16&255):64===n?c(e>>16&255,e>>8&255):c(e>>16&255,e>>8&255,255&e);return o},P="function"==typeof atob?function(t){return atob(p(t))}:n?function(t){return Buffer.from(t,"base64").toString("binary")}:E,C=n?function(t){return f(Buffer.from(t,"base64"))}:function(t){return f(P(t).split("").map((function(t){return t.charCodeAt(0)})))},R=function(t){return C(T(t))},_=n?function(t){return Buffer.from(t,"base64").toString("utf8")}:o?function(t){return o.decode(C(t))}:function(t){return O(P(t))},T=function(t){return p(t.replace(/[-_]/g,(function(t){return"-"==t?"+":"/"})))},j=function(t){return _(T(t))},U=function(t){return{value:t,enumerable:!1,writable:!0,configurable:!0}},I=function(){var t=function(t,e){return Object.defineProperty(String.prototype,t,U(e))};t("fromBase64",(function(){return j(this)})),t("toBase64",(function(t){return x(this,t)})),t("toBase64URI",(function(){return x(this,!0)})),t("toBase64URL",(function(){return x(this,!0)})),t("toUint8Array",(function(){return R(this)}))},F=function(){var t=function(t,e){return Object.defineProperty(Uint8Array.prototype,t,U(e))};t("toBase64",(function(t){return y(this,t)})),t("toBase64URI",(function(){return y(this,!0)})),t("toBase64URL",(function(){return y(this,!0)}))},M={version:e,VERSION:r,atob:P,atobPolyfill:E,btoa:d,btoaPolyfill:h,fromBase64:j,toBase64:x,encode:x,encodeURI:S,encodeURL:S,utob:m,btou:O,decode:j,isValid:function(t){if("string"!=typeof t)return!1;var e=t.replace(/\s+/g,"").replace(/={0,2}$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(e)||!/[^\s0-9a-zA-Z\-_]/.test(e)},fromUint8Array:y,toUint8Array:R,extendString:I,extendUint8Array:F,extendBuiltins:function(){I(),F()},Base64:{}};return Object.keys(M).forEach((function(t){return M.Base64[t]=M[t]})),M}()},6585:function(t){var e=1e3,r=60*e,n=60*r,o=24*n,i=7*o;function a(t,e,r,n){var o=e>=1.5*r;return Math.round(t/r)+" "+n+(o?"s":"")}t.exports=function(t,s){s=s||{};var u,c,f=typeof t;if("string"===f&&t.length>0)return function(t){if(!((t=String(t)).length>100)){var a=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(a){var s=parseFloat(a[1]);switch((a[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*s;case"weeks":case"week":case"w":return s*i;case"days":case"day":case"d":return s*o;case"hours":case"hour":case"hrs":case"hr":case"h":return s*n;case"minutes":case"minute":case"mins":case"min":case"m":return s*r;case"seconds":case"second":case"secs":case"sec":case"s":return s*e;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return s;default:return}}}}(t);if("number"===f&&isFinite(t))return s.long?(u=t,(c=Math.abs(u))>=o?a(u,c,o,"day"):c>=n?a(u,c,n,"hour"):c>=r?a(u,c,r,"minute"):c>=e?a(u,c,e,"second"):u+" ms"):function(t){var i=Math.abs(t);return i>=o?Math.round(t/o)+"d":i>=n?Math.round(t/n)+"h":i>=r?Math.round(t/r)+"m":i>=e?Math.round(t/e)+"s":t+"ms"}(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))}},79:function(t){t.exports=function(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r=0;--o){var i=this.tryEntries[o],s=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var u=a.call(i,"catchLoc"),c=a.call(i,"finallyLoc");if(u&&c){if(this.prev=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&a.call(n,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),j(r),m}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;j(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:I(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),m}},r}t.exports=o,t.exports.__esModule=!0,t.exports.default=t.exports},5636:function(t){function e(r,n){return t.exports=e=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},t.exports.__esModule=!0,t.exports.default=t.exports,e(r,n)}t.exports=e,t.exports.__esModule=!0,t.exports.default=t.exports},1132:function(t,e,r){var n=r(5901),o=r(9291),i=r(7122),a=r(1869);t.exports=function(t){return n(t)||o(t)||i(t)||a()},t.exports.__esModule=!0,t.exports.default=t.exports},9045:function(t,e,r){var n=r(3738).default;t.exports=function(t,e){if("object"!=n(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var o=r.call(t,e||"default");if("object"!=n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)},t.exports.__esModule=!0,t.exports.default=t.exports},7736:function(t,e,r){var n=r(3738).default,o=r(9045);t.exports=function(t){var e=o(t,"string");return"symbol"==n(e)?e:e+""},t.exports.__esModule=!0,t.exports.default=t.exports},3738:function(t){function e(r){return t.exports=e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t.exports.__esModule=!0,t.exports.default=t.exports,e(r)}t.exports=e,t.exports.__esModule=!0,t.exports.default=t.exports},7122:function(t,e,r){var n=r(79);t.exports=function(t,e){if(t){if("string"==typeof t)return n(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(t,e):void 0}},t.exports.__esModule=!0,t.exports.default=t.exports},1837:function(t,e,r){var n=r(3072),o=r(5636),i=r(691),a=r(9646);function s(e){var r="function"==typeof Map?new Map:void 0;return t.exports=s=function(t){if(null===t||!i(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==r){if(r.has(t))return r.get(t);r.set(t,e)}function e(){return a(t,arguments,n(this).constructor)}return e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),o(e,t)},t.exports.__esModule=!0,t.exports.default=t.exports,s(e)}t.exports=s,t.exports.__esModule=!0,t.exports.default=t.exports},4756:function(t,e,r){var n=r(4633)();t.exports=n;try{regeneratorRuntime=n}catch(t){"object"==typeof globalThis?globalThis.regeneratorRuntime=n:Function("r","regeneratorRuntime = r")(n)}},9306:function(t,e,r){"use strict";var n=r(4901),o=r(6823),i=TypeError;t.exports=function(t){if(n(t))return t;throw new i(o(t)+" is not a function")}},5548:function(t,e,r){"use strict";var n=r(3517),o=r(6823),i=TypeError;t.exports=function(t){if(n(t))return t;throw new i(o(t)+" is not a constructor")}},3506:function(t,e,r){"use strict";var n=r(3925),o=String,i=TypeError;t.exports=function(t){if(n(t))return t;throw new i("Can't set "+o(t)+" as a prototype")}},6469:function(t,e,r){"use strict";var n=r(8227),o=r(2360),i=r(4913).f,a=n("unscopables"),s=Array.prototype;void 0===s[a]&&i(s,a,{configurable:!0,value:o(null)}),t.exports=function(t){s[a][t]=!0}},7829:function(t,e,r){"use strict";var n=r(8183).charAt;t.exports=function(t,e,r){return e+(r?n(t,e).length:1)}},679:function(t,e,r){"use strict";var n=r(1625),o=TypeError;t.exports=function(t,e){if(n(e,t))return t;throw new o("Incorrect invocation")}},8551:function(t,e,r){"use strict";var n=r(34),o=String,i=TypeError;t.exports=function(t){if(n(t))return t;throw new i(o(t)+" is not an object")}},7811:function(t){"use strict";t.exports="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView},4644:function(t,e,r){"use strict";var n,o,i,a=r(7811),s=r(3724),u=r(4576),c=r(4901),f=r(34),l=r(9297),p=r(6955),h=r(6823),d=r(6699),v=r(6840),y=r(2106),g=r(1625),b=r(2787),m=r(2967),w=r(8227),x=r(3392),S=r(1181),A=S.enforce,k=S.get,O=u.Int8Array,E=O&&O.prototype,P=u.Uint8ClampedArray,C=P&&P.prototype,R=O&&b(O),_=E&&b(E),T=Object.prototype,j=u.TypeError,U=w("toStringTag"),I=x("TYPED_ARRAY_TAG"),F="TypedArrayConstructor",M=a&&!!m&&"Opera"!==p(u.opera),L=!1,B={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},N={BigInt64Array:8,BigUint64Array:8},D=function(t){var e=b(t);if(f(e)){var r=k(e);return r&&l(r,F)?r[F]:D(e)}},K=function(t){if(!f(t))return!1;var e=p(t);return l(B,e)||l(N,e)};for(n in B)(i=(o=u[n])&&o.prototype)?A(i)[F]=o:M=!1;for(n in N)(i=(o=u[n])&&o.prototype)&&(A(i)[F]=o);if((!M||!c(R)||R===Function.prototype)&&(R=function(){throw new j("Incorrect invocation")},M))for(n in B)u[n]&&m(u[n],R);if((!M||!_||_===T)&&(_=R.prototype,M))for(n in B)u[n]&&m(u[n].prototype,_);if(M&&b(C)!==_&&m(C,_),s&&!l(_,U))for(n in L=!0,y(_,U,{configurable:!0,get:function(){return f(this)?this[I]:void 0}}),B)u[n]&&d(u[n],I,n);t.exports={NATIVE_ARRAY_BUFFER_VIEWS:M,TYPED_ARRAY_TAG:L&&I,aTypedArray:function(t){if(K(t))return t;throw new j("Target is not a typed array")},aTypedArrayConstructor:function(t){if(c(t)&&(!m||g(R,t)))return t;throw new j(h(t)+" is not a typed array constructor")},exportTypedArrayMethod:function(t,e,r,n){if(s){if(r)for(var o in B){var i=u[o];if(i&&l(i.prototype,t))try{delete i.prototype[t]}catch(r){try{i.prototype[t]=e}catch(t){}}}_[t]&&!r||v(_,t,r?e:M&&E[t]||e,n)}},exportTypedArrayStaticMethod:function(t,e,r){var n,o;if(s){if(m){if(r)for(n in B)if((o=u[n])&&l(o,t))try{delete o[t]}catch(t){}if(R[t]&&!r)return;try{return v(R,t,r?e:M&&R[t]||e)}catch(t){}}for(n in B)!(o=u[n])||o[t]&&!r||v(o,t,e)}},getTypedArrayConstructor:D,isView:function(t){if(!f(t))return!1;var e=p(t);return"DataView"===e||l(B,e)||l(N,e)},isTypedArray:K,TypedArray:R,TypedArrayPrototype:_}},6346:function(t,e,r){"use strict";var n=r(4576),o=r(9504),i=r(3724),a=r(7811),s=r(350),u=r(6699),c=r(2106),f=r(6279),l=r(9039),p=r(679),h=r(1291),d=r(8014),v=r(7696),y=r(5617),g=r(8490),b=r(2787),m=r(2967),w=r(4373),x=r(7680),S=r(3167),A=r(7740),k=r(687),O=r(1181),E=s.PROPER,P=s.CONFIGURABLE,C="ArrayBuffer",R="DataView",_="prototype",T="Wrong index",j=O.getterFor(C),U=O.getterFor(R),I=O.set,F=n[C],M=F,L=M&&M[_],B=n[R],N=B&&B[_],D=Object.prototype,K=n.Array,q=n.RangeError,H=o(w),z=o([].reverse),G=g.pack,J=g.unpack,V=function(t){return[255&t]},W=function(t){return[255&t,t>>8&255]},Y=function(t){return[255&t,t>>8&255,t>>16&255,t>>24&255]},$=function(t){return t[3]<<24|t[2]<<16|t[1]<<8|t[0]},Z=function(t){return G(y(t),23,4)},Q=function(t){return G(t,52,8)},X=function(t,e,r){c(t[_],e,{configurable:!0,get:function(){return r(this)[e]}})},tt=function(t,e,r,n){var o=U(t),i=v(r),a=!!n;if(i+e>o.byteLength)throw new q(T);var s=o.bytes,u=i+o.byteOffset,c=x(s,u,u+e);return a?c:z(c)},et=function(t,e,r,n,o,i){var a=U(t),s=v(r),u=n(+o),c=!!i;if(s+e>a.byteLength)throw new q(T);for(var f=a.bytes,l=s+a.byteOffset,p=0;p>24)},setUint8:function(t,e){ot(this,t,e<<24>>24)}},{unsafe:!0})}else L=(M=function(t){p(this,L);var e=v(t);I(this,{type:C,bytes:H(K(e),0),byteLength:e}),i||(this.byteLength=e,this.detached=!1)})[_],N=(B=function(t,e,r){p(this,N),p(t,L);var n=j(t),o=n.byteLength,a=h(e);if(a<0||a>o)throw new q("Wrong offset");if(a+(r=void 0===r?o-a:d(r))>o)throw new q("Wrong length");I(this,{type:R,buffer:t,byteLength:r,byteOffset:a,bytes:n.bytes}),i||(this.buffer=t,this.byteLength=r,this.byteOffset=a)})[_],i&&(X(M,"byteLength",j),X(B,"buffer",U),X(B,"byteLength",U),X(B,"byteOffset",U)),f(N,{getInt8:function(t){return tt(this,1,t)[0]<<24>>24},getUint8:function(t){return tt(this,1,t)[0]},getInt16:function(t){var e=tt(this,2,t,arguments.length>1&&arguments[1]);return(e[1]<<8|e[0])<<16>>16},getUint16:function(t){var e=tt(this,2,t,arguments.length>1&&arguments[1]);return e[1]<<8|e[0]},getInt32:function(t){return $(tt(this,4,t,arguments.length>1&&arguments[1]))},getUint32:function(t){return $(tt(this,4,t,arguments.length>1&&arguments[1]))>>>0},getFloat32:function(t){return J(tt(this,4,t,arguments.length>1&&arguments[1]),23)},getFloat64:function(t){return J(tt(this,8,t,arguments.length>1&&arguments[1]),52)},setInt8:function(t,e){et(this,1,t,V,e)},setUint8:function(t,e){et(this,1,t,V,e)},setInt16:function(t,e){et(this,2,t,W,e,arguments.length>2&&arguments[2])},setUint16:function(t,e){et(this,2,t,W,e,arguments.length>2&&arguments[2])},setInt32:function(t,e){et(this,4,t,Y,e,arguments.length>2&&arguments[2])},setUint32:function(t,e){et(this,4,t,Y,e,arguments.length>2&&arguments[2])},setFloat32:function(t,e){et(this,4,t,Z,e,arguments.length>2&&arguments[2])},setFloat64:function(t,e){et(this,8,t,Q,e,arguments.length>2&&arguments[2])}});k(M,C),k(B,R),t.exports={ArrayBuffer:M,DataView:B}},7029:function(t,e,r){"use strict";var n=r(8981),o=r(5610),i=r(6198),a=r(4606),s=Math.min;t.exports=[].copyWithin||function(t,e){var r=n(this),u=i(r),c=o(t,u),f=o(e,u),l=arguments.length>2?arguments[2]:void 0,p=s((void 0===l?u:o(l,u))-f,u-c),h=1;for(f0;)f in r?r[c]=r[f]:a(r,c),c+=h,f+=h;return r}},4373:function(t,e,r){"use strict";var n=r(8981),o=r(5610),i=r(6198);t.exports=function(t){for(var e=n(this),r=i(e),a=arguments.length,s=o(a>1?arguments[1]:void 0,r),u=a>2?arguments[2]:void 0,c=void 0===u?r:o(u,r);c>s;)e[s++]=t;return e}},235:function(t,e,r){"use strict";var n=r(9213).forEach,o=r(4598)("forEach");t.exports=o?[].forEach:function(t){return n(this,t,arguments.length>1?arguments[1]:void 0)}},5370:function(t,e,r){"use strict";var n=r(6198);t.exports=function(t,e,r){for(var o=0,i=arguments.length>2?r:n(e),a=new t(i);i>o;)a[o]=e[o++];return a}},7916:function(t,e,r){"use strict";var n=r(6080),o=r(9565),i=r(8981),a=r(6319),s=r(4209),u=r(3517),c=r(6198),f=r(4659),l=r(81),p=r(851),h=Array;t.exports=function(t){var e=i(t),r=u(this),d=arguments.length,v=d>1?arguments[1]:void 0,y=void 0!==v;y&&(v=n(v,d>2?arguments[2]:void 0));var g,b,m,w,x,S,A=p(e),k=0;if(!A||this===h&&s(A))for(g=c(e),b=r?new this(g):h(g);g>k;k++)S=y?v(e[k],k):e[k],f(b,k,S);else for(b=r?new this:[],x=(w=l(e,A)).next;!(m=o(x,w)).done;k++)S=y?a(w,v,[m.value,k],!0):m.value,f(b,k,S);return b.length=k,b}},9617:function(t,e,r){"use strict";var n=r(5397),o=r(5610),i=r(6198),a=function(t){return function(e,r,a){var s=n(e),u=i(s);if(0===u)return!t&&-1;var c,f=o(a,u);if(t&&r!=r){for(;u>f;)if((c=s[f++])!=c)return!0}else for(;u>f;f++)if((t||f in s)&&s[f]===r)return t||f||0;return!t&&-1}};t.exports={includes:a(!0),indexOf:a(!1)}},9213:function(t,e,r){"use strict";var n=r(6080),o=r(9504),i=r(7055),a=r(8981),s=r(6198),u=r(1469),c=o([].push),f=function(t){var e=1===t,r=2===t,o=3===t,f=4===t,l=6===t,p=7===t,h=5===t||l;return function(d,v,y,g){for(var b,m,w=a(d),x=i(w),S=s(x),A=n(v,y),k=0,O=g||u,E=e?O(d,S):r||p?O(d,0):void 0;S>k;k++)if((h||k in x)&&(m=A(b=x[k],k,w),t))if(e)E[k]=m;else if(m)switch(t){case 3:return!0;case 5:return b;case 6:return k;case 2:c(E,b)}else switch(t){case 4:return!1;case 7:c(E,b)}return l?-1:o||f?f:E}};t.exports={forEach:f(0),map:f(1),filter:f(2),some:f(3),every:f(4),find:f(5),findIndex:f(6),filterReject:f(7)}},8379:function(t,e,r){"use strict";var n=r(8745),o=r(5397),i=r(1291),a=r(6198),s=r(4598),u=Math.min,c=[].lastIndexOf,f=!!c&&1/[1].lastIndexOf(1,-0)<0,l=s("lastIndexOf"),p=f||!l;t.exports=p?function(t){if(f)return n(c,this,arguments)||0;var e=o(this),r=a(e);if(0===r)return-1;var s=r-1;for(arguments.length>1&&(s=u(s,i(arguments[1]))),s<0&&(s=r+s);s>=0;s--)if(s in e&&e[s]===t)return s||0;return-1}:c},597:function(t,e,r){"use strict";var n=r(9039),o=r(8227),i=r(9519),a=o("species");t.exports=function(t){return i>=51||!n((function(){var e=[];return(e.constructor={})[a]=function(){return{foo:1}},1!==e[t](Boolean).foo}))}},4598:function(t,e,r){"use strict";var n=r(9039);t.exports=function(t,e){var r=[][t];return!!r&&n((function(){r.call(null,e||function(){return 1},1)}))}},926:function(t,e,r){"use strict";var n=r(9306),o=r(8981),i=r(7055),a=r(6198),s=TypeError,u="Reduce of empty array with no initial value",c=function(t){return function(e,r,c,f){var l=o(e),p=i(l),h=a(l);if(n(r),0===h&&c<2)throw new s(u);var d=t?h-1:0,v=t?-1:1;if(c<2)for(;;){if(d in p){f=p[d],d+=v;break}if(d+=v,t?d<0:h<=d)throw new s(u)}for(;t?d>=0:h>d;d+=v)d in p&&(f=r(f,p[d],d,l));return f}};t.exports={left:c(!1),right:c(!0)}},4527:function(t,e,r){"use strict";var n=r(3724),o=r(4376),i=TypeError,a=Object.getOwnPropertyDescriptor,s=n&&!function(){if(void 0!==this)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(t){return t instanceof TypeError}}();t.exports=s?function(t,e){if(o(t)&&!a(t,"length").writable)throw new i("Cannot set read only .length");return t.length=e}:function(t,e){return t.length=e}},7680:function(t,e,r){"use strict";var n=r(9504);t.exports=n([].slice)},4488:function(t,e,r){"use strict";var n=r(7680),o=Math.floor,i=function(t,e){var r=t.length;if(r<8)for(var a,s,u=1;u0;)t[s]=t[--s];s!==u++&&(t[s]=a)}else for(var c=o(r/2),f=i(n(t,0,c),e),l=i(n(t,c),e),p=f.length,h=l.length,d=0,v=0;d"+u+""}},2529:function(t){"use strict";t.exports=function(t,e){return{value:t,done:e}}},6699:function(t,e,r){"use strict";var n=r(3724),o=r(4913),i=r(6980);t.exports=n?function(t,e,r){return o.f(t,e,i(1,r))}:function(t,e,r){return t[e]=r,t}},6980:function(t){"use strict";t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},4659:function(t,e,r){"use strict";var n=r(3724),o=r(4913),i=r(6980);t.exports=function(t,e,r){n?o.f(t,e,i(0,r)):t[e]=r}},2106:function(t,e,r){"use strict";var n=r(283),o=r(4913);t.exports=function(t,e,r){return r.get&&n(r.get,e,{getter:!0}),r.set&&n(r.set,e,{setter:!0}),o.f(t,e,r)}},6840:function(t,e,r){"use strict";var n=r(4901),o=r(4913),i=r(283),a=r(9433);t.exports=function(t,e,r,s){s||(s={});var u=s.enumerable,c=void 0!==s.name?s.name:e;if(n(r)&&i(r,c,s),s.global)u?t[e]=r:a(e,r);else{try{s.unsafe?t[e]&&(u=!0):delete t[e]}catch(t){}u?t[e]=r:o.f(t,e,{value:r,enumerable:!1,configurable:!s.nonConfigurable,writable:!s.nonWritable})}return t}},6279:function(t,e,r){"use strict";var n=r(6840);t.exports=function(t,e,r){for(var o in e)n(t,o,e[o],r);return t}},9433:function(t,e,r){"use strict";var n=r(4576),o=Object.defineProperty;t.exports=function(t,e){try{o(n,t,{value:e,configurable:!0,writable:!0})}catch(r){n[t]=e}return e}},4606:function(t,e,r){"use strict";var n=r(6823),o=TypeError;t.exports=function(t,e){if(!delete t[e])throw new o("Cannot delete property "+n(e)+" of "+n(t))}},3724:function(t,e,r){"use strict";var n=r(9039);t.exports=!n((function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]}))},4055:function(t,e,r){"use strict";var n=r(4576),o=r(34),i=n.document,a=o(i)&&o(i.createElement);t.exports=function(t){return a?i.createElement(t):{}}},6837:function(t){"use strict";var e=TypeError;t.exports=function(t){if(t>9007199254740991)throw e("Maximum allowed index exceeded");return t}},7400:function(t){"use strict";t.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},9296:function(t,e,r){"use strict";var n=r(4055)("span").classList,o=n&&n.constructor&&n.constructor.prototype;t.exports=o===Object.prototype?void 0:o},8727:function(t){"use strict";t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},3709:function(t,e,r){"use strict";var n=r(2839).match(/firefox\/(\d+)/i);t.exports=!!n&&+n[1]},3763:function(t,e,r){"use strict";var n=r(2839);t.exports=/MSIE|Trident/.test(n)},4265:function(t,e,r){"use strict";var n=r(2839);t.exports=/ipad|iphone|ipod/i.test(n)&&"undefined"!=typeof Pebble},9544:function(t,e,r){"use strict";var n=r(2839);t.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(n)},6193:function(t,e,r){"use strict";var n=r(4215);t.exports="NODE"===n},7860:function(t,e,r){"use strict";var n=r(2839);t.exports=/web0s(?!.*chrome)/i.test(n)},2839:function(t,e,r){"use strict";var n=r(4576).navigator,o=n&&n.userAgent;t.exports=o?String(o):""},9519:function(t,e,r){"use strict";var n,o,i=r(4576),a=r(2839),s=i.process,u=i.Deno,c=s&&s.versions||u&&u.version,f=c&&c.v8;f&&(o=(n=f.split("."))[0]>0&&n[0]<4?1:+(n[0]+n[1])),!o&&a&&(!(n=a.match(/Edge\/(\d+)/))||n[1]>=74)&&(n=a.match(/Chrome\/(\d+)/))&&(o=+n[1]),t.exports=o},3607:function(t,e,r){"use strict";var n=r(2839).match(/AppleWebKit\/(\d+)\./);t.exports=!!n&&+n[1]},4215:function(t,e,r){"use strict";var n=r(4576),o=r(2839),i=r(2195),a=function(t){return o.slice(0,t.length)===t};t.exports=a("Bun/")?"BUN":a("Cloudflare-Workers")?"CLOUDFLARE":a("Deno/")?"DENO":a("Node.js/")?"NODE":n.Bun&&"string"==typeof Bun.version?"BUN":n.Deno&&"object"==typeof Deno.version?"DENO":"process"===i(n.process)?"NODE":n.window&&n.document?"BROWSER":"REST"},6518:function(t,e,r){"use strict";var n=r(4576),o=r(7347).f,i=r(6699),a=r(6840),s=r(9433),u=r(7740),c=r(2796);t.exports=function(t,e){var r,f,l,p,h,d=t.target,v=t.global,y=t.stat;if(r=v?n:y?n[d]||s(d,{}):n[d]&&n[d].prototype)for(f in e){if(p=e[f],l=t.dontCallGetSet?(h=o(r,f))&&h.value:r[f],!c(v?f:d+(y?".":"#")+f,t.forced)&&void 0!==l){if(typeof p==typeof l)continue;u(p,l)}(t.sham||l&&l.sham)&&i(p,"sham",!0),a(r,f,p,t)}}},9039:function(t){"use strict";t.exports=function(t){try{return!!t()}catch(t){return!0}}},9228:function(t,e,r){"use strict";r(7495);var n=r(9565),o=r(6840),i=r(7323),a=r(9039),s=r(8227),u=r(6699),c=s("species"),f=RegExp.prototype;t.exports=function(t,e,r,l){var p=s(t),h=!a((function(){var e={};return e[p]=function(){return 7},7!==""[t](e)})),d=h&&!a((function(){var e=!1,r=/a/;return"split"===t&&((r={}).constructor={},r.constructor[c]=function(){return r},r.flags="",r[p]=/./[p]),r.exec=function(){return e=!0,null},r[p](""),!e}));if(!h||!d||r){var v=/./[p],y=e(p,""[t],(function(t,e,r,o,a){var s=e.exec;return s===i||s===f.exec?h&&!a?{done:!0,value:n(v,e,r,o)}:{done:!0,value:n(t,r,e,o)}:{done:!1}}));o(String.prototype,t,y[0]),o(f,p,y[1])}l&&u(f[p],"sham",!0)}},259:function(t,e,r){"use strict";var n=r(4376),o=r(6198),i=r(6837),a=r(6080),s=function(t,e,r,u,c,f,l,p){for(var h,d,v=c,y=0,g=!!l&&a(l,p);y0&&n(h)?(d=o(h),v=s(t,e,h,d,v,f-1)-1):(i(v+1),t[v]=h),v++),y++;return v};t.exports=s},8745:function(t,e,r){"use strict";var n=r(616),o=Function.prototype,i=o.apply,a=o.call;t.exports="object"==typeof Reflect&&Reflect.apply||(n?a.bind(i):function(){return a.apply(i,arguments)})},6080:function(t,e,r){"use strict";var n=r(7476),o=r(9306),i=r(616),a=n(n.bind);t.exports=function(t,e){return o(t),void 0===e?t:i?a(t,e):function(){return t.apply(e,arguments)}}},616:function(t,e,r){"use strict";var n=r(9039);t.exports=!n((function(){var t=function(){}.bind();return"function"!=typeof t||t.hasOwnProperty("prototype")}))},566:function(t,e,r){"use strict";var n=r(9504),o=r(9306),i=r(34),a=r(9297),s=r(7680),u=r(616),c=Function,f=n([].concat),l=n([].join),p={};t.exports=u?c.bind:function(t){var e=o(this),r=e.prototype,n=s(arguments,1),u=function(){var r=f(n,s(arguments));return this instanceof u?function(t,e,r){if(!a(p,e)){for(var n=[],o=0;o]*>)/g,f=/\$([$&'`]|\d{1,2})/g;t.exports=function(t,e,r,n,l,p){var h=r+t.length,d=n.length,v=f;return void 0!==l&&(l=o(l),v=c),s(p,v,(function(o,s){var c;switch(a(s,0)){case"$":return"$";case"&":return t;case"`":return u(e,0,r);case"'":return u(e,h);case"<":c=l[u(s,1,-1)];break;default:var f=+s;if(0===f)return o;if(f>d){var p=i(f/10);return 0===p?o:p<=d?void 0===n[p-1]?a(s,1):n[p-1]+a(s,1):o}c=n[f-1]}return void 0===c?"":c}))}},4576:function(t,e,r){"use strict";var n=function(t){return t&&t.Math===Math&&t};t.exports=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof r.g&&r.g)||n("object"==typeof this&&this)||function(){return this}()||Function("return this")()},9297:function(t,e,r){"use strict";var n=r(9504),o=r(8981),i=n({}.hasOwnProperty);t.exports=Object.hasOwn||function(t,e){return i(o(t),e)}},421:function(t){"use strict";t.exports={}},3138:function(t){"use strict";t.exports=function(t,e){try{1===arguments.length?console.error(t):console.error(t,e)}catch(t){}}},397:function(t,e,r){"use strict";var n=r(7751);t.exports=n("document","documentElement")},5917:function(t,e,r){"use strict";var n=r(3724),o=r(9039),i=r(4055);t.exports=!n&&!o((function(){return 7!==Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},8490:function(t){"use strict";var e=Array,r=Math.abs,n=Math.pow,o=Math.floor,i=Math.log,a=Math.LN2;t.exports={pack:function(t,s,u){var c,f,l,p=e(u),h=8*u-s-1,d=(1<>1,y=23===s?n(2,-24)-n(2,-77):0,g=t<0||0===t&&1/t<0?1:0,b=0;for((t=r(t))!=t||t===1/0?(f=t!=t?1:0,c=d):(c=o(i(t)/a),t*(l=n(2,-c))<1&&(c--,l*=2),(t+=c+v>=1?y/l:y*n(2,1-v))*l>=2&&(c++,l/=2),c+v>=d?(f=0,c=d):c+v>=1?(f=(t*l-1)*n(2,s),c+=v):(f=t*n(2,v-1)*n(2,s),c=0));s>=8;)p[b++]=255&f,f/=256,s-=8;for(c=c<0;)p[b++]=255&c,c/=256,h-=8;return p[b-1]|=128*g,p},unpack:function(t,e){var r,o=t.length,i=8*o-e-1,a=(1<>1,u=i-7,c=o-1,f=t[c--],l=127&f;for(f>>=7;u>0;)l=256*l+t[c--],u-=8;for(r=l&(1<<-u)-1,l>>=-u,u+=e;u>0;)r=256*r+t[c--],u-=8;if(0===l)l=1-s;else{if(l===a)return r?NaN:f?-1/0:1/0;r+=n(2,e),l-=s}return(f?-1:1)*r*n(2,l-e)}}},7055:function(t,e,r){"use strict";var n=r(9504),o=r(9039),i=r(2195),a=Object,s=n("".split);t.exports=o((function(){return!a("z").propertyIsEnumerable(0)}))?function(t){return"String"===i(t)?s(t,""):a(t)}:a},3167:function(t,e,r){"use strict";var n=r(4901),o=r(34),i=r(2967);t.exports=function(t,e,r){var a,s;return i&&n(a=e.constructor)&&a!==r&&o(s=a.prototype)&&s!==r.prototype&&i(t,s),t}},3706:function(t,e,r){"use strict";var n=r(9504),o=r(4901),i=r(7629),a=n(Function.toString);o(i.inspectSource)||(i.inspectSource=function(t){return a(t)}),t.exports=i.inspectSource},1181:function(t,e,r){"use strict";var n,o,i,a=r(8622),s=r(4576),u=r(34),c=r(6699),f=r(9297),l=r(7629),p=r(6119),h=r(421),d="Object already initialized",v=s.TypeError,y=s.WeakMap;if(a||l.state){var g=l.state||(l.state=new y);g.get=g.get,g.has=g.has,g.set=g.set,n=function(t,e){if(g.has(t))throw new v(d);return e.facade=t,g.set(t,e),e},o=function(t){return g.get(t)||{}},i=function(t){return g.has(t)}}else{var b=p("state");h[b]=!0,n=function(t,e){if(f(t,b))throw new v(d);return e.facade=t,c(t,b,e),e},o=function(t){return f(t,b)?t[b]:{}},i=function(t){return f(t,b)}}t.exports={set:n,get:o,has:i,enforce:function(t){return i(t)?o(t):n(t,{})},getterFor:function(t){return function(e){var r;if(!u(e)||(r=o(e)).type!==t)throw new v("Incompatible receiver, "+t+" required");return r}}}},4209:function(t,e,r){"use strict";var n=r(8227),o=r(6269),i=n("iterator"),a=Array.prototype;t.exports=function(t){return void 0!==t&&(o.Array===t||a[i]===t)}},4376:function(t,e,r){"use strict";var n=r(2195);t.exports=Array.isArray||function(t){return"Array"===n(t)}},1108:function(t,e,r){"use strict";var n=r(6955);t.exports=function(t){var e=n(t);return"BigInt64Array"===e||"BigUint64Array"===e}},4901:function(t){"use strict";var e="object"==typeof document&&document.all;t.exports=void 0===e&&void 0!==e?function(t){return"function"==typeof t||t===e}:function(t){return"function"==typeof t}},3517:function(t,e,r){"use strict";var n=r(9504),o=r(9039),i=r(4901),a=r(6955),s=r(7751),u=r(3706),c=function(){},f=s("Reflect","construct"),l=/^\s*(?:class|function)\b/,p=n(l.exec),h=!l.test(c),d=function(t){if(!i(t))return!1;try{return f(c,[],t),!0}catch(t){return!1}},v=function(t){if(!i(t))return!1;switch(a(t)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return h||!!p(l,u(t))}catch(t){return!0}};v.sham=!0,t.exports=!f||o((function(){var t;return d(d.call)||!d(Object)||!d((function(){t=!0}))||t}))?v:d},2796:function(t,e,r){"use strict";var n=r(9039),o=r(4901),i=/#|\.prototype\./,a=function(t,e){var r=u[s(t)];return r===f||r!==c&&(o(e)?n(e):!!e)},s=a.normalize=function(t){return String(t).replace(i,".").toLowerCase()},u=a.data={},c=a.NATIVE="N",f=a.POLYFILL="P";t.exports=a},2087:function(t,e,r){"use strict";var n=r(34),o=Math.floor;t.exports=Number.isInteger||function(t){return!n(t)&&isFinite(t)&&o(t)===t}},4117:function(t){"use strict";t.exports=function(t){return null==t}},34:function(t,e,r){"use strict";var n=r(4901);t.exports=function(t){return"object"==typeof t?null!==t:n(t)}},3925:function(t,e,r){"use strict";var n=r(34);t.exports=function(t){return n(t)||null===t}},6395:function(t){"use strict";t.exports=!1},788:function(t,e,r){"use strict";var n=r(34),o=r(2195),i=r(8227)("match");t.exports=function(t){var e;return n(t)&&(void 0!==(e=t[i])?!!e:"RegExp"===o(t))}},757:function(t,e,r){"use strict";var n=r(7751),o=r(4901),i=r(1625),a=r(7040),s=Object;t.exports=a?function(t){return"symbol"==typeof t}:function(t){var e=n("Symbol");return o(e)&&i(e.prototype,s(t))}},2652:function(t,e,r){"use strict";var n=r(6080),o=r(9565),i=r(8551),a=r(6823),s=r(4209),u=r(6198),c=r(1625),f=r(81),l=r(851),p=r(9539),h=TypeError,d=function(t,e){this.stopped=t,this.result=e},v=d.prototype;t.exports=function(t,e,r){var y,g,b,m,w,x,S,A=r&&r.that,k=!(!r||!r.AS_ENTRIES),O=!(!r||!r.IS_RECORD),E=!(!r||!r.IS_ITERATOR),P=!(!r||!r.INTERRUPTED),C=n(e,A),R=function(t){return y&&p(y,"normal",t),new d(!0,t)},_=function(t){return k?(i(t),P?C(t[0],t[1],R):C(t[0],t[1])):P?C(t,R):C(t)};if(O)y=t.iterator;else if(E)y=t;else{if(!(g=l(t)))throw new h(a(t)+" is not iterable");if(s(g)){for(b=0,m=u(t);m>b;b++)if((w=_(t[b]))&&c(v,w))return w;return new d(!1)}y=f(t,g)}for(x=O?t.next:y.next;!(S=o(x,y)).done;){try{w=_(S.value)}catch(t){p(y,"throw",t)}if("object"==typeof w&&w&&c(v,w))return w}return new d(!1)}},9539:function(t,e,r){"use strict";var n=r(9565),o=r(8551),i=r(5966);t.exports=function(t,e,r){var a,s;o(t);try{if(!(a=i(t,"return"))){if("throw"===e)throw r;return r}a=n(a,t)}catch(t){s=!0,a=t}if("throw"===e)throw r;if(s)throw a;return o(a),r}},3994:function(t,e,r){"use strict";var n=r(7657).IteratorPrototype,o=r(2360),i=r(6980),a=r(687),s=r(6269),u=function(){return this};t.exports=function(t,e,r,c){var f=e+" Iterator";return t.prototype=o(n,{next:i(+!c,r)}),a(t,f,!1,!0),s[f]=u,t}},1088:function(t,e,r){"use strict";var n=r(6518),o=r(9565),i=r(6395),a=r(350),s=r(4901),u=r(3994),c=r(2787),f=r(2967),l=r(687),p=r(6699),h=r(6840),d=r(8227),v=r(6269),y=r(7657),g=a.PROPER,b=a.CONFIGURABLE,m=y.IteratorPrototype,w=y.BUGGY_SAFARI_ITERATORS,x=d("iterator"),S="keys",A="values",k="entries",O=function(){return this};t.exports=function(t,e,r,a,d,y,E){u(r,e,a);var P,C,R,_=function(t){if(t===d&&F)return F;if(!w&&t&&t in U)return U[t];switch(t){case S:case A:case k:return function(){return new r(this,t)}}return function(){return new r(this)}},T=e+" Iterator",j=!1,U=t.prototype,I=U[x]||U["@@iterator"]||d&&U[d],F=!w&&I||_(d),M="Array"===e&&U.entries||I;if(M&&(P=c(M.call(new t)))!==Object.prototype&&P.next&&(i||c(P)===m||(f?f(P,m):s(P[x])||h(P,x,O)),l(P,T,!0,!0),i&&(v[T]=O)),g&&d===A&&I&&I.name!==A&&(!i&&b?p(U,"name",A):(j=!0,F=function(){return o(I,this)})),d)if(C={values:_(A),keys:y?F:_(S),entries:_(k)},E)for(R in C)(w||j||!(R in U))&&h(U,R,C[R]);else n({target:e,proto:!0,forced:w||j},C);return i&&!E||U[x]===F||h(U,x,F,{name:d}),v[e]=F,C}},7657:function(t,e,r){"use strict";var n,o,i,a=r(9039),s=r(4901),u=r(34),c=r(2360),f=r(2787),l=r(6840),p=r(8227),h=r(6395),d=p("iterator"),v=!1;[].keys&&("next"in(i=[].keys())?(o=f(f(i)))!==Object.prototype&&(n=o):v=!0),!u(n)||a((function(){var t={};return n[d].call(t)!==t}))?n={}:h&&(n=c(n)),s(n[d])||l(n,d,(function(){return this})),t.exports={IteratorPrototype:n,BUGGY_SAFARI_ITERATORS:v}},6269:function(t){"use strict";t.exports={}},6198:function(t,e,r){"use strict";var n=r(8014);t.exports=function(t){return n(t.length)}},283:function(t,e,r){"use strict";var n=r(9504),o=r(9039),i=r(4901),a=r(9297),s=r(3724),u=r(350).CONFIGURABLE,c=r(3706),f=r(1181),l=f.enforce,p=f.get,h=String,d=Object.defineProperty,v=n("".slice),y=n("".replace),g=n([].join),b=s&&!o((function(){return 8!==d((function(){}),"length",{value:8}).length})),m=String(String).split("String"),w=t.exports=function(t,e,r){"Symbol("===v(h(e),0,7)&&(e="["+y(h(e),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),r&&r.getter&&(e="get "+e),r&&r.setter&&(e="set "+e),(!a(t,"name")||u&&t.name!==e)&&(s?d(t,"name",{value:e,configurable:!0}):t.name=e),b&&r&&a(r,"arity")&&t.length!==r.arity&&d(t,"length",{value:r.arity});try{r&&a(r,"constructor")&&r.constructor?s&&d(t,"prototype",{writable:!1}):t.prototype&&(t.prototype=void 0)}catch(t){}var n=l(t);return a(n,"source")||(n.source=g(m,"string"==typeof e?e:"")),t};Function.prototype.toString=w((function(){return i(this)&&p(this).source||c(this)}),"toString")},3164:function(t,e,r){"use strict";var n=r(7782),o=Math.abs,i=2220446049250313e-31,a=1/i;t.exports=function(t,e,r,s){var u=+t,c=o(u),f=n(u);if(cr||p!=p?f*(1/0):f*p}},5617:function(t,e,r){"use strict";var n=r(3164);t.exports=Math.fround||function(t){return n(t,1.1920928955078125e-7,34028234663852886e22,11754943508222875e-54)}},7782:function(t){"use strict";t.exports=Math.sign||function(t){var e=+t;return 0===e||e!=e?e:e<0?-1:1}},741:function(t){"use strict";var e=Math.ceil,r=Math.floor;t.exports=Math.trunc||function(t){var n=+t;return(n>0?r:e)(n)}},1955:function(t,e,r){"use strict";var n,o,i,a,s,u=r(4576),c=r(3389),f=r(6080),l=r(9225).set,p=r(8265),h=r(9544),d=r(4265),v=r(7860),y=r(6193),g=u.MutationObserver||u.WebKitMutationObserver,b=u.document,m=u.process,w=u.Promise,x=c("queueMicrotask");if(!x){var S=new p,A=function(){var t,e;for(y&&(t=m.domain)&&t.exit();e=S.get();)try{e()}catch(t){throw S.head&&n(),t}t&&t.enter()};h||y||v||!g||!b?!d&&w&&w.resolve?((a=w.resolve(void 0)).constructor=w,s=f(a.then,a),n=function(){s(A)}):y?n=function(){m.nextTick(A)}:(l=f(l,u),n=function(){l(A)}):(o=!0,i=b.createTextNode(""),new g(A).observe(i,{characterData:!0}),n=function(){i.data=o=!o}),x=function(t){S.head||n(),S.add(t)}}t.exports=x},6043:function(t,e,r){"use strict";var n=r(9306),o=TypeError,i=function(t){var e,r;this.promise=new t((function(t,n){if(void 0!==e||void 0!==r)throw new o("Bad Promise constructor");e=t,r=n})),this.resolve=n(e),this.reject=n(r)};t.exports.f=function(t){return new i(t)}},2892:function(t,e,r){"use strict";var n=r(788),o=TypeError;t.exports=function(t){if(n(t))throw new o("The method doesn't accept regular expressions");return t}},4213:function(t,e,r){"use strict";var n=r(3724),o=r(9504),i=r(9565),a=r(9039),s=r(1072),u=r(3717),c=r(8773),f=r(8981),l=r(7055),p=Object.assign,h=Object.defineProperty,d=o([].concat);t.exports=!p||a((function(){if(n&&1!==p({b:1},p(h({},"a",{enumerable:!0,get:function(){h(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},e={},r=Symbol("assign detection"),o="abcdefghijklmnopqrst";return t[r]=7,o.split("").forEach((function(t){e[t]=t})),7!==p({},t)[r]||s(p({},e)).join("")!==o}))?function(t,e){for(var r=f(t),o=arguments.length,a=1,p=u.f,h=c.f;o>a;)for(var v,y=l(arguments[a++]),g=p?d(s(y),p(y)):s(y),b=g.length,m=0;b>m;)v=g[m++],n&&!i(h,y,v)||(r[v]=y[v]);return r}:p},2360:function(t,e,r){"use strict";var n,o=r(8551),i=r(6801),a=r(8727),s=r(421),u=r(397),c=r(4055),f=r(6119),l="prototype",p="script",h=f("IE_PROTO"),d=function(){},v=function(t){return"<"+p+">"+t+""},y=function(t){t.write(v("")),t.close();var e=t.parentWindow.Object;return t=null,e},g=function(){try{n=new ActiveXObject("htmlfile")}catch(t){}var t,e,r;g="undefined"!=typeof document?document.domain&&n?y(n):(e=c("iframe"),r="java"+p+":",e.style.display="none",u.appendChild(e),e.src=String(r),(t=e.contentWindow.document).open(),t.write(v("document.F=Object")),t.close(),t.F):y(n);for(var o=a.length;o--;)delete g[l][a[o]];return g()};s[h]=!0,t.exports=Object.create||function(t,e){var r;return null!==t?(d[l]=o(t),r=new d,d[l]=null,r[h]=t):r=g(),void 0===e?r:i.f(r,e)}},6801:function(t,e,r){"use strict";var n=r(3724),o=r(8686),i=r(4913),a=r(8551),s=r(5397),u=r(1072);e.f=n&&!o?Object.defineProperties:function(t,e){a(t);for(var r,n=s(e),o=u(e),c=o.length,f=0;c>f;)i.f(t,r=o[f++],n[r]);return t}},4913:function(t,e,r){"use strict";var n=r(3724),o=r(5917),i=r(8686),a=r(8551),s=r(6969),u=TypeError,c=Object.defineProperty,f=Object.getOwnPropertyDescriptor,l="enumerable",p="configurable",h="writable";e.f=n?i?function(t,e,r){if(a(t),e=s(e),a(r),"function"==typeof t&&"prototype"===e&&"value"in r&&h in r&&!r[h]){var n=f(t,e);n&&n[h]&&(t[e]=r.value,r={configurable:p in r?r[p]:n[p],enumerable:l in r?r[l]:n[l],writable:!1})}return c(t,e,r)}:c:function(t,e,r){if(a(t),e=s(e),a(r),o)try{return c(t,e,r)}catch(t){}if("get"in r||"set"in r)throw new u("Accessors not supported");return"value"in r&&(t[e]=r.value),t}},7347:function(t,e,r){"use strict";var n=r(3724),o=r(9565),i=r(8773),a=r(6980),s=r(5397),u=r(6969),c=r(9297),f=r(5917),l=Object.getOwnPropertyDescriptor;e.f=n?l:function(t,e){if(t=s(t),e=u(e),f)try{return l(t,e)}catch(t){}if(c(t,e))return a(!o(i.f,t,e),t[e])}},298:function(t,e,r){"use strict";var n=r(2195),o=r(5397),i=r(8480).f,a=r(7680),s="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.f=function(t){return s&&"Window"===n(t)?function(t){try{return i(t)}catch(t){return a(s)}}(t):i(o(t))}},8480:function(t,e,r){"use strict";var n=r(1828),o=r(8727).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return n(t,o)}},3717:function(t,e){"use strict";e.f=Object.getOwnPropertySymbols},2787:function(t,e,r){"use strict";var n=r(9297),o=r(4901),i=r(8981),a=r(6119),s=r(2211),u=a("IE_PROTO"),c=Object,f=c.prototype;t.exports=s?c.getPrototypeOf:function(t){var e=i(t);if(n(e,u))return e[u];var r=e.constructor;return o(r)&&e instanceof r?r.prototype:e instanceof c?f:null}},1625:function(t,e,r){"use strict";var n=r(9504);t.exports=n({}.isPrototypeOf)},1828:function(t,e,r){"use strict";var n=r(9504),o=r(9297),i=r(5397),a=r(9617).indexOf,s=r(421),u=n([].push);t.exports=function(t,e){var r,n=i(t),c=0,f=[];for(r in n)!o(s,r)&&o(n,r)&&u(f,r);for(;e.length>c;)o(n,r=e[c++])&&(~a(f,r)||u(f,r));return f}},1072:function(t,e,r){"use strict";var n=r(1828),o=r(8727);t.exports=Object.keys||function(t){return n(t,o)}},8773:function(t,e){"use strict";var r={}.propertyIsEnumerable,n=Object.getOwnPropertyDescriptor,o=n&&!r.call({1:2},1);e.f=o?function(t){var e=n(this,t);return!!e&&e.enumerable}:r},2967:function(t,e,r){"use strict";var n=r(6706),o=r(34),i=r(7750),a=r(3506);t.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,r={};try{(t=n(Object.prototype,"__proto__","set"))(r,[]),e=r instanceof Array}catch(t){}return function(r,n){return i(r),a(n),o(r)?(e?t(r,n):r.__proto__=n,r):r}}():void 0)},3179:function(t,e,r){"use strict";var n=r(2140),o=r(6955);t.exports=n?{}.toString:function(){return"[object "+o(this)+"]"}},4270:function(t,e,r){"use strict";var n=r(9565),o=r(4901),i=r(34),a=TypeError;t.exports=function(t,e){var r,s;if("string"===e&&o(r=t.toString)&&!i(s=n(r,t)))return s;if(o(r=t.valueOf)&&!i(s=n(r,t)))return s;if("string"!==e&&o(r=t.toString)&&!i(s=n(r,t)))return s;throw new a("Can't convert object to primitive value")}},5031:function(t,e,r){"use strict";var n=r(7751),o=r(9504),i=r(8480),a=r(3717),s=r(8551),u=o([].concat);t.exports=n("Reflect","ownKeys")||function(t){var e=i.f(s(t)),r=a.f;return r?u(e,r(t)):e}},9167:function(t,e,r){"use strict";var n=r(4576);t.exports=n},1103:function(t){"use strict";t.exports=function(t){try{return{error:!1,value:t()}}catch(t){return{error:!0,value:t}}}},916:function(t,e,r){"use strict";var n=r(4576),o=r(550),i=r(4901),a=r(2796),s=r(3706),u=r(8227),c=r(4215),f=r(6395),l=r(9519),p=o&&o.prototype,h=u("species"),d=!1,v=i(n.PromiseRejectionEvent),y=a("Promise",(function(){var t=s(o),e=t!==String(o);if(!e&&66===l)return!0;if(f&&(!p.catch||!p.finally))return!0;if(!l||l<51||!/native code/.test(t)){var r=new o((function(t){t(1)})),n=function(t){t((function(){}),(function(){}))};if((r.constructor={})[h]=n,!(d=r.then((function(){}))instanceof n))return!0}return!(e||"BROWSER"!==c&&"DENO"!==c||v)}));t.exports={CONSTRUCTOR:y,REJECTION_EVENT:v,SUBCLASSING:d}},550:function(t,e,r){"use strict";var n=r(4576);t.exports=n.Promise},3438:function(t,e,r){"use strict";var n=r(8551),o=r(34),i=r(6043);t.exports=function(t,e){if(n(t),o(e)&&e.constructor===t)return e;var r=i.f(t);return(0,r.resolve)(e),r.promise}},537:function(t,e,r){"use strict";var n=r(550),o=r(4428),i=r(916).CONSTRUCTOR;t.exports=i||!o((function(t){n.all(t).then(void 0,(function(){}))}))},1056:function(t,e,r){"use strict";var n=r(4913).f;t.exports=function(t,e,r){r in t||n(t,r,{configurable:!0,get:function(){return e[r]},set:function(t){e[r]=t}})}},8265:function(t){"use strict";var e=function(){this.head=null,this.tail=null};e.prototype={add:function(t){var e={item:t,next:null},r=this.tail;r?r.next=e:this.head=e,this.tail=e},get:function(){var t=this.head;if(t)return null===(this.head=t.next)&&(this.tail=null),t.item}},t.exports=e},6682:function(t,e,r){"use strict";var n=r(9565),o=r(8551),i=r(4901),a=r(2195),s=r(7323),u=TypeError;t.exports=function(t,e){var r=t.exec;if(i(r)){var c=n(r,t,e);return null!==c&&o(c),c}if("RegExp"===a(t))return n(s,t,e);throw new u("RegExp#exec called on incompatible receiver")}},7323:function(t,e,r){"use strict";var n,o,i=r(9565),a=r(9504),s=r(655),u=r(7979),c=r(8429),f=r(5745),l=r(2360),p=r(1181).get,h=r(3635),d=r(8814),v=f("native-string-replace",String.prototype.replace),y=RegExp.prototype.exec,g=y,b=a("".charAt),m=a("".indexOf),w=a("".replace),x=a("".slice),S=(o=/b*/g,i(y,n=/a/,"a"),i(y,o,"a"),0!==n.lastIndex||0!==o.lastIndex),A=c.BROKEN_CARET,k=void 0!==/()??/.exec("")[1];(S||k||A||h||d)&&(g=function(t){var e,r,n,o,a,c,f,h=this,d=p(h),O=s(t),E=d.raw;if(E)return E.lastIndex=h.lastIndex,e=i(g,E,O),h.lastIndex=E.lastIndex,e;var P=d.groups,C=A&&h.sticky,R=i(u,h),_=h.source,T=0,j=O;if(C&&(R=w(R,"y",""),-1===m(R,"g")&&(R+="g"),j=x(O,h.lastIndex),h.lastIndex>0&&(!h.multiline||h.multiline&&"\n"!==b(O,h.lastIndex-1))&&(_="(?: "+_+")",j=" "+j,T++),r=new RegExp("^(?:"+_+")",R)),k&&(r=new RegExp("^"+_+"$(?!\\s)",R)),S&&(n=h.lastIndex),o=i(y,C?r:h,j),C?o?(o.input=x(o.input,T),o[0]=x(o[0],T),o.index=h.lastIndex,h.lastIndex+=o[0].length):h.lastIndex=0:S&&o&&(h.lastIndex=h.global?o.index+o[0].length:n),k&&o&&o.length>1&&i(v,o[0],r,(function(){for(a=1;ab)","g");return"b"!==t.exec("b").groups.a||"bc"!=="b".replace(t,"$c")}))},7750:function(t,e,r){"use strict";var n=r(4117),o=TypeError;t.exports=function(t){if(n(t))throw new o("Can't call method on "+t);return t}},3389:function(t,e,r){"use strict";var n=r(4576),o=r(3724),i=Object.getOwnPropertyDescriptor;t.exports=function(t){if(!o)return n[t];var e=i(n,t);return e&&e.value}},3470:function(t){"use strict";t.exports=Object.is||function(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e}},7633:function(t,e,r){"use strict";var n=r(7751),o=r(2106),i=r(8227),a=r(3724),s=i("species");t.exports=function(t){var e=n(t);a&&e&&!e[s]&&o(e,s,{configurable:!0,get:function(){return this}})}},687:function(t,e,r){"use strict";var n=r(4913).f,o=r(9297),i=r(8227)("toStringTag");t.exports=function(t,e,r){t&&!r&&(t=t.prototype),t&&!o(t,i)&&n(t,i,{configurable:!0,value:e})}},6119:function(t,e,r){"use strict";var n=r(5745),o=r(3392),i=n("keys");t.exports=function(t){return i[t]||(i[t]=o(t))}},7629:function(t,e,r){"use strict";var n=r(6395),o=r(4576),i=r(9433),a="__core-js_shared__",s=t.exports=o[a]||i(a,{});(s.versions||(s.versions=[])).push({version:"3.38.1",mode:n?"pure":"global",copyright:"© 2014-2024 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.38.1/LICENSE",source:"https://github.com/zloirock/core-js"})},5745:function(t,e,r){"use strict";var n=r(7629);t.exports=function(t,e){return n[t]||(n[t]=e||{})}},2293:function(t,e,r){"use strict";var n=r(8551),o=r(5548),i=r(4117),a=r(8227)("species");t.exports=function(t,e){var r,s=n(t).constructor;return void 0===s||i(r=n(s)[a])?e:o(r)}},3061:function(t,e,r){"use strict";var n=r(9039);t.exports=function(t){return n((function(){var e=""[t]('"');return e!==e.toLowerCase()||e.split('"').length>3}))}},8183:function(t,e,r){"use strict";var n=r(9504),o=r(1291),i=r(655),a=r(7750),s=n("".charAt),u=n("".charCodeAt),c=n("".slice),f=function(t){return function(e,r){var n,f,l=i(a(e)),p=o(r),h=l.length;return p<0||p>=h?t?"":void 0:(n=u(l,p))<55296||n>56319||p+1===h||(f=u(l,p+1))<56320||f>57343?t?s(l,p):n:t?c(l,p,p+2):f-56320+(n-55296<<10)+65536}};t.exports={codeAt:f(!1),charAt:f(!0)}},6098:function(t,e,r){"use strict";var n=r(9504),o=2147483647,i=/[^\0-\u007E]/,a=/[.\u3002\uFF0E\uFF61]/g,s="Overflow: input needs wider integers to process",u=RangeError,c=n(a.exec),f=Math.floor,l=String.fromCharCode,p=n("".charCodeAt),h=n([].join),d=n([].push),v=n("".replace),y=n("".split),g=n("".toLowerCase),b=function(t){return t+22+75*(t<26)},m=function(t,e,r){var n=0;for(t=r?f(t/700):t>>1,t+=f(t/e);t>455;)t=f(t/35),n+=36;return f(n+36*t/(t+38))},w=function(t){var e=[];t=function(t){for(var e=[],r=0,n=t.length;r=55296&&o<=56319&&r=a&&nf((o-c)/x))throw new u(s);for(c+=(w-a)*x,a=w,r=0;ro)throw new u(s);if(n===a){for(var S=c,A=36;;){var k=A<=v?1:A>=v+26?26:A-v;if(S0?o(e,9007199254740991):0}},8981:function(t,e,r){"use strict";var n=r(7750),o=Object;t.exports=function(t){return o(n(t))}},8229:function(t,e,r){"use strict";var n=r(9590),o=RangeError;t.exports=function(t,e){var r=n(t);if(r%e)throw new o("Wrong offset");return r}},9590:function(t,e,r){"use strict";var n=r(1291),o=RangeError;t.exports=function(t){var e=n(t);if(e<0)throw new o("The argument can't be less than 0");return e}},2777:function(t,e,r){"use strict";var n=r(9565),o=r(34),i=r(757),a=r(5966),s=r(4270),u=r(8227),c=TypeError,f=u("toPrimitive");t.exports=function(t,e){if(!o(t)||i(t))return t;var r,u=a(t,f);if(u){if(void 0===e&&(e="default"),r=n(u,t,e),!o(r)||i(r))return r;throw new c("Can't convert object to primitive value")}return void 0===e&&(e="number"),s(t,e)}},6969:function(t,e,r){"use strict";var n=r(2777),o=r(757);t.exports=function(t){var e=n(t,"string");return o(e)?e:e+""}},2140:function(t,e,r){"use strict";var n={};n[r(8227)("toStringTag")]="z",t.exports="[object z]"===String(n)},655:function(t,e,r){"use strict";var n=r(6955),o=String;t.exports=function(t){if("Symbol"===n(t))throw new TypeError("Cannot convert a Symbol value to a string");return o(t)}},8319:function(t){"use strict";var e=Math.round;t.exports=function(t){var r=e(t);return r<0?0:r>255?255:255&r}},6823:function(t){"use strict";var e=String;t.exports=function(t){try{return e(t)}catch(t){return"Object"}}},5823:function(t,e,r){"use strict";var n=r(6518),o=r(4576),i=r(9565),a=r(3724),s=r(2805),u=r(4644),c=r(6346),f=r(679),l=r(6980),p=r(6699),h=r(2087),d=r(8014),v=r(7696),y=r(8229),g=r(8319),b=r(6969),m=r(9297),w=r(6955),x=r(34),S=r(757),A=r(2360),k=r(1625),O=r(2967),E=r(8480).f,P=r(3251),C=r(9213).forEach,R=r(7633),_=r(2106),T=r(4913),j=r(7347),U=r(5370),I=r(1181),F=r(3167),M=I.get,L=I.set,B=I.enforce,N=T.f,D=j.f,K=o.RangeError,q=c.ArrayBuffer,H=q.prototype,z=c.DataView,G=u.NATIVE_ARRAY_BUFFER_VIEWS,J=u.TYPED_ARRAY_TAG,V=u.TypedArray,W=u.TypedArrayPrototype,Y=u.isTypedArray,$="BYTES_PER_ELEMENT",Z="Wrong length",Q=function(t,e){_(t,e,{configurable:!0,get:function(){return M(this)[e]}})},X=function(t){var e;return k(H,t)||"ArrayBuffer"===(e=w(t))||"SharedArrayBuffer"===e},tt=function(t,e){return Y(t)&&!S(e)&&e in t&&h(+e)&&e>=0},et=function(t,e){return e=b(e),tt(t,e)?l(2,t[e]):D(t,e)},rt=function(t,e,r){return e=b(e),!(tt(t,e)&&x(r)&&m(r,"value"))||m(r,"get")||m(r,"set")||r.configurable||m(r,"writable")&&!r.writable||m(r,"enumerable")&&!r.enumerable?N(t,e,r):(t[e]=r.value,t)};a?(G||(j.f=et,T.f=rt,Q(W,"buffer"),Q(W,"byteOffset"),Q(W,"byteLength"),Q(W,"length")),n({target:"Object",stat:!0,forced:!G},{getOwnPropertyDescriptor:et,defineProperty:rt}),t.exports=function(t,e,r){var a=t.match(/\d+/)[0]/8,u=t+(r?"Clamped":"")+"Array",c="get"+t,l="set"+t,h=o[u],b=h,m=b&&b.prototype,w={},S=function(t,e){N(t,e,{get:function(){return function(t,e){var r=M(t);return r.view[c](e*a+r.byteOffset,!0)}(this,e)},set:function(t){return function(t,e,n){var o=M(t);o.view[l](e*a+o.byteOffset,r?g(n):n,!0)}(this,e,t)},enumerable:!0})};G?s&&(b=e((function(t,e,r,n){return f(t,m),F(x(e)?X(e)?void 0!==n?new h(e,y(r,a),n):void 0!==r?new h(e,y(r,a)):new h(e):Y(e)?U(b,e):i(P,b,e):new h(v(e)),t,b)})),O&&O(b,V),C(E(h),(function(t){t in b||p(b,t,h[t])})),b.prototype=m):(b=e((function(t,e,r,n){f(t,m);var o,s,u,c=0,l=0;if(x(e)){if(!X(e))return Y(e)?U(b,e):i(P,b,e);o=e,l=y(r,a);var p=e.byteLength;if(void 0===n){if(p%a)throw new K(Z);if((s=p-l)<0)throw new K(Z)}else if((s=d(n)*a)+l>p)throw new K(Z);u=s/a}else u=v(e),o=new q(s=u*a);for(L(t,{buffer:o,byteOffset:l,byteLength:s,length:u,view:new z(o)});c1?arguments[1]:void 0,k=void 0!==A,O=c(x);if(O&&!f(O))for(m=(b=u(x,O)).next,x=[];!(g=o(m,b)).done;)x.push(g.value);for(k&&S>2&&(A=n(A,arguments[2])),r=s(x),d=new(p(w))(r),v=l(d),e=0;r>e;e++)y=k?A(x[e],e):x[e],d[e]=v?h(y):+y;return d}},1412:function(t,e,r){"use strict";var n=r(4644),o=r(2293),i=n.aTypedArrayConstructor,a=n.getTypedArrayConstructor;t.exports=function(t){return i(o(t,a(t)))}},3392:function(t,e,r){"use strict";var n=r(9504),o=0,i=Math.random(),a=n(1..toString);t.exports=function(t){return"Symbol("+(void 0===t?"":t)+")_"+a(++o+i,36)}},7416:function(t,e,r){"use strict";var n=r(9039),o=r(8227),i=r(3724),a=r(6395),s=o("iterator");t.exports=!n((function(){var t=new URL("b?a=1&b=2&c=3","https://a"),e=t.searchParams,r=new URLSearchParams("a=1&a=2&b=3"),n="";return t.pathname="c%20d",e.forEach((function(t,r){e.delete("b"),n+=r+t})),r.delete("a",2),r.delete("b",void 0),a&&(!t.toJSON||!r.has("a",1)||r.has("a",2)||!r.has("a",void 0)||r.has("b"))||!e.size&&(a||!i)||!e.sort||"https://a/c%20d?a=1&c=3"!==t.href||"3"!==e.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!e[s]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("https://тест").host||"#%D0%B1"!==new URL("https://a#б").hash||"a1c3"!==n||"x"!==new URL("https://x",void 0).host}))},7040:function(t,e,r){"use strict";var n=r(4495);t.exports=n&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},8686:function(t,e,r){"use strict";var n=r(3724),o=r(9039);t.exports=n&&o((function(){return 42!==Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype}))},2812:function(t){"use strict";var e=TypeError;t.exports=function(t,r){if(t=51||!o((function(){var t=[];return t[v]=!1,t.concat()[0]!==t})),g=function(t){if(!a(t))return!1;var e=t[v];return void 0!==e?!!e:i(t)};n({target:"Array",proto:!0,arity:1,forced:!y||!p("concat")},{concat:function(t){var e,r,n,o,i,a=s(this),p=l(a,0),h=0;for(e=-1,n=arguments.length;e1?arguments[1]:void 0)}})},113:function(t,e,r){"use strict";var n=r(6518),o=r(9213).find,i=r(6469),a="find",s=!0;a in[]&&Array(1)[a]((function(){s=!1})),n({target:"Array",proto:!0,forced:s},{find:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),i(a)},6449:function(t,e,r){"use strict";var n=r(6518),o=r(259),i=r(8981),a=r(6198),s=r(1291),u=r(1469);n({target:"Array",proto:!0},{flat:function(){var t=arguments.length?arguments[0]:void 0,e=i(this),r=a(e),n=u(e,0);return n.length=o(n,e,e,r,0,void 0===t?1:s(t)),n}})},4423:function(t,e,r){"use strict";var n=r(6518),o=r(9617).includes,i=r(9039),a=r(6469);n({target:"Array",proto:!0,forced:i((function(){return!Array(1).includes()}))},{includes:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),a("includes")},3792:function(t,e,r){"use strict";var n=r(5397),o=r(6469),i=r(6269),a=r(1181),s=r(4913).f,u=r(1088),c=r(2529),f=r(6395),l=r(3724),p="Array Iterator",h=a.set,d=a.getterFor(p);t.exports=u(Array,"Array",(function(t,e){h(this,{type:p,target:n(t),index:0,kind:e})}),(function(){var t=d(this),e=t.target,r=t.index++;if(!e||r>=e.length)return t.target=null,c(void 0,!0);switch(t.kind){case"keys":return c(r,!1);case"values":return c(e[r],!1)}return c([r,e[r]],!1)}),"values");var v=i.Arguments=i.Array;if(o("keys"),o("values"),o("entries"),!f&&l&&"values"!==v.name)try{s(v,"name",{value:"values"})}catch(t){}},8598:function(t,e,r){"use strict";var n=r(6518),o=r(9504),i=r(7055),a=r(5397),s=r(4598),u=o([].join);n({target:"Array",proto:!0,forced:i!==Object||!s("join",",")},{join:function(t){return u(a(this),void 0===t?",":t)}})},2062:function(t,e,r){"use strict";var n=r(6518),o=r(9213).map;n({target:"Array",proto:!0,forced:!r(597)("map")},{map:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},4782:function(t,e,r){"use strict";var n=r(6518),o=r(4376),i=r(3517),a=r(34),s=r(5610),u=r(6198),c=r(5397),f=r(4659),l=r(8227),p=r(597),h=r(7680),d=p("slice"),v=l("species"),y=Array,g=Math.max;n({target:"Array",proto:!0,forced:!d},{slice:function(t,e){var r,n,l,p=c(this),d=u(p),b=s(t,d),m=s(void 0===e?d:e,d);if(o(p)&&(r=p.constructor,(i(r)&&(r===y||o(r.prototype))||a(r)&&null===(r=r[v]))&&(r=void 0),r===y||void 0===r))return h(p,b,m);for(n=new(void 0===r?y:r)(g(m-b,0)),l=0;b3)){if(d)return!0;if(y)return y<603;var t,e,r,n,o="";for(t=65;t<76;t++){switch(e=String.fromCharCode(t),t){case 66:case 69:case 70:case 72:r=3;break;case 68:case 71:r=4;break;default:r=2}for(n=0;n<47;n++)g.push({k:e+n,v:r})}for(g.sort((function(t,e){return e.v-t.v})),n=0;nc(r)?1:-1}}(t)),r=s(o),n=0;nw-n+r;y--)p(m,y-1)}else if(r>n)for(y=w-n;y>x;y--)b=y+r-1,(g=y+n-1)in m?m[b]=m[g]:p(m,b);for(y=0;y2)if(c=w(c),43===(e=P(c,0))||45===e){if(88===(r=P(c,2))||120===r)return NaN}else if(48===e){switch(P(c,1)){case 66:case 98:n=2,o=49;break;case 79:case 111:n=8,o=55;break;default:return+c}for(a=(i=E(c,2)).length,s=0;so)return NaN;return parseInt(i,n)}return+c}(e)}(t));return p(k,e=this)&&v((function(){m(e)}))?l(Object(r),this,R):r};R.prototype=k,C&&!o&&(k.constructor=R),n({global:!0,constructor:!0,wrap:!0,forced:C},{Number:R});var _=function(t,e){for(var r,n=i?y(e):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,fromString,range".split(","),o=0;n.length>o;o++)f(e,r=n[o])&&!f(t,r)&&b(t,r,g(e,r))};o&&A&&_(s[x],A),(C||o)&&_(s[x],S)},9085:function(t,e,r){"use strict";var n=r(6518),o=r(4213);n({target:"Object",stat:!0,arity:2,forced:Object.assign!==o},{assign:o})},3851:function(t,e,r){"use strict";var n=r(6518),o=r(9039),i=r(5397),a=r(7347).f,s=r(3724);n({target:"Object",stat:!0,forced:!s||o((function(){a(1)})),sham:!s},{getOwnPropertyDescriptor:function(t,e){return a(i(t),e)}})},1278:function(t,e,r){"use strict";var n=r(6518),o=r(3724),i=r(5031),a=r(5397),s=r(7347),u=r(4659);n({target:"Object",stat:!0,sham:!o},{getOwnPropertyDescriptors:function(t){for(var e,r,n=a(t),o=s.f,c=i(n),f={},l=0;c.length>l;)void 0!==(r=o(n,e=c[l++]))&&u(f,e,r);return f}})},9773:function(t,e,r){"use strict";var n=r(6518),o=r(4495),i=r(9039),a=r(3717),s=r(8981);n({target:"Object",stat:!0,forced:!o||i((function(){a.f(1)}))},{getOwnPropertySymbols:function(t){var e=a.f;return e?e(s(t)):[]}})},9432:function(t,e,r){"use strict";var n=r(6518),o=r(8981),i=r(1072);n({target:"Object",stat:!0,forced:r(9039)((function(){i(1)}))},{keys:function(t){return i(o(t))}})},6099:function(t,e,r){"use strict";var n=r(2140),o=r(6840),i=r(3179);n||o(Object.prototype,"toString",i,{unsafe:!0})},6499:function(t,e,r){"use strict";var n=r(6518),o=r(9565),i=r(9306),a=r(6043),s=r(1103),u=r(2652);n({target:"Promise",stat:!0,forced:r(537)},{all:function(t){var e=this,r=a.f(e),n=r.resolve,c=r.reject,f=s((function(){var r=i(e.resolve),a=[],s=0,f=1;u(t,(function(t){var i=s++,u=!1;f++,o(r,e,t).then((function(t){u||(u=!0,a[i]=t,--f||n(a))}),c)})),--f||n(a)}));return f.error&&c(f.value),r.promise}})},2003:function(t,e,r){"use strict";var n=r(6518),o=r(6395),i=r(916).CONSTRUCTOR,a=r(550),s=r(7751),u=r(4901),c=r(6840),f=a&&a.prototype;if(n({target:"Promise",proto:!0,forced:i,real:!0},{catch:function(t){return this.then(void 0,t)}}),!o&&u(a)){var l=s("Promise").prototype.catch;f.catch!==l&&c(f,"catch",l,{unsafe:!0})}},436:function(t,e,r){"use strict";var n,o,i,a=r(6518),s=r(6395),u=r(6193),c=r(4576),f=r(9565),l=r(6840),p=r(2967),h=r(687),d=r(7633),v=r(9306),y=r(4901),g=r(34),b=r(679),m=r(2293),w=r(9225).set,x=r(1955),S=r(3138),A=r(1103),k=r(8265),O=r(1181),E=r(550),P=r(916),C=r(6043),R="Promise",_=P.CONSTRUCTOR,T=P.REJECTION_EVENT,j=P.SUBCLASSING,U=O.getterFor(R),I=O.set,F=E&&E.prototype,M=E,L=F,B=c.TypeError,N=c.document,D=c.process,K=C.f,q=K,H=!!(N&&N.createEvent&&c.dispatchEvent),z="unhandledrejection",G=function(t){var e;return!(!g(t)||!y(e=t.then))&&e},J=function(t,e){var r,n,o,i=e.value,a=1===e.state,s=a?t.ok:t.fail,u=t.resolve,c=t.reject,l=t.domain;try{s?(a||(2===e.rejection&&Z(e),e.rejection=1),!0===s?r=i:(l&&l.enter(),r=s(i),l&&(l.exit(),o=!0)),r===t.promise?c(new B("Promise-chain cycle")):(n=G(r))?f(n,r,u,c):u(r)):c(i)}catch(t){l&&!o&&l.exit(),c(t)}},V=function(t,e){t.notified||(t.notified=!0,x((function(){for(var r,n=t.reactions;r=n.get();)J(r,t);t.notified=!1,e&&!t.rejection&&Y(t)})))},W=function(t,e,r){var n,o;H?((n=N.createEvent("Event")).promise=e,n.reason=r,n.initEvent(t,!1,!0),c.dispatchEvent(n)):n={promise:e,reason:r},!T&&(o=c["on"+t])?o(n):t===z&&S("Unhandled promise rejection",r)},Y=function(t){f(w,c,(function(){var e,r=t.facade,n=t.value;if($(t)&&(e=A((function(){u?D.emit("unhandledRejection",n,r):W(z,r,n)})),t.rejection=u||$(t)?2:1,e.error))throw e.value}))},$=function(t){return 1!==t.rejection&&!t.parent},Z=function(t){f(w,c,(function(){var e=t.facade;u?D.emit("rejectionHandled",e):W("rejectionhandled",e,t.value)}))},Q=function(t,e,r){return function(n){t(e,n,r)}},X=function(t,e,r){t.done||(t.done=!0,r&&(t=r),t.value=e,t.state=2,V(t,!0))},tt=function(t,e,r){if(!t.done){t.done=!0,r&&(t=r);try{if(t.facade===e)throw new B("Promise can't be resolved itself");var n=G(e);n?x((function(){var r={done:!1};try{f(n,e,Q(tt,r,t),Q(X,r,t))}catch(e){X(r,e,t)}})):(t.value=e,t.state=1,V(t,!1))}catch(e){X({done:!1},e,t)}}};if(_&&(L=(M=function(t){b(this,L),v(t),f(n,this);var e=U(this);try{t(Q(tt,e),Q(X,e))}catch(t){X(e,t)}}).prototype,(n=function(t){I(this,{type:R,done:!1,notified:!1,parent:!1,reactions:new k,rejection:!1,state:0,value:null})}).prototype=l(L,"then",(function(t,e){var r=U(this),n=K(m(this,M));return r.parent=!0,n.ok=!y(t)||t,n.fail=y(e)&&e,n.domain=u?D.domain:void 0,0===r.state?r.reactions.add(n):x((function(){J(n,r)})),n.promise})),o=function(){var t=new n,e=U(t);this.promise=t,this.resolve=Q(tt,e),this.reject=Q(X,e)},C.f=K=function(t){return t===M||void 0===t?new o(t):q(t)},!s&&y(E)&&F!==Object.prototype)){i=F.then,j||l(F,"then",(function(t,e){var r=this;return new M((function(t,e){f(i,r,t,e)})).then(t,e)}),{unsafe:!0});try{delete F.constructor}catch(t){}p&&p(F,L)}a({global:!0,constructor:!0,wrap:!0,forced:_},{Promise:M}),h(M,R,!1,!0),d(R)},9391:function(t,e,r){"use strict";var n=r(6518),o=r(6395),i=r(550),a=r(9039),s=r(7751),u=r(4901),c=r(2293),f=r(3438),l=r(6840),p=i&&i.prototype;if(n({target:"Promise",proto:!0,real:!0,forced:!!i&&a((function(){p.finally.call({then:function(){}},(function(){}))}))},{finally:function(t){var e=c(this,s("Promise")),r=u(t);return this.then(r?function(r){return f(e,t()).then((function(){return r}))}:t,r?function(r){return f(e,t()).then((function(){throw r}))}:t)}}),!o&&u(i)){var h=s("Promise").prototype.finally;p.finally!==h&&l(p,"finally",h,{unsafe:!0})}},3362:function(t,e,r){"use strict";r(436),r(6499),r(2003),r(7743),r(1481),r(280)},7743:function(t,e,r){"use strict";var n=r(6518),o=r(9565),i=r(9306),a=r(6043),s=r(1103),u=r(2652);n({target:"Promise",stat:!0,forced:r(537)},{race:function(t){var e=this,r=a.f(e),n=r.reject,c=s((function(){var a=i(e.resolve);u(t,(function(t){o(a,e,t).then(r.resolve,n)}))}));return c.error&&n(c.value),r.promise}})},1481:function(t,e,r){"use strict";var n=r(6518),o=r(6043);n({target:"Promise",stat:!0,forced:r(916).CONSTRUCTOR},{reject:function(t){var e=o.f(this);return(0,e.reject)(t),e.promise}})},280:function(t,e,r){"use strict";var n=r(6518),o=r(7751),i=r(6395),a=r(550),s=r(916).CONSTRUCTOR,u=r(3438),c=o("Promise"),f=i&&!s;n({target:"Promise",stat:!0,forced:i||s},{resolve:function(t){return u(f&&this===c?a:this,t)}})},825:function(t,e,r){"use strict";var n=r(6518),o=r(7751),i=r(8745),a=r(566),s=r(5548),u=r(8551),c=r(34),f=r(2360),l=r(9039),p=o("Reflect","construct"),h=Object.prototype,d=[].push,v=l((function(){function t(){}return!(p((function(){}),[],t)instanceof t)})),y=!l((function(){p((function(){}))})),g=v||y;n({target:"Reflect",stat:!0,forced:g,sham:g},{construct:function(t,e){s(t),u(e);var r=arguments.length<3?t:s(arguments[2]);if(y&&!v)return p(t,e,r);if(t===r){switch(e.length){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3])}var n=[null];return i(d,n,e),new(i(a,t,n))}var o=r.prototype,l=f(c(o)?o:h),g=i(t,l,e);return c(g)?g:l}})},4864:function(t,e,r){"use strict";var n=r(3724),o=r(4576),i=r(9504),a=r(2796),s=r(3167),u=r(6699),c=r(2360),f=r(8480).f,l=r(1625),p=r(788),h=r(655),d=r(1034),v=r(8429),y=r(1056),g=r(6840),b=r(9039),m=r(9297),w=r(1181).enforce,x=r(7633),S=r(8227),A=r(3635),k=r(8814),O=S("match"),E=o.RegExp,P=E.prototype,C=o.SyntaxError,R=i(P.exec),_=i("".charAt),T=i("".replace),j=i("".indexOf),U=i("".slice),I=/^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/,F=/a/g,M=/a/g,L=new E(F)!==F,B=v.MISSED_STICKY,N=v.UNSUPPORTED_Y;if(a("RegExp",n&&(!L||B||A||k||b((function(){return M[O]=!1,E(F)!==F||E(M)===M||"/a/i"!==String(E(F,"i"))}))))){for(var D=function(t,e){var r,n,o,i,a,f,v=l(P,this),y=p(t),g=void 0===e,b=[],x=t;if(!v&&y&&g&&t.constructor===D)return t;if((y||l(P,t))&&(t=t.source,g&&(e=d(x))),t=void 0===t?"":h(t),e=void 0===e?"":h(e),x=t,A&&"dotAll"in F&&(n=!!e&&j(e,"s")>-1)&&(e=T(e,/s/g,"")),r=e,B&&"sticky"in F&&(o=!!e&&j(e,"y")>-1)&&N&&(e=T(e,/y/g,"")),k&&(i=function(t){for(var e,r=t.length,n=0,o="",i=[],a=c(null),s=!1,u=!1,f=0,l="";n<=r;n++){if("\\"===(e=_(t,n)))e+=_(t,++n);else if("]"===e)s=!1;else if(!s)switch(!0){case"["===e:s=!0;break;case"("===e:if(o+=e,"?:"===U(t,n+1,n+3))continue;R(I,U(t,n+1))&&(n+=2,u=!0),f++;continue;case">"===e&&u:if(""===l||m(a,l))throw new C("Invalid capture group name");a[l]=!0,i[i.length]=[l,f],u=!1,l="";continue}u?l+=e:o+=e}return[o,i]}(t),t=i[0],b=i[1]),a=s(E(t,e),v?this:P,D),(n||o||b.length)&&(f=w(a),n&&(f.dotAll=!0,f.raw=D(function(t){for(var e,r=t.length,n=0,o="",i=!1;n<=r;n++)"\\"!==(e=_(t,n))?i||"."!==e?("["===e?i=!0:"]"===e&&(i=!1),o+=e):o+="[\\s\\S]":o+=e+_(t,++n);return o}(t),r)),o&&(f.sticky=!0),b.length&&(f.groups=b)),t!==x)try{u(a,"source",""===x?"(?:)":x)}catch(t){}return a},K=f(E),q=0;K.length>q;)y(D,E,K[q++]);P.constructor=D,D.prototype=P,g(o,"RegExp",D,{constructor:!0})}x("RegExp")},7495:function(t,e,r){"use strict";var n=r(6518),o=r(7323);n({target:"RegExp",proto:!0,forced:/./.exec!==o},{exec:o})},8781:function(t,e,r){"use strict";var n=r(350).PROPER,o=r(6840),i=r(8551),a=r(655),s=r(9039),u=r(1034),c="toString",f=RegExp.prototype,l=f[c],p=s((function(){return"/a/b"!==l.call({source:"a",flags:"b"})})),h=n&&l.name!==c;(p||h)&&o(f,c,(function(){var t=i(this);return"/"+a(t.source)+"/"+a(u(t))}),{unsafe:!0})},7337:function(t,e,r){"use strict";var n=r(6518),o=r(9504),i=r(5610),a=RangeError,s=String.fromCharCode,u=String.fromCodePoint,c=o([].join);n({target:"String",stat:!0,arity:1,forced:!!u&&1!==u.length},{fromCodePoint:function(t){for(var e,r=[],n=arguments.length,o=0;n>o;){if(e=+arguments[o++],i(e,1114111)!==e)throw new a(e+" is not a valid code point");r[o]=e<65536?s(e):s(55296+((e-=65536)>>10),e%1024+56320)}return c(r,"")}})},1699:function(t,e,r){"use strict";var n=r(6518),o=r(9504),i=r(2892),a=r(7750),s=r(655),u=r(1436),c=o("".indexOf);n({target:"String",proto:!0,forced:!u("includes")},{includes:function(t){return!!~c(s(a(this)),s(i(t)),arguments.length>1?arguments[1]:void 0)}})},7764:function(t,e,r){"use strict";var n=r(8183).charAt,o=r(655),i=r(1181),a=r(1088),s=r(2529),u="String Iterator",c=i.set,f=i.getterFor(u);a(String,"String",(function(t){c(this,{type:u,string:o(t),index:0})}),(function(){var t,e=f(this),r=e.string,o=e.index;return o>=r.length?s(void 0,!0):(t=n(r,o),e.index+=t.length,s(t,!1))}))},778:function(t,e,r){"use strict";var n=r(6518),o=r(7240);n({target:"String",proto:!0,forced:r(3061)("link")},{link:function(t){return o(this,"a","href",t)}})},1761:function(t,e,r){"use strict";var n=r(9565),o=r(9228),i=r(8551),a=r(4117),s=r(8014),u=r(655),c=r(7750),f=r(5966),l=r(7829),p=r(6682);o("match",(function(t,e,r){return[function(e){var r=c(this),o=a(e)?void 0:f(e,t);return o?n(o,e,r):new RegExp(e)[t](u(r))},function(t){var n=i(this),o=u(t),a=r(e,n,o);if(a.done)return a.value;if(!n.global)return p(n,o);var c=n.unicode;n.lastIndex=0;for(var f,h=[],d=0;null!==(f=p(n,o));){var v=u(f[0]);h[d]=v,""===v&&(n.lastIndex=l(o,s(n.lastIndex),c)),d++}return 0===d?null:h}]}))},5440:function(t,e,r){"use strict";var n=r(8745),o=r(9565),i=r(9504),a=r(9228),s=r(9039),u=r(8551),c=r(4901),f=r(4117),l=r(1291),p=r(8014),h=r(655),d=r(7750),v=r(7829),y=r(5966),g=r(2478),b=r(6682),m=r(8227)("replace"),w=Math.max,x=Math.min,S=i([].concat),A=i([].push),k=i("".indexOf),O=i("".slice),E="$0"==="a".replace(/./,"$0"),P=!!/./[m]&&""===/./[m]("a","$0");a("replace",(function(t,e,r){var i=P?"$":"$0";return[function(t,r){var n=d(this),i=f(t)?void 0:y(t,m);return i?o(i,t,n,r):o(e,h(n),t,r)},function(t,o){var a=u(this),s=h(t);if("string"==typeof o&&-1===k(o,i)&&-1===k(o,"$<")){var f=r(e,a,s,o);if(f.done)return f.value}var d=c(o);d||(o=h(o));var y,m=a.global;m&&(y=a.unicode,a.lastIndex=0);for(var E,P=[];null!==(E=b(a,s))&&(A(P,E),m);)""===h(E[0])&&(a.lastIndex=v(s,p(a.lastIndex),y));for(var C,R="",_=0,T=0;T=_&&(R+=O(s,_,I)+j,_=I+U.length)}return R+O(s,_)}]}),!!s((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$")}))||!E||P)},5746:function(t,e,r){"use strict";var n=r(9565),o=r(9228),i=r(8551),a=r(4117),s=r(7750),u=r(3470),c=r(655),f=r(5966),l=r(6682);o("search",(function(t,e,r){return[function(e){var r=s(this),o=a(e)?void 0:f(e,t);return o?n(o,e,r):new RegExp(e)[t](c(r))},function(t){var n=i(this),o=c(t),a=r(e,n,o);if(a.done)return a.value;var s=n.lastIndex;u(s,0)||(n.lastIndex=0);var f=l(n,o);return u(n.lastIndex,s)||(n.lastIndex=s),null===f?-1:f.index}]}))},744:function(t,e,r){"use strict";var n=r(9565),o=r(9504),i=r(9228),a=r(8551),s=r(4117),u=r(7750),c=r(2293),f=r(7829),l=r(8014),p=r(655),h=r(5966),d=r(6682),v=r(8429),y=r(9039),g=v.UNSUPPORTED_Y,b=Math.min,m=o([].push),w=o("".slice),x=!y((function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var r="ab".split(t);return 2!==r.length||"a"!==r[0]||"b"!==r[1]})),S="c"==="abbc".split(/(b)*/)[1]||4!=="test".split(/(?:)/,-1).length||2!=="ab".split(/(?:ab)*/).length||4!==".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length;i("split",(function(t,e,r){var o="0".split(void 0,0).length?function(t,r){return void 0===t&&0===r?[]:n(e,this,t,r)}:e;return[function(e,r){var i=u(this),a=s(e)?void 0:h(e,t);return a?n(a,e,i,r):n(o,p(i),e,r)},function(t,n){var i=a(this),s=p(t);if(!S){var u=r(o,i,s,n,o!==e);if(u.done)return u.value}var h=c(i,RegExp),v=i.unicode,y=(i.ignoreCase?"i":"")+(i.multiline?"m":"")+(i.unicode?"u":"")+(g?"g":"y"),x=new h(g?"^(?:"+i.source+")":i,y),A=void 0===n?4294967295:n>>>0;if(0===A)return[];if(0===s.length)return null===d(x,s)?[s]:[];for(var k=0,O=0,E=[];O2?arguments[2]:void 0)}))},2170:function(t,e,r){"use strict";var n=r(4644),o=r(9213).every,i=n.aTypedArray;(0,n.exportTypedArrayMethod)("every",(function(t){return o(i(this),t,arguments.length>1?arguments[1]:void 0)}))},5044:function(t,e,r){"use strict";var n=r(4644),o=r(4373),i=r(5854),a=r(6955),s=r(9565),u=r(9504),c=r(9039),f=n.aTypedArray,l=n.exportTypedArrayMethod,p=u("".slice);l("fill",(function(t){var e=arguments.length;f(this);var r="Big"===p(a(this),0,3)?i(t):+t;return s(o,this,r,e>1?arguments[1]:void 0,e>2?arguments[2]:void 0)}),c((function(){var t=0;return new Int8Array(2).fill({valueOf:function(){return t++}}),1!==t})))},1920:function(t,e,r){"use strict";var n=r(4644),o=r(9213).filter,i=r(6357),a=n.aTypedArray;(0,n.exportTypedArrayMethod)("filter",(function(t){var e=o(a(this),t,arguments.length>1?arguments[1]:void 0);return i(this,e)}))},9955:function(t,e,r){"use strict";var n=r(4644),o=r(9213).findIndex,i=n.aTypedArray;(0,n.exportTypedArrayMethod)("findIndex",(function(t){return o(i(this),t,arguments.length>1?arguments[1]:void 0)}))},1694:function(t,e,r){"use strict";var n=r(4644),o=r(9213).find,i=n.aTypedArray;(0,n.exportTypedArrayMethod)("find",(function(t){return o(i(this),t,arguments.length>1?arguments[1]:void 0)}))},3206:function(t,e,r){"use strict";var n=r(4644),o=r(9213).forEach,i=n.aTypedArray;(0,n.exportTypedArrayMethod)("forEach",(function(t){o(i(this),t,arguments.length>1?arguments[1]:void 0)}))},4496:function(t,e,r){"use strict";var n=r(4644),o=r(9617).includes,i=n.aTypedArray;(0,n.exportTypedArrayMethod)("includes",(function(t){return o(i(this),t,arguments.length>1?arguments[1]:void 0)}))},6651:function(t,e,r){"use strict";var n=r(4644),o=r(9617).indexOf,i=n.aTypedArray;(0,n.exportTypedArrayMethod)("indexOf",(function(t){return o(i(this),t,arguments.length>1?arguments[1]:void 0)}))},2887:function(t,e,r){"use strict";var n=r(4576),o=r(9039),i=r(9504),a=r(4644),s=r(3792),u=r(8227)("iterator"),c=n.Uint8Array,f=i(s.values),l=i(s.keys),p=i(s.entries),h=a.aTypedArray,d=a.exportTypedArrayMethod,v=c&&c.prototype,y=!o((function(){v[u].call([1])})),g=!!v&&v.values&&v[u]===v.values&&"values"===v.values.name,b=function(){return f(h(this))};d("entries",(function(){return p(h(this))}),y),d("keys",(function(){return l(h(this))}),y),d("values",b,y||!g,{name:"values"}),d(u,b,y||!g,{name:"values"})},9369:function(t,e,r){"use strict";var n=r(4644),o=r(9504),i=n.aTypedArray,a=n.exportTypedArrayMethod,s=o([].join);a("join",(function(t){return s(i(this),t)}))},6812:function(t,e,r){"use strict";var n=r(4644),o=r(8745),i=r(8379),a=n.aTypedArray;(0,n.exportTypedArrayMethod)("lastIndexOf",(function(t){var e=arguments.length;return o(i,a(this),e>1?[t,arguments[1]]:[t])}))},8995:function(t,e,r){"use strict";var n=r(4644),o=r(9213).map,i=r(1412),a=n.aTypedArray;(0,n.exportTypedArrayMethod)("map",(function(t){return o(a(this),t,arguments.length>1?arguments[1]:void 0,(function(t,e){return new(i(t))(e)}))}))},6072:function(t,e,r){"use strict";var n=r(4644),o=r(926).right,i=n.aTypedArray;(0,n.exportTypedArrayMethod)("reduceRight",(function(t){var e=arguments.length;return o(i(this),t,e,e>1?arguments[1]:void 0)}))},1575:function(t,e,r){"use strict";var n=r(4644),o=r(926).left,i=n.aTypedArray;(0,n.exportTypedArrayMethod)("reduce",(function(t){var e=arguments.length;return o(i(this),t,e,e>1?arguments[1]:void 0)}))},8747:function(t,e,r){"use strict";var n=r(4644),o=n.aTypedArray,i=n.exportTypedArrayMethod,a=Math.floor;i("reverse",(function(){for(var t,e=this,r=o(e).length,n=a(r/2),i=0;i1?arguments[1]:void 0,1),r=u(t);if(y)return o(h,this,r,e);var n=this.length,i=a(r),c=0;if(i+e>n)throw new f("Wrong length");for(;ci;)c[i]=r[i++];return c}),i((function(){new Int8Array(1).slice()})))},7301:function(t,e,r){"use strict";var n=r(4644),o=r(9213).some,i=n.aTypedArray;(0,n.exportTypedArrayMethod)("some",(function(t){return o(i(this),t,arguments.length>1?arguments[1]:void 0)}))},373:function(t,e,r){"use strict";var n=r(4576),o=r(7476),i=r(9039),a=r(9306),s=r(4488),u=r(4644),c=r(3709),f=r(3763),l=r(9519),p=r(3607),h=u.aTypedArray,d=u.exportTypedArrayMethod,v=n.Uint16Array,y=v&&o(v.prototype.sort),g=!(!y||i((function(){y(new v(2),null)}))&&i((function(){y(new v(2),{})}))),b=!!y&&!i((function(){if(l)return l<74;if(c)return c<67;if(f)return!0;if(p)return p<602;var t,e,r=new v(516),n=Array(516);for(t=0;t<516;t++)e=t%4,r[t]=515-t,n[t]=t-2*e+3;for(y(r,(function(t,e){return(t/4|0)-(e/4|0)})),t=0;t<516;t++)if(r[t]!==n[t])return!0}));d("sort",(function(t){return void 0!==t&&a(t),b?y(this,t):s(h(this),function(t){return function(e,r){return void 0!==t?+t(e,r)||0:r!=r?-1:e!=e?1:0===e&&0===r?1/e>0&&1/r<0?1:-1:e>r}}(t))}),!b||g)},6614:function(t,e,r){"use strict";var n=r(4644),o=r(8014),i=r(5610),a=r(1412),s=n.aTypedArray;(0,n.exportTypedArrayMethod)("subarray",(function(t,e){var r=s(this),n=r.length,u=i(t,n);return new(a(r))(r.buffer,r.byteOffset+u*r.BYTES_PER_ELEMENT,o((void 0===e?n:i(e,n))-u))}))},1405:function(t,e,r){"use strict";var n=r(4576),o=r(8745),i=r(4644),a=r(9039),s=r(7680),u=n.Int8Array,c=i.aTypedArray,f=i.exportTypedArrayMethod,l=[].toLocaleString,p=!!u&&a((function(){l.call(new u(1))}));f("toLocaleString",(function(){return o(l,p?s(c(this)):c(this),s(arguments))}),a((function(){return[1,2].toLocaleString()!==new u([1,2]).toLocaleString()}))||!a((function(){u.prototype.toLocaleString.call([1,2])})))},3684:function(t,e,r){"use strict";var n=r(4644).exportTypedArrayMethod,o=r(9039),i=r(4576),a=r(9504),s=i.Uint8Array,u=s&&s.prototype||{},c=[].toString,f=a([].join);o((function(){c.call({})}))&&(c=function(){return f(this)});var l=u.toString!==c;n("toString",c,l)},1489:function(t,e,r){"use strict";r(5823)("Uint8",(function(t){return function(e,r,n){return t(this,e,r,n)}}))},2480:function(t,e,r){"use strict";r(5081)},3500:function(t,e,r){"use strict";var n=r(4576),o=r(7400),i=r(9296),a=r(235),s=r(6699),u=function(t){if(t&&t.forEach!==a)try{s(t,"forEach",a)}catch(e){t.forEach=a}};for(var c in o)o[c]&&u(n[c]&&n[c].prototype);u(i)},2953:function(t,e,r){"use strict";var n=r(4576),o=r(7400),i=r(9296),a=r(3792),s=r(6699),u=r(687),c=r(8227)("iterator"),f=a.values,l=function(t,e){if(t){if(t[c]!==f)try{s(t,c,f)}catch(e){t[c]=f}if(u(t,e,!0),o[e])for(var r in a)if(t[r]!==a[r])try{s(t,r,a[r])}catch(e){t[r]=a[r]}}};for(var p in o)l(n[p]&&n[p].prototype,p);l(i,"DOMTokenList")},8406:function(t,e,r){"use strict";r(3792),r(7337);var n=r(6518),o=r(4576),i=r(3389),a=r(7751),s=r(9565),u=r(9504),c=r(3724),f=r(7416),l=r(6840),p=r(2106),h=r(6279),d=r(687),v=r(3994),y=r(1181),g=r(679),b=r(4901),m=r(9297),w=r(6080),x=r(6955),S=r(8551),A=r(34),k=r(655),O=r(2360),E=r(6980),P=r(81),C=r(851),R=r(2529),_=r(2812),T=r(8227),j=r(4488),U=T("iterator"),I="URLSearchParams",F=I+"Iterator",M=y.set,L=y.getterFor(I),B=y.getterFor(F),N=i("fetch"),D=i("Request"),K=i("Headers"),q=D&&D.prototype,H=K&&K.prototype,z=o.TypeError,G=o.encodeURIComponent,J=String.fromCharCode,V=a("String","fromCodePoint"),W=parseInt,Y=u("".charAt),$=u([].join),Z=u([].push),Q=u("".replace),X=u([].shift),tt=u([].splice),et=u("".split),rt=u("".slice),nt=u(/./.exec),ot=/\+/g,it=/^[0-9a-f]+$/i,at=function(t,e){var r=rt(t,e,e+2);return nt(it,r)?W(r,16):NaN},st=function(t){for(var e=0,r=128;r>0&&t&r;r>>=1)e++;return e},ut=function(t){var e=null;switch(t.length){case 1:e=t[0];break;case 2:e=(31&t[0])<<6|63&t[1];break;case 3:e=(15&t[0])<<12|(63&t[1])<<6|63&t[2];break;case 4:e=(7&t[0])<<18|(63&t[1])<<12|(63&t[2])<<6|63&t[3]}return e>1114111?null:e},ct=function(t){for(var e=(t=Q(t,ot," ")).length,r="",n=0;ne){r+="%",n++;continue}var i=at(t,n+1);if(i!=i){r+=o,n++;continue}n+=2;var a=st(i);if(0===a)o=J(i);else{if(1===a||a>4){r+="�",n++;continue}for(var s=[i],u=1;ue||"%"!==Y(t,n));){var c=at(t,n+1);if(c!=c){n+=3;break}if(c>191||c<128)break;Z(s,c),n+=2,u++}if(s.length!==a){r+="�";continue}var f=ut(s);null===f?r+="�":o=V(f)}}r+=o,n++}return r},ft=/[!'()~]|%20/g,lt={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},pt=function(t){return lt[t]},ht=function(t){return Q(G(t),ft,pt)},dt=v((function(t,e){M(this,{type:F,target:L(t).entries,index:0,kind:e})}),I,(function(){var t=B(this),e=t.target,r=t.index++;if(!e||r>=e.length)return t.target=null,R(void 0,!0);var n=e[r];switch(t.kind){case"keys":return R(n.key,!1);case"values":return R(n.value,!1)}return R([n.key,n.value],!1)}),!0),vt=function(t){this.entries=[],this.url=null,void 0!==t&&(A(t)?this.parseObject(t):this.parseQuery("string"==typeof t?"?"===Y(t,0)?rt(t,1):t:k(t)))};vt.prototype={type:I,bindURL:function(t){this.url=t,this.update()},parseObject:function(t){var e,r,n,o,i,a,u,c=this.entries,f=C(t);if(f)for(r=(e=P(t,f)).next;!(n=s(r,e)).done;){if(i=(o=P(S(n.value))).next,(a=s(i,o)).done||(u=s(i,o)).done||!s(i,o).done)throw new z("Expected sequence with length 2");Z(c,{key:k(a.value),value:k(u.value)})}else for(var l in t)m(t,l)&&Z(c,{key:l,value:k(t[l])})},parseQuery:function(t){if(t)for(var e,r,n=this.entries,o=et(t,"&"),i=0;i0?arguments[0]:void 0));c||(this.size=t.entries.length)},gt=yt.prototype;if(h(gt,{append:function(t,e){var r=L(this);_(arguments.length,2),Z(r.entries,{key:k(t),value:k(e)}),c||this.length++,r.updateURL()},delete:function(t){for(var e=L(this),r=_(arguments.length,1),n=e.entries,o=k(t),i=r<2?void 0:arguments[1],a=void 0===i?i:k(i),s=0;se.key?1:-1})),t.updateURL()},forEach:function(t){for(var e,r=L(this).entries,n=w(t,arguments.length>1?arguments[1]:void 0),o=0;o1?wt(arguments[1]):{})}}),b(D)){var xt=function(t){return g(this,q),new D(t,arguments.length>1?wt(arguments[1]):{})};q.constructor=xt,xt.prototype=q,n({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:xt})}}t.exports={URLSearchParams:yt,getState:L}},8408:function(t,e,r){"use strict";r(8406)},5806:function(t,e,r){"use strict";r(7764);var n,o=r(6518),i=r(3724),a=r(7416),s=r(4576),u=r(6080),c=r(9504),f=r(6840),l=r(2106),p=r(679),h=r(9297),d=r(4213),v=r(7916),y=r(7680),g=r(8183).codeAt,b=r(6098),m=r(655),w=r(687),x=r(2812),S=r(8406),A=r(1181),k=A.set,O=A.getterFor("URL"),E=S.URLSearchParams,P=S.getState,C=s.URL,R=s.TypeError,_=s.parseInt,T=Math.floor,j=Math.pow,U=c("".charAt),I=c(/./.exec),F=c([].join),M=c(1..toString),L=c([].pop),B=c([].push),N=c("".replace),D=c([].shift),K=c("".split),q=c("".slice),H=c("".toLowerCase),z=c([].unshift),G="Invalid scheme",J="Invalid host",V="Invalid port",W=/[a-z]/i,Y=/[\d+-.a-z]/i,$=/\d/,Z=/^0x/i,Q=/^[0-7]+$/,X=/^\d+$/,tt=/^[\da-f]+$/i,et=/[\0\t\n\r #%/:<>?@[\\\]^|]/,rt=/[\0\t\n\r #/:<>?@[\\\]^|]/,nt=/^[\u0000-\u0020]+/,ot=/(^|[^\u0000-\u0020])[\u0000-\u0020]+$/,it=/[\t\n\r]/g,at=function(t){var e,r,n,o;if("number"==typeof t){for(e=[],r=0;r<4;r++)z(e,t%256),t=T(t/256);return F(e,".")}if("object"==typeof t){for(e="",n=function(t){for(var e=null,r=1,n=null,o=0,i=0;i<8;i++)0!==t[i]?(o>r&&(e=n,r=o),n=null,o=0):(null===n&&(n=i),++o);return o>r?n:e}(t),r=0;r<8;r++)o&&0===t[r]||(o&&(o=!1),n===r?(e+=r?":":"::",o=!0):(e+=M(t[r],16),r<7&&(e+=":")));return"["+e+"]"}return t},st={},ut=d({},st,{" ":1,'"':1,"<":1,">":1,"`":1}),ct=d({},ut,{"#":1,"?":1,"{":1,"}":1}),ft=d({},ct,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),lt=function(t,e){var r=g(t,0);return r>32&&r<127&&!h(e,t)?t:encodeURIComponent(t)},pt={ftp:21,file:null,http:80,https:443,ws:80,wss:443},ht=function(t,e){var r;return 2===t.length&&I(W,U(t,0))&&(":"===(r=U(t,1))||!e&&"|"===r)},dt=function(t){var e;return t.length>1&&ht(q(t,0,2))&&(2===t.length||"/"===(e=U(t,2))||"\\"===e||"?"===e||"#"===e)},vt=function(t){return"."===t||"%2e"===H(t)},yt={},gt={},bt={},mt={},wt={},xt={},St={},At={},kt={},Ot={},Et={},Pt={},Ct={},Rt={},_t={},Tt={},jt={},Ut={},It={},Ft={},Mt={},Lt=function(t,e,r){var n,o,i,a=m(t);if(e){if(o=this.parse(a))throw new R(o);this.searchParams=null}else{if(void 0!==r&&(n=new Lt(r,!0)),o=this.parse(a,null,n))throw new R(o);(i=P(new E)).bindURL(this),this.searchParams=i}};Lt.prototype={type:"URL",parse:function(t,e,r){var o,i,a,s,u,c=this,f=e||yt,l=0,p="",d=!1,g=!1,b=!1;for(t=m(t),e||(c.scheme="",c.username="",c.password="",c.host=null,c.port=null,c.path=[],c.query=null,c.fragment=null,c.cannotBeABaseURL=!1,t=N(t,nt,""),t=N(t,ot,"$1")),t=N(t,it,""),o=v(t);l<=o.length;){switch(i=o[l],f){case yt:if(!i||!I(W,i)){if(e)return G;f=bt;continue}p+=H(i),f=gt;break;case gt:if(i&&(I(Y,i)||"+"===i||"-"===i||"."===i))p+=H(i);else{if(":"!==i){if(e)return G;p="",f=bt,l=0;continue}if(e&&(c.isSpecial()!==h(pt,p)||"file"===p&&(c.includesCredentials()||null!==c.port)||"file"===c.scheme&&!c.host))return;if(c.scheme=p,e)return void(c.isSpecial()&&pt[c.scheme]===c.port&&(c.port=null));p="","file"===c.scheme?f=Rt:c.isSpecial()&&r&&r.scheme===c.scheme?f=mt:c.isSpecial()?f=At:"/"===o[l+1]?(f=wt,l++):(c.cannotBeABaseURL=!0,B(c.path,""),f=It)}break;case bt:if(!r||r.cannotBeABaseURL&&"#"!==i)return G;if(r.cannotBeABaseURL&&"#"===i){c.scheme=r.scheme,c.path=y(r.path),c.query=r.query,c.fragment="",c.cannotBeABaseURL=!0,f=Mt;break}f="file"===r.scheme?Rt:xt;continue;case mt:if("/"!==i||"/"!==o[l+1]){f=xt;continue}f=kt,l++;break;case wt:if("/"===i){f=Ot;break}f=Ut;continue;case xt:if(c.scheme=r.scheme,i===n)c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,c.path=y(r.path),c.query=r.query;else if("/"===i||"\\"===i&&c.isSpecial())f=St;else if("?"===i)c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,c.path=y(r.path),c.query="",f=Ft;else{if("#"!==i){c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,c.path=y(r.path),c.path.length--,f=Ut;continue}c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,c.path=y(r.path),c.query=r.query,c.fragment="",f=Mt}break;case St:if(!c.isSpecial()||"/"!==i&&"\\"!==i){if("/"!==i){c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,f=Ut;continue}f=Ot}else f=kt;break;case At:if(f=kt,"/"!==i||"/"!==U(p,l+1))continue;l++;break;case kt:if("/"!==i&&"\\"!==i){f=Ot;continue}break;case Ot:if("@"===i){d&&(p="%40"+p),d=!0,a=v(p);for(var w=0;w65535)return V;c.port=c.isSpecial()&&A===pt[c.scheme]?null:A,p=""}if(e)return;f=jt;continue}return V}p+=i;break;case Rt:if(c.scheme="file","/"===i||"\\"===i)f=_t;else{if(!r||"file"!==r.scheme){f=Ut;continue}switch(i){case n:c.host=r.host,c.path=y(r.path),c.query=r.query;break;case"?":c.host=r.host,c.path=y(r.path),c.query="",f=Ft;break;case"#":c.host=r.host,c.path=y(r.path),c.query=r.query,c.fragment="",f=Mt;break;default:dt(F(y(o,l),""))||(c.host=r.host,c.path=y(r.path),c.shortenPath()),f=Ut;continue}}break;case _t:if("/"===i||"\\"===i){f=Tt;break}r&&"file"===r.scheme&&!dt(F(y(o,l),""))&&(ht(r.path[0],!0)?B(c.path,r.path[0]):c.host=r.host),f=Ut;continue;case Tt:if(i===n||"/"===i||"\\"===i||"?"===i||"#"===i){if(!e&&ht(p))f=Ut;else if(""===p){if(c.host="",e)return;f=jt}else{if(s=c.parseHost(p))return s;if("localhost"===c.host&&(c.host=""),e)return;p="",f=jt}continue}p+=i;break;case jt:if(c.isSpecial()){if(f=Ut,"/"!==i&&"\\"!==i)continue}else if(e||"?"!==i)if(e||"#"!==i){if(i!==n&&(f=Ut,"/"!==i))continue}else c.fragment="",f=Mt;else c.query="",f=Ft;break;case Ut:if(i===n||"/"===i||"\\"===i&&c.isSpecial()||!e&&("?"===i||"#"===i)){if(".."===(u=H(u=p))||"%2e."===u||".%2e"===u||"%2e%2e"===u?(c.shortenPath(),"/"===i||"\\"===i&&c.isSpecial()||B(c.path,"")):vt(p)?"/"===i||"\\"===i&&c.isSpecial()||B(c.path,""):("file"===c.scheme&&!c.path.length&&ht(p)&&(c.host&&(c.host=""),p=U(p,0)+":"),B(c.path,p)),p="","file"===c.scheme&&(i===n||"?"===i||"#"===i))for(;c.path.length>1&&""===c.path[0];)D(c.path);"?"===i?(c.query="",f=Ft):"#"===i&&(c.fragment="",f=Mt)}else p+=lt(i,ct);break;case It:"?"===i?(c.query="",f=Ft):"#"===i?(c.fragment="",f=Mt):i!==n&&(c.path[0]+=lt(i,st));break;case Ft:e||"#"!==i?i!==n&&("'"===i&&c.isSpecial()?c.query+="%27":c.query+="#"===i?"%23":lt(i,st)):(c.fragment="",f=Mt);break;case Mt:i!==n&&(c.fragment+=lt(i,ut))}l++}},parseHost:function(t){var e,r,n;if("["===U(t,0)){if("]"!==U(t,t.length-1))return J;if(e=function(t){var e,r,n,o,i,a,s,u=[0,0,0,0,0,0,0,0],c=0,f=null,l=0,p=function(){return U(t,l)};if(":"===p()){if(":"!==U(t,1))return;l+=2,f=++c}for(;p();){if(8===c)return;if(":"!==p()){for(e=r=0;r<4&&I(tt,p());)e=16*e+_(p(),16),l++,r++;if("."===p()){if(0===r)return;if(l-=r,c>6)return;for(n=0;p();){if(o=null,n>0){if(!("."===p()&&n<4))return;l++}if(!I($,p()))return;for(;I($,p());){if(i=_(p(),10),null===o)o=i;else{if(0===o)return;o=10*o+i}if(o>255)return;l++}u[c]=256*u[c]+o,2!=++n&&4!==n||c++}if(4!==n)return;break}if(":"===p()){if(l++,!p())return}else if(p())return;u[c++]=e}else{if(null!==f)return;l++,f=++c}}if(null!==f)for(a=c-f,c=7;0!==c&&a>0;)s=u[c],u[c--]=u[f+a-1],u[f+--a]=s;else if(8!==c)return;return u}(q(t,1,-1)),!e)return J;this.host=e}else if(this.isSpecial()){if(t=b(t),I(et,t))return J;if(e=function(t){var e,r,n,o,i,a,s,u=K(t,".");if(u.length&&""===u[u.length-1]&&u.length--,(e=u.length)>4)return t;for(r=[],n=0;n1&&"0"===U(o,0)&&(i=I(Z,o)?16:8,o=q(o,8===i?1:2)),""===o)a=0;else{if(!I(10===i?X:8===i?Q:tt,o))return t;a=_(o,i)}B(r,a)}for(n=0;n=j(256,5-e))return null}else if(a>255)return null;for(s=L(r),n=0;n1?arguments[1]:void 0,n=k(e,new Lt(t,!1,r));i||(e.href=n.serialize(),e.origin=n.getOrigin(),e.protocol=n.getProtocol(),e.username=n.getUsername(),e.password=n.getPassword(),e.host=n.getHost(),e.hostname=n.getHostname(),e.port=n.getPort(),e.pathname=n.getPathname(),e.search=n.getSearch(),e.searchParams=n.getSearchParams(),e.hash=n.getHash())},Nt=Bt.prototype,Dt=function(t,e){return{get:function(){return O(this)[t]()},set:e&&function(t){return O(this)[e](t)},configurable:!0,enumerable:!0}};if(i&&(l(Nt,"href",Dt("serialize","setHref")),l(Nt,"origin",Dt("getOrigin")),l(Nt,"protocol",Dt("getProtocol","setProtocol")),l(Nt,"username",Dt("getUsername","setUsername")),l(Nt,"password",Dt("getPassword","setPassword")),l(Nt,"host",Dt("getHost","setHost")),l(Nt,"hostname",Dt("getHostname","setHostname")),l(Nt,"port",Dt("getPort","setPort")),l(Nt,"pathname",Dt("getPathname","setPathname")),l(Nt,"search",Dt("getSearch","setSearch")),l(Nt,"searchParams",Dt("getSearchParams")),l(Nt,"hash",Dt("getHash","setHash"))),f(Nt,"toJSON",(function(){return O(this).serialize()}),{enumerable:!0}),f(Nt,"toString",(function(){return O(this).serialize()}),{enumerable:!0}),C){var Kt=C.createObjectURL,qt=C.revokeObjectURL;Kt&&f(Bt,"createObjectURL",u(Kt,C)),qt&&f(Bt,"revokeObjectURL",u(qt,C))}w(Bt,"URL"),o({global:!0,constructor:!0,forced:!a,sham:!i},{URL:Bt})},3296:function(t,e,r){"use strict";r(5806)},7208:function(t,e,r){"use strict";var n=r(6518),o=r(9565);n({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return o(URL.prototype.toString,this)}})},7525:function(t,e,r){"use strict";r(3358),e.default=window.crypto},3358:function(){"use strict";var t,e;t="undefined"!=typeof self?self:void 0,e=function(t){if("function"!=typeof Promise)throw"Promise support required";var e=t.crypto||t.msCrypto;if(e){var r=e.subtle||e.webkitSubtle;if(r){var n=t.Crypto||e.constructor||Object,o=t.SubtleCrypto||r.constructor||Object,i=(t.CryptoKey||t.Key,t.navigator.userAgent.indexOf("Edge/")>-1),a=!!t.msCrypto&&!i,s=!e.subtle&&!!e.webkitSubtle;if(a||s){var u={KoZIhvcNAQEB:"1.2.840.113549.1.1.1"},c={"1.2.840.113549.1.1.1":"KoZIhvcNAQEB"};if(["generateKey","importKey","unwrapKey"].forEach((function(t){var n=r[t];r[t]=function(o,i,u){var c,f,m,A,k,O=[].slice.call(arguments);switch(t){case"generateKey":c=v(o),f=i,m=u;break;case"importKey":c=v(u),f=O[3],m=O[4],"jwk"===o&&((i=g(i)).alg||(i.alg=y(c)),i.key_ops||(i.key_ops="oct"!==i.kty?"d"in i?m.filter(S):m.filter(x):m.slice()),O[1]=(A=g(i),a&&(A.extractable=A.ext,delete A.ext),h(unescape(encodeURIComponent(JSON.stringify(A)))).buffer));break;case"unwrapKey":c=O[4],f=O[5],m=O[6],O[2]=u._key}if("generateKey"===t&&"HMAC"===c.name&&c.hash)return c.length=c.length||{"SHA-1":512,"SHA-256":512,"SHA-384":1024,"SHA-512":1024}[c.hash.name],r.importKey("raw",e.getRandomValues(new Uint8Array(c.length+7>>3)),c,f,m);if(s&&"generateKey"===t&&"RSASSA-PKCS1-v1_5"===c.name&&(!c.modulusLength||c.modulusLength>=2048))return(o=v(o)).name="RSAES-PKCS1-v1_5",delete o.hash,r.generateKey(o,!0,["encrypt","decrypt"]).then((function(t){return Promise.all([r.exportKey("jwk",t.publicKey),r.exportKey("jwk",t.privateKey)])})).then((function(t){return t[0].alg=t[1].alg=y(c),t[0].key_ops=m.filter(x),t[1].key_ops=m.filter(S),Promise.all([r.importKey("jwk",t[0],c,!0,t[0].key_ops),r.importKey("jwk",t[1],c,f,t[1].key_ops)])})).then((function(t){return{publicKey:t[0],privateKey:t[1]}}));if((s||a&&"SHA-1"===(c.hash||{}).name)&&"importKey"===t&&"jwk"===o&&"HMAC"===c.name&&"oct"===i.kty)return r.importKey("raw",h(p(i.k)),u,O[3],O[4]);if(s&&"importKey"===t&&("spki"===o||"pkcs8"===o))return r.importKey("jwk",function(t){var e=b(t),r=!1;e.length>2&&(r=!0,e.shift());var n={ext:!0};if("1.2.840.113549.1.1.1"!==e[0][0])throw new TypeError("Unsupported key type");var o=["n","e","d","p","q","dp","dq","qi"],i=b(e[1]);r&&i.shift();for(var a=0;a2&&(n=!0,i.unshift(new Uint8Array([0]))),r[0][0]="1.2.840.113549.1.1.1",e=i,r.push(new Uint8Array(m(e)).buffer),n?r.unshift(new Uint8Array([0])):r[1]={tag:3,value:r[1]},new Uint8Array(m(r)).buffer}(g(t)),t}))),u}})),["encrypt","decrypt","sign","verify"].forEach((function(t){var e=r[t];r[t]=function(n,o,i,s){if(a&&(!i.byteLength||s&&!s.byteLength))throw new Error("Empy input is not allowed");var u,c=[].slice.call(arguments),f=v(n);if(a&&"decrypt"===t&&"AES-GCM"===f.name){var l=n.tagLength>>3;c[2]=(i.buffer||i).slice(0,i.byteLength-l),n.tag=(i.buffer||i).slice(i.byteLength-l)}c[1]=o._key;try{u=e.apply(r,c)}catch(t){return Promise.reject(t)}return a&&(u=new Promise((function(e,r){u.onabort=u.onerror=function(t){r(t)},u.oncomplete=function(r){if(r=r.target.result,"encrypt"===t&&r instanceof AesGcmEncryptResult){var n=r.ciphertext,o=r.tag;(r=new Uint8Array(n.byteLength+o.byteLength)).set(new Uint8Array(n),0),r.set(new Uint8Array(o),n.byteLength),r=r.buffer}e(r)}}))),u}})),a){var f=r.digest;r.digest=function(t,e){if(!e.byteLength)throw new Error("Empy input is not allowed");var n;try{n=f.call(r,t,e)}catch(t){return Promise.reject(t)}return n=new Promise((function(t,e){n.onabort=n.onerror=function(t){e(t)},n.oncomplete=function(e){t(e.target.result)}}))},t.crypto=Object.create(e,{getRandomValues:{value:function(t){return e.getRandomValues(t)}},subtle:{value:r}}),t.CryptoKey=w}s&&(e.subtle=r,t.Crypto=n,t.SubtleCrypto=o,t.CryptoKey=w)}}}function l(t){return btoa(t).replace(/\=+$/,"").replace(/\+/g,"-").replace(/\//g,"_")}function p(t){return t=(t+="===").slice(0,-t.length%4),atob(t.replace(/-/g,"+").replace(/_/g,"/"))}function h(t){for(var e=new Uint8Array(t.length),r=0;rt.length)throw new RangeError("Malformed DER");var r,n=t[e.pos++],o=t[e.pos++];if(o>=128){if(o&=127,e.end-e.pos=128){var s=n;for(n=4,e.splice(o,0,s>>24&255,s>>16&255,s>>8&255,255&s);n>1&&!(s>>24);)s<<=8,n--;n<4&&e.splice(o,4-n),n|=128}return e.splice(o-2,2,r,n),e}function w(t,e,r,n){Object.defineProperties(this,{_key:{value:t},type:{value:t.type,enumerable:!0},extractable:{value:void 0===r?t.extractable:r,enumerable:!0},algorithm:{value:void 0===e?t.algorithm:e,enumerable:!0},usages:{value:void 0===n?t.usages:n,enumerable:!0}})}function x(t){return"verify"===t||"encrypt"===t||"wrapKey"===t}function S(t){return"sign"===t||"decrypt"===t||"unwrapKey"===t}},"function"==typeof define&&define.amd?define([],(function(){return e(t)})):"object"==typeof module&&module.exports?module.exports=e(t):e(t)}},e={};function r(n){var o=e[n];if(void 0!==o)return o.exports;var i=e[n]={exports:{}};return t[n].call(i.exports,i,i.exports,r),i.exports}r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}();var n=r(8932);window.FHIR=n}(); +!function(){var t={7847:function(t,e,r){var n,o;n=function(){"use strict";function t(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function e(t,e){for(var r=0;r=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/));var t},e.storage=function(){try{return localStorage}catch(t){}}(),e.destroy=(n=!1,function(){n||(n=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}),e.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],e.log=console.debug||console.log||function(){},t.exports=r(9507)(e),t.exports.formatters.j=function(t){try{return JSON.stringify(t)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}},9507:function(t,e,r){"use strict";var n=r(4994)(r(1132));r(8706),r(8598),r(2062),r(4782),r(4554),r(8130),r(9432),r(6099),r(4864),r(7495),r(8781),r(5440),r(744),r(3500),t.exports=function(t){function e(t){var r,n,i,a=null;function s(){for(var t=arguments.length,n=new Array(t),o=0;o-1,'Cannot filter "'.concat(n,'" resources by patient')),t.next=5,(0,l.fetchConformanceStatement)(r.state.serverUrl);case 5:return i=t.sent,a=(0,l.getPatientParam)(i,n),e.searchParams.set(a,r.patient.id),t.abrupt("return",e.href);case 9:case"end":return t.stop()}}),t)})))).apply(this,arguments)},i=function(t){return a.apply(this,arguments)},n=(0,l.absolute)("/",r.state.serverUrl),!("string"==typeof e||e instanceof URL)){t.next=8;break}return t.next=6,i(new URL(e+"",n));case 6:return t.t0=t.sent,t.abrupt("return",{url:t.t0});case 8:return t.next=10,i(new URL(e.url+"",n));case 10:return e.url=t.sent,t.abrupt("return",e);case 12:case"end":return t.stop()}}),t)}))),g.apply(this,arguments)}function b(t,e,r,n,o){var i=(0,l.makeArray)(e.resolveReferences).filter(Boolean).map((function(t){return String(t).trim()})).filter(Boolean);if(!(i=i.filter((function(t,e){return!(i.indexOf(t,e+1)>-1&&(v('Duplicated reference path "%s"',t),1))}))).length)return Promise.resolve();var a={};i.forEach((function(t){var e=t.split(".").length;a[e]||(a[e]=[]),a[e].push(t)}));var s=Promise.resolve();return Object.keys(a).sort().forEach((function(i){var u=a[i];s=s.then((function(){return Promise.all(u.map((function(i){return function(t,e,r,n,o,i){var a=(0,l.getPath)(t,e);if(a){var s=Array.isArray(a);return Promise.all((0,l.makeArray)(a).filter(Boolean).map((function(a,u){var c=a.reference;if(c)return function(t,e,r,n){if(!e[t]){var o=n.signal,i=n.headers;e[t]=r.request({url:t,headers:i,signal:o}).then((function(r){return e[t]=r,r}),(function(r){throw delete e[t],r}))}return Promise.resolve(e[t])}(c,n,o,i).then((function(n){r&&(s?e.indexOf("..")>-1?(0,l.setPath)(t,"".concat(e.replace("..",".".concat(u,"."))),n):(0,l.setPath)(t,"".concat(e,".").concat(u),n):(0,l.setPath)(t,e,n))})).catch((function(t){if(404!==t.status)throw t}))})))}}(t,i,!!e.graph,r,n,o)})))}))})),s}var m=function(){return(0,s.default)((function t(e,r){var n=this;(0,a.default)(this,t),this.units=l.units;var i="string"==typeof r?{serverUrl:r}:r;(0,l.assert)(i.serverUrl&&i.serverUrl.match(/https?:\/\/.+/),'A "serverUrl" option is required and must begin with "http(s)"'),this.state=i,this.environment=e,this._refreshTask=null;var s=this;this.patient={get id(){return s.getPatientId()},read:function(t){var e=n.patient.id;return e?n.request(f(f({},t),{},{url:"Patient/".concat(e)})):Promise.reject(new Error("Patient is not available"))},request:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return n.patient.id?(0,u.default)(o.default.mark((function r(){var i;return o.default.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,y(t,n);case 2:return i=r.sent,r.abrupt("return",n.request(i,e));case 4:case"end":return r.stop()}}),r)})))():Promise.reject(new Error("Patient is not available"))}},this.encounter={get id(){return s.getEncounterId()},read:function(t){var e=n.encounter.id;return e?n.request(f(f({},t),{},{url:"Encounter/".concat(e)})):Promise.reject(new Error("Encounter is not available"))}},this.user={get fhirUser(){return s.getFhirUser()},get id(){return s.getUserId()},get resourceType(){return s.getUserType()},read:function(t){var e=n.user.fhirUser;return e?n.request(f(f({},t),{},{url:e})):Promise.reject(new Error("User is not available"))}},this.connect(e.fhir)}),[{key:"connect",value:function(t){if("function"==typeof t){var e={baseUrl:this.state.serverUrl.replace(/\/$/,"")},r=this.getState("tokenResponse.access_token");if(r)e.auth={token:r};else{var n=this.state,o=n.username,i=n.password;o&&i&&(e.auth={user:o,pass:i})}this.api=t(e);var a=this.getState("tokenResponse.patient");a&&(this.patient.api=t(f(f({},e),{},{patient:a})))}return this}},{key:"getPatientId",value:function(){var t=this.state.tokenResponse;return t?t.patient?t.patient:((this.state.scope||"").match(/\blaunch(\/patient)?\b/)?v("The ID of the selected patient is not available. Please check if your server supports that."):v(p.default.noScopeForId,"patient","patient"),null):(this.state.authorizeUri?v(p.default.noIfNoAuth,"the ID of the selected patient"):v(p.default.noFreeContext,"selected patient"),null)}},{key:"getEncounterId",value:function(){var t=this.state.tokenResponse;return t?t.encounter?t.encounter:((this.state.scope||"").match(/\blaunch(\/encounter)?\b/)?v("The ID of the selected encounter is not available. Please check if your server supports that, and that the selected patient has any recorded encounters."):v(p.default.noScopeForId,"encounter","encounter"),null):(this.state.authorizeUri?v(p.default.noIfNoAuth,"the ID of the selected encounter"):v(p.default.noFreeContext,"selected encounter"),null)}},{key:"getIdToken",value:function(){var t=this.state.tokenResponse;if(t){var e=t.id_token,r=this.state.scope||"";if(!e){var n=r.match(/\bopenid\b/),o=r.match(/\bprofile\b/),i=r.match(/\bfhirUser\b/);return v(n&&(i||o)?"The id_token is not available. Please check if your server supports that.":"You are trying to get the id_token but you are not using the right scopes. Please add 'openid' and 'fhirUser' or 'profile' to the scopes you are requesting."),null}return(0,l.jwtDecode)(e,this.environment)}return this.state.authorizeUri?v(p.default.noIfNoAuth,"the id_token"):v(p.default.noFreeContext,"id_token"),null}},{key:"getFhirUser",value:function(){var t=this.getIdToken();return t?t.fhirUser?t.fhirUser.split("/").slice(-2).join("/"):t.profile:null}},{key:"getUserId",value:function(){var t=this.getFhirUser();return t?t.split("/")[1]:null}},{key:"getUserType",value:function(){var t=this.getFhirUser();return t?t.split("/")[0]:null}},{key:"getAuthorizationHeader",value:function(){var t=this.getState("tokenResponse.access_token");if(t)return"Bearer "+t;var e=this.state,r=e.username,n=e.password;return r&&n?"Basic "+this.environment.btoa(r+":"+n):null}},{key:"_clearState",value:(r=(0,u.default)(o.default.mark((function t(){var e,r;return o.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=this.environment.getStorage(),t.next=3,e.get(h.SMART_KEY);case 3:if(!(r=t.sent)){t.next=7;break}return t.next=7,e.unset(r);case 7:return t.next=9,e.unset(h.SMART_KEY);case 9:this.state.tokenResponse={};case 10:case"end":return t.stop()}}),t,this)}))),function(){return r.apply(this,arguments)})},{key:"create",value:function(t,e){return this.request(f(f({},e),{},{url:"".concat(t.resourceType),method:"POST",body:JSON.stringify(t),headers:f({"content-type":"application/json"},(e||{}).headers)}))}},{key:"update",value:function(t,e){return this.request(f(f({},e),{},{url:"".concat(t.resourceType,"/").concat(t.id),method:"PUT",body:JSON.stringify(t),headers:f({"content-type":"application/json"},(e||{}).headers)}))}},{key:"delete",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.request(f(f({},e),{},{url:t,method:"DELETE"}))}},{key:"patch",value:(e=(0,u.default)(o.default.mark((function t(e,r){var n,i=arguments;return o.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=i.length>2&&void 0!==i[2]?i[2]:{},(0,l.assertJsonPatch)(r),t.abrupt("return",this.request(f(f({},n),{},{url:e,method:"PATCH",body:JSON.stringify(r),headers:f({prefer:"return=presentation","content-type":"application/json-patch+json; charset=UTF-8"},n.headers)})));case 3:case"end":return t.stop()}}),t,this)}))),function(t,r){return e.apply(this,arguments)})},{key:"request",value:(t=(0,u.default)(o.default.mark((function t(e){var r,n,i,a,s,c,h,v,y,g=this,m=arguments;return o.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=m.length>1&&void 0!==m[1]?m[1]:{},n=m.length>2&&void 0!==m[2]?m[2]:{},a=l.debug.extend("client:request"),(0,l.assert)(e,"request requires an url or request options as argument"),"string"==typeof e||e instanceof URL?(s=String(e),e={}):s=String(e.url),s=(0,l.absolute)(s,this.state.serverUrl),c={graph:!1!==r.graph,flat:!!r.flat,pageLimit:null!==(i=r.pageLimit)&&void 0!==i?i:1,resolveReferences:r.resolveReferences||[],useRefreshToken:!1!==r.useRefreshToken,onPage:"function"==typeof r.onPage?r.onPage:void 0},h=e.signal||void 0,v=c.useRefreshToken?this.refreshIfNeeded({signal:h}).then((function(){return e})):Promise.resolve(e),t.abrupt("return",v.then((function(t){var e=g.getAuthorizationHeader();return e&&(t.headers=f(f({},t.headers),{},{authorization:e})),t})).then((function(t){return a("%s, options: %O, fhirOptions: %O",s,t,c),(0,l.request)(s,t).then((function(e){return t.includeResponse?(y=e.response,e.body):e}))})).catch(function(){var t=(0,u.default)(o.default.mark((function t(e){return o.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(401!=e.status){t.next=15;break}if(g.getState("tokenResponse.access_token")){t.next=4;break}throw e.message+="\nThis app cannot be accessed directly. Please launch it as SMART app!",e;case 4:if(c.useRefreshToken){t.next=10;break}return a("Your session has expired and the useRefreshToken option is set to false. Please re-launch the app."),t.next=8,g._clearState();case 8:case 13:throw e.message+="\n"+p.default.expired,e;case 10:return a("Auto-refresh failed! Please re-launch the app."),t.next=13,g._clearState();case 15:throw e;case 16:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()).catch((function(t){throw 403==t.status&&a("Permission denied! Please make sure that you have requested the proper scopes."),t})).then((function(t){return!t||"string"==typeof t||t instanceof d?e.includeResponse?{body:t,response:y}:t:(r=(0,u.default)(o.default.mark((function t(r){return o.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if("Bundle"!=r.resourceType){t.next=5;break}return t.next=3,Promise.all((r.entry||[]).map((function(t){return b(t.resource,c,n,g,e)})));case 3:t.next=7;break;case 5:return t.next=7,b(r,c,n,g,e);case 7:return t.abrupt("return",r);case 8:case"end":return t.stop()}}),t)}))),function(t){return r.apply(this,arguments)})(t).then(function(){var t=(0,u.default)(o.default.mark((function t(e){var r,i,a;return o.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!e||"Bundle"!=e.resourceType){t.next=19;break}if(r=e.link||[],c.flat&&(e=(e.entry||[]).map((function(t){return t.resource}))),!c.onPage){t.next=6;break}return t.next=6,c.onPage(e,f({},n));case 6:if(! --c.pageLimit){t.next=19;break}if(i=r.find((function(t){return"next"==t.relation})),e=(0,l.makeArray)(e),!i||!i.url){t.next=19;break}return t.next=12,g.request({url:i.url,signal:h},c,n);case 12:if(a=t.sent,!c.onPage){t.next=15;break}return t.abrupt("return",null);case 15:if(!c.resolveReferences.length){t.next=18;break}return Object.assign(n,a.references),t.abrupt("return",e.concat((0,l.makeArray)(a.data||a)));case 18:return t.abrupt("return",e.concat((0,l.makeArray)(a)));case 19:return t.abrupt("return",e);case 20:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()).then((function(t){if(c.graph)n={};else if(!c.onPage&&c.resolveReferences.length)return{data:t,references:n};return t})).then((function(t){return e.includeResponse?{body:t,response:y}:t}));var r})));case 10:case"end":return t.stop()}}),t,this)}))),function(e){return t.apply(this,arguments)})},{key:"refreshIfNeeded",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=this.getState("tokenResponse.access_token"),r=this.getState("tokenResponse.refresh_token"),n=this.state.expiresAt||0;return e&&r&&n-100&&void 0!==arguments[0]?arguments[0]:{},o=l.debug.extend("client:refresh");o("Attempting to refresh with refresh_token...");var i=null===(e=null===(t=this.state)||void 0===t?void 0:t.tokenResponse)||void 0===e?void 0:e.refresh_token;(0,l.assert)(i,"Unable to refresh. No refresh_token found.");var a=this.state.tokenUri;(0,l.assert)(a,"Unable to refresh. No tokenUri found.");var s=this.getState("tokenResponse.scope")||"",u=s.search(/\boffline_access\b/)>-1,c=s.search(/\bonline_access\b/)>-1;if((0,l.assert)(u||c,"Unable to refresh. No offline_access or online_access scope found."),!this._refreshTask){var p="grant_type=refresh_token&refresh_token=".concat(encodeURIComponent(i));this.environment.options.refreshTokenWithClientId&&(p+="&client_id=".concat(this.state.clientId));var h=f(f({credentials:this.environment.options.refreshTokenWithCredentials||"same-origin"},n),{},{method:"POST",mode:"cors",headers:f(f({},n.headers||{}),{},{"content-type":"application/x-www-form-urlencoded"}),body:p});if(!("authorization"in h.headers)){var d=this.state,v=d.clientSecret,y=d.clientId;v&&(h.headers.authorization="Basic "+this.environment.btoa(y+":"+v))}this._refreshTask=(0,l.request)(a,h).then((function(t){return(0,l.assert)(t.access_token,"No access token received"),o("Received new access token response %O",t),r.state.tokenResponse=f(f({},r.state.tokenResponse),t),r.state.expiresAt=(0,l.getAccessTokenExpiration)(t,r.environment),r.state})).catch((function(t){var e,n;throw(null===(n=null===(e=r.state)||void 0===e?void 0:e.tokenResponse)||void 0===n?void 0:n.refresh_token)&&(o("Deleting the expired or invalid refresh token."),delete r.state.tokenResponse.refresh_token),t})).finally((function(){r._refreshTask=null;var t=r.state.key;t?r.environment.getStorage().set(t,r.state):o("No 'key' found in Clint.state. Cannot persist the instance.")}))}return this._refreshTask}},{key:"byCode",value:function(t,e){return(0,l.byCode)(t,e)}},{key:"byCodes",value:function(t,e){return(0,l.byCodes)(t,e)}},{key:"getPath",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return(0,l.getPath)(t,e)}},{key:"getState",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return(0,l.getPath)(f({},this.state),t)}},{key:"getFhirVersion",value:function(){return(0,l.fetchConformanceStatement)(this.state.serverUrl).then((function(t){return t.fhirVersion}))}},{key:"getFhirRelease",value:function(){return this.getFhirVersion().then((function(t){var e;return null!==(e=h.fhirVersions[t])&&void 0!==e?e:0}))}}]);var t,e,r}();e.default=m},1829:function(t,e,r){"use strict";r(825);var n=r(4994),o=n(r(4756));r(8706),r(2010),r(7495),r(1761);var i=n(r(9293)),a=n(r(7383)),s=n(r(4579)),u=n(r(8452)),c=n(r(3072)),f=n(r(9511)),l=n(r(1837));function p(t,e,r){return e=(0,c.default)(e),(0,u.default)(t,h()?Reflect.construct(e,r||[],(0,c.default)(t).constructor):e.apply(t,r))}function h(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(h=function(){return!!t})()}Object.defineProperty(e,"__esModule",{value:!0});var d=function(t){function e(t){var r;return(0,a.default)(this,e),(r=p(this,e,["".concat(t.status," ").concat(t.statusText,"\nURL: ").concat(t.url)])).name="HttpError",r.response=t,r.statusCode=t.status,r.status=t.status,r.statusText=t.statusText,r}return(0,f.default)(e,t),(0,s.default)(e,[{key:"parse",value:(r=(0,i.default)(o.default.mark((function t(){var e,r,n;return o.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(this.response.bodyUsed){t.next=19;break}if(t.prev=1,!(e=this.response.headers.get("content-type")||"text/plain").match(/\bjson\b/i)){t.next=10;break}return t.next=6,this.response.json();case 6:(r=t.sent).error?(this.message+="\n"+r.error,r.error_description&&(this.message+=": "+r.error_description)):this.message+="\n\n"+JSON.stringify(r,null,4),t.next=15;break;case 10:if(!e.match(/^text\//i)){t.next=15;break}return t.next=13,this.response.text();case 13:(n=t.sent)&&(this.message+="\n\n"+n);case 15:t.next=19;break;case 17:t.prev=17,t.t0=t.catch(1);case 19:return t.abrupt("return",this);case 20:case"end":return t.stop()}}),t,this,[[1,17]])}))),function(){return r.apply(this,arguments)})},{key:"toJSON",value:function(){return{name:this.name,statusCode:this.statusCode,status:this.status,statusText:this.statusText,message:this.message}}}]);var r}((0,l.default)(Error));e.default=d},7129:function(t,e,r){"use strict";r(2675),r(2008),r(3851),r(1278),r(9432),r(3500);var n=r(4994);r(8706),r(3792),r(6099),r(7764),r(2953),r(3296),r(7208),r(8408);var o=n(r(3693)),i=n(r(7383)),a=n(r(4579));function s(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}Object.defineProperty(e,"__esModule",{value:!0});var u=r(438),c=r(7024),f=r(4944),l=r(4818),p=r(8127),h=function(){return(0,a.default)((function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(0,i.default)(this,t),this._url=null,this._storage=null,this.security=l,this.options=function(t){for(var e=1;e1&&void 0!==arguments[1]?arguments[1]:{},r=e.includeResponse,n=(0,a.default)(e,c);return v(t,l(l({mode:"cors"},n),{},{headers:l({accept:"application/json"},S(n.headers))})).then(m).then((function(t){var e=t.headers.get("content-type")+"";return e.match(/\bjson\b/i)?x(t).then((function(e){return{res:t,body:e}})):e.match(/^text\//i)?t.text().then((function(e){return{res:t,body:e}})):{res:t}})).then((function(t){var e=t.res,o=t.body;if(!o&&201==e.status){var i=e.headers.get("location");if(i)return A(i,l(l({},n),{},{method:"GET",body:null,includeResponse:r}))}return r?{body:o,response:e}:void 0===o?e:o}))}function k(t,e){return arguments.length>2&&void 0!==arguments[2]&&arguments[2]||!g[t]?(g[t]=A(t,e),g[t]):Promise.resolve(g[t])}function O(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if(!(e=e.trim()))return t;for(var r=e.split("."),n=t;n&&r.length;){var o=r.shift();if(!o&&Array.isArray(n))return n.map((function(t){return O(t,r.join("."))}));n=n[o]}return n}function E(t){return Array.isArray(t)?t:[t]}function P(t,e){var r=t.split(".")[1];return r?JSON.parse(e.atob(r)):null}function C(t,e){var r={};function n(t,e){t&&Array.isArray(t.coding)&&t.coding.forEach((function(t){var n=t.code;n&&(r[n]=r[n]||[],r[n].push(e))}))}return E(t).forEach((function(t){"Observation"===t.resourceType&&t[e]&&(Array.isArray(t[e])?t[e].forEach((function(e){return n(e,t)})):n(t[e],t))})),r}function R(){return R=(0,u.default)(o.default.mark((function t(e){var r,n,i,a,u,c,f,l=arguments;return o.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r=l.length>1&&void 0!==l[1]?l[1]:800,n=l.length>2&&void 0!==l[2]?l[2]:720,"function"!=typeof e){t.next=6;break}return t.next=5,e();case 5:e=t.sent;case 6:if(!e||"object"!=(0,s.default)(e)){t.next=8;break}return t.abrupt("return",e);case 8:if("string"==typeof e){t.next=11;break}return y("Invalid target type '%s'. Failing back to '_self'.",(0,s.default)(e)),t.abrupt("return",self);case 11:if("_self"!=e){t.next=13;break}return t.abrupt("return",self);case 13:if("_parent"!=e){t.next=15;break}return t.abrupt("return",parent);case 15:if("_top"!=e){t.next=17;break}return t.abrupt("return",top||self);case 17:if("_blank"!=e){t.next=34;break}if(a=null,t.prev=19,a=window.open("","SMARTAuthPopup")){t.next=23;break}throw new Error("Perhaps window.open was blocked");case 23:t.next=28;break;case 25:t.prev=25,t.t0=t.catch(19),i=t.t0;case 28:if(a){t.next=33;break}return y("Cannot open window. Failing back to '_self'. %s",i),t.abrupt("return",self);case 33:return t.abrupt("return",a);case 34:if("popup"!=e){t.next=51;break}if(c=null,t.prev=36,c=window.open("","SMARTAuthPopup",["height="+n,"width="+r,"menubar=0","resizable=1","status=0","top="+(screen.height-n)/2,"left="+(screen.width-r)/2].join(","))){t.next=40;break}throw new Error("Perhaps the popup window was blocked");case 40:t.next=45;break;case 42:t.prev=42,t.t1=t.catch(36),u=t.t1;case 45:if(c){t.next=50;break}return y("Cannot open window. Failing back to '_self'. %s",u),t.abrupt("return",self);case 50:return t.abrupt("return",c);case 51:if(!(f=frames[e])){t.next=54;break}return t.abrupt("return",f);case 54:return y("Unknown target '%s'. Failing back to '_self'.",e),t.abrupt("return",self);case 56:case"end":return t.stop()}}),t,null,[[19,25],[36,42]])}))),R.apply(this,arguments)}function _(t,e){if(!t)throw new Error(e)}e.units={cm:function(t){var e=t.code,r=t.value;if(b({code:e,value:r}),"cm"==e)return r;if("m"==e)return 100*r;if("in"==e)return 2.54*r;if("[in_us]"==e)return 2.54*r;if("[in_i]"==e)return 2.54*r;if("ft"==e)return 30.48*r;if("[ft_us]"==e)return 30.48*r;throw new Error("Unrecognized length unit: "+e)},kg:function(t){var e=t.code,r=t.value;if(b({code:e,value:r}),"kg"==e)return r;if("g"==e)return r/1e3;if(e.match(/lb/))return r/2.20462;if(e.match(/oz/))return r/35.274;throw new Error("Unrecognized weight unit: "+e)},any:function(t){return b(t),t.value}},e.checkResponse=m,e.responseToJSON=x,e.loweCaseKeys=S,e.request=A,e.getAndCache=k,e.fetchConformanceStatement=function(){var t=arguments.length>1?arguments[1]:void 0,e=String(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/").replace(/\/*$/,"/")+"metadata";return k(e,t).catch((function(t){throw new Error('Failed to fetch the conformance statement from "'.concat(e,'". ').concat(t))}))},e.getPath=O,e.setPath=function(t,e,r){var n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return e.trim().split(".").reduce((function(t,e,o,i){if(!t||o!==i.length-1)return t&&void 0===t[e]&&n&&(t[e]=i[o+1].match(/^[0-9]+$/)?[]:{}),t?t[e]:void 0;t[e]=r}),t),t},e.makeArray=E,e.absolute=function(t,e){return t.match(/^http/)||t.match(/^urn/)?t:String(e||"").replace(/\/+$/,"")+"/"+t.replace(/^\/+/,"")},e.randomString=function(){for(var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:8,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",r=[],n=e.length;t--;)r.push(e.charAt(Math.floor(Math.random()*n)));return r.join("")},e.jwtDecode=P,e.getTimeInFuture=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:120,e=arguments.length>1?arguments[1]:void 0;return Math.floor(+(e||new Date)/1e3+t)},e.getAccessTokenExpiration=function(t,e){var r=Math.floor(Date.now()/1e3);if(t.expires_in)return r+t.expires_in;if(t.access_token){var n=P(t.access_token,e);if(n&&n.exp)return n.exp}return r+300},e.byCode=C,e.byCodes=function(t,e){var r=C(t,e);return function(){for(var t=arguments.length,e=new Array(t),n=0;n0,"The JSON patch array should not be empty"),t.forEach((function(t){_(["add","replace","test","move","copy","remove"].indexOf(t.op)>-1,'Each patch operation must have an "op" property which must be one of: "add", "replace", "test", "move", "copy", "remove"'),_(t.path&&(0,s.default)(t.path),'Invalid "'.concat(t.op,'" operation. Missing "path" property')),"add"==t.op||"replace"==t.op||"test"==t.op?(_("value"in t,'Invalid "'.concat(t.op,'" operation. Missing "value" property')),_(3==Object.keys(t).length,'Invalid "'.concat(t.op,'" operation. Contains unknown properties'))):"move"==t.op||"copy"==t.op?(_("string"==typeof t.from,'Invalid "'.concat(t.op,'" operation. Requires a string "from" property')),_(3==Object.keys(t).length,'Invalid "'.concat(t.op,'" operation. Contains unknown properties'))):_(2==Object.keys(t).length,'Invalid "'.concat(t.op,'" operation. Contains unknown properties'))}))}},4818:function(t,e,r){"use strict";r(2675),r(2008),r(3851),r(1278),r(9432),r(3500);var n=r(4994),o=n(r(4756));r(8706),r(4423),r(3792),r(4743),r(6099),r(1699),r(1489),r(1630),r(2170),r(5044),r(1920),r(1694),r(9955),r(3206),r(4496),r(6651),r(2887),r(9369),r(6812),r(8995),r(1575),r(6072),r(8747),r(8845),r(9423),r(7301),r(373),r(6614),r(1405),r(3684),r(2480);var i=n(r(3693)),a=n(r(9293)),s=n(r(3738));function u(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function c(t){for(var e=1;e0&&void 0!==i[0]?i[0]:96),r=(0,f.fromUint8Array)(e,!0),t.t0=f.fromUint8Array,t.next=6,v(r);case 6:return t.t1=t.sent,n=(0,t.t0)(t.t1,!0),t.abrupt("return",{codeChallenge:n,codeVerifier:r});case 9:case"end":return t.stop()}}),t)})));return function(){return t.apply(this,arguments)}}();function b(){return(b=(0,a.default)(o.default.mark((function t(e){return o.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(e.alg){t.next=2;break}throw new Error('The "alg" property of the JWK must be set to "ES384" or "RS384"');case 2:if(Array.isArray(e.key_ops)||(e.key_ops=["sign"]),e.key_ops.includes("sign")){t.next=5;break}throw new Error('The "key_ops" property of the JWK does not contain "sign"');case 5:return t.prev=5,t.next=8,p().importKey("jwk",e,h[e.alg],!0===e.ext,e.key_ops);case 8:return t.abrupt("return",t.sent);case 11:throw t.prev=11,t.t0=t.catch(5),new Error("The ".concat(e.alg," is not supported by this browser: ").concat(t.t0));case 14:case"end":return t.stop()}}),t,null,[[5,11]])})))).apply(this,arguments)}function m(){return(m=(0,a.default)(o.default.mark((function t(e,r,n,i){var a,s,u,l;return o.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a=JSON.stringify(c(c({},n),{},{alg:e})),s=JSON.stringify(i),u="".concat((0,f.encodeURL)(a),".").concat((0,f.encodeURL)(s)),t.next=5,p().sign(c(c({},r.algorithm),{},{hash:"SHA-384"}),r,(new TextEncoder).encode(u));case 5:return l=t.sent,t.abrupt("return","".concat(u,".").concat((0,f.fromUint8Array)(new Uint8Array(l),!0)));case 7:case"end":return t.stop()}}),t)})))).apply(this,arguments)}e.generatePKCEChallenge=g,e.importJWK=function(t){return b.apply(this,arguments)},e.signCompactJws=function(t,e,r,n){return m.apply(this,arguments)}},9830:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SMART_KEY=e.patientParams=e.fhirVersions=e.patientCompartment=void 0,e.patientCompartment=["Account","AdverseEvent","AllergyIntolerance","Appointment","AppointmentResponse","AuditEvent","Basic","BodySite","BodyStructure","CarePlan","CareTeam","ChargeItem","Claim","ClaimResponse","ClinicalImpression","Communication","CommunicationRequest","Composition","Condition","Consent","Coverage","CoverageEligibilityRequest","CoverageEligibilityResponse","DetectedIssue","DeviceRequest","DeviceUseRequest","DeviceUseStatement","DiagnosticOrder","DiagnosticReport","DocumentManifest","DocumentReference","EligibilityRequest","Encounter","EnrollmentRequest","EpisodeOfCare","ExplanationOfBenefit","FamilyMemberHistory","Flag","Goal","Group","ImagingManifest","ImagingObjectSelection","ImagingStudy","Immunization","ImmunizationEvaluation","ImmunizationRecommendation","Invoice","List","MeasureReport","Media","MedicationAdministration","MedicationDispense","MedicationOrder","MedicationRequest","MedicationStatement","MolecularSequence","NutritionOrder","Observation","Order","Patient","Person","Procedure","ProcedureRequest","Provenance","QuestionnaireResponse","ReferralRequest","RelatedPerson","RequestGroup","ResearchSubject","RiskAssessment","Schedule","ServiceRequest","Specimen","SupplyDelivery","SupplyRequest","VisionPrescription"],e.fhirVersions={"0.4.0":2,"0.5.0":2,"1.0.0":2,"1.0.1":2,"1.0.2":2,"1.1.0":3,"1.4.0":3,"1.6.0":3,"1.8.0":3,"3.0.0":3,"3.0.1":3,"3.3.0":4,"3.5.0":4,"4.0.0":4,"4.0.1":4},e.patientParams=["patient","subject","requester","member","actor","beneficiary"],e.SMART_KEY="SMART_KEY"},438:function(t,e,r){"use strict";r(2675),r(3851),r(1278),r(9432);var n=r(4994),o=n(r(4756));r(8706),r(2008),r(113),r(4423),r(3792),r(8598),r(2062),r(2010),r(9085),r(6099),r(3362),r(4864),r(7495),r(8781),r(1699),r(7764),r(1761),r(5440),r(3500),r(2953),r(3296),r(7208),r(8408);var i=n(r(3693)),a=n(r(9293)),s=n(r(3738));function u(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function c(t){for(var e=1;e1?arguments[1]:void 0,e=String(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/").replace(/\/*$/,"/")+".well-known/smart-configuration";return(0,f.getAndCache)(e,t).catch((function(t){throw new Error('Failed to fetch the well-known json "'.concat(e,'". ').concat(t.message))}))}function y(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/";return function(){return v(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/",arguments.length>1?arguments[1]:void 0).then((function(t){if(!t.authorization_endpoint||!t.token_endpoint)throw new Error("Invalid wellKnownJson");return{registrationUri:t.registration_endpoint||"",authorizeUri:t.authorization_endpoint,tokenUri:t.token_endpoint,codeChallengeMethods:t.code_challenge_methods_supported||[]}}))}(t).catch((function(){return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"/",e=arguments.length>1?arguments[1]:void 0;return(0,f.fetchConformanceStatement)(t,e).then((function(t){var e=((0,f.getPath)(t||{},"rest.0.security.extension")||[]).filter((function(t){return"http://fhir-registry.smarthealthit.org/StructureDefinition/oauth-uris"===t.url})).map((function(t){return t.extension}))[0],r={registrationUri:"",authorizeUri:"",tokenUri:"",codeChallengeMethods:[]};return e&&e.forEach((function(t){"register"===t.url&&(r.registrationUri=t.valueUri),"authorize"===t.url&&(r.authorizeUri=t.valueUri),"token"===t.url&&(r.tokenUri=t.valueUri)})),r}))}(t)}))}function g(t){return b.apply(this,arguments)}function b(){return b=(0,a.default)(o.default.mark((function t(e){var r,n,i,a,s,u,c,l,v,b,A,k,O,E,P,C,R,_,T,j,U,I,F,M,L,B,N,D,K,q,H,z,G,J,V,W,Y,$=arguments;return o.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r=$.length>1&&void 0!==$[1]?$[1]:{},n=e.getUrl(),!Array.isArray(r)){t.next=11;break}if(i=n.searchParams.get("iss")||n.searchParams.get("fhirServiceUrl")){t.next=6;break}throw new Error('Passing in an "iss" url parameter is required if authorize uses multiple configurations');case 6:return a=r.find((function(t){if(t.issMatch){if("function"==typeof t.issMatch)return!!t.issMatch(i);if("string"==typeof t.issMatch)return t.issMatch===i;if(t.issMatch instanceof RegExp)return t.issMatch.test(i)}return!1})),(0,f.assert)(a,'No configuration found matching the current "iss" parameter "'.concat(i,'"')),t.next=10,g(e,a);case 10:return t.abrupt("return",t.sent);case 11:if(s=r.clientSecret,u=r.fakeTokenResponse,c=r.encounterId,l=r.target,v=r.width,b=r.height,A=r.pkceMode,k=r.clientPublicKeySetUrl,O=r.redirect_uri,E=r.client_id,P=r.iss,C=r.launch,R=r.patientId,_=r.fhirServiceUrl,T=r.redirectUri,j=r.noRedirect,U=r.scope,I=void 0===U?"":U,F=r.clientId,M=r.completeInTarget,L=r.clientPrivateJwk,B=r.stateKey,N=e.getStorage(),P=n.searchParams.get("iss")||P,_=n.searchParams.get("fhirServiceUrl")||_,C=n.searchParams.get("launch")||C,R=n.searchParams.get("patientId")||R,(F=n.searchParams.get("clientId")||F)||(F=E),T||(T=O),T?T.match(/^https?\:\/\//)||(T=e.relative(T)):T=e.relative("."),D=String(P||_||"")){t.next=25;break}throw new Error("No server url found. It must be specified as `iss` or as `fhirServiceUrl` parameter");case 25:return P&&h("Making %s launch...",C?"EHR":"standalone"),C&&!I.match(/launch/)&&(I+=" launch"),d()&&(K=w(),q=x(),(K||q)&&!0!==M&&!1!==M&&(M=K,console.warn('Your app is being authorized from within an iframe or popup window. Please be explicit and provide a "completeInTarget" option. Use "true" to complete the authorization in the same window, or "false" to try to complete it in the parent or the opener window. See http://docs.smarthealthit.org/client-js/api.html'))),t.next=30,N.get(p.SMART_KEY);case 30:return H=t.sent,t.next=33,N.unset(H);case 33:if(B=null!=B?B:(0,f.randomString)(16),z={clientId:F,scope:I,redirectUri:T,serverUrl:D,clientSecret:s,clientPrivateJwk:L,tokenResponse:{},key:B,completeInTarget:M,clientPublicKeySetUrl:k},d()&&!(0,f.getPath)(e,"options.fullSessionStorageSupport")){t.next=39;break}return t.next=39,N.set(p.SMART_KEY,B);case 39:if(u&&Object.assign(z.tokenResponse,u),R&&Object.assign(z.tokenResponse,{patient:R}),c&&Object.assign(z.tokenResponse,{encounter:c}),G=T+"?state="+encodeURIComponent(B),!_||P){t.next=52;break}return h("Making fake launch..."),t.next=47,N.set(B,z);case 47:if(!j){t.next=49;break}return t.abrupt("return",G);case 49:return t.next=51,e.redirect(G);case 51:return t.abrupt("return",t.sent);case 52:return t.next=54,y(D);case 54:return J=t.sent,Object.assign(z,J),t.next=58,N.set(B,z);case 58:if(z.authorizeUri){t.next=64;break}if(!j){t.next=61;break}return t.abrupt("return",G);case 61:return t.next=63,e.redirect(G);case 63:return t.abrupt("return",t.sent);case 64:if(V=["response_type=code","client_id="+encodeURIComponent(F||""),"scope="+encodeURIComponent(I),"redirect_uri="+encodeURIComponent(T),"aud="+encodeURIComponent(D),"state="+encodeURIComponent(B)],C&&V.push("launch="+encodeURIComponent(C)),!m(J.codeChallengeMethods.includes("S256"),A)){t.next=75;break}return t.next=69,e.security.generatePKCEChallenge();case 69:return W=t.sent,Object.assign(z,W),t.next=73,N.set(B,z);case 73:V.push("code_challenge="+z.codeChallenge),V.push("code_challenge_method=S256");case 75:if(G=z.authorizeUri+"?"+V.join("&"),!j){t.next=78;break}return t.abrupt("return",G);case 78:if(!l||!d()){t.next=87;break}return t.next=81,(0,f.getTargetWindow)(l,v,b);case 81:if((Y=t.sent)!==self)try{Y.sessionStorage.removeItem(H),Y.sessionStorage.setItem(B,JSON.stringify(z))}catch(t){(0,f.debug)('Failed to modify window.sessionStorage. Perhaps it is from different origin?. Failing back to "_self". %s',t),Y=self}if(Y!==self)try{Y.location.href=G,self.addEventListener("message",S)}catch(t){(0,f.debug)('Failed to modify window.location. Perhaps it is from different origin?. Failing back to "_self". %s',t),self.location.href=G}else self.location.href=G;return t.abrupt("return");case 87:return t.next=89,e.redirect(G);case 89:return t.abrupt("return",t.sent);case 90:case"end":return t.stop()}}),t)}))),b.apply(this,arguments)}function m(t,e){if("disabled"===e)return!1;if("unsafeV1"===e)return!0;if("required"===e){if(!t)throw new Error("Required PKCE code challenge method (`S256`) was not found in the server's codeChallengeMethods declaration.");return!0}return t}function w(){try{return self!==top&&parent!==self}catch(t){return!0}}function x(){try{return self===top&&!!opener&&opener!==self&&!!window.name}catch(t){return!1}}function S(t){"completeAuth"==t.data.type&&t.origin===new URL(self.location.href).origin&&(window.removeEventListener("message",S),window.location.href=t.data.url)}function A(t){return k.apply(this,arguments)}function k(){return k=(0,a.default)(o.default.mark((function t(e){var r,n,i,a,s,u,v,y,g,b,m,S,A,k,E,P,C,R,_,T,j=arguments;return o.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r=j.length>1&&void 0!==j[1]?j[1]:{},a=e.getUrl(),s=e.getStorage(),u=a.searchParams,v=u.get("state")||r.stateKey,y=u.get("code")||r.code,g=u.get("error"),b=u.get("error_description"),v){t.next=12;break}return t.next=11,s.get(p.SMART_KEY);case 11:v=t.sent;case 12:if(!g&&!b){t.next=14;break}throw new Error([g,b].filter(Boolean).join(": "));case 14:return h("key: %s, code: %s",v,y),(0,f.assert)(v,"No 'state' parameter found. Please (re)launch the app."),t.next=18,s.get(v);case 18:if(m=t.sent,S=!d()||(0,f.getPath)(e,"options.fullSessionStorageSupport"),!d()||!m||m.completeInTarget){t.next=29;break}if(A=w(),k=x(),!A&&!k||a.searchParams.get("complete")){t.next=29;break}return a.searchParams.set("complete","1"),E=a.href,P=a.origin,A&&parent.postMessage({type:"completeAuth",url:E},P),k&&(opener.postMessage({type:"completeAuth",url:E},P),window.close()),t.abrupt("return",new Promise((function(){})));case 29:if(a.searchParams.delete("complete"),C=!(!u.has("state")&&!r.stateKey),d()&&(0,f.getPath)(e,"options.replaceBrowserHistory")&&(y||C)&&(y&&(u.delete("code"),h("Removed code parameter from the url.")),C&&S&&(u.delete("state"),h("Removed state parameter from the url.")),window.history.replaceState&&window.history.replaceState({},"",a.href)),(0,f.assert)(m,"No state found! Please (re)launch the app."),!y||(null===(n=m.tokenResponse)||void 0===n?void 0:n.access_token)||!m.tokenUri){t.next=53;break}return(0,f.assert)(y,"'code' url parameter is required"),h("Preparing to exchange the code for access token..."),t.next=39,O(e,{code:y,state:m,clientPublicKeySetUrl:r.clientPublicKeySetUrl,privateKey:r.privateKey||m.clientPrivateJwk});case 39:return R=t.sent,h("Token request options: %O",R),t.next=43,(0,f.request)(m.tokenUri,R);case 43:return _=t.sent,h("Token response: %O",_),(0,f.assert)(_.access_token,"Failed to obtain access token."),m.expiresAt=(0,f.getAccessTokenExpiration)(_,e),m=c(c({},m),{},{tokenResponse:_}),t.next=50,s.set(v,m);case 50:h("Authorization successful!"),t.next=54;break;case 53:h((null===(i=m.tokenResponse)||void 0===i?void 0:i.access_token)?"Already authorized":"No authorization needed");case 54:if(!S){t.next=57;break}return t.next=57,s.set(p.SMART_KEY,v);case 57:return T=new l.default(e,m),h("Created client instance: %O",T),t.abrupt("return",T);case 60:case"end":return t.stop()}}),t)}))),k.apply(this,arguments)}function O(t,e){return E.apply(this,arguments)}function E(){return(E=(0,a.default)(o.default.mark((function t(e,r){var n,i,a,s,u,c,l,p,d,v,y,g,b,m;return o.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=r.code,i=r.state,a=r.clientPublicKeySetUrl,s=r.privateKey,u=i.redirectUri,c=i.clientSecret,l=i.tokenUri,p=i.clientId,d=i.codeVerifier,(0,f.assert)(u,"Missing state.redirectUri"),(0,f.assert)(l,"Missing state.tokenUri"),(0,f.assert)(p,"Missing state.clientId"),v={method:"POST",headers:{"content-type":"application/x-www-form-urlencoded"},body:"code=".concat(n,"&grant_type=authorization_code&redirect_uri=").concat(encodeURIComponent(u))},!c){t.next=11;break}v.headers.authorization="Basic "+e.btoa(p+":"+c),h("Using state.clientSecret to construct the authorization header: %s",v.headers.authorization),t.next=32;break;case 11:if(!s){t.next=30;break}if(!("key"in s)){t.next=16;break}t.t0=s.key,t.next=19;break;case 16:return t.next=18,e.security.importJWK(s);case 18:t.t0=t.sent;case 19:return y=t.t0,g={typ:"JWT",kid:s.kid,jku:a||i.clientPublicKeySetUrl},b={iss:p,sub:p,aud:l,jti:e.base64urlencode(e.security.randomBytes(32)),exp:(0,f.getTimeInFuture)(120)},t.next=24,e.security.signCompactJws(s.alg,y,g,b);case 24:m=t.sent,v.body+="&client_assertion_type=".concat(encodeURIComponent("urn:ietf:params:oauth:client-assertion-type:jwt-bearer")),v.body+="&client_assertion=".concat(encodeURIComponent(m)),h("Using state.clientPrivateJwk to add a client_assertion to the POST body"),t.next=32;break;case 30:h("Public client detected; adding state.clientId to the POST body"),v.body+="&client_id=".concat(encodeURIComponent(p));case 32:return d&&(h("Found state.codeVerifier, adding to the POST body"),v.body+="&code_verifier="+d),t.abrupt("return",v);case 34:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function P(){return(P=(0,a.default)(o.default.mark((function t(e,r,n){var i,a,s,u,c,f;return o.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(i=e.getUrl(),a=i.searchParams.get("code"),s=i.searchParams.get("state"),!a||!s){t.next=5;break}return t.abrupt("return",A(e,n));case 5:if(u=e.getStorage(),t.t0=s,t.t0){t.next=11;break}return t.next=10,u.get(p.SMART_KEY);case 10:t.t0=t.sent;case 11:return c=t.t0,t.next=14,u.get(c);case 14:if(!(f=t.sent)){t.next=17;break}return t.abrupt("return",new l.default(e,f));case 17:return t.abrupt("return",g(e,r).then((function(){return new Promise((function(){}))})));case 18:case"end":return t.stop()}}),t)})))).apply(this,arguments)}e.fetchWellKnownJson=v,e.getSecurityExtensions=y,e.authorize=g,e.isInFrame=w,e.isInPopUp=x,e.onMessage=S,e.ready=A,e.buildTokenRequest=O,e.init=function(t,e,r){return P.apply(this,arguments)}},4944:function(t,e,r){"use strict";var n=r(4994),o=n(r(4756));r(9432);var i=n(r(9293)),a=n(r(7383)),s=n(r(4579));Object.defineProperty(e,"__esModule",{value:!0});var u=function(){return(0,s.default)((function t(){(0,a.default)(this,t)}),[{key:"get",value:(r=(0,i.default)(o.default.mark((function t(e){var r;return o.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!(r=sessionStorage[e])){t.next=3;break}return t.abrupt("return",JSON.parse(r));case 3:return t.abrupt("return",null);case 4:case"end":return t.stop()}}),t)}))),function(t){return r.apply(this,arguments)})},{key:"set",value:(e=(0,i.default)(o.default.mark((function t(e,r){return o.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return sessionStorage[e]=JSON.stringify(r),t.abrupt("return",r);case 2:case"end":return t.stop()}}),t)}))),function(t,r){return e.apply(this,arguments)})},{key:"unset",value:(t=(0,i.default)(o.default.mark((function t(e){return o.default.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!(e in sessionStorage)){t.next=3;break}return delete sessionStorage[e],t.abrupt("return",!0);case 3:return t.abrupt("return",!1);case 4:case"end":return t.stop()}}),t)}))),function(e){return t.apply(this,arguments)})}]);var t,e,r}();e.default=u},945:function(t,e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default={expired:"Session expired! Please re-launch the app",noScopeForId:"Trying to get the ID of the selected %s. Please add 'launch' or 'launch/%s' to the requested scopes and try again.",noIfNoAuth:"You are trying to get %s but the app is not authorized yet.",noFreeContext:"Please don't use open fhir servers if you need to access launch context items like the %S."}},4945:function(t,e){var r="undefined"!=typeof self?self:this,n=function(){function t(){this.fetch=!1,this.DOMException=r.DOMException}return t.prototype=r,new t}();!function(t){!function(e){var r="URLSearchParams"in t,n="Symbol"in t&&"iterator"in Symbol,o="FileReader"in t&&"Blob"in t&&function(){try{return new Blob,!0}catch(t){return!1}}(),i="FormData"in t,a="ArrayBuffer"in t;if(a)var s=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],u=ArrayBuffer.isView||function(t){return t&&s.indexOf(Object.prototype.toString.call(t))>-1};function c(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(t))throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function f(t){return"string"!=typeof t&&(t=String(t)),t}function l(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return n&&(e[Symbol.iterator]=function(){return e}),e}function p(t){this.map={},t instanceof p?t.forEach((function(t,e){this.append(e,t)}),this):Array.isArray(t)?t.forEach((function(t){this.append(t[0],t[1])}),this):t&&Object.getOwnPropertyNames(t).forEach((function(e){this.append(e,t[e])}),this)}function h(t){if(t.bodyUsed)return Promise.reject(new TypeError("Already read"));t.bodyUsed=!0}function d(t){return new Promise((function(e,r){t.onload=function(){e(t.result)},t.onerror=function(){r(t.error)}}))}function v(t){var e=new FileReader,r=d(e);return e.readAsArrayBuffer(t),r}function y(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function g(){return this.bodyUsed=!1,this._initBody=function(t){var e;this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:o&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:i&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:r&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():a&&o&&(e=t)&&DataView.prototype.isPrototypeOf(e)?(this._bodyArrayBuffer=y(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):a&&(ArrayBuffer.prototype.isPrototypeOf(t)||u(t))?this._bodyArrayBuffer=y(t):this._bodyText=t=Object.prototype.toString.call(t):this._bodyText="",this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):r&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},o&&(this.blob=function(){var t=h(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?h(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(v)}),this.text=function(){var t,e,r,n=h(this);if(n)return n;if(this._bodyBlob)return t=this._bodyBlob,r=d(e=new FileReader),e.readAsText(t),r;if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),r=new Array(e.length),n=0;n-1?n:r),this.mode=e.mode||this.mode||null,this.signal=e.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&o)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(o)}function w(t){var e=new FormData;return t.trim().split("&").forEach((function(t){if(t){var r=t.split("="),n=r.shift().replace(/\+/g," "),o=r.join("=").replace(/\+/g," ");e.append(decodeURIComponent(n),decodeURIComponent(o))}})),e}function x(t,e){e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in e?e.statusText:"OK",this.headers=new p(e.headers),this.url=e.url||"",this._initBody(t)}m.prototype.clone=function(){return new m(this,{body:this._bodyInit})},g.call(m.prototype),g.call(x.prototype),x.prototype.clone=function(){return new x(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new p(this.headers),url:this.url})},x.error=function(){var t=new x(null,{status:0,statusText:""});return t.type="error",t};var S=[301,302,303,307,308];x.redirect=function(t,e){if(-1===S.indexOf(e))throw new RangeError("Invalid status code");return new x(null,{status:e,headers:{location:t}})},e.DOMException=t.DOMException;try{new e.DOMException}catch(t){e.DOMException=function(t,e){this.message=t,this.name=e;var r=Error(t);this.stack=r.stack},e.DOMException.prototype=Object.create(Error.prototype),e.DOMException.prototype.constructor=e.DOMException}function A(t,r){return new Promise((function(n,i){var a=new m(t,r);if(a.signal&&a.signal.aborted)return i(new e.DOMException("Aborted","AbortError"));var s=new XMLHttpRequest;function u(){s.abort()}s.onload=function(){var t,e,r={status:s.status,statusText:s.statusText,headers:(t=s.getAllResponseHeaders()||"",e=new p,t.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach((function(t){var r=t.split(":"),n=r.shift().trim();if(n){var o=r.join(":").trim();e.append(n,o)}})),e)};r.url="responseURL"in s?s.responseURL:r.headers.get("X-Request-URL");var o="response"in s?s.response:s.responseText;n(new x(o,r))},s.onerror=function(){i(new TypeError("Network request failed"))},s.ontimeout=function(){i(new TypeError("Network request failed"))},s.onabort=function(){i(new e.DOMException("Aborted","AbortError"))},s.open(a.method,a.url,!0),"include"===a.credentials?s.withCredentials=!0:"omit"===a.credentials&&(s.withCredentials=!1),"responseType"in s&&o&&(s.responseType="blob"),a.headers.forEach((function(t,e){s.setRequestHeader(e,t)})),a.signal&&(a.signal.addEventListener("abort",u),s.onreadystatechange=function(){4===s.readyState&&a.signal.removeEventListener("abort",u)}),s.send(void 0===a._bodyInit?null:a._bodyInit)}))}A.polyfill=!0,t.fetch||(t.fetch=A,t.Headers=p,t.Request=m,t.Response=x),e.Headers=p,e.Request=m,e.Response=x,e.fetch=A,Object.defineProperty(e,"__esModule",{value:!0})}({})}(n),n.fetch.ponyfill=!0,delete n.fetch.polyfill;var o=n;(e=o.fetch).default=o.fetch,e.fetch=o.fetch,e.Headers=o.Headers,e.Request=o.Request,e.Response=o.Response,t.exports=e},8127:function(t,e,r){"undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==r.g&&r.g,t.exports=function(){"use strict";var t,e="3.7.7",r=e,n="function"==typeof Buffer,o="function"==typeof TextDecoder?new TextDecoder:void 0,i="function"==typeof TextEncoder?new TextEncoder:void 0,a=Array.prototype.slice.call("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="),s=(t={},a.forEach((function(e,r){return t[e]=r})),t),u=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,c=String.fromCharCode.bind(String),f="function"==typeof Uint8Array.from?Uint8Array.from.bind(Uint8Array):function(t){return new Uint8Array(Array.prototype.slice.call(t,0))},l=function(t){return t.replace(/=/g,"").replace(/[+\/]/g,(function(t){return"+"==t?"-":"_"}))},p=function(t){return t.replace(/[^A-Za-z0-9\+\/]/g,"")},h=function(t){for(var e,r,n,o,i="",s=t.length%3,u=0;u255||(n=t.charCodeAt(u++))>255||(o=t.charCodeAt(u++))>255)throw new TypeError("invalid character found");i+=a[(e=r<<16|n<<8|o)>>18&63]+a[e>>12&63]+a[e>>6&63]+a[63&e]}return s?i.slice(0,s-3)+"===".substring(s):i},d="function"==typeof btoa?function(t){return btoa(t)}:n?function(t){return Buffer.from(t,"binary").toString("base64")}:h,v=n?function(t){return Buffer.from(t).toString("base64")}:function(t){for(var e=[],r=0,n=t.length;r>>6)+c(128|63&e):c(224|e>>>12&15)+c(128|e>>>6&63)+c(128|63&e);var e=65536+1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320);return c(240|e>>>18&7)+c(128|e>>>12&63)+c(128|e>>>6&63)+c(128|63&e)},b=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,m=function(t){return t.replace(b,g)},w=n?function(t){return Buffer.from(t,"utf8").toString("base64")}:i?function(t){return v(i.encode(t))}:function(t){return d(m(t))},x=function(t,e){return void 0===e&&(e=!1),e?l(w(t)):w(t)},S=function(t){return x(t,!0)},A=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,k=function(t){switch(t.length){case 4:var e=((7&t.charCodeAt(0))<<18|(63&t.charCodeAt(1))<<12|(63&t.charCodeAt(2))<<6|63&t.charCodeAt(3))-65536;return c(55296+(e>>>10))+c(56320+(1023&e));case 3:return c((15&t.charCodeAt(0))<<12|(63&t.charCodeAt(1))<<6|63&t.charCodeAt(2));default:return c((31&t.charCodeAt(0))<<6|63&t.charCodeAt(1))}},O=function(t){return t.replace(A,k)},E=function(t){if(t=t.replace(/\s+/g,""),!u.test(t))throw new TypeError("malformed base64.");t+="==".slice(2-(3&t.length));for(var e,r,n,o="",i=0;i>16&255):64===n?c(e>>16&255,e>>8&255):c(e>>16&255,e>>8&255,255&e);return o},P="function"==typeof atob?function(t){return atob(p(t))}:n?function(t){return Buffer.from(t,"base64").toString("binary")}:E,C=n?function(t){return f(Buffer.from(t,"base64"))}:function(t){return f(P(t).split("").map((function(t){return t.charCodeAt(0)})))},R=function(t){return C(T(t))},_=n?function(t){return Buffer.from(t,"base64").toString("utf8")}:o?function(t){return o.decode(C(t))}:function(t){return O(P(t))},T=function(t){return p(t.replace(/[-_]/g,(function(t){return"-"==t?"+":"/"})))},j=function(t){return _(T(t))},U=function(t){return{value:t,enumerable:!1,writable:!0,configurable:!0}},I=function(){var t=function(t,e){return Object.defineProperty(String.prototype,t,U(e))};t("fromBase64",(function(){return j(this)})),t("toBase64",(function(t){return x(this,t)})),t("toBase64URI",(function(){return x(this,!0)})),t("toBase64URL",(function(){return x(this,!0)})),t("toUint8Array",(function(){return R(this)}))},F=function(){var t=function(t,e){return Object.defineProperty(Uint8Array.prototype,t,U(e))};t("toBase64",(function(t){return y(this,t)})),t("toBase64URI",(function(){return y(this,!0)})),t("toBase64URL",(function(){return y(this,!0)}))},M={version:e,VERSION:r,atob:P,atobPolyfill:E,btoa:d,btoaPolyfill:h,fromBase64:j,toBase64:x,encode:x,encodeURI:S,encodeURL:S,utob:m,btou:O,decode:j,isValid:function(t){if("string"!=typeof t)return!1;var e=t.replace(/\s+/g,"").replace(/={0,2}$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(e)||!/[^\s0-9a-zA-Z\-_]/.test(e)},fromUint8Array:y,toUint8Array:R,extendString:I,extendUint8Array:F,extendBuiltins:function(){I(),F()},Base64:{}};return Object.keys(M).forEach((function(t){return M.Base64[t]=M[t]})),M}()},6585:function(t){var e=1e3,r=60*e,n=60*r,o=24*n,i=7*o;function a(t,e,r,n){var o=e>=1.5*r;return Math.round(t/r)+" "+n+(o?"s":"")}t.exports=function(t,s){s=s||{};var u,c,f=typeof t;if("string"===f&&t.length>0)return function(t){if(!((t=String(t)).length>100)){var a=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(a){var s=parseFloat(a[1]);switch((a[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*s;case"weeks":case"week":case"w":return s*i;case"days":case"day":case"d":return s*o;case"hours":case"hour":case"hrs":case"hr":case"h":return s*n;case"minutes":case"minute":case"mins":case"min":case"m":return s*r;case"seconds":case"second":case"secs":case"sec":case"s":return s*e;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return s;default:return}}}}(t);if("number"===f&&isFinite(t))return s.long?(u=t,(c=Math.abs(u))>=o?a(u,c,o,"day"):c>=n?a(u,c,n,"hour"):c>=r?a(u,c,r,"minute"):c>=e?a(u,c,e,"second"):u+" ms"):function(t){var i=Math.abs(t);return i>=o?Math.round(t/o)+"d":i>=n?Math.round(t/n)+"h":i>=r?Math.round(t/r)+"m":i>=e?Math.round(t/e)+"s":t+"ms"}(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))}},79:function(t){t.exports=function(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r=0;--o){var i=this.tryEntries[o],s=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var u=a.call(i,"catchLoc"),c=a.call(i,"finallyLoc");if(u&&c){if(this.prev=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&a.call(n,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),j(r),m}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;j(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:I(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),m}},r}t.exports=o,t.exports.__esModule=!0,t.exports.default=t.exports},5636:function(t){function e(r,n){return t.exports=e=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},t.exports.__esModule=!0,t.exports.default=t.exports,e(r,n)}t.exports=e,t.exports.__esModule=!0,t.exports.default=t.exports},1132:function(t,e,r){var n=r(5901),o=r(9291),i=r(7122),a=r(1869);t.exports=function(t){return n(t)||o(t)||i(t)||a()},t.exports.__esModule=!0,t.exports.default=t.exports},9045:function(t,e,r){var n=r(3738).default;t.exports=function(t,e){if("object"!=n(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var o=r.call(t,e||"default");if("object"!=n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)},t.exports.__esModule=!0,t.exports.default=t.exports},7736:function(t,e,r){var n=r(3738).default,o=r(9045);t.exports=function(t){var e=o(t,"string");return"symbol"==n(e)?e:e+""},t.exports.__esModule=!0,t.exports.default=t.exports},3738:function(t){function e(r){return t.exports=e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t.exports.__esModule=!0,t.exports.default=t.exports,e(r)}t.exports=e,t.exports.__esModule=!0,t.exports.default=t.exports},7122:function(t,e,r){var n=r(79);t.exports=function(t,e){if(t){if("string"==typeof t)return n(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(t,e):void 0}},t.exports.__esModule=!0,t.exports.default=t.exports},1837:function(t,e,r){var n=r(3072),o=r(5636),i=r(691),a=r(9646);function s(e){var r="function"==typeof Map?new Map:void 0;return t.exports=s=function(t){if(null===t||!i(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==r){if(r.has(t))return r.get(t);r.set(t,e)}function e(){return a(t,arguments,n(this).constructor)}return e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),o(e,t)},t.exports.__esModule=!0,t.exports.default=t.exports,s(e)}t.exports=s,t.exports.__esModule=!0,t.exports.default=t.exports},4756:function(t,e,r){var n=r(4633)();t.exports=n;try{regeneratorRuntime=n}catch(t){"object"==typeof globalThis?globalThis.regeneratorRuntime=n:Function("r","regeneratorRuntime = r")(n)}},9306:function(t,e,r){"use strict";var n=r(4901),o=r(6823),i=TypeError;t.exports=function(t){if(n(t))return t;throw new i(o(t)+" is not a function")}},5548:function(t,e,r){"use strict";var n=r(3517),o=r(6823),i=TypeError;t.exports=function(t){if(n(t))return t;throw new i(o(t)+" is not a constructor")}},3506:function(t,e,r){"use strict";var n=r(3925),o=String,i=TypeError;t.exports=function(t){if(n(t))return t;throw new i("Can't set "+o(t)+" as a prototype")}},6469:function(t,e,r){"use strict";var n=r(8227),o=r(2360),i=r(4913).f,a=n("unscopables"),s=Array.prototype;void 0===s[a]&&i(s,a,{configurable:!0,value:o(null)}),t.exports=function(t){s[a][t]=!0}},7829:function(t,e,r){"use strict";var n=r(8183).charAt;t.exports=function(t,e,r){return e+(r?n(t,e).length:1)}},679:function(t,e,r){"use strict";var n=r(1625),o=TypeError;t.exports=function(t,e){if(n(e,t))return t;throw new o("Incorrect invocation")}},8551:function(t,e,r){"use strict";var n=r(34),o=String,i=TypeError;t.exports=function(t){if(n(t))return t;throw new i(o(t)+" is not an object")}},7811:function(t){"use strict";t.exports="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView},4644:function(t,e,r){"use strict";var n,o,i,a=r(7811),s=r(3724),u=r(4576),c=r(4901),f=r(34),l=r(9297),p=r(6955),h=r(6823),d=r(6699),v=r(6840),y=r(2106),g=r(1625),b=r(2787),m=r(2967),w=r(8227),x=r(3392),S=r(1181),A=S.enforce,k=S.get,O=u.Int8Array,E=O&&O.prototype,P=u.Uint8ClampedArray,C=P&&P.prototype,R=O&&b(O),_=E&&b(E),T=Object.prototype,j=u.TypeError,U=w("toStringTag"),I=x("TYPED_ARRAY_TAG"),F="TypedArrayConstructor",M=a&&!!m&&"Opera"!==p(u.opera),L=!1,B={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},N={BigInt64Array:8,BigUint64Array:8},D=function(t){var e=b(t);if(f(e)){var r=k(e);return r&&l(r,F)?r[F]:D(e)}},K=function(t){if(!f(t))return!1;var e=p(t);return l(B,e)||l(N,e)};for(n in B)(i=(o=u[n])&&o.prototype)?A(i)[F]=o:M=!1;for(n in N)(i=(o=u[n])&&o.prototype)&&(A(i)[F]=o);if((!M||!c(R)||R===Function.prototype)&&(R=function(){throw new j("Incorrect invocation")},M))for(n in B)u[n]&&m(u[n],R);if((!M||!_||_===T)&&(_=R.prototype,M))for(n in B)u[n]&&m(u[n].prototype,_);if(M&&b(C)!==_&&m(C,_),s&&!l(_,U))for(n in L=!0,y(_,U,{configurable:!0,get:function(){return f(this)?this[I]:void 0}}),B)u[n]&&d(u[n],I,n);t.exports={NATIVE_ARRAY_BUFFER_VIEWS:M,TYPED_ARRAY_TAG:L&&I,aTypedArray:function(t){if(K(t))return t;throw new j("Target is not a typed array")},aTypedArrayConstructor:function(t){if(c(t)&&(!m||g(R,t)))return t;throw new j(h(t)+" is not a typed array constructor")},exportTypedArrayMethod:function(t,e,r,n){if(s){if(r)for(var o in B){var i=u[o];if(i&&l(i.prototype,t))try{delete i.prototype[t]}catch(r){try{i.prototype[t]=e}catch(t){}}}_[t]&&!r||v(_,t,r?e:M&&E[t]||e,n)}},exportTypedArrayStaticMethod:function(t,e,r){var n,o;if(s){if(m){if(r)for(n in B)if((o=u[n])&&l(o,t))try{delete o[t]}catch(t){}if(R[t]&&!r)return;try{return v(R,t,r?e:M&&R[t]||e)}catch(t){}}for(n in B)!(o=u[n])||o[t]&&!r||v(o,t,e)}},getTypedArrayConstructor:D,isView:function(t){if(!f(t))return!1;var e=p(t);return"DataView"===e||l(B,e)||l(N,e)},isTypedArray:K,TypedArray:R,TypedArrayPrototype:_}},6346:function(t,e,r){"use strict";var n=r(4576),o=r(9504),i=r(3724),a=r(7811),s=r(350),u=r(6699),c=r(2106),f=r(6279),l=r(9039),p=r(679),h=r(1291),d=r(8014),v=r(7696),y=r(5617),g=r(8490),b=r(2787),m=r(2967),w=r(4373),x=r(7680),S=r(3167),A=r(7740),k=r(687),O=r(1181),E=s.PROPER,P=s.CONFIGURABLE,C="ArrayBuffer",R="DataView",_="prototype",T="Wrong index",j=O.getterFor(C),U=O.getterFor(R),I=O.set,F=n[C],M=F,L=M&&M[_],B=n[R],N=B&&B[_],D=Object.prototype,K=n.Array,q=n.RangeError,H=o(w),z=o([].reverse),G=g.pack,J=g.unpack,V=function(t){return[255&t]},W=function(t){return[255&t,t>>8&255]},Y=function(t){return[255&t,t>>8&255,t>>16&255,t>>24&255]},$=function(t){return t[3]<<24|t[2]<<16|t[1]<<8|t[0]},Z=function(t){return G(y(t),23,4)},Q=function(t){return G(t,52,8)},X=function(t,e,r){c(t[_],e,{configurable:!0,get:function(){return r(this)[e]}})},tt=function(t,e,r,n){var o=U(t),i=v(r),a=!!n;if(i+e>o.byteLength)throw new q(T);var s=o.bytes,u=i+o.byteOffset,c=x(s,u,u+e);return a?c:z(c)},et=function(t,e,r,n,o,i){var a=U(t),s=v(r),u=n(+o),c=!!i;if(s+e>a.byteLength)throw new q(T);for(var f=a.bytes,l=s+a.byteOffset,p=0;p>24)},setUint8:function(t,e){ot(this,t,e<<24>>24)}},{unsafe:!0})}else L=(M=function(t){p(this,L);var e=v(t);I(this,{type:C,bytes:H(K(e),0),byteLength:e}),i||(this.byteLength=e,this.detached=!1)})[_],N=(B=function(t,e,r){p(this,N),p(t,L);var n=j(t),o=n.byteLength,a=h(e);if(a<0||a>o)throw new q("Wrong offset");if(a+(r=void 0===r?o-a:d(r))>o)throw new q("Wrong length");I(this,{type:R,buffer:t,byteLength:r,byteOffset:a,bytes:n.bytes}),i||(this.buffer=t,this.byteLength=r,this.byteOffset=a)})[_],i&&(X(M,"byteLength",j),X(B,"buffer",U),X(B,"byteLength",U),X(B,"byteOffset",U)),f(N,{getInt8:function(t){return tt(this,1,t)[0]<<24>>24},getUint8:function(t){return tt(this,1,t)[0]},getInt16:function(t){var e=tt(this,2,t,arguments.length>1&&arguments[1]);return(e[1]<<8|e[0])<<16>>16},getUint16:function(t){var e=tt(this,2,t,arguments.length>1&&arguments[1]);return e[1]<<8|e[0]},getInt32:function(t){return $(tt(this,4,t,arguments.length>1&&arguments[1]))},getUint32:function(t){return $(tt(this,4,t,arguments.length>1&&arguments[1]))>>>0},getFloat32:function(t){return J(tt(this,4,t,arguments.length>1&&arguments[1]),23)},getFloat64:function(t){return J(tt(this,8,t,arguments.length>1&&arguments[1]),52)},setInt8:function(t,e){et(this,1,t,V,e)},setUint8:function(t,e){et(this,1,t,V,e)},setInt16:function(t,e){et(this,2,t,W,e,arguments.length>2&&arguments[2])},setUint16:function(t,e){et(this,2,t,W,e,arguments.length>2&&arguments[2])},setInt32:function(t,e){et(this,4,t,Y,e,arguments.length>2&&arguments[2])},setUint32:function(t,e){et(this,4,t,Y,e,arguments.length>2&&arguments[2])},setFloat32:function(t,e){et(this,4,t,Z,e,arguments.length>2&&arguments[2])},setFloat64:function(t,e){et(this,8,t,Q,e,arguments.length>2&&arguments[2])}});k(M,C),k(B,R),t.exports={ArrayBuffer:M,DataView:B}},7029:function(t,e,r){"use strict";var n=r(8981),o=r(5610),i=r(6198),a=r(4606),s=Math.min;t.exports=[].copyWithin||function(t,e){var r=n(this),u=i(r),c=o(t,u),f=o(e,u),l=arguments.length>2?arguments[2]:void 0,p=s((void 0===l?u:o(l,u))-f,u-c),h=1;for(f0;)f in r?r[c]=r[f]:a(r,c),c+=h,f+=h;return r}},4373:function(t,e,r){"use strict";var n=r(8981),o=r(5610),i=r(6198);t.exports=function(t){for(var e=n(this),r=i(e),a=arguments.length,s=o(a>1?arguments[1]:void 0,r),u=a>2?arguments[2]:void 0,c=void 0===u?r:o(u,r);c>s;)e[s++]=t;return e}},235:function(t,e,r){"use strict";var n=r(9213).forEach,o=r(4598)("forEach");t.exports=o?[].forEach:function(t){return n(this,t,arguments.length>1?arguments[1]:void 0)}},5370:function(t,e,r){"use strict";var n=r(6198);t.exports=function(t,e,r){for(var o=0,i=arguments.length>2?r:n(e),a=new t(i);i>o;)a[o]=e[o++];return a}},7916:function(t,e,r){"use strict";var n=r(6080),o=r(9565),i=r(8981),a=r(6319),s=r(4209),u=r(3517),c=r(6198),f=r(4659),l=r(81),p=r(851),h=Array;t.exports=function(t){var e=i(t),r=u(this),d=arguments.length,v=d>1?arguments[1]:void 0,y=void 0!==v;y&&(v=n(v,d>2?arguments[2]:void 0));var g,b,m,w,x,S,A=p(e),k=0;if(!A||this===h&&s(A))for(g=c(e),b=r?new this(g):h(g);g>k;k++)S=y?v(e[k],k):e[k],f(b,k,S);else for(b=r?new this:[],x=(w=l(e,A)).next;!(m=o(x,w)).done;k++)S=y?a(w,v,[m.value,k],!0):m.value,f(b,k,S);return b.length=k,b}},9617:function(t,e,r){"use strict";var n=r(5397),o=r(5610),i=r(6198),a=function(t){return function(e,r,a){var s=n(e),u=i(s);if(0===u)return!t&&-1;var c,f=o(a,u);if(t&&r!=r){for(;u>f;)if((c=s[f++])!=c)return!0}else for(;u>f;f++)if((t||f in s)&&s[f]===r)return t||f||0;return!t&&-1}};t.exports={includes:a(!0),indexOf:a(!1)}},9213:function(t,e,r){"use strict";var n=r(6080),o=r(9504),i=r(7055),a=r(8981),s=r(6198),u=r(1469),c=o([].push),f=function(t){var e=1===t,r=2===t,o=3===t,f=4===t,l=6===t,p=7===t,h=5===t||l;return function(d,v,y,g){for(var b,m,w=a(d),x=i(w),S=s(x),A=n(v,y),k=0,O=g||u,E=e?O(d,S):r||p?O(d,0):void 0;S>k;k++)if((h||k in x)&&(m=A(b=x[k],k,w),t))if(e)E[k]=m;else if(m)switch(t){case 3:return!0;case 5:return b;case 6:return k;case 2:c(E,b)}else switch(t){case 4:return!1;case 7:c(E,b)}return l?-1:o||f?f:E}};t.exports={forEach:f(0),map:f(1),filter:f(2),some:f(3),every:f(4),find:f(5),findIndex:f(6),filterReject:f(7)}},8379:function(t,e,r){"use strict";var n=r(8745),o=r(5397),i=r(1291),a=r(6198),s=r(4598),u=Math.min,c=[].lastIndexOf,f=!!c&&1/[1].lastIndexOf(1,-0)<0,l=s("lastIndexOf"),p=f||!l;t.exports=p?function(t){if(f)return n(c,this,arguments)||0;var e=o(this),r=a(e);if(0===r)return-1;var s=r-1;for(arguments.length>1&&(s=u(s,i(arguments[1]))),s<0&&(s=r+s);s>=0;s--)if(s in e&&e[s]===t)return s||0;return-1}:c},597:function(t,e,r){"use strict";var n=r(9039),o=r(8227),i=r(9519),a=o("species");t.exports=function(t){return i>=51||!n((function(){var e=[];return(e.constructor={})[a]=function(){return{foo:1}},1!==e[t](Boolean).foo}))}},4598:function(t,e,r){"use strict";var n=r(9039);t.exports=function(t,e){var r=[][t];return!!r&&n((function(){r.call(null,e||function(){return 1},1)}))}},926:function(t,e,r){"use strict";var n=r(9306),o=r(8981),i=r(7055),a=r(6198),s=TypeError,u="Reduce of empty array with no initial value",c=function(t){return function(e,r,c,f){var l=o(e),p=i(l),h=a(l);if(n(r),0===h&&c<2)throw new s(u);var d=t?h-1:0,v=t?-1:1;if(c<2)for(;;){if(d in p){f=p[d],d+=v;break}if(d+=v,t?d<0:h<=d)throw new s(u)}for(;t?d>=0:h>d;d+=v)d in p&&(f=r(f,p[d],d,l));return f}};t.exports={left:c(!1),right:c(!0)}},4527:function(t,e,r){"use strict";var n=r(3724),o=r(4376),i=TypeError,a=Object.getOwnPropertyDescriptor,s=n&&!function(){if(void 0!==this)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(t){return t instanceof TypeError}}();t.exports=s?function(t,e){if(o(t)&&!a(t,"length").writable)throw new i("Cannot set read only .length");return t.length=e}:function(t,e){return t.length=e}},7680:function(t,e,r){"use strict";var n=r(9504);t.exports=n([].slice)},4488:function(t,e,r){"use strict";var n=r(7680),o=Math.floor,i=function(t,e){var r=t.length;if(r<8)for(var a,s,u=1;u0;)t[s]=t[--s];s!==u++&&(t[s]=a)}else for(var c=o(r/2),f=i(n(t,0,c),e),l=i(n(t,c),e),p=f.length,h=l.length,d=0,v=0;d"+u+""}},2529:function(t){"use strict";t.exports=function(t,e){return{value:t,done:e}}},6699:function(t,e,r){"use strict";var n=r(3724),o=r(4913),i=r(6980);t.exports=n?function(t,e,r){return o.f(t,e,i(1,r))}:function(t,e,r){return t[e]=r,t}},6980:function(t){"use strict";t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},4659:function(t,e,r){"use strict";var n=r(3724),o=r(4913),i=r(6980);t.exports=function(t,e,r){n?o.f(t,e,i(0,r)):t[e]=r}},2106:function(t,e,r){"use strict";var n=r(283),o=r(4913);t.exports=function(t,e,r){return r.get&&n(r.get,e,{getter:!0}),r.set&&n(r.set,e,{setter:!0}),o.f(t,e,r)}},6840:function(t,e,r){"use strict";var n=r(4901),o=r(4913),i=r(283),a=r(9433);t.exports=function(t,e,r,s){s||(s={});var u=s.enumerable,c=void 0!==s.name?s.name:e;if(n(r)&&i(r,c,s),s.global)u?t[e]=r:a(e,r);else{try{s.unsafe?t[e]&&(u=!0):delete t[e]}catch(t){}u?t[e]=r:o.f(t,e,{value:r,enumerable:!1,configurable:!s.nonConfigurable,writable:!s.nonWritable})}return t}},6279:function(t,e,r){"use strict";var n=r(6840);t.exports=function(t,e,r){for(var o in e)n(t,o,e[o],r);return t}},9433:function(t,e,r){"use strict";var n=r(4576),o=Object.defineProperty;t.exports=function(t,e){try{o(n,t,{value:e,configurable:!0,writable:!0})}catch(r){n[t]=e}return e}},4606:function(t,e,r){"use strict";var n=r(6823),o=TypeError;t.exports=function(t,e){if(!delete t[e])throw new o("Cannot delete property "+n(e)+" of "+n(t))}},3724:function(t,e,r){"use strict";var n=r(9039);t.exports=!n((function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]}))},4055:function(t,e,r){"use strict";var n=r(4576),o=r(34),i=n.document,a=o(i)&&o(i.createElement);t.exports=function(t){return a?i.createElement(t):{}}},6837:function(t){"use strict";var e=TypeError;t.exports=function(t){if(t>9007199254740991)throw e("Maximum allowed index exceeded");return t}},7400:function(t){"use strict";t.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},9296:function(t,e,r){"use strict";var n=r(4055)("span").classList,o=n&&n.constructor&&n.constructor.prototype;t.exports=o===Object.prototype?void 0:o},8727:function(t){"use strict";t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},3709:function(t,e,r){"use strict";var n=r(2839).match(/firefox\/(\d+)/i);t.exports=!!n&&+n[1]},3763:function(t,e,r){"use strict";var n=r(2839);t.exports=/MSIE|Trident/.test(n)},4265:function(t,e,r){"use strict";var n=r(2839);t.exports=/ipad|iphone|ipod/i.test(n)&&"undefined"!=typeof Pebble},9544:function(t,e,r){"use strict";var n=r(2839);t.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(n)},6193:function(t,e,r){"use strict";var n=r(4215);t.exports="NODE"===n},7860:function(t,e,r){"use strict";var n=r(2839);t.exports=/web0s(?!.*chrome)/i.test(n)},2839:function(t,e,r){"use strict";var n=r(4576).navigator,o=n&&n.userAgent;t.exports=o?String(o):""},9519:function(t,e,r){"use strict";var n,o,i=r(4576),a=r(2839),s=i.process,u=i.Deno,c=s&&s.versions||u&&u.version,f=c&&c.v8;f&&(o=(n=f.split("."))[0]>0&&n[0]<4?1:+(n[0]+n[1])),!o&&a&&(!(n=a.match(/Edge\/(\d+)/))||n[1]>=74)&&(n=a.match(/Chrome\/(\d+)/))&&(o=+n[1]),t.exports=o},3607:function(t,e,r){"use strict";var n=r(2839).match(/AppleWebKit\/(\d+)\./);t.exports=!!n&&+n[1]},4215:function(t,e,r){"use strict";var n=r(4576),o=r(2839),i=r(2195),a=function(t){return o.slice(0,t.length)===t};t.exports=a("Bun/")?"BUN":a("Cloudflare-Workers")?"CLOUDFLARE":a("Deno/")?"DENO":a("Node.js/")?"NODE":n.Bun&&"string"==typeof Bun.version?"BUN":n.Deno&&"object"==typeof Deno.version?"DENO":"process"===i(n.process)?"NODE":n.window&&n.document?"BROWSER":"REST"},6518:function(t,e,r){"use strict";var n=r(4576),o=r(7347).f,i=r(6699),a=r(6840),s=r(9433),u=r(7740),c=r(2796);t.exports=function(t,e){var r,f,l,p,h,d=t.target,v=t.global,y=t.stat;if(r=v?n:y?n[d]||s(d,{}):n[d]&&n[d].prototype)for(f in e){if(p=e[f],l=t.dontCallGetSet?(h=o(r,f))&&h.value:r[f],!c(v?f:d+(y?".":"#")+f,t.forced)&&void 0!==l){if(typeof p==typeof l)continue;u(p,l)}(t.sham||l&&l.sham)&&i(p,"sham",!0),a(r,f,p,t)}}},9039:function(t){"use strict";t.exports=function(t){try{return!!t()}catch(t){return!0}}},9228:function(t,e,r){"use strict";r(7495);var n=r(9565),o=r(6840),i=r(7323),a=r(9039),s=r(8227),u=r(6699),c=s("species"),f=RegExp.prototype;t.exports=function(t,e,r,l){var p=s(t),h=!a((function(){var e={};return e[p]=function(){return 7},7!==""[t](e)})),d=h&&!a((function(){var e=!1,r=/a/;return"split"===t&&((r={}).constructor={},r.constructor[c]=function(){return r},r.flags="",r[p]=/./[p]),r.exec=function(){return e=!0,null},r[p](""),!e}));if(!h||!d||r){var v=/./[p],y=e(p,""[t],(function(t,e,r,o,a){var s=e.exec;return s===i||s===f.exec?h&&!a?{done:!0,value:n(v,e,r,o)}:{done:!0,value:n(t,r,e,o)}:{done:!1}}));o(String.prototype,t,y[0]),o(f,p,y[1])}l&&u(f[p],"sham",!0)}},259:function(t,e,r){"use strict";var n=r(4376),o=r(6198),i=r(6837),a=r(6080),s=function(t,e,r,u,c,f,l,p){for(var h,d,v=c,y=0,g=!!l&&a(l,p);y0&&n(h)?(d=o(h),v=s(t,e,h,d,v,f-1)-1):(i(v+1),t[v]=h),v++),y++;return v};t.exports=s},8745:function(t,e,r){"use strict";var n=r(616),o=Function.prototype,i=o.apply,a=o.call;t.exports="object"==typeof Reflect&&Reflect.apply||(n?a.bind(i):function(){return a.apply(i,arguments)})},6080:function(t,e,r){"use strict";var n=r(7476),o=r(9306),i=r(616),a=n(n.bind);t.exports=function(t,e){return o(t),void 0===e?t:i?a(t,e):function(){return t.apply(e,arguments)}}},616:function(t,e,r){"use strict";var n=r(9039);t.exports=!n((function(){var t=function(){}.bind();return"function"!=typeof t||t.hasOwnProperty("prototype")}))},566:function(t,e,r){"use strict";var n=r(9504),o=r(9306),i=r(34),a=r(9297),s=r(7680),u=r(616),c=Function,f=n([].concat),l=n([].join),p={};t.exports=u?c.bind:function(t){var e=o(this),r=e.prototype,n=s(arguments,1),u=function(){var r=f(n,s(arguments));return this instanceof u?function(t,e,r){if(!a(p,e)){for(var n=[],o=0;o]*>)/g,f=/\$([$&'`]|\d{1,2})/g;t.exports=function(t,e,r,n,l,p){var h=r+t.length,d=n.length,v=f;return void 0!==l&&(l=o(l),v=c),s(p,v,(function(o,s){var c;switch(a(s,0)){case"$":return"$";case"&":return t;case"`":return u(e,0,r);case"'":return u(e,h);case"<":c=l[u(s,1,-1)];break;default:var f=+s;if(0===f)return o;if(f>d){var p=i(f/10);return 0===p?o:p<=d?void 0===n[p-1]?a(s,1):n[p-1]+a(s,1):o}c=n[f-1]}return void 0===c?"":c}))}},4576:function(t,e,r){"use strict";var n=function(t){return t&&t.Math===Math&&t};t.exports=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof r.g&&r.g)||n("object"==typeof this&&this)||function(){return this}()||Function("return this")()},9297:function(t,e,r){"use strict";var n=r(9504),o=r(8981),i=n({}.hasOwnProperty);t.exports=Object.hasOwn||function(t,e){return i(o(t),e)}},421:function(t){"use strict";t.exports={}},3138:function(t){"use strict";t.exports=function(t,e){try{1===arguments.length?console.error(t):console.error(t,e)}catch(t){}}},397:function(t,e,r){"use strict";var n=r(7751);t.exports=n("document","documentElement")},5917:function(t,e,r){"use strict";var n=r(3724),o=r(9039),i=r(4055);t.exports=!n&&!o((function(){return 7!==Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},8490:function(t){"use strict";var e=Array,r=Math.abs,n=Math.pow,o=Math.floor,i=Math.log,a=Math.LN2;t.exports={pack:function(t,s,u){var c,f,l,p=e(u),h=8*u-s-1,d=(1<>1,y=23===s?n(2,-24)-n(2,-77):0,g=t<0||0===t&&1/t<0?1:0,b=0;for((t=r(t))!=t||t===1/0?(f=t!=t?1:0,c=d):(c=o(i(t)/a),t*(l=n(2,-c))<1&&(c--,l*=2),(t+=c+v>=1?y/l:y*n(2,1-v))*l>=2&&(c++,l/=2),c+v>=d?(f=0,c=d):c+v>=1?(f=(t*l-1)*n(2,s),c+=v):(f=t*n(2,v-1)*n(2,s),c=0));s>=8;)p[b++]=255&f,f/=256,s-=8;for(c=c<0;)p[b++]=255&c,c/=256,h-=8;return p[b-1]|=128*g,p},unpack:function(t,e){var r,o=t.length,i=8*o-e-1,a=(1<>1,u=i-7,c=o-1,f=t[c--],l=127&f;for(f>>=7;u>0;)l=256*l+t[c--],u-=8;for(r=l&(1<<-u)-1,l>>=-u,u+=e;u>0;)r=256*r+t[c--],u-=8;if(0===l)l=1-s;else{if(l===a)return r?NaN:f?-1/0:1/0;r+=n(2,e),l-=s}return(f?-1:1)*r*n(2,l-e)}}},7055:function(t,e,r){"use strict";var n=r(9504),o=r(9039),i=r(2195),a=Object,s=n("".split);t.exports=o((function(){return!a("z").propertyIsEnumerable(0)}))?function(t){return"String"===i(t)?s(t,""):a(t)}:a},3167:function(t,e,r){"use strict";var n=r(4901),o=r(34),i=r(2967);t.exports=function(t,e,r){var a,s;return i&&n(a=e.constructor)&&a!==r&&o(s=a.prototype)&&s!==r.prototype&&i(t,s),t}},3706:function(t,e,r){"use strict";var n=r(9504),o=r(4901),i=r(7629),a=n(Function.toString);o(i.inspectSource)||(i.inspectSource=function(t){return a(t)}),t.exports=i.inspectSource},1181:function(t,e,r){"use strict";var n,o,i,a=r(8622),s=r(4576),u=r(34),c=r(6699),f=r(9297),l=r(7629),p=r(6119),h=r(421),d="Object already initialized",v=s.TypeError,y=s.WeakMap;if(a||l.state){var g=l.state||(l.state=new y);g.get=g.get,g.has=g.has,g.set=g.set,n=function(t,e){if(g.has(t))throw new v(d);return e.facade=t,g.set(t,e),e},o=function(t){return g.get(t)||{}},i=function(t){return g.has(t)}}else{var b=p("state");h[b]=!0,n=function(t,e){if(f(t,b))throw new v(d);return e.facade=t,c(t,b,e),e},o=function(t){return f(t,b)?t[b]:{}},i=function(t){return f(t,b)}}t.exports={set:n,get:o,has:i,enforce:function(t){return i(t)?o(t):n(t,{})},getterFor:function(t){return function(e){var r;if(!u(e)||(r=o(e)).type!==t)throw new v("Incompatible receiver, "+t+" required");return r}}}},4209:function(t,e,r){"use strict";var n=r(8227),o=r(6269),i=n("iterator"),a=Array.prototype;t.exports=function(t){return void 0!==t&&(o.Array===t||a[i]===t)}},4376:function(t,e,r){"use strict";var n=r(2195);t.exports=Array.isArray||function(t){return"Array"===n(t)}},1108:function(t,e,r){"use strict";var n=r(6955);t.exports=function(t){var e=n(t);return"BigInt64Array"===e||"BigUint64Array"===e}},4901:function(t){"use strict";var e="object"==typeof document&&document.all;t.exports=void 0===e&&void 0!==e?function(t){return"function"==typeof t||t===e}:function(t){return"function"==typeof t}},3517:function(t,e,r){"use strict";var n=r(9504),o=r(9039),i=r(4901),a=r(6955),s=r(7751),u=r(3706),c=function(){},f=s("Reflect","construct"),l=/^\s*(?:class|function)\b/,p=n(l.exec),h=!l.test(c),d=function(t){if(!i(t))return!1;try{return f(c,[],t),!0}catch(t){return!1}},v=function(t){if(!i(t))return!1;switch(a(t)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return h||!!p(l,u(t))}catch(t){return!0}};v.sham=!0,t.exports=!f||o((function(){var t;return d(d.call)||!d(Object)||!d((function(){t=!0}))||t}))?v:d},2796:function(t,e,r){"use strict";var n=r(9039),o=r(4901),i=/#|\.prototype\./,a=function(t,e){var r=u[s(t)];return r===f||r!==c&&(o(e)?n(e):!!e)},s=a.normalize=function(t){return String(t).replace(i,".").toLowerCase()},u=a.data={},c=a.NATIVE="N",f=a.POLYFILL="P";t.exports=a},2087:function(t,e,r){"use strict";var n=r(34),o=Math.floor;t.exports=Number.isInteger||function(t){return!n(t)&&isFinite(t)&&o(t)===t}},4117:function(t){"use strict";t.exports=function(t){return null==t}},34:function(t,e,r){"use strict";var n=r(4901);t.exports=function(t){return"object"==typeof t?null!==t:n(t)}},3925:function(t,e,r){"use strict";var n=r(34);t.exports=function(t){return n(t)||null===t}},6395:function(t){"use strict";t.exports=!1},788:function(t,e,r){"use strict";var n=r(34),o=r(2195),i=r(8227)("match");t.exports=function(t){var e;return n(t)&&(void 0!==(e=t[i])?!!e:"RegExp"===o(t))}},757:function(t,e,r){"use strict";var n=r(7751),o=r(4901),i=r(1625),a=r(7040),s=Object;t.exports=a?function(t){return"symbol"==typeof t}:function(t){var e=n("Symbol");return o(e)&&i(e.prototype,s(t))}},2652:function(t,e,r){"use strict";var n=r(6080),o=r(9565),i=r(8551),a=r(6823),s=r(4209),u=r(6198),c=r(1625),f=r(81),l=r(851),p=r(9539),h=TypeError,d=function(t,e){this.stopped=t,this.result=e},v=d.prototype;t.exports=function(t,e,r){var y,g,b,m,w,x,S,A=r&&r.that,k=!(!r||!r.AS_ENTRIES),O=!(!r||!r.IS_RECORD),E=!(!r||!r.IS_ITERATOR),P=!(!r||!r.INTERRUPTED),C=n(e,A),R=function(t){return y&&p(y,"normal",t),new d(!0,t)},_=function(t){return k?(i(t),P?C(t[0],t[1],R):C(t[0],t[1])):P?C(t,R):C(t)};if(O)y=t.iterator;else if(E)y=t;else{if(!(g=l(t)))throw new h(a(t)+" is not iterable");if(s(g)){for(b=0,m=u(t);m>b;b++)if((w=_(t[b]))&&c(v,w))return w;return new d(!1)}y=f(t,g)}for(x=O?t.next:y.next;!(S=o(x,y)).done;){try{w=_(S.value)}catch(t){p(y,"throw",t)}if("object"==typeof w&&w&&c(v,w))return w}return new d(!1)}},9539:function(t,e,r){"use strict";var n=r(9565),o=r(8551),i=r(5966);t.exports=function(t,e,r){var a,s;o(t);try{if(!(a=i(t,"return"))){if("throw"===e)throw r;return r}a=n(a,t)}catch(t){s=!0,a=t}if("throw"===e)throw r;if(s)throw a;return o(a),r}},3994:function(t,e,r){"use strict";var n=r(7657).IteratorPrototype,o=r(2360),i=r(6980),a=r(687),s=r(6269),u=function(){return this};t.exports=function(t,e,r,c){var f=e+" Iterator";return t.prototype=o(n,{next:i(+!c,r)}),a(t,f,!1,!0),s[f]=u,t}},1088:function(t,e,r){"use strict";var n=r(6518),o=r(9565),i=r(6395),a=r(350),s=r(4901),u=r(3994),c=r(2787),f=r(2967),l=r(687),p=r(6699),h=r(6840),d=r(8227),v=r(6269),y=r(7657),g=a.PROPER,b=a.CONFIGURABLE,m=y.IteratorPrototype,w=y.BUGGY_SAFARI_ITERATORS,x=d("iterator"),S="keys",A="values",k="entries",O=function(){return this};t.exports=function(t,e,r,a,d,y,E){u(r,e,a);var P,C,R,_=function(t){if(t===d&&F)return F;if(!w&&t&&t in U)return U[t];switch(t){case S:case A:case k:return function(){return new r(this,t)}}return function(){return new r(this)}},T=e+" Iterator",j=!1,U=t.prototype,I=U[x]||U["@@iterator"]||d&&U[d],F=!w&&I||_(d),M="Array"===e&&U.entries||I;if(M&&(P=c(M.call(new t)))!==Object.prototype&&P.next&&(i||c(P)===m||(f?f(P,m):s(P[x])||h(P,x,O)),l(P,T,!0,!0),i&&(v[T]=O)),g&&d===A&&I&&I.name!==A&&(!i&&b?p(U,"name",A):(j=!0,F=function(){return o(I,this)})),d)if(C={values:_(A),keys:y?F:_(S),entries:_(k)},E)for(R in C)(w||j||!(R in U))&&h(U,R,C[R]);else n({target:e,proto:!0,forced:w||j},C);return i&&!E||U[x]===F||h(U,x,F,{name:d}),v[e]=F,C}},7657:function(t,e,r){"use strict";var n,o,i,a=r(9039),s=r(4901),u=r(34),c=r(2360),f=r(2787),l=r(6840),p=r(8227),h=r(6395),d=p("iterator"),v=!1;[].keys&&("next"in(i=[].keys())?(o=f(f(i)))!==Object.prototype&&(n=o):v=!0),!u(n)||a((function(){var t={};return n[d].call(t)!==t}))?n={}:h&&(n=c(n)),s(n[d])||l(n,d,(function(){return this})),t.exports={IteratorPrototype:n,BUGGY_SAFARI_ITERATORS:v}},6269:function(t){"use strict";t.exports={}},6198:function(t,e,r){"use strict";var n=r(8014);t.exports=function(t){return n(t.length)}},283:function(t,e,r){"use strict";var n=r(9504),o=r(9039),i=r(4901),a=r(9297),s=r(3724),u=r(350).CONFIGURABLE,c=r(3706),f=r(1181),l=f.enforce,p=f.get,h=String,d=Object.defineProperty,v=n("".slice),y=n("".replace),g=n([].join),b=s&&!o((function(){return 8!==d((function(){}),"length",{value:8}).length})),m=String(String).split("String"),w=t.exports=function(t,e,r){"Symbol("===v(h(e),0,7)&&(e="["+y(h(e),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),r&&r.getter&&(e="get "+e),r&&r.setter&&(e="set "+e),(!a(t,"name")||u&&t.name!==e)&&(s?d(t,"name",{value:e,configurable:!0}):t.name=e),b&&r&&a(r,"arity")&&t.length!==r.arity&&d(t,"length",{value:r.arity});try{r&&a(r,"constructor")&&r.constructor?s&&d(t,"prototype",{writable:!1}):t.prototype&&(t.prototype=void 0)}catch(t){}var n=l(t);return a(n,"source")||(n.source=g(m,"string"==typeof e?e:"")),t};Function.prototype.toString=w((function(){return i(this)&&p(this).source||c(this)}),"toString")},3164:function(t,e,r){"use strict";var n=r(7782),o=Math.abs,i=2220446049250313e-31,a=1/i;t.exports=function(t,e,r,s){var u=+t,c=o(u),f=n(u);if(cr||p!=p?f*(1/0):f*p}},5617:function(t,e,r){"use strict";var n=r(3164);t.exports=Math.fround||function(t){return n(t,1.1920928955078125e-7,34028234663852886e22,11754943508222875e-54)}},7782:function(t){"use strict";t.exports=Math.sign||function(t){var e=+t;return 0===e||e!=e?e:e<0?-1:1}},741:function(t){"use strict";var e=Math.ceil,r=Math.floor;t.exports=Math.trunc||function(t){var n=+t;return(n>0?r:e)(n)}},1955:function(t,e,r){"use strict";var n,o,i,a,s,u=r(4576),c=r(3389),f=r(6080),l=r(9225).set,p=r(8265),h=r(9544),d=r(4265),v=r(7860),y=r(6193),g=u.MutationObserver||u.WebKitMutationObserver,b=u.document,m=u.process,w=u.Promise,x=c("queueMicrotask");if(!x){var S=new p,A=function(){var t,e;for(y&&(t=m.domain)&&t.exit();e=S.get();)try{e()}catch(t){throw S.head&&n(),t}t&&t.enter()};h||y||v||!g||!b?!d&&w&&w.resolve?((a=w.resolve(void 0)).constructor=w,s=f(a.then,a),n=function(){s(A)}):y?n=function(){m.nextTick(A)}:(l=f(l,u),n=function(){l(A)}):(o=!0,i=b.createTextNode(""),new g(A).observe(i,{characterData:!0}),n=function(){i.data=o=!o}),x=function(t){S.head||n(),S.add(t)}}t.exports=x},6043:function(t,e,r){"use strict";var n=r(9306),o=TypeError,i=function(t){var e,r;this.promise=new t((function(t,n){if(void 0!==e||void 0!==r)throw new o("Bad Promise constructor");e=t,r=n})),this.resolve=n(e),this.reject=n(r)};t.exports.f=function(t){return new i(t)}},2892:function(t,e,r){"use strict";var n=r(788),o=TypeError;t.exports=function(t){if(n(t))throw new o("The method doesn't accept regular expressions");return t}},4213:function(t,e,r){"use strict";var n=r(3724),o=r(9504),i=r(9565),a=r(9039),s=r(1072),u=r(3717),c=r(8773),f=r(8981),l=r(7055),p=Object.assign,h=Object.defineProperty,d=o([].concat);t.exports=!p||a((function(){if(n&&1!==p({b:1},p(h({},"a",{enumerable:!0,get:function(){h(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},e={},r=Symbol("assign detection"),o="abcdefghijklmnopqrst";return t[r]=7,o.split("").forEach((function(t){e[t]=t})),7!==p({},t)[r]||s(p({},e)).join("")!==o}))?function(t,e){for(var r=f(t),o=arguments.length,a=1,p=u.f,h=c.f;o>a;)for(var v,y=l(arguments[a++]),g=p?d(s(y),p(y)):s(y),b=g.length,m=0;b>m;)v=g[m++],n&&!i(h,y,v)||(r[v]=y[v]);return r}:p},2360:function(t,e,r){"use strict";var n,o=r(8551),i=r(6801),a=r(8727),s=r(421),u=r(397),c=r(4055),f=r(6119),l="prototype",p="script",h=f("IE_PROTO"),d=function(){},v=function(t){return"<"+p+">"+t+""},y=function(t){t.write(v("")),t.close();var e=t.parentWindow.Object;return t=null,e},g=function(){try{n=new ActiveXObject("htmlfile")}catch(t){}var t,e,r;g="undefined"!=typeof document?document.domain&&n?y(n):(e=c("iframe"),r="java"+p+":",e.style.display="none",u.appendChild(e),e.src=String(r),(t=e.contentWindow.document).open(),t.write(v("document.F=Object")),t.close(),t.F):y(n);for(var o=a.length;o--;)delete g[l][a[o]];return g()};s[h]=!0,t.exports=Object.create||function(t,e){var r;return null!==t?(d[l]=o(t),r=new d,d[l]=null,r[h]=t):r=g(),void 0===e?r:i.f(r,e)}},6801:function(t,e,r){"use strict";var n=r(3724),o=r(8686),i=r(4913),a=r(8551),s=r(5397),u=r(1072);e.f=n&&!o?Object.defineProperties:function(t,e){a(t);for(var r,n=s(e),o=u(e),c=o.length,f=0;c>f;)i.f(t,r=o[f++],n[r]);return t}},4913:function(t,e,r){"use strict";var n=r(3724),o=r(5917),i=r(8686),a=r(8551),s=r(6969),u=TypeError,c=Object.defineProperty,f=Object.getOwnPropertyDescriptor,l="enumerable",p="configurable",h="writable";e.f=n?i?function(t,e,r){if(a(t),e=s(e),a(r),"function"==typeof t&&"prototype"===e&&"value"in r&&h in r&&!r[h]){var n=f(t,e);n&&n[h]&&(t[e]=r.value,r={configurable:p in r?r[p]:n[p],enumerable:l in r?r[l]:n[l],writable:!1})}return c(t,e,r)}:c:function(t,e,r){if(a(t),e=s(e),a(r),o)try{return c(t,e,r)}catch(t){}if("get"in r||"set"in r)throw new u("Accessors not supported");return"value"in r&&(t[e]=r.value),t}},7347:function(t,e,r){"use strict";var n=r(3724),o=r(9565),i=r(8773),a=r(6980),s=r(5397),u=r(6969),c=r(9297),f=r(5917),l=Object.getOwnPropertyDescriptor;e.f=n?l:function(t,e){if(t=s(t),e=u(e),f)try{return l(t,e)}catch(t){}if(c(t,e))return a(!o(i.f,t,e),t[e])}},298:function(t,e,r){"use strict";var n=r(2195),o=r(5397),i=r(8480).f,a=r(7680),s="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.f=function(t){return s&&"Window"===n(t)?function(t){try{return i(t)}catch(t){return a(s)}}(t):i(o(t))}},8480:function(t,e,r){"use strict";var n=r(1828),o=r(8727).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return n(t,o)}},3717:function(t,e){"use strict";e.f=Object.getOwnPropertySymbols},2787:function(t,e,r){"use strict";var n=r(9297),o=r(4901),i=r(8981),a=r(6119),s=r(2211),u=a("IE_PROTO"),c=Object,f=c.prototype;t.exports=s?c.getPrototypeOf:function(t){var e=i(t);if(n(e,u))return e[u];var r=e.constructor;return o(r)&&e instanceof r?r.prototype:e instanceof c?f:null}},1625:function(t,e,r){"use strict";var n=r(9504);t.exports=n({}.isPrototypeOf)},1828:function(t,e,r){"use strict";var n=r(9504),o=r(9297),i=r(5397),a=r(9617).indexOf,s=r(421),u=n([].push);t.exports=function(t,e){var r,n=i(t),c=0,f=[];for(r in n)!o(s,r)&&o(n,r)&&u(f,r);for(;e.length>c;)o(n,r=e[c++])&&(~a(f,r)||u(f,r));return f}},1072:function(t,e,r){"use strict";var n=r(1828),o=r(8727);t.exports=Object.keys||function(t){return n(t,o)}},8773:function(t,e){"use strict";var r={}.propertyIsEnumerable,n=Object.getOwnPropertyDescriptor,o=n&&!r.call({1:2},1);e.f=o?function(t){var e=n(this,t);return!!e&&e.enumerable}:r},2967:function(t,e,r){"use strict";var n=r(6706),o=r(34),i=r(7750),a=r(3506);t.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,r={};try{(t=n(Object.prototype,"__proto__","set"))(r,[]),e=r instanceof Array}catch(t){}return function(r,n){return i(r),a(n),o(r)?(e?t(r,n):r.__proto__=n,r):r}}():void 0)},3179:function(t,e,r){"use strict";var n=r(2140),o=r(6955);t.exports=n?{}.toString:function(){return"[object "+o(this)+"]"}},4270:function(t,e,r){"use strict";var n=r(9565),o=r(4901),i=r(34),a=TypeError;t.exports=function(t,e){var r,s;if("string"===e&&o(r=t.toString)&&!i(s=n(r,t)))return s;if(o(r=t.valueOf)&&!i(s=n(r,t)))return s;if("string"!==e&&o(r=t.toString)&&!i(s=n(r,t)))return s;throw new a("Can't convert object to primitive value")}},5031:function(t,e,r){"use strict";var n=r(7751),o=r(9504),i=r(8480),a=r(3717),s=r(8551),u=o([].concat);t.exports=n("Reflect","ownKeys")||function(t){var e=i.f(s(t)),r=a.f;return r?u(e,r(t)):e}},9167:function(t,e,r){"use strict";var n=r(4576);t.exports=n},1103:function(t){"use strict";t.exports=function(t){try{return{error:!1,value:t()}}catch(t){return{error:!0,value:t}}}},916:function(t,e,r){"use strict";var n=r(4576),o=r(550),i=r(4901),a=r(2796),s=r(3706),u=r(8227),c=r(4215),f=r(6395),l=r(9519),p=o&&o.prototype,h=u("species"),d=!1,v=i(n.PromiseRejectionEvent),y=a("Promise",(function(){var t=s(o),e=t!==String(o);if(!e&&66===l)return!0;if(f&&(!p.catch||!p.finally))return!0;if(!l||l<51||!/native code/.test(t)){var r=new o((function(t){t(1)})),n=function(t){t((function(){}),(function(){}))};if((r.constructor={})[h]=n,!(d=r.then((function(){}))instanceof n))return!0}return!(e||"BROWSER"!==c&&"DENO"!==c||v)}));t.exports={CONSTRUCTOR:y,REJECTION_EVENT:v,SUBCLASSING:d}},550:function(t,e,r){"use strict";var n=r(4576);t.exports=n.Promise},3438:function(t,e,r){"use strict";var n=r(8551),o=r(34),i=r(6043);t.exports=function(t,e){if(n(t),o(e)&&e.constructor===t)return e;var r=i.f(t);return(0,r.resolve)(e),r.promise}},537:function(t,e,r){"use strict";var n=r(550),o=r(4428),i=r(916).CONSTRUCTOR;t.exports=i||!o((function(t){n.all(t).then(void 0,(function(){}))}))},1056:function(t,e,r){"use strict";var n=r(4913).f;t.exports=function(t,e,r){r in t||n(t,r,{configurable:!0,get:function(){return e[r]},set:function(t){e[r]=t}})}},8265:function(t){"use strict";var e=function(){this.head=null,this.tail=null};e.prototype={add:function(t){var e={item:t,next:null},r=this.tail;r?r.next=e:this.head=e,this.tail=e},get:function(){var t=this.head;if(t)return null===(this.head=t.next)&&(this.tail=null),t.item}},t.exports=e},6682:function(t,e,r){"use strict";var n=r(9565),o=r(8551),i=r(4901),a=r(2195),s=r(7323),u=TypeError;t.exports=function(t,e){var r=t.exec;if(i(r)){var c=n(r,t,e);return null!==c&&o(c),c}if("RegExp"===a(t))return n(s,t,e);throw new u("RegExp#exec called on incompatible receiver")}},7323:function(t,e,r){"use strict";var n,o,i=r(9565),a=r(9504),s=r(655),u=r(7979),c=r(8429),f=r(5745),l=r(2360),p=r(1181).get,h=r(3635),d=r(8814),v=f("native-string-replace",String.prototype.replace),y=RegExp.prototype.exec,g=y,b=a("".charAt),m=a("".indexOf),w=a("".replace),x=a("".slice),S=(o=/b*/g,i(y,n=/a/,"a"),i(y,o,"a"),0!==n.lastIndex||0!==o.lastIndex),A=c.BROKEN_CARET,k=void 0!==/()??/.exec("")[1];(S||k||A||h||d)&&(g=function(t){var e,r,n,o,a,c,f,h=this,d=p(h),O=s(t),E=d.raw;if(E)return E.lastIndex=h.lastIndex,e=i(g,E,O),h.lastIndex=E.lastIndex,e;var P=d.groups,C=A&&h.sticky,R=i(u,h),_=h.source,T=0,j=O;if(C&&(R=w(R,"y",""),-1===m(R,"g")&&(R+="g"),j=x(O,h.lastIndex),h.lastIndex>0&&(!h.multiline||h.multiline&&"\n"!==b(O,h.lastIndex-1))&&(_="(?: "+_+")",j=" "+j,T++),r=new RegExp("^(?:"+_+")",R)),k&&(r=new RegExp("^"+_+"$(?!\\s)",R)),S&&(n=h.lastIndex),o=i(y,C?r:h,j),C?o?(o.input=x(o.input,T),o[0]=x(o[0],T),o.index=h.lastIndex,h.lastIndex+=o[0].length):h.lastIndex=0:S&&o&&(h.lastIndex=h.global?o.index+o[0].length:n),k&&o&&o.length>1&&i(v,o[0],r,(function(){for(a=1;ab)","g");return"b"!==t.exec("b").groups.a||"bc"!=="b".replace(t,"$c")}))},7750:function(t,e,r){"use strict";var n=r(4117),o=TypeError;t.exports=function(t){if(n(t))throw new o("Can't call method on "+t);return t}},3389:function(t,e,r){"use strict";var n=r(4576),o=r(3724),i=Object.getOwnPropertyDescriptor;t.exports=function(t){if(!o)return n[t];var e=i(n,t);return e&&e.value}},3470:function(t){"use strict";t.exports=Object.is||function(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e}},7633:function(t,e,r){"use strict";var n=r(7751),o=r(2106),i=r(8227),a=r(3724),s=i("species");t.exports=function(t){var e=n(t);a&&e&&!e[s]&&o(e,s,{configurable:!0,get:function(){return this}})}},687:function(t,e,r){"use strict";var n=r(4913).f,o=r(9297),i=r(8227)("toStringTag");t.exports=function(t,e,r){t&&!r&&(t=t.prototype),t&&!o(t,i)&&n(t,i,{configurable:!0,value:e})}},6119:function(t,e,r){"use strict";var n=r(5745),o=r(3392),i=n("keys");t.exports=function(t){return i[t]||(i[t]=o(t))}},7629:function(t,e,r){"use strict";var n=r(6395),o=r(4576),i=r(9433),a="__core-js_shared__",s=t.exports=o[a]||i(a,{});(s.versions||(s.versions=[])).push({version:"3.38.1",mode:n?"pure":"global",copyright:"© 2014-2024 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.38.1/LICENSE",source:"https://github.com/zloirock/core-js"})},5745:function(t,e,r){"use strict";var n=r(7629);t.exports=function(t,e){return n[t]||(n[t]=e||{})}},2293:function(t,e,r){"use strict";var n=r(8551),o=r(5548),i=r(4117),a=r(8227)("species");t.exports=function(t,e){var r,s=n(t).constructor;return void 0===s||i(r=n(s)[a])?e:o(r)}},3061:function(t,e,r){"use strict";var n=r(9039);t.exports=function(t){return n((function(){var e=""[t]('"');return e!==e.toLowerCase()||e.split('"').length>3}))}},8183:function(t,e,r){"use strict";var n=r(9504),o=r(1291),i=r(655),a=r(7750),s=n("".charAt),u=n("".charCodeAt),c=n("".slice),f=function(t){return function(e,r){var n,f,l=i(a(e)),p=o(r),h=l.length;return p<0||p>=h?t?"":void 0:(n=u(l,p))<55296||n>56319||p+1===h||(f=u(l,p+1))<56320||f>57343?t?s(l,p):n:t?c(l,p,p+2):f-56320+(n-55296<<10)+65536}};t.exports={codeAt:f(!1),charAt:f(!0)}},6098:function(t,e,r){"use strict";var n=r(9504),o=2147483647,i=/[^\0-\u007E]/,a=/[.\u3002\uFF0E\uFF61]/g,s="Overflow: input needs wider integers to process",u=RangeError,c=n(a.exec),f=Math.floor,l=String.fromCharCode,p=n("".charCodeAt),h=n([].join),d=n([].push),v=n("".replace),y=n("".split),g=n("".toLowerCase),b=function(t){return t+22+75*(t<26)},m=function(t,e,r){var n=0;for(t=r?f(t/700):t>>1,t+=f(t/e);t>455;)t=f(t/35),n+=36;return f(n+36*t/(t+38))},w=function(t){var e=[];t=function(t){for(var e=[],r=0,n=t.length;r=55296&&o<=56319&&r=a&&nf((o-c)/x))throw new u(s);for(c+=(w-a)*x,a=w,r=0;ro)throw new u(s);if(n===a){for(var S=c,A=36;;){var k=A<=v?1:A>=v+26?26:A-v;if(S0?o(e,9007199254740991):0}},8981:function(t,e,r){"use strict";var n=r(7750),o=Object;t.exports=function(t){return o(n(t))}},8229:function(t,e,r){"use strict";var n=r(9590),o=RangeError;t.exports=function(t,e){var r=n(t);if(r%e)throw new o("Wrong offset");return r}},9590:function(t,e,r){"use strict";var n=r(1291),o=RangeError;t.exports=function(t){var e=n(t);if(e<0)throw new o("The argument can't be less than 0");return e}},2777:function(t,e,r){"use strict";var n=r(9565),o=r(34),i=r(757),a=r(5966),s=r(4270),u=r(8227),c=TypeError,f=u("toPrimitive");t.exports=function(t,e){if(!o(t)||i(t))return t;var r,u=a(t,f);if(u){if(void 0===e&&(e="default"),r=n(u,t,e),!o(r)||i(r))return r;throw new c("Can't convert object to primitive value")}return void 0===e&&(e="number"),s(t,e)}},6969:function(t,e,r){"use strict";var n=r(2777),o=r(757);t.exports=function(t){var e=n(t,"string");return o(e)?e:e+""}},2140:function(t,e,r){"use strict";var n={};n[r(8227)("toStringTag")]="z",t.exports="[object z]"===String(n)},655:function(t,e,r){"use strict";var n=r(6955),o=String;t.exports=function(t){if("Symbol"===n(t))throw new TypeError("Cannot convert a Symbol value to a string");return o(t)}},8319:function(t){"use strict";var e=Math.round;t.exports=function(t){var r=e(t);return r<0?0:r>255?255:255&r}},6823:function(t){"use strict";var e=String;t.exports=function(t){try{return e(t)}catch(t){return"Object"}}},5823:function(t,e,r){"use strict";var n=r(6518),o=r(4576),i=r(9565),a=r(3724),s=r(2805),u=r(4644),c=r(6346),f=r(679),l=r(6980),p=r(6699),h=r(2087),d=r(8014),v=r(7696),y=r(8229),g=r(8319),b=r(6969),m=r(9297),w=r(6955),x=r(34),S=r(757),A=r(2360),k=r(1625),O=r(2967),E=r(8480).f,P=r(3251),C=r(9213).forEach,R=r(7633),_=r(2106),T=r(4913),j=r(7347),U=r(5370),I=r(1181),F=r(3167),M=I.get,L=I.set,B=I.enforce,N=T.f,D=j.f,K=o.RangeError,q=c.ArrayBuffer,H=q.prototype,z=c.DataView,G=u.NATIVE_ARRAY_BUFFER_VIEWS,J=u.TYPED_ARRAY_TAG,V=u.TypedArray,W=u.TypedArrayPrototype,Y=u.isTypedArray,$="BYTES_PER_ELEMENT",Z="Wrong length",Q=function(t,e){_(t,e,{configurable:!0,get:function(){return M(this)[e]}})},X=function(t){var e;return k(H,t)||"ArrayBuffer"===(e=w(t))||"SharedArrayBuffer"===e},tt=function(t,e){return Y(t)&&!S(e)&&e in t&&h(+e)&&e>=0},et=function(t,e){return e=b(e),tt(t,e)?l(2,t[e]):D(t,e)},rt=function(t,e,r){return e=b(e),!(tt(t,e)&&x(r)&&m(r,"value"))||m(r,"get")||m(r,"set")||r.configurable||m(r,"writable")&&!r.writable||m(r,"enumerable")&&!r.enumerable?N(t,e,r):(t[e]=r.value,t)};a?(G||(j.f=et,T.f=rt,Q(W,"buffer"),Q(W,"byteOffset"),Q(W,"byteLength"),Q(W,"length")),n({target:"Object",stat:!0,forced:!G},{getOwnPropertyDescriptor:et,defineProperty:rt}),t.exports=function(t,e,r){var a=t.match(/\d+/)[0]/8,u=t+(r?"Clamped":"")+"Array",c="get"+t,l="set"+t,h=o[u],b=h,m=b&&b.prototype,w={},S=function(t,e){N(t,e,{get:function(){return function(t,e){var r=M(t);return r.view[c](e*a+r.byteOffset,!0)}(this,e)},set:function(t){return function(t,e,n){var o=M(t);o.view[l](e*a+o.byteOffset,r?g(n):n,!0)}(this,e,t)},enumerable:!0})};G?s&&(b=e((function(t,e,r,n){return f(t,m),F(x(e)?X(e)?void 0!==n?new h(e,y(r,a),n):void 0!==r?new h(e,y(r,a)):new h(e):Y(e)?U(b,e):i(P,b,e):new h(v(e)),t,b)})),O&&O(b,V),C(E(h),(function(t){t in b||p(b,t,h[t])})),b.prototype=m):(b=e((function(t,e,r,n){f(t,m);var o,s,u,c=0,l=0;if(x(e)){if(!X(e))return Y(e)?U(b,e):i(P,b,e);o=e,l=y(r,a);var p=e.byteLength;if(void 0===n){if(p%a)throw new K(Z);if((s=p-l)<0)throw new K(Z)}else if((s=d(n)*a)+l>p)throw new K(Z);u=s/a}else u=v(e),o=new q(s=u*a);for(L(t,{buffer:o,byteOffset:l,byteLength:s,length:u,view:new z(o)});c1?arguments[1]:void 0,k=void 0!==A,O=c(x);if(O&&!f(O))for(m=(b=u(x,O)).next,x=[];!(g=o(m,b)).done;)x.push(g.value);for(k&&S>2&&(A=n(A,arguments[2])),r=s(x),d=new(p(w))(r),v=l(d),e=0;r>e;e++)y=k?A(x[e],e):x[e],d[e]=v?h(y):+y;return d}},1412:function(t,e,r){"use strict";var n=r(4644),o=r(2293),i=n.aTypedArrayConstructor,a=n.getTypedArrayConstructor;t.exports=function(t){return i(o(t,a(t)))}},3392:function(t,e,r){"use strict";var n=r(9504),o=0,i=Math.random(),a=n(1..toString);t.exports=function(t){return"Symbol("+(void 0===t?"":t)+")_"+a(++o+i,36)}},7416:function(t,e,r){"use strict";var n=r(9039),o=r(8227),i=r(3724),a=r(6395),s=o("iterator");t.exports=!n((function(){var t=new URL("b?a=1&b=2&c=3","https://a"),e=t.searchParams,r=new URLSearchParams("a=1&a=2&b=3"),n="";return t.pathname="c%20d",e.forEach((function(t,r){e.delete("b"),n+=r+t})),r.delete("a",2),r.delete("b",void 0),a&&(!t.toJSON||!r.has("a",1)||r.has("a",2)||!r.has("a",void 0)||r.has("b"))||!e.size&&(a||!i)||!e.sort||"https://a/c%20d?a=1&c=3"!==t.href||"3"!==e.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!e[s]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("https://тест").host||"#%D0%B1"!==new URL("https://a#б").hash||"a1c3"!==n||"x"!==new URL("https://x",void 0).host}))},7040:function(t,e,r){"use strict";var n=r(4495);t.exports=n&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},8686:function(t,e,r){"use strict";var n=r(3724),o=r(9039);t.exports=n&&o((function(){return 42!==Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype}))},2812:function(t){"use strict";var e=TypeError;t.exports=function(t,r){if(t=51||!o((function(){var t=[];return t[v]=!1,t.concat()[0]!==t})),g=function(t){if(!a(t))return!1;var e=t[v];return void 0!==e?!!e:i(t)};n({target:"Array",proto:!0,arity:1,forced:!y||!p("concat")},{concat:function(t){var e,r,n,o,i,a=s(this),p=l(a,0),h=0;for(e=-1,n=arguments.length;e1?arguments[1]:void 0)}})},113:function(t,e,r){"use strict";var n=r(6518),o=r(9213).find,i=r(6469),a="find",s=!0;a in[]&&Array(1)[a]((function(){s=!1})),n({target:"Array",proto:!0,forced:s},{find:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),i(a)},6449:function(t,e,r){"use strict";var n=r(6518),o=r(259),i=r(8981),a=r(6198),s=r(1291),u=r(1469);n({target:"Array",proto:!0},{flat:function(){var t=arguments.length?arguments[0]:void 0,e=i(this),r=a(e),n=u(e,0);return n.length=o(n,e,e,r,0,void 0===t?1:s(t)),n}})},4423:function(t,e,r){"use strict";var n=r(6518),o=r(9617).includes,i=r(9039),a=r(6469);n({target:"Array",proto:!0,forced:i((function(){return!Array(1).includes()}))},{includes:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),a("includes")},3792:function(t,e,r){"use strict";var n=r(5397),o=r(6469),i=r(6269),a=r(1181),s=r(4913).f,u=r(1088),c=r(2529),f=r(6395),l=r(3724),p="Array Iterator",h=a.set,d=a.getterFor(p);t.exports=u(Array,"Array",(function(t,e){h(this,{type:p,target:n(t),index:0,kind:e})}),(function(){var t=d(this),e=t.target,r=t.index++;if(!e||r>=e.length)return t.target=null,c(void 0,!0);switch(t.kind){case"keys":return c(r,!1);case"values":return c(e[r],!1)}return c([r,e[r]],!1)}),"values");var v=i.Arguments=i.Array;if(o("keys"),o("values"),o("entries"),!f&&l&&"values"!==v.name)try{s(v,"name",{value:"values"})}catch(t){}},8598:function(t,e,r){"use strict";var n=r(6518),o=r(9504),i=r(7055),a=r(5397),s=r(4598),u=o([].join);n({target:"Array",proto:!0,forced:i!==Object||!s("join",",")},{join:function(t){return u(a(this),void 0===t?",":t)}})},2062:function(t,e,r){"use strict";var n=r(6518),o=r(9213).map;n({target:"Array",proto:!0,forced:!r(597)("map")},{map:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},4782:function(t,e,r){"use strict";var n=r(6518),o=r(4376),i=r(3517),a=r(34),s=r(5610),u=r(6198),c=r(5397),f=r(4659),l=r(8227),p=r(597),h=r(7680),d=p("slice"),v=l("species"),y=Array,g=Math.max;n({target:"Array",proto:!0,forced:!d},{slice:function(t,e){var r,n,l,p=c(this),d=u(p),b=s(t,d),m=s(void 0===e?d:e,d);if(o(p)&&(r=p.constructor,(i(r)&&(r===y||o(r.prototype))||a(r)&&null===(r=r[v]))&&(r=void 0),r===y||void 0===r))return h(p,b,m);for(n=new(void 0===r?y:r)(g(m-b,0)),l=0;b3)){if(d)return!0;if(y)return y<603;var t,e,r,n,o="";for(t=65;t<76;t++){switch(e=String.fromCharCode(t),t){case 66:case 69:case 70:case 72:r=3;break;case 68:case 71:r=4;break;default:r=2}for(n=0;n<47;n++)g.push({k:e+n,v:r})}for(g.sort((function(t,e){return e.v-t.v})),n=0;nc(r)?1:-1}}(t)),r=s(o),n=0;nw-n+r;y--)p(m,y-1)}else if(r>n)for(y=w-n;y>x;y--)b=y+r-1,(g=y+n-1)in m?m[b]=m[g]:p(m,b);for(y=0;y2)if(c=w(c),43===(e=P(c,0))||45===e){if(88===(r=P(c,2))||120===r)return NaN}else if(48===e){switch(P(c,1)){case 66:case 98:n=2,o=49;break;case 79:case 111:n=8,o=55;break;default:return+c}for(a=(i=E(c,2)).length,s=0;so)return NaN;return parseInt(i,n)}return+c}(e)}(t));return p(k,e=this)&&v((function(){m(e)}))?l(Object(r),this,R):r};R.prototype=k,C&&!o&&(k.constructor=R),n({global:!0,constructor:!0,wrap:!0,forced:C},{Number:R});var _=function(t,e){for(var r,n=i?y(e):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,fromString,range".split(","),o=0;n.length>o;o++)f(e,r=n[o])&&!f(t,r)&&b(t,r,g(e,r))};o&&A&&_(s[x],A),(C||o)&&_(s[x],S)},9085:function(t,e,r){"use strict";var n=r(6518),o=r(4213);n({target:"Object",stat:!0,arity:2,forced:Object.assign!==o},{assign:o})},3851:function(t,e,r){"use strict";var n=r(6518),o=r(9039),i=r(5397),a=r(7347).f,s=r(3724);n({target:"Object",stat:!0,forced:!s||o((function(){a(1)})),sham:!s},{getOwnPropertyDescriptor:function(t,e){return a(i(t),e)}})},1278:function(t,e,r){"use strict";var n=r(6518),o=r(3724),i=r(5031),a=r(5397),s=r(7347),u=r(4659);n({target:"Object",stat:!0,sham:!o},{getOwnPropertyDescriptors:function(t){for(var e,r,n=a(t),o=s.f,c=i(n),f={},l=0;c.length>l;)void 0!==(r=o(n,e=c[l++]))&&u(f,e,r);return f}})},9773:function(t,e,r){"use strict";var n=r(6518),o=r(4495),i=r(9039),a=r(3717),s=r(8981);n({target:"Object",stat:!0,forced:!o||i((function(){a.f(1)}))},{getOwnPropertySymbols:function(t){var e=a.f;return e?e(s(t)):[]}})},9432:function(t,e,r){"use strict";var n=r(6518),o=r(8981),i=r(1072);n({target:"Object",stat:!0,forced:r(9039)((function(){i(1)}))},{keys:function(t){return i(o(t))}})},6099:function(t,e,r){"use strict";var n=r(2140),o=r(6840),i=r(3179);n||o(Object.prototype,"toString",i,{unsafe:!0})},6499:function(t,e,r){"use strict";var n=r(6518),o=r(9565),i=r(9306),a=r(6043),s=r(1103),u=r(2652);n({target:"Promise",stat:!0,forced:r(537)},{all:function(t){var e=this,r=a.f(e),n=r.resolve,c=r.reject,f=s((function(){var r=i(e.resolve),a=[],s=0,f=1;u(t,(function(t){var i=s++,u=!1;f++,o(r,e,t).then((function(t){u||(u=!0,a[i]=t,--f||n(a))}),c)})),--f||n(a)}));return f.error&&c(f.value),r.promise}})},2003:function(t,e,r){"use strict";var n=r(6518),o=r(6395),i=r(916).CONSTRUCTOR,a=r(550),s=r(7751),u=r(4901),c=r(6840),f=a&&a.prototype;if(n({target:"Promise",proto:!0,forced:i,real:!0},{catch:function(t){return this.then(void 0,t)}}),!o&&u(a)){var l=s("Promise").prototype.catch;f.catch!==l&&c(f,"catch",l,{unsafe:!0})}},436:function(t,e,r){"use strict";var n,o,i,a=r(6518),s=r(6395),u=r(6193),c=r(4576),f=r(9565),l=r(6840),p=r(2967),h=r(687),d=r(7633),v=r(9306),y=r(4901),g=r(34),b=r(679),m=r(2293),w=r(9225).set,x=r(1955),S=r(3138),A=r(1103),k=r(8265),O=r(1181),E=r(550),P=r(916),C=r(6043),R="Promise",_=P.CONSTRUCTOR,T=P.REJECTION_EVENT,j=P.SUBCLASSING,U=O.getterFor(R),I=O.set,F=E&&E.prototype,M=E,L=F,B=c.TypeError,N=c.document,D=c.process,K=C.f,q=K,H=!!(N&&N.createEvent&&c.dispatchEvent),z="unhandledrejection",G=function(t){var e;return!(!g(t)||!y(e=t.then))&&e},J=function(t,e){var r,n,o,i=e.value,a=1===e.state,s=a?t.ok:t.fail,u=t.resolve,c=t.reject,l=t.domain;try{s?(a||(2===e.rejection&&Z(e),e.rejection=1),!0===s?r=i:(l&&l.enter(),r=s(i),l&&(l.exit(),o=!0)),r===t.promise?c(new B("Promise-chain cycle")):(n=G(r))?f(n,r,u,c):u(r)):c(i)}catch(t){l&&!o&&l.exit(),c(t)}},V=function(t,e){t.notified||(t.notified=!0,x((function(){for(var r,n=t.reactions;r=n.get();)J(r,t);t.notified=!1,e&&!t.rejection&&Y(t)})))},W=function(t,e,r){var n,o;H?((n=N.createEvent("Event")).promise=e,n.reason=r,n.initEvent(t,!1,!0),c.dispatchEvent(n)):n={promise:e,reason:r},!T&&(o=c["on"+t])?o(n):t===z&&S("Unhandled promise rejection",r)},Y=function(t){f(w,c,(function(){var e,r=t.facade,n=t.value;if($(t)&&(e=A((function(){u?D.emit("unhandledRejection",n,r):W(z,r,n)})),t.rejection=u||$(t)?2:1,e.error))throw e.value}))},$=function(t){return 1!==t.rejection&&!t.parent},Z=function(t){f(w,c,(function(){var e=t.facade;u?D.emit("rejectionHandled",e):W("rejectionhandled",e,t.value)}))},Q=function(t,e,r){return function(n){t(e,n,r)}},X=function(t,e,r){t.done||(t.done=!0,r&&(t=r),t.value=e,t.state=2,V(t,!0))},tt=function(t,e,r){if(!t.done){t.done=!0,r&&(t=r);try{if(t.facade===e)throw new B("Promise can't be resolved itself");var n=G(e);n?x((function(){var r={done:!1};try{f(n,e,Q(tt,r,t),Q(X,r,t))}catch(e){X(r,e,t)}})):(t.value=e,t.state=1,V(t,!1))}catch(e){X({done:!1},e,t)}}};if(_&&(L=(M=function(t){b(this,L),v(t),f(n,this);var e=U(this);try{t(Q(tt,e),Q(X,e))}catch(t){X(e,t)}}).prototype,(n=function(t){I(this,{type:R,done:!1,notified:!1,parent:!1,reactions:new k,rejection:!1,state:0,value:null})}).prototype=l(L,"then",(function(t,e){var r=U(this),n=K(m(this,M));return r.parent=!0,n.ok=!y(t)||t,n.fail=y(e)&&e,n.domain=u?D.domain:void 0,0===r.state?r.reactions.add(n):x((function(){J(n,r)})),n.promise})),o=function(){var t=new n,e=U(t);this.promise=t,this.resolve=Q(tt,e),this.reject=Q(X,e)},C.f=K=function(t){return t===M||void 0===t?new o(t):q(t)},!s&&y(E)&&F!==Object.prototype)){i=F.then,j||l(F,"then",(function(t,e){var r=this;return new M((function(t,e){f(i,r,t,e)})).then(t,e)}),{unsafe:!0});try{delete F.constructor}catch(t){}p&&p(F,L)}a({global:!0,constructor:!0,wrap:!0,forced:_},{Promise:M}),h(M,R,!1,!0),d(R)},9391:function(t,e,r){"use strict";var n=r(6518),o=r(6395),i=r(550),a=r(9039),s=r(7751),u=r(4901),c=r(2293),f=r(3438),l=r(6840),p=i&&i.prototype;if(n({target:"Promise",proto:!0,real:!0,forced:!!i&&a((function(){p.finally.call({then:function(){}},(function(){}))}))},{finally:function(t){var e=c(this,s("Promise")),r=u(t);return this.then(r?function(r){return f(e,t()).then((function(){return r}))}:t,r?function(r){return f(e,t()).then((function(){throw r}))}:t)}}),!o&&u(i)){var h=s("Promise").prototype.finally;p.finally!==h&&l(p,"finally",h,{unsafe:!0})}},3362:function(t,e,r){"use strict";r(436),r(6499),r(2003),r(7743),r(1481),r(280)},7743:function(t,e,r){"use strict";var n=r(6518),o=r(9565),i=r(9306),a=r(6043),s=r(1103),u=r(2652);n({target:"Promise",stat:!0,forced:r(537)},{race:function(t){var e=this,r=a.f(e),n=r.reject,c=s((function(){var a=i(e.resolve);u(t,(function(t){o(a,e,t).then(r.resolve,n)}))}));return c.error&&n(c.value),r.promise}})},1481:function(t,e,r){"use strict";var n=r(6518),o=r(6043);n({target:"Promise",stat:!0,forced:r(916).CONSTRUCTOR},{reject:function(t){var e=o.f(this);return(0,e.reject)(t),e.promise}})},280:function(t,e,r){"use strict";var n=r(6518),o=r(7751),i=r(6395),a=r(550),s=r(916).CONSTRUCTOR,u=r(3438),c=o("Promise"),f=i&&!s;n({target:"Promise",stat:!0,forced:i||s},{resolve:function(t){return u(f&&this===c?a:this,t)}})},825:function(t,e,r){"use strict";var n=r(6518),o=r(7751),i=r(8745),a=r(566),s=r(5548),u=r(8551),c=r(34),f=r(2360),l=r(9039),p=o("Reflect","construct"),h=Object.prototype,d=[].push,v=l((function(){function t(){}return!(p((function(){}),[],t)instanceof t)})),y=!l((function(){p((function(){}))})),g=v||y;n({target:"Reflect",stat:!0,forced:g,sham:g},{construct:function(t,e){s(t),u(e);var r=arguments.length<3?t:s(arguments[2]);if(y&&!v)return p(t,e,r);if(t===r){switch(e.length){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3])}var n=[null];return i(d,n,e),new(i(a,t,n))}var o=r.prototype,l=f(c(o)?o:h),g=i(t,l,e);return c(g)?g:l}})},4864:function(t,e,r){"use strict";var n=r(3724),o=r(4576),i=r(9504),a=r(2796),s=r(3167),u=r(6699),c=r(2360),f=r(8480).f,l=r(1625),p=r(788),h=r(655),d=r(1034),v=r(8429),y=r(1056),g=r(6840),b=r(9039),m=r(9297),w=r(1181).enforce,x=r(7633),S=r(8227),A=r(3635),k=r(8814),O=S("match"),E=o.RegExp,P=E.prototype,C=o.SyntaxError,R=i(P.exec),_=i("".charAt),T=i("".replace),j=i("".indexOf),U=i("".slice),I=/^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/,F=/a/g,M=/a/g,L=new E(F)!==F,B=v.MISSED_STICKY,N=v.UNSUPPORTED_Y;if(a("RegExp",n&&(!L||B||A||k||b((function(){return M[O]=!1,E(F)!==F||E(M)===M||"/a/i"!==String(E(F,"i"))}))))){for(var D=function(t,e){var r,n,o,i,a,f,v=l(P,this),y=p(t),g=void 0===e,b=[],x=t;if(!v&&y&&g&&t.constructor===D)return t;if((y||l(P,t))&&(t=t.source,g&&(e=d(x))),t=void 0===t?"":h(t),e=void 0===e?"":h(e),x=t,A&&"dotAll"in F&&(n=!!e&&j(e,"s")>-1)&&(e=T(e,/s/g,"")),r=e,B&&"sticky"in F&&(o=!!e&&j(e,"y")>-1)&&N&&(e=T(e,/y/g,"")),k&&(i=function(t){for(var e,r=t.length,n=0,o="",i=[],a=c(null),s=!1,u=!1,f=0,l="";n<=r;n++){if("\\"===(e=_(t,n)))e+=_(t,++n);else if("]"===e)s=!1;else if(!s)switch(!0){case"["===e:s=!0;break;case"("===e:if(o+=e,"?:"===U(t,n+1,n+3))continue;R(I,U(t,n+1))&&(n+=2,u=!0),f++;continue;case">"===e&&u:if(""===l||m(a,l))throw new C("Invalid capture group name");a[l]=!0,i[i.length]=[l,f],u=!1,l="";continue}u?l+=e:o+=e}return[o,i]}(t),t=i[0],b=i[1]),a=s(E(t,e),v?this:P,D),(n||o||b.length)&&(f=w(a),n&&(f.dotAll=!0,f.raw=D(function(t){for(var e,r=t.length,n=0,o="",i=!1;n<=r;n++)"\\"!==(e=_(t,n))?i||"."!==e?("["===e?i=!0:"]"===e&&(i=!1),o+=e):o+="[\\s\\S]":o+=e+_(t,++n);return o}(t),r)),o&&(f.sticky=!0),b.length&&(f.groups=b)),t!==x)try{u(a,"source",""===x?"(?:)":x)}catch(t){}return a},K=f(E),q=0;K.length>q;)y(D,E,K[q++]);P.constructor=D,D.prototype=P,g(o,"RegExp",D,{constructor:!0})}x("RegExp")},7495:function(t,e,r){"use strict";var n=r(6518),o=r(7323);n({target:"RegExp",proto:!0,forced:/./.exec!==o},{exec:o})},8781:function(t,e,r){"use strict";var n=r(350).PROPER,o=r(6840),i=r(8551),a=r(655),s=r(9039),u=r(1034),c="toString",f=RegExp.prototype,l=f[c],p=s((function(){return"/a/b"!==l.call({source:"a",flags:"b"})})),h=n&&l.name!==c;(p||h)&&o(f,c,(function(){var t=i(this);return"/"+a(t.source)+"/"+a(u(t))}),{unsafe:!0})},7337:function(t,e,r){"use strict";var n=r(6518),o=r(9504),i=r(5610),a=RangeError,s=String.fromCharCode,u=String.fromCodePoint,c=o([].join);n({target:"String",stat:!0,arity:1,forced:!!u&&1!==u.length},{fromCodePoint:function(t){for(var e,r=[],n=arguments.length,o=0;n>o;){if(e=+arguments[o++],i(e,1114111)!==e)throw new a(e+" is not a valid code point");r[o]=e<65536?s(e):s(55296+((e-=65536)>>10),e%1024+56320)}return c(r,"")}})},1699:function(t,e,r){"use strict";var n=r(6518),o=r(9504),i=r(2892),a=r(7750),s=r(655),u=r(1436),c=o("".indexOf);n({target:"String",proto:!0,forced:!u("includes")},{includes:function(t){return!!~c(s(a(this)),s(i(t)),arguments.length>1?arguments[1]:void 0)}})},7764:function(t,e,r){"use strict";var n=r(8183).charAt,o=r(655),i=r(1181),a=r(1088),s=r(2529),u="String Iterator",c=i.set,f=i.getterFor(u);a(String,"String",(function(t){c(this,{type:u,string:o(t),index:0})}),(function(){var t,e=f(this),r=e.string,o=e.index;return o>=r.length?s(void 0,!0):(t=n(r,o),e.index+=t.length,s(t,!1))}))},778:function(t,e,r){"use strict";var n=r(6518),o=r(7240);n({target:"String",proto:!0,forced:r(3061)("link")},{link:function(t){return o(this,"a","href",t)}})},1761:function(t,e,r){"use strict";var n=r(9565),o=r(9228),i=r(8551),a=r(4117),s=r(8014),u=r(655),c=r(7750),f=r(5966),l=r(7829),p=r(6682);o("match",(function(t,e,r){return[function(e){var r=c(this),o=a(e)?void 0:f(e,t);return o?n(o,e,r):new RegExp(e)[t](u(r))},function(t){var n=i(this),o=u(t),a=r(e,n,o);if(a.done)return a.value;if(!n.global)return p(n,o);var c=n.unicode;n.lastIndex=0;for(var f,h=[],d=0;null!==(f=p(n,o));){var v=u(f[0]);h[d]=v,""===v&&(n.lastIndex=l(o,s(n.lastIndex),c)),d++}return 0===d?null:h}]}))},5440:function(t,e,r){"use strict";var n=r(8745),o=r(9565),i=r(9504),a=r(9228),s=r(9039),u=r(8551),c=r(4901),f=r(4117),l=r(1291),p=r(8014),h=r(655),d=r(7750),v=r(7829),y=r(5966),g=r(2478),b=r(6682),m=r(8227)("replace"),w=Math.max,x=Math.min,S=i([].concat),A=i([].push),k=i("".indexOf),O=i("".slice),E="$0"==="a".replace(/./,"$0"),P=!!/./[m]&&""===/./[m]("a","$0");a("replace",(function(t,e,r){var i=P?"$":"$0";return[function(t,r){var n=d(this),i=f(t)?void 0:y(t,m);return i?o(i,t,n,r):o(e,h(n),t,r)},function(t,o){var a=u(this),s=h(t);if("string"==typeof o&&-1===k(o,i)&&-1===k(o,"$<")){var f=r(e,a,s,o);if(f.done)return f.value}var d=c(o);d||(o=h(o));var y,m=a.global;m&&(y=a.unicode,a.lastIndex=0);for(var E,P=[];null!==(E=b(a,s))&&(A(P,E),m);)""===h(E[0])&&(a.lastIndex=v(s,p(a.lastIndex),y));for(var C,R="",_=0,T=0;T=_&&(R+=O(s,_,I)+j,_=I+U.length)}return R+O(s,_)}]}),!!s((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$")}))||!E||P)},5746:function(t,e,r){"use strict";var n=r(9565),o=r(9228),i=r(8551),a=r(4117),s=r(7750),u=r(3470),c=r(655),f=r(5966),l=r(6682);o("search",(function(t,e,r){return[function(e){var r=s(this),o=a(e)?void 0:f(e,t);return o?n(o,e,r):new RegExp(e)[t](c(r))},function(t){var n=i(this),o=c(t),a=r(e,n,o);if(a.done)return a.value;var s=n.lastIndex;u(s,0)||(n.lastIndex=0);var f=l(n,o);return u(n.lastIndex,s)||(n.lastIndex=s),null===f?-1:f.index}]}))},744:function(t,e,r){"use strict";var n=r(9565),o=r(9504),i=r(9228),a=r(8551),s=r(4117),u=r(7750),c=r(2293),f=r(7829),l=r(8014),p=r(655),h=r(5966),d=r(6682),v=r(8429),y=r(9039),g=v.UNSUPPORTED_Y,b=Math.min,m=o([].push),w=o("".slice),x=!y((function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var r="ab".split(t);return 2!==r.length||"a"!==r[0]||"b"!==r[1]})),S="c"==="abbc".split(/(b)*/)[1]||4!=="test".split(/(?:)/,-1).length||2!=="ab".split(/(?:ab)*/).length||4!==".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length;i("split",(function(t,e,r){var o="0".split(void 0,0).length?function(t,r){return void 0===t&&0===r?[]:n(e,this,t,r)}:e;return[function(e,r){var i=u(this),a=s(e)?void 0:h(e,t);return a?n(a,e,i,r):n(o,p(i),e,r)},function(t,n){var i=a(this),s=p(t);if(!S){var u=r(o,i,s,n,o!==e);if(u.done)return u.value}var h=c(i,RegExp),v=i.unicode,y=(i.ignoreCase?"i":"")+(i.multiline?"m":"")+(i.unicode?"u":"")+(g?"g":"y"),x=new h(g?"^(?:"+i.source+")":i,y),A=void 0===n?4294967295:n>>>0;if(0===A)return[];if(0===s.length)return null===d(x,s)?[s]:[];for(var k=0,O=0,E=[];O2?arguments[2]:void 0)}))},2170:function(t,e,r){"use strict";var n=r(4644),o=r(9213).every,i=n.aTypedArray;(0,n.exportTypedArrayMethod)("every",(function(t){return o(i(this),t,arguments.length>1?arguments[1]:void 0)}))},5044:function(t,e,r){"use strict";var n=r(4644),o=r(4373),i=r(5854),a=r(6955),s=r(9565),u=r(9504),c=r(9039),f=n.aTypedArray,l=n.exportTypedArrayMethod,p=u("".slice);l("fill",(function(t){var e=arguments.length;f(this);var r="Big"===p(a(this),0,3)?i(t):+t;return s(o,this,r,e>1?arguments[1]:void 0,e>2?arguments[2]:void 0)}),c((function(){var t=0;return new Int8Array(2).fill({valueOf:function(){return t++}}),1!==t})))},1920:function(t,e,r){"use strict";var n=r(4644),o=r(9213).filter,i=r(6357),a=n.aTypedArray;(0,n.exportTypedArrayMethod)("filter",(function(t){var e=o(a(this),t,arguments.length>1?arguments[1]:void 0);return i(this,e)}))},9955:function(t,e,r){"use strict";var n=r(4644),o=r(9213).findIndex,i=n.aTypedArray;(0,n.exportTypedArrayMethod)("findIndex",(function(t){return o(i(this),t,arguments.length>1?arguments[1]:void 0)}))},1694:function(t,e,r){"use strict";var n=r(4644),o=r(9213).find,i=n.aTypedArray;(0,n.exportTypedArrayMethod)("find",(function(t){return o(i(this),t,arguments.length>1?arguments[1]:void 0)}))},3206:function(t,e,r){"use strict";var n=r(4644),o=r(9213).forEach,i=n.aTypedArray;(0,n.exportTypedArrayMethod)("forEach",(function(t){o(i(this),t,arguments.length>1?arguments[1]:void 0)}))},4496:function(t,e,r){"use strict";var n=r(4644),o=r(9617).includes,i=n.aTypedArray;(0,n.exportTypedArrayMethod)("includes",(function(t){return o(i(this),t,arguments.length>1?arguments[1]:void 0)}))},6651:function(t,e,r){"use strict";var n=r(4644),o=r(9617).indexOf,i=n.aTypedArray;(0,n.exportTypedArrayMethod)("indexOf",(function(t){return o(i(this),t,arguments.length>1?arguments[1]:void 0)}))},2887:function(t,e,r){"use strict";var n=r(4576),o=r(9039),i=r(9504),a=r(4644),s=r(3792),u=r(8227)("iterator"),c=n.Uint8Array,f=i(s.values),l=i(s.keys),p=i(s.entries),h=a.aTypedArray,d=a.exportTypedArrayMethod,v=c&&c.prototype,y=!o((function(){v[u].call([1])})),g=!!v&&v.values&&v[u]===v.values&&"values"===v.values.name,b=function(){return f(h(this))};d("entries",(function(){return p(h(this))}),y),d("keys",(function(){return l(h(this))}),y),d("values",b,y||!g,{name:"values"}),d(u,b,y||!g,{name:"values"})},9369:function(t,e,r){"use strict";var n=r(4644),o=r(9504),i=n.aTypedArray,a=n.exportTypedArrayMethod,s=o([].join);a("join",(function(t){return s(i(this),t)}))},6812:function(t,e,r){"use strict";var n=r(4644),o=r(8745),i=r(8379),a=n.aTypedArray;(0,n.exportTypedArrayMethod)("lastIndexOf",(function(t){var e=arguments.length;return o(i,a(this),e>1?[t,arguments[1]]:[t])}))},8995:function(t,e,r){"use strict";var n=r(4644),o=r(9213).map,i=r(1412),a=n.aTypedArray;(0,n.exportTypedArrayMethod)("map",(function(t){return o(a(this),t,arguments.length>1?arguments[1]:void 0,(function(t,e){return new(i(t))(e)}))}))},6072:function(t,e,r){"use strict";var n=r(4644),o=r(926).right,i=n.aTypedArray;(0,n.exportTypedArrayMethod)("reduceRight",(function(t){var e=arguments.length;return o(i(this),t,e,e>1?arguments[1]:void 0)}))},1575:function(t,e,r){"use strict";var n=r(4644),o=r(926).left,i=n.aTypedArray;(0,n.exportTypedArrayMethod)("reduce",(function(t){var e=arguments.length;return o(i(this),t,e,e>1?arguments[1]:void 0)}))},8747:function(t,e,r){"use strict";var n=r(4644),o=n.aTypedArray,i=n.exportTypedArrayMethod,a=Math.floor;i("reverse",(function(){for(var t,e=this,r=o(e).length,n=a(r/2),i=0;i1?arguments[1]:void 0,1),r=u(t);if(y)return o(h,this,r,e);var n=this.length,i=a(r),c=0;if(i+e>n)throw new f("Wrong length");for(;ci;)c[i]=r[i++];return c}),i((function(){new Int8Array(1).slice()})))},7301:function(t,e,r){"use strict";var n=r(4644),o=r(9213).some,i=n.aTypedArray;(0,n.exportTypedArrayMethod)("some",(function(t){return o(i(this),t,arguments.length>1?arguments[1]:void 0)}))},373:function(t,e,r){"use strict";var n=r(4576),o=r(7476),i=r(9039),a=r(9306),s=r(4488),u=r(4644),c=r(3709),f=r(3763),l=r(9519),p=r(3607),h=u.aTypedArray,d=u.exportTypedArrayMethod,v=n.Uint16Array,y=v&&o(v.prototype.sort),g=!(!y||i((function(){y(new v(2),null)}))&&i((function(){y(new v(2),{})}))),b=!!y&&!i((function(){if(l)return l<74;if(c)return c<67;if(f)return!0;if(p)return p<602;var t,e,r=new v(516),n=Array(516);for(t=0;t<516;t++)e=t%4,r[t]=515-t,n[t]=t-2*e+3;for(y(r,(function(t,e){return(t/4|0)-(e/4|0)})),t=0;t<516;t++)if(r[t]!==n[t])return!0}));d("sort",(function(t){return void 0!==t&&a(t),b?y(this,t):s(h(this),function(t){return function(e,r){return void 0!==t?+t(e,r)||0:r!=r?-1:e!=e?1:0===e&&0===r?1/e>0&&1/r<0?1:-1:e>r}}(t))}),!b||g)},6614:function(t,e,r){"use strict";var n=r(4644),o=r(8014),i=r(5610),a=r(1412),s=n.aTypedArray;(0,n.exportTypedArrayMethod)("subarray",(function(t,e){var r=s(this),n=r.length,u=i(t,n);return new(a(r))(r.buffer,r.byteOffset+u*r.BYTES_PER_ELEMENT,o((void 0===e?n:i(e,n))-u))}))},1405:function(t,e,r){"use strict";var n=r(4576),o=r(8745),i=r(4644),a=r(9039),s=r(7680),u=n.Int8Array,c=i.aTypedArray,f=i.exportTypedArrayMethod,l=[].toLocaleString,p=!!u&&a((function(){l.call(new u(1))}));f("toLocaleString",(function(){return o(l,p?s(c(this)):c(this),s(arguments))}),a((function(){return[1,2].toLocaleString()!==new u([1,2]).toLocaleString()}))||!a((function(){u.prototype.toLocaleString.call([1,2])})))},3684:function(t,e,r){"use strict";var n=r(4644).exportTypedArrayMethod,o=r(9039),i=r(4576),a=r(9504),s=i.Uint8Array,u=s&&s.prototype||{},c=[].toString,f=a([].join);o((function(){c.call({})}))&&(c=function(){return f(this)});var l=u.toString!==c;n("toString",c,l)},1489:function(t,e,r){"use strict";r(5823)("Uint8",(function(t){return function(e,r,n){return t(this,e,r,n)}}))},2480:function(t,e,r){"use strict";r(5081)},3500:function(t,e,r){"use strict";var n=r(4576),o=r(7400),i=r(9296),a=r(235),s=r(6699),u=function(t){if(t&&t.forEach!==a)try{s(t,"forEach",a)}catch(e){t.forEach=a}};for(var c in o)o[c]&&u(n[c]&&n[c].prototype);u(i)},2953:function(t,e,r){"use strict";var n=r(4576),o=r(7400),i=r(9296),a=r(3792),s=r(6699),u=r(687),c=r(8227)("iterator"),f=a.values,l=function(t,e){if(t){if(t[c]!==f)try{s(t,c,f)}catch(e){t[c]=f}if(u(t,e,!0),o[e])for(var r in a)if(t[r]!==a[r])try{s(t,r,a[r])}catch(e){t[r]=a[r]}}};for(var p in o)l(n[p]&&n[p].prototype,p);l(i,"DOMTokenList")},8406:function(t,e,r){"use strict";r(3792),r(7337);var n=r(6518),o=r(4576),i=r(3389),a=r(7751),s=r(9565),u=r(9504),c=r(3724),f=r(7416),l=r(6840),p=r(2106),h=r(6279),d=r(687),v=r(3994),y=r(1181),g=r(679),b=r(4901),m=r(9297),w=r(6080),x=r(6955),S=r(8551),A=r(34),k=r(655),O=r(2360),E=r(6980),P=r(81),C=r(851),R=r(2529),_=r(2812),T=r(8227),j=r(4488),U=T("iterator"),I="URLSearchParams",F=I+"Iterator",M=y.set,L=y.getterFor(I),B=y.getterFor(F),N=i("fetch"),D=i("Request"),K=i("Headers"),q=D&&D.prototype,H=K&&K.prototype,z=o.TypeError,G=o.encodeURIComponent,J=String.fromCharCode,V=a("String","fromCodePoint"),W=parseInt,Y=u("".charAt),$=u([].join),Z=u([].push),Q=u("".replace),X=u([].shift),tt=u([].splice),et=u("".split),rt=u("".slice),nt=u(/./.exec),ot=/\+/g,it=/^[0-9a-f]+$/i,at=function(t,e){var r=rt(t,e,e+2);return nt(it,r)?W(r,16):NaN},st=function(t){for(var e=0,r=128;r>0&&t&r;r>>=1)e++;return e},ut=function(t){var e=null;switch(t.length){case 1:e=t[0];break;case 2:e=(31&t[0])<<6|63&t[1];break;case 3:e=(15&t[0])<<12|(63&t[1])<<6|63&t[2];break;case 4:e=(7&t[0])<<18|(63&t[1])<<12|(63&t[2])<<6|63&t[3]}return e>1114111?null:e},ct=function(t){for(var e=(t=Q(t,ot," ")).length,r="",n=0;ne){r+="%",n++;continue}var i=at(t,n+1);if(i!=i){r+=o,n++;continue}n+=2;var a=st(i);if(0===a)o=J(i);else{if(1===a||a>4){r+="�",n++;continue}for(var s=[i],u=1;ue||"%"!==Y(t,n));){var c=at(t,n+1);if(c!=c){n+=3;break}if(c>191||c<128)break;Z(s,c),n+=2,u++}if(s.length!==a){r+="�";continue}var f=ut(s);null===f?r+="�":o=V(f)}}r+=o,n++}return r},ft=/[!'()~]|%20/g,lt={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},pt=function(t){return lt[t]},ht=function(t){return Q(G(t),ft,pt)},dt=v((function(t,e){M(this,{type:F,target:L(t).entries,index:0,kind:e})}),I,(function(){var t=B(this),e=t.target,r=t.index++;if(!e||r>=e.length)return t.target=null,R(void 0,!0);var n=e[r];switch(t.kind){case"keys":return R(n.key,!1);case"values":return R(n.value,!1)}return R([n.key,n.value],!1)}),!0),vt=function(t){this.entries=[],this.url=null,void 0!==t&&(A(t)?this.parseObject(t):this.parseQuery("string"==typeof t?"?"===Y(t,0)?rt(t,1):t:k(t)))};vt.prototype={type:I,bindURL:function(t){this.url=t,this.update()},parseObject:function(t){var e,r,n,o,i,a,u,c=this.entries,f=C(t);if(f)for(r=(e=P(t,f)).next;!(n=s(r,e)).done;){if(i=(o=P(S(n.value))).next,(a=s(i,o)).done||(u=s(i,o)).done||!s(i,o).done)throw new z("Expected sequence with length 2");Z(c,{key:k(a.value),value:k(u.value)})}else for(var l in t)m(t,l)&&Z(c,{key:l,value:k(t[l])})},parseQuery:function(t){if(t)for(var e,r,n=this.entries,o=et(t,"&"),i=0;i0?arguments[0]:void 0));c||(this.size=t.entries.length)},gt=yt.prototype;if(h(gt,{append:function(t,e){var r=L(this);_(arguments.length,2),Z(r.entries,{key:k(t),value:k(e)}),c||this.length++,r.updateURL()},delete:function(t){for(var e=L(this),r=_(arguments.length,1),n=e.entries,o=k(t),i=r<2?void 0:arguments[1],a=void 0===i?i:k(i),s=0;se.key?1:-1})),t.updateURL()},forEach:function(t){for(var e,r=L(this).entries,n=w(t,arguments.length>1?arguments[1]:void 0),o=0;o1?wt(arguments[1]):{})}}),b(D)){var xt=function(t){return g(this,q),new D(t,arguments.length>1?wt(arguments[1]):{})};q.constructor=xt,xt.prototype=q,n({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:xt})}}t.exports={URLSearchParams:yt,getState:L}},8408:function(t,e,r){"use strict";r(8406)},5806:function(t,e,r){"use strict";r(7764);var n,o=r(6518),i=r(3724),a=r(7416),s=r(4576),u=r(6080),c=r(9504),f=r(6840),l=r(2106),p=r(679),h=r(9297),d=r(4213),v=r(7916),y=r(7680),g=r(8183).codeAt,b=r(6098),m=r(655),w=r(687),x=r(2812),S=r(8406),A=r(1181),k=A.set,O=A.getterFor("URL"),E=S.URLSearchParams,P=S.getState,C=s.URL,R=s.TypeError,_=s.parseInt,T=Math.floor,j=Math.pow,U=c("".charAt),I=c(/./.exec),F=c([].join),M=c(1..toString),L=c([].pop),B=c([].push),N=c("".replace),D=c([].shift),K=c("".split),q=c("".slice),H=c("".toLowerCase),z=c([].unshift),G="Invalid scheme",J="Invalid host",V="Invalid port",W=/[a-z]/i,Y=/[\d+-.a-z]/i,$=/\d/,Z=/^0x/i,Q=/^[0-7]+$/,X=/^\d+$/,tt=/^[\da-f]+$/i,et=/[\0\t\n\r #%/:<>?@[\\\]^|]/,rt=/[\0\t\n\r #/:<>?@[\\\]^|]/,nt=/^[\u0000-\u0020]+/,ot=/(^|[^\u0000-\u0020])[\u0000-\u0020]+$/,it=/[\t\n\r]/g,at=function(t){var e,r,n,o;if("number"==typeof t){for(e=[],r=0;r<4;r++)z(e,t%256),t=T(t/256);return F(e,".")}if("object"==typeof t){for(e="",n=function(t){for(var e=null,r=1,n=null,o=0,i=0;i<8;i++)0!==t[i]?(o>r&&(e=n,r=o),n=null,o=0):(null===n&&(n=i),++o);return o>r?n:e}(t),r=0;r<8;r++)o&&0===t[r]||(o&&(o=!1),n===r?(e+=r?":":"::",o=!0):(e+=M(t[r],16),r<7&&(e+=":")));return"["+e+"]"}return t},st={},ut=d({},st,{" ":1,'"':1,"<":1,">":1,"`":1}),ct=d({},ut,{"#":1,"?":1,"{":1,"}":1}),ft=d({},ct,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),lt=function(t,e){var r=g(t,0);return r>32&&r<127&&!h(e,t)?t:encodeURIComponent(t)},pt={ftp:21,file:null,http:80,https:443,ws:80,wss:443},ht=function(t,e){var r;return 2===t.length&&I(W,U(t,0))&&(":"===(r=U(t,1))||!e&&"|"===r)},dt=function(t){var e;return t.length>1&&ht(q(t,0,2))&&(2===t.length||"/"===(e=U(t,2))||"\\"===e||"?"===e||"#"===e)},vt=function(t){return"."===t||"%2e"===H(t)},yt={},gt={},bt={},mt={},wt={},xt={},St={},At={},kt={},Ot={},Et={},Pt={},Ct={},Rt={},_t={},Tt={},jt={},Ut={},It={},Ft={},Mt={},Lt=function(t,e,r){var n,o,i,a=m(t);if(e){if(o=this.parse(a))throw new R(o);this.searchParams=null}else{if(void 0!==r&&(n=new Lt(r,!0)),o=this.parse(a,null,n))throw new R(o);(i=P(new E)).bindURL(this),this.searchParams=i}};Lt.prototype={type:"URL",parse:function(t,e,r){var o,i,a,s,u,c=this,f=e||yt,l=0,p="",d=!1,g=!1,b=!1;for(t=m(t),e||(c.scheme="",c.username="",c.password="",c.host=null,c.port=null,c.path=[],c.query=null,c.fragment=null,c.cannotBeABaseURL=!1,t=N(t,nt,""),t=N(t,ot,"$1")),t=N(t,it,""),o=v(t);l<=o.length;){switch(i=o[l],f){case yt:if(!i||!I(W,i)){if(e)return G;f=bt;continue}p+=H(i),f=gt;break;case gt:if(i&&(I(Y,i)||"+"===i||"-"===i||"."===i))p+=H(i);else{if(":"!==i){if(e)return G;p="",f=bt,l=0;continue}if(e&&(c.isSpecial()!==h(pt,p)||"file"===p&&(c.includesCredentials()||null!==c.port)||"file"===c.scheme&&!c.host))return;if(c.scheme=p,e)return void(c.isSpecial()&&pt[c.scheme]===c.port&&(c.port=null));p="","file"===c.scheme?f=Rt:c.isSpecial()&&r&&r.scheme===c.scheme?f=mt:c.isSpecial()?f=At:"/"===o[l+1]?(f=wt,l++):(c.cannotBeABaseURL=!0,B(c.path,""),f=It)}break;case bt:if(!r||r.cannotBeABaseURL&&"#"!==i)return G;if(r.cannotBeABaseURL&&"#"===i){c.scheme=r.scheme,c.path=y(r.path),c.query=r.query,c.fragment="",c.cannotBeABaseURL=!0,f=Mt;break}f="file"===r.scheme?Rt:xt;continue;case mt:if("/"!==i||"/"!==o[l+1]){f=xt;continue}f=kt,l++;break;case wt:if("/"===i){f=Ot;break}f=Ut;continue;case xt:if(c.scheme=r.scheme,i===n)c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,c.path=y(r.path),c.query=r.query;else if("/"===i||"\\"===i&&c.isSpecial())f=St;else if("?"===i)c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,c.path=y(r.path),c.query="",f=Ft;else{if("#"!==i){c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,c.path=y(r.path),c.path.length--,f=Ut;continue}c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,c.path=y(r.path),c.query=r.query,c.fragment="",f=Mt}break;case St:if(!c.isSpecial()||"/"!==i&&"\\"!==i){if("/"!==i){c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,f=Ut;continue}f=Ot}else f=kt;break;case At:if(f=kt,"/"!==i||"/"!==U(p,l+1))continue;l++;break;case kt:if("/"!==i&&"\\"!==i){f=Ot;continue}break;case Ot:if("@"===i){d&&(p="%40"+p),d=!0,a=v(p);for(var w=0;w65535)return V;c.port=c.isSpecial()&&A===pt[c.scheme]?null:A,p=""}if(e)return;f=jt;continue}return V}p+=i;break;case Rt:if(c.scheme="file","/"===i||"\\"===i)f=_t;else{if(!r||"file"!==r.scheme){f=Ut;continue}switch(i){case n:c.host=r.host,c.path=y(r.path),c.query=r.query;break;case"?":c.host=r.host,c.path=y(r.path),c.query="",f=Ft;break;case"#":c.host=r.host,c.path=y(r.path),c.query=r.query,c.fragment="",f=Mt;break;default:dt(F(y(o,l),""))||(c.host=r.host,c.path=y(r.path),c.shortenPath()),f=Ut;continue}}break;case _t:if("/"===i||"\\"===i){f=Tt;break}r&&"file"===r.scheme&&!dt(F(y(o,l),""))&&(ht(r.path[0],!0)?B(c.path,r.path[0]):c.host=r.host),f=Ut;continue;case Tt:if(i===n||"/"===i||"\\"===i||"?"===i||"#"===i){if(!e&&ht(p))f=Ut;else if(""===p){if(c.host="",e)return;f=jt}else{if(s=c.parseHost(p))return s;if("localhost"===c.host&&(c.host=""),e)return;p="",f=jt}continue}p+=i;break;case jt:if(c.isSpecial()){if(f=Ut,"/"!==i&&"\\"!==i)continue}else if(e||"?"!==i)if(e||"#"!==i){if(i!==n&&(f=Ut,"/"!==i))continue}else c.fragment="",f=Mt;else c.query="",f=Ft;break;case Ut:if(i===n||"/"===i||"\\"===i&&c.isSpecial()||!e&&("?"===i||"#"===i)){if(".."===(u=H(u=p))||"%2e."===u||".%2e"===u||"%2e%2e"===u?(c.shortenPath(),"/"===i||"\\"===i&&c.isSpecial()||B(c.path,"")):vt(p)?"/"===i||"\\"===i&&c.isSpecial()||B(c.path,""):("file"===c.scheme&&!c.path.length&&ht(p)&&(c.host&&(c.host=""),p=U(p,0)+":"),B(c.path,p)),p="","file"===c.scheme&&(i===n||"?"===i||"#"===i))for(;c.path.length>1&&""===c.path[0];)D(c.path);"?"===i?(c.query="",f=Ft):"#"===i&&(c.fragment="",f=Mt)}else p+=lt(i,ct);break;case It:"?"===i?(c.query="",f=Ft):"#"===i?(c.fragment="",f=Mt):i!==n&&(c.path[0]+=lt(i,st));break;case Ft:e||"#"!==i?i!==n&&("'"===i&&c.isSpecial()?c.query+="%27":c.query+="#"===i?"%23":lt(i,st)):(c.fragment="",f=Mt);break;case Mt:i!==n&&(c.fragment+=lt(i,ut))}l++}},parseHost:function(t){var e,r,n;if("["===U(t,0)){if("]"!==U(t,t.length-1))return J;if(e=function(t){var e,r,n,o,i,a,s,u=[0,0,0,0,0,0,0,0],c=0,f=null,l=0,p=function(){return U(t,l)};if(":"===p()){if(":"!==U(t,1))return;l+=2,f=++c}for(;p();){if(8===c)return;if(":"!==p()){for(e=r=0;r<4&&I(tt,p());)e=16*e+_(p(),16),l++,r++;if("."===p()){if(0===r)return;if(l-=r,c>6)return;for(n=0;p();){if(o=null,n>0){if(!("."===p()&&n<4))return;l++}if(!I($,p()))return;for(;I($,p());){if(i=_(p(),10),null===o)o=i;else{if(0===o)return;o=10*o+i}if(o>255)return;l++}u[c]=256*u[c]+o,2!=++n&&4!==n||c++}if(4!==n)return;break}if(":"===p()){if(l++,!p())return}else if(p())return;u[c++]=e}else{if(null!==f)return;l++,f=++c}}if(null!==f)for(a=c-f,c=7;0!==c&&a>0;)s=u[c],u[c--]=u[f+a-1],u[f+--a]=s;else if(8!==c)return;return u}(q(t,1,-1)),!e)return J;this.host=e}else if(this.isSpecial()){if(t=b(t),I(et,t))return J;if(e=function(t){var e,r,n,o,i,a,s,u=K(t,".");if(u.length&&""===u[u.length-1]&&u.length--,(e=u.length)>4)return t;for(r=[],n=0;n1&&"0"===U(o,0)&&(i=I(Z,o)?16:8,o=q(o,8===i?1:2)),""===o)a=0;else{if(!I(10===i?X:8===i?Q:tt,o))return t;a=_(o,i)}B(r,a)}for(n=0;n=j(256,5-e))return null}else if(a>255)return null;for(s=L(r),n=0;n1?arguments[1]:void 0,n=k(e,new Lt(t,!1,r));i||(e.href=n.serialize(),e.origin=n.getOrigin(),e.protocol=n.getProtocol(),e.username=n.getUsername(),e.password=n.getPassword(),e.host=n.getHost(),e.hostname=n.getHostname(),e.port=n.getPort(),e.pathname=n.getPathname(),e.search=n.getSearch(),e.searchParams=n.getSearchParams(),e.hash=n.getHash())},Nt=Bt.prototype,Dt=function(t,e){return{get:function(){return O(this)[t]()},set:e&&function(t){return O(this)[e](t)},configurable:!0,enumerable:!0}};if(i&&(l(Nt,"href",Dt("serialize","setHref")),l(Nt,"origin",Dt("getOrigin")),l(Nt,"protocol",Dt("getProtocol","setProtocol")),l(Nt,"username",Dt("getUsername","setUsername")),l(Nt,"password",Dt("getPassword","setPassword")),l(Nt,"host",Dt("getHost","setHost")),l(Nt,"hostname",Dt("getHostname","setHostname")),l(Nt,"port",Dt("getPort","setPort")),l(Nt,"pathname",Dt("getPathname","setPathname")),l(Nt,"search",Dt("getSearch","setSearch")),l(Nt,"searchParams",Dt("getSearchParams")),l(Nt,"hash",Dt("getHash","setHash"))),f(Nt,"toJSON",(function(){return O(this).serialize()}),{enumerable:!0}),f(Nt,"toString",(function(){return O(this).serialize()}),{enumerable:!0}),C){var Kt=C.createObjectURL,qt=C.revokeObjectURL;Kt&&f(Bt,"createObjectURL",u(Kt,C)),qt&&f(Bt,"revokeObjectURL",u(qt,C))}w(Bt,"URL"),o({global:!0,constructor:!0,forced:!a,sham:!i},{URL:Bt})},3296:function(t,e,r){"use strict";r(5806)},7208:function(t,e,r){"use strict";var n=r(6518),o=r(9565);n({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return o(URL.prototype.toString,this)}})},7525:function(t,e,r){"use strict";r(3358),e.default=window.crypto},3358:function(){"use strict";var t,e;t="undefined"!=typeof self?self:void 0,e=function(t){if("function"!=typeof Promise)throw"Promise support required";var e=t.crypto||t.msCrypto;if(e){var r=e.subtle||e.webkitSubtle;if(r){var n=t.Crypto||e.constructor||Object,o=t.SubtleCrypto||r.constructor||Object,i=(t.CryptoKey||t.Key,t.navigator.userAgent.indexOf("Edge/")>-1),a=!!t.msCrypto&&!i,s=!e.subtle&&!!e.webkitSubtle;if(a||s){var u={KoZIhvcNAQEB:"1.2.840.113549.1.1.1"},c={"1.2.840.113549.1.1.1":"KoZIhvcNAQEB"};if(["generateKey","importKey","unwrapKey"].forEach((function(t){var n=r[t];r[t]=function(o,i,u){var c,f,m,A,k,O=[].slice.call(arguments);switch(t){case"generateKey":c=v(o),f=i,m=u;break;case"importKey":c=v(u),f=O[3],m=O[4],"jwk"===o&&((i=g(i)).alg||(i.alg=y(c)),i.key_ops||(i.key_ops="oct"!==i.kty?"d"in i?m.filter(S):m.filter(x):m.slice()),O[1]=(A=g(i),a&&(A.extractable=A.ext,delete A.ext),h(unescape(encodeURIComponent(JSON.stringify(A)))).buffer));break;case"unwrapKey":c=O[4],f=O[5],m=O[6],O[2]=u._key}if("generateKey"===t&&"HMAC"===c.name&&c.hash)return c.length=c.length||{"SHA-1":512,"SHA-256":512,"SHA-384":1024,"SHA-512":1024}[c.hash.name],r.importKey("raw",e.getRandomValues(new Uint8Array(c.length+7>>3)),c,f,m);if(s&&"generateKey"===t&&"RSASSA-PKCS1-v1_5"===c.name&&(!c.modulusLength||c.modulusLength>=2048))return(o=v(o)).name="RSAES-PKCS1-v1_5",delete o.hash,r.generateKey(o,!0,["encrypt","decrypt"]).then((function(t){return Promise.all([r.exportKey("jwk",t.publicKey),r.exportKey("jwk",t.privateKey)])})).then((function(t){return t[0].alg=t[1].alg=y(c),t[0].key_ops=m.filter(x),t[1].key_ops=m.filter(S),Promise.all([r.importKey("jwk",t[0],c,!0,t[0].key_ops),r.importKey("jwk",t[1],c,f,t[1].key_ops)])})).then((function(t){return{publicKey:t[0],privateKey:t[1]}}));if((s||a&&"SHA-1"===(c.hash||{}).name)&&"importKey"===t&&"jwk"===o&&"HMAC"===c.name&&"oct"===i.kty)return r.importKey("raw",h(p(i.k)),u,O[3],O[4]);if(s&&"importKey"===t&&("spki"===o||"pkcs8"===o))return r.importKey("jwk",function(t){var e=b(t),r=!1;e.length>2&&(r=!0,e.shift());var n={ext:!0};if("1.2.840.113549.1.1.1"!==e[0][0])throw new TypeError("Unsupported key type");var o=["n","e","d","p","q","dp","dq","qi"],i=b(e[1]);r&&i.shift();for(var a=0;a2&&(n=!0,i.unshift(new Uint8Array([0]))),r[0][0]="1.2.840.113549.1.1.1",e=i,r.push(new Uint8Array(m(e)).buffer),n?r.unshift(new Uint8Array([0])):r[1]={tag:3,value:r[1]},new Uint8Array(m(r)).buffer}(g(t)),t}))),u}})),["encrypt","decrypt","sign","verify"].forEach((function(t){var e=r[t];r[t]=function(n,o,i,s){if(a&&(!i.byteLength||s&&!s.byteLength))throw new Error("Empy input is not allowed");var u,c=[].slice.call(arguments),f=v(n);if(a&&"decrypt"===t&&"AES-GCM"===f.name){var l=n.tagLength>>3;c[2]=(i.buffer||i).slice(0,i.byteLength-l),n.tag=(i.buffer||i).slice(i.byteLength-l)}c[1]=o._key;try{u=e.apply(r,c)}catch(t){return Promise.reject(t)}return a&&(u=new Promise((function(e,r){u.onabort=u.onerror=function(t){r(t)},u.oncomplete=function(r){if(r=r.target.result,"encrypt"===t&&r instanceof AesGcmEncryptResult){var n=r.ciphertext,o=r.tag;(r=new Uint8Array(n.byteLength+o.byteLength)).set(new Uint8Array(n),0),r.set(new Uint8Array(o),n.byteLength),r=r.buffer}e(r)}}))),u}})),a){var f=r.digest;r.digest=function(t,e){if(!e.byteLength)throw new Error("Empy input is not allowed");var n;try{n=f.call(r,t,e)}catch(t){return Promise.reject(t)}return n=new Promise((function(t,e){n.onabort=n.onerror=function(t){e(t)},n.oncomplete=function(e){t(e.target.result)}}))},t.crypto=Object.create(e,{getRandomValues:{value:function(t){return e.getRandomValues(t)}},subtle:{value:r}}),t.CryptoKey=w}s&&(e.subtle=r,t.Crypto=n,t.SubtleCrypto=o,t.CryptoKey=w)}}}function l(t){return btoa(t).replace(/\=+$/,"").replace(/\+/g,"-").replace(/\//g,"_")}function p(t){return t=(t+="===").slice(0,-t.length%4),atob(t.replace(/-/g,"+").replace(/_/g,"/"))}function h(t){for(var e=new Uint8Array(t.length),r=0;rt.length)throw new RangeError("Malformed DER");var r,n=t[e.pos++],o=t[e.pos++];if(o>=128){if(o&=127,e.end-e.pos=128){var s=n;for(n=4,e.splice(o,0,s>>24&255,s>>16&255,s>>8&255,255&s);n>1&&!(s>>24);)s<<=8,n--;n<4&&e.splice(o,4-n),n|=128}return e.splice(o-2,2,r,n),e}function w(t,e,r,n){Object.defineProperties(this,{_key:{value:t},type:{value:t.type,enumerable:!0},extractable:{value:void 0===r?t.extractable:r,enumerable:!0},algorithm:{value:void 0===e?t.algorithm:e,enumerable:!0},usages:{value:void 0===n?t.usages:n,enumerable:!0}})}function x(t){return"verify"===t||"encrypt"===t||"wrapKey"===t}function S(t){return"sign"===t||"decrypt"===t||"unwrapKey"===t}},"function"==typeof define&&define.amd?define([],(function(){return e(t)})):"object"==typeof module&&module.exports?module.exports=e(t):e(t)}},e={};function r(n){var o=e[n];if(void 0!==o)return o.exports;var i=e[n]={exports:{}};return t[n].call(i.exports,i,i.exports,r),i.exports}r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}();var n=r(8932);window.FHIR=n}(); //# sourceMappingURL=fhir-client.min.js.map \ No newline at end of file diff --git a/dist/build/fhir-client.min.js.map b/dist/build/fhir-client.min.js.map index b56ad204..39fb6a35 100644 --- a/dist/build/fhir-client.min.js.map +++ b/dist/build/fhir-client.min.js.map @@ -1 +1 @@ -{"version":3,"file":"fhir-client.min.js","mappings":"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","sources":["webpack://FHIR/./node_modules/abortcontroller-polyfill/dist/abortcontroller-polyfill-only.js","webpack://FHIR/./node_modules/debug/src/browser.js","webpack://FHIR/./node_modules/debug/src/common.js","webpack://FHIR/./src/Client.ts","webpack://FHIR/./src/HttpError.ts","webpack://FHIR/./src/adapters/BrowserAdapter.ts","webpack://FHIR/./src/entry/browser.ts","webpack://FHIR/./src/lib.ts","webpack://FHIR/./src/security/browser.ts","webpack://FHIR/./src/settings.ts","webpack://FHIR/./src/smart.ts","webpack://FHIR/./src/storage/BrowserStorage.ts","webpack://FHIR/./src/strings.ts","webpack://FHIR/./node_modules/cross-fetch/dist/browser-ponyfill.js","webpack://FHIR/./node_modules/js-base64/base64.js","webpack://FHIR/./node_modules/ms/index.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/asyncToGenerator.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/classCallCheck.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/construct.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/createClass.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/defineProperty.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/getPrototypeOf.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/inherits.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/isNativeFunction.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/objectWithoutProperties.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/toPrimitive.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/toPropertyKey.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/typeof.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/wrapNativeSuper.js","webpack://FHIR/./node_modules/@babel/runtime/regenerator/index.js","webpack://FHIR/./node_modules/core-js/internals/a-callable.js","webpack://FHIR/./node_modules/core-js/internals/a-constructor.js","webpack://FHIR/./node_modules/core-js/internals/a-possible-prototype.js","webpack://FHIR/./node_modules/core-js/internals/add-to-unscopables.js","webpack://FHIR/./node_modules/core-js/internals/advance-string-index.js","webpack://FHIR/./node_modules/core-js/internals/an-instance.js","webpack://FHIR/./node_modules/core-js/internals/an-object.js","webpack://FHIR/./node_modules/core-js/internals/array-buffer-basic-detection.js","webpack://FHIR/./node_modules/core-js/internals/array-buffer-view-core.js","webpack://FHIR/./node_modules/core-js/internals/array-buffer.js","webpack://FHIR/./node_modules/core-js/internals/array-copy-within.js","webpack://FHIR/./node_modules/core-js/internals/array-fill.js","webpack://FHIR/./node_modules/core-js/internals/array-for-each.js","webpack://FHIR/./node_modules/core-js/internals/array-from-constructor-and-list.js","webpack://FHIR/./node_modules/core-js/internals/array-from.js","webpack://FHIR/./node_modules/core-js/internals/array-includes.js","webpack://FHIR/./node_modules/core-js/internals/array-iteration.js","webpack://FHIR/./node_modules/core-js/internals/array-last-index-of.js","webpack://FHIR/./node_modules/core-js/internals/array-method-has-species-support.js","webpack://FHIR/./node_modules/core-js/internals/array-method-is-strict.js","webpack://FHIR/./node_modules/core-js/internals/array-reduce.js","webpack://FHIR/./node_modules/core-js/internals/array-set-length.js","webpack://FHIR/./node_modules/core-js/internals/array-slice.js","webpack://FHIR/./node_modules/core-js/internals/array-sort.js","webpack://FHIR/./node_modules/core-js/internals/array-species-constructor.js","webpack://FHIR/./node_modules/core-js/internals/array-species-create.js","webpack://FHIR/./node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack://FHIR/./node_modules/core-js/internals/check-correctness-of-iteration.js","webpack://FHIR/./node_modules/core-js/internals/classof-raw.js","webpack://FHIR/./node_modules/core-js/internals/classof.js","webpack://FHIR/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://FHIR/./node_modules/core-js/internals/correct-is-regexp-logic.js","webpack://FHIR/./node_modules/core-js/internals/correct-prototype-getter.js","webpack://FHIR/./node_modules/core-js/internals/create-html.js","webpack://FHIR/./node_modules/core-js/internals/create-iter-result-object.js","webpack://FHIR/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://FHIR/./node_modules/core-js/internals/create-property-descriptor.js","webpack://FHIR/./node_modules/core-js/internals/create-property.js","webpack://FHIR/./node_modules/core-js/internals/define-built-in-accessor.js","webpack://FHIR/./node_modules/core-js/internals/define-built-in.js","webpack://FHIR/./node_modules/core-js/internals/define-built-ins.js","webpack://FHIR/./node_modules/core-js/internals/define-global-property.js","webpack://FHIR/./node_modules/core-js/internals/delete-property-or-throw.js","webpack://FHIR/./node_modules/core-js/internals/descriptors.js","webpack://FHIR/./node_modules/core-js/internals/document-create-element.js","webpack://FHIR/./node_modules/core-js/internals/does-not-exceed-safe-integer.js","webpack://FHIR/./node_modules/core-js/internals/dom-iterables.js","webpack://FHIR/./node_modules/core-js/internals/dom-token-list-prototype.js","webpack://FHIR/./node_modules/core-js/internals/enum-bug-keys.js","webpack://FHIR/./node_modules/core-js/internals/environment-ff-version.js","webpack://FHIR/./node_modules/core-js/internals/environment-is-ie-or-edge.js","webpack://FHIR/./node_modules/core-js/internals/environment-is-ios-pebble.js","webpack://FHIR/./node_modules/core-js/internals/environment-is-ios.js","webpack://FHIR/./node_modules/core-js/internals/environment-is-node.js","webpack://FHIR/./node_modules/core-js/internals/environment-is-webos-webkit.js","webpack://FHIR/./node_modules/core-js/internals/environment-user-agent.js","webpack://FHIR/./node_modules/core-js/internals/environment-v8-version.js","webpack://FHIR/./node_modules/core-js/internals/environment-webkit-version.js","webpack://FHIR/./node_modules/core-js/internals/environment.js","webpack://FHIR/./node_modules/core-js/internals/export.js","webpack://FHIR/./node_modules/core-js/internals/fails.js","webpack://FHIR/./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","webpack://FHIR/./node_modules/core-js/internals/flatten-into-array.js","webpack://FHIR/./node_modules/core-js/internals/function-apply.js","webpack://FHIR/./node_modules/core-js/internals/function-bind-context.js","webpack://FHIR/./node_modules/core-js/internals/function-bind-native.js","webpack://FHIR/./node_modules/core-js/internals/function-bind.js","webpack://FHIR/./node_modules/core-js/internals/function-call.js","webpack://FHIR/./node_modules/core-js/internals/function-name.js","webpack://FHIR/./node_modules/core-js/internals/function-uncurry-this-accessor.js","webpack://FHIR/./node_modules/core-js/internals/function-uncurry-this-clause.js","webpack://FHIR/./node_modules/core-js/internals/function-uncurry-this.js","webpack://FHIR/./node_modules/core-js/internals/get-built-in.js","webpack://FHIR/./node_modules/core-js/internals/get-iterator-method.js","webpack://FHIR/./node_modules/core-js/internals/get-iterator.js","webpack://FHIR/./node_modules/core-js/internals/get-json-replacer-function.js","webpack://FHIR/./node_modules/core-js/internals/get-method.js","webpack://FHIR/./node_modules/core-js/internals/get-substitution.js","webpack://FHIR/./node_modules/core-js/internals/global-this.js","webpack://FHIR/./node_modules/core-js/internals/has-own-property.js","webpack://FHIR/./node_modules/core-js/internals/hidden-keys.js","webpack://FHIR/./node_modules/core-js/internals/host-report-errors.js","webpack://FHIR/./node_modules/core-js/internals/html.js","webpack://FHIR/./node_modules/core-js/internals/ie8-dom-define.js","webpack://FHIR/./node_modules/core-js/internals/ieee754.js","webpack://FHIR/./node_modules/core-js/internals/indexed-object.js","webpack://FHIR/./node_modules/core-js/internals/inherit-if-required.js","webpack://FHIR/./node_modules/core-js/internals/inspect-source.js","webpack://FHIR/./node_modules/core-js/internals/internal-state.js","webpack://FHIR/./node_modules/core-js/internals/is-array-iterator-method.js","webpack://FHIR/./node_modules/core-js/internals/is-array.js","webpack://FHIR/./node_modules/core-js/internals/is-big-int-array.js","webpack://FHIR/./node_modules/core-js/internals/is-callable.js","webpack://FHIR/./node_modules/core-js/internals/is-constructor.js","webpack://FHIR/./node_modules/core-js/internals/is-forced.js","webpack://FHIR/./node_modules/core-js/internals/is-integral-number.js","webpack://FHIR/./node_modules/core-js/internals/is-null-or-undefined.js","webpack://FHIR/./node_modules/core-js/internals/is-object.js","webpack://FHIR/./node_modules/core-js/internals/is-possible-prototype.js","webpack://FHIR/./node_modules/core-js/internals/is-pure.js","webpack://FHIR/./node_modules/core-js/internals/is-regexp.js","webpack://FHIR/./node_modules/core-js/internals/is-symbol.js","webpack://FHIR/./node_modules/core-js/internals/iterate.js","webpack://FHIR/./node_modules/core-js/internals/iterator-close.js","webpack://FHIR/./node_modules/core-js/internals/iterator-create-constructor.js","webpack://FHIR/./node_modules/core-js/internals/iterator-define.js","webpack://FHIR/./node_modules/core-js/internals/iterators-core.js","webpack://FHIR/./node_modules/core-js/internals/iterators.js","webpack://FHIR/./node_modules/core-js/internals/length-of-array-like.js","webpack://FHIR/./node_modules/core-js/internals/make-built-in.js","webpack://FHIR/./node_modules/core-js/internals/math-float-round.js","webpack://FHIR/./node_modules/core-js/internals/math-fround.js","webpack://FHIR/./node_modules/core-js/internals/math-sign.js","webpack://FHIR/./node_modules/core-js/internals/math-trunc.js","webpack://FHIR/./node_modules/core-js/internals/microtask.js","webpack://FHIR/./node_modules/core-js/internals/new-promise-capability.js","webpack://FHIR/./node_modules/core-js/internals/not-a-regexp.js","webpack://FHIR/./node_modules/core-js/internals/object-assign.js","webpack://FHIR/./node_modules/core-js/internals/object-create.js","webpack://FHIR/./node_modules/core-js/internals/object-define-properties.js","webpack://FHIR/./node_modules/core-js/internals/object-define-property.js","webpack://FHIR/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://FHIR/./node_modules/core-js/internals/object-get-own-property-names-external.js","webpack://FHIR/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://FHIR/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://FHIR/./node_modules/core-js/internals/object-get-prototype-of.js","webpack://FHIR/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://FHIR/./node_modules/core-js/internals/object-keys-internal.js","webpack://FHIR/./node_modules/core-js/internals/object-keys.js","webpack://FHIR/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://FHIR/./node_modules/core-js/internals/object-set-prototype-of.js","webpack://FHIR/./node_modules/core-js/internals/object-to-string.js","webpack://FHIR/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://FHIR/./node_modules/core-js/internals/own-keys.js","webpack://FHIR/./node_modules/core-js/internals/path.js","webpack://FHIR/./node_modules/core-js/internals/perform.js","webpack://FHIR/./node_modules/core-js/internals/promise-constructor-detection.js","webpack://FHIR/./node_modules/core-js/internals/promise-native-constructor.js","webpack://FHIR/./node_modules/core-js/internals/promise-resolve.js","webpack://FHIR/./node_modules/core-js/internals/promise-statics-incorrect-iteration.js","webpack://FHIR/./node_modules/core-js/internals/proxy-accessor.js","webpack://FHIR/./node_modules/core-js/internals/queue.js","webpack://FHIR/./node_modules/core-js/internals/regexp-exec-abstract.js","webpack://FHIR/./node_modules/core-js/internals/regexp-exec.js","webpack://FHIR/./node_modules/core-js/internals/regexp-flags.js","webpack://FHIR/./node_modules/core-js/internals/regexp-get-flags.js","webpack://FHIR/./node_modules/core-js/internals/regexp-sticky-helpers.js","webpack://FHIR/./node_modules/core-js/internals/regexp-unsupported-dot-all.js","webpack://FHIR/./node_modules/core-js/internals/regexp-unsupported-ncg.js","webpack://FHIR/./node_modules/core-js/internals/require-object-coercible.js","webpack://FHIR/./node_modules/core-js/internals/safe-get-built-in.js","webpack://FHIR/./node_modules/core-js/internals/same-value.js","webpack://FHIR/./node_modules/core-js/internals/set-species.js","webpack://FHIR/./node_modules/core-js/internals/set-to-string-tag.js","webpack://FHIR/./node_modules/core-js/internals/shared-key.js","webpack://FHIR/./node_modules/core-js/internals/shared-store.js","webpack://FHIR/./node_modules/core-js/internals/shared.js","webpack://FHIR/./node_modules/core-js/internals/species-constructor.js","webpack://FHIR/./node_modules/core-js/internals/string-html-forced.js","webpack://FHIR/./node_modules/core-js/internals/string-multibyte.js","webpack://FHIR/./node_modules/core-js/internals/string-punycode-to-ascii.js","webpack://FHIR/./node_modules/core-js/internals/string-trim-forced.js","webpack://FHIR/./node_modules/core-js/internals/string-trim.js","webpack://FHIR/./node_modules/core-js/internals/symbol-constructor-detection.js","webpack://FHIR/./node_modules/core-js/internals/symbol-define-to-primitive.js","webpack://FHIR/./node_modules/core-js/internals/symbol-registry-detection.js","webpack://FHIR/./node_modules/core-js/internals/task.js","webpack://FHIR/./node_modules/core-js/internals/this-number-value.js","webpack://FHIR/./node_modules/core-js/internals/to-absolute-index.js","webpack://FHIR/./node_modules/core-js/internals/to-big-int.js","webpack://FHIR/./node_modules/core-js/internals/to-index.js","webpack://FHIR/./node_modules/core-js/internals/to-indexed-object.js","webpack://FHIR/./node_modules/core-js/internals/to-integer-or-infinity.js","webpack://FHIR/./node_modules/core-js/internals/to-length.js","webpack://FHIR/./node_modules/core-js/internals/to-object.js","webpack://FHIR/./node_modules/core-js/internals/to-offset.js","webpack://FHIR/./node_modules/core-js/internals/to-positive-integer.js","webpack://FHIR/./node_modules/core-js/internals/to-primitive.js","webpack://FHIR/./node_modules/core-js/internals/to-property-key.js","webpack://FHIR/./node_modules/core-js/internals/to-string-tag-support.js","webpack://FHIR/./node_modules/core-js/internals/to-string.js","webpack://FHIR/./node_modules/core-js/internals/to-uint8-clamped.js","webpack://FHIR/./node_modules/core-js/internals/try-to-string.js","webpack://FHIR/./node_modules/core-js/internals/typed-array-constructor.js","webpack://FHIR/./node_modules/core-js/internals/typed-array-constructors-require-wrappers.js","webpack://FHIR/./node_modules/core-js/internals/typed-array-from-species-and-list.js","webpack://FHIR/./node_modules/core-js/internals/typed-array-from.js","webpack://FHIR/./node_modules/core-js/internals/typed-array-species-constructor.js","webpack://FHIR/./node_modules/core-js/internals/uid.js","webpack://FHIR/./node_modules/core-js/internals/url-constructor-detection.js","webpack://FHIR/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://FHIR/./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://FHIR/./node_modules/core-js/internals/validate-arguments-length.js","webpack://FHIR/./node_modules/core-js/internals/weak-map-basic-detection.js","webpack://FHIR/./node_modules/core-js/internals/well-known-symbol-define.js","webpack://FHIR/./node_modules/core-js/internals/well-known-symbol-wrapped.js","webpack://FHIR/./node_modules/core-js/internals/well-known-symbol.js","webpack://FHIR/./node_modules/core-js/internals/whitespaces.js","webpack://FHIR/./node_modules/core-js/modules/es.array-buffer.constructor.js","webpack://FHIR/./node_modules/core-js/modules/es.array.concat.js","webpack://FHIR/./node_modules/core-js/modules/es.array.filter.js","webpack://FHIR/./node_modules/core-js/modules/es.array.find.js","webpack://FHIR/./node_modules/core-js/modules/es.array.flat.js","webpack://FHIR/./node_modules/core-js/modules/es.array.includes.js","webpack://FHIR/./node_modules/core-js/modules/es.array.iterator.js","webpack://FHIR/./node_modules/core-js/modules/es.array.join.js","webpack://FHIR/./node_modules/core-js/modules/es.array.map.js","webpack://FHIR/./node_modules/core-js/modules/es.array.slice.js","webpack://FHIR/./node_modules/core-js/modules/es.array.sort.js","webpack://FHIR/./node_modules/core-js/modules/es.array.splice.js","webpack://FHIR/./node_modules/core-js/modules/es.array.unscopables.flat.js","webpack://FHIR/./node_modules/core-js/modules/es.function.name.js","webpack://FHIR/./node_modules/core-js/modules/es.global-this.js","webpack://FHIR/./node_modules/core-js/modules/es.json.stringify.js","webpack://FHIR/./node_modules/core-js/modules/es.number.constructor.js","webpack://FHIR/./node_modules/core-js/modules/es.object.assign.js","webpack://FHIR/./node_modules/core-js/modules/es.object.get-own-property-descriptor.js","webpack://FHIR/./node_modules/core-js/modules/es.object.get-own-property-descriptors.js","webpack://FHIR/./node_modules/core-js/modules/es.object.get-own-property-symbols.js","webpack://FHIR/./node_modules/core-js/modules/es.object.keys.js","webpack://FHIR/./node_modules/core-js/modules/es.object.to-string.js","webpack://FHIR/./node_modules/core-js/modules/es.promise.all.js","webpack://FHIR/./node_modules/core-js/modules/es.promise.catch.js","webpack://FHIR/./node_modules/core-js/modules/es.promise.constructor.js","webpack://FHIR/./node_modules/core-js/modules/es.promise.finally.js","webpack://FHIR/./node_modules/core-js/modules/es.promise.js","webpack://FHIR/./node_modules/core-js/modules/es.promise.race.js","webpack://FHIR/./node_modules/core-js/modules/es.promise.reject.js","webpack://FHIR/./node_modules/core-js/modules/es.promise.resolve.js","webpack://FHIR/./node_modules/core-js/modules/es.reflect.construct.js","webpack://FHIR/./node_modules/core-js/modules/es.regexp.constructor.js","webpack://FHIR/./node_modules/core-js/modules/es.regexp.exec.js","webpack://FHIR/./node_modules/core-js/modules/es.regexp.to-string.js","webpack://FHIR/./node_modules/core-js/modules/es.string.from-code-point.js","webpack://FHIR/./node_modules/core-js/modules/es.string.includes.js","webpack://FHIR/./node_modules/core-js/modules/es.string.iterator.js","webpack://FHIR/./node_modules/core-js/modules/es.string.link.js","webpack://FHIR/./node_modules/core-js/modules/es.string.match.js","webpack://FHIR/./node_modules/core-js/modules/es.string.replace.js","webpack://FHIR/./node_modules/core-js/modules/es.string.search.js","webpack://FHIR/./node_modules/core-js/modules/es.string.split.js","webpack://FHIR/./node_modules/core-js/modules/es.string.trim.js","webpack://FHIR/./node_modules/core-js/modules/es.symbol.constructor.js","webpack://FHIR/./node_modules/core-js/modules/es.symbol.for.js","webpack://FHIR/./node_modules/core-js/modules/es.symbol.js","webpack://FHIR/./node_modules/core-js/modules/es.symbol.key-for.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.copy-within.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.every.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.fill.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.filter.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.find-index.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.find.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.for-each.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.includes.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.index-of.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.iterator.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.join.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.last-index-of.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.map.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.reduce-right.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.reduce.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.reverse.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.set.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.slice.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.some.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.sort.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.subarray.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.to-locale-string.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.to-string.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.uint8-array.js","webpack://FHIR/./node_modules/core-js/modules/esnext.global-this.js","webpack://FHIR/./node_modules/core-js/modules/web.dom-collections.for-each.js","webpack://FHIR/./node_modules/core-js/modules/web.dom-collections.iterator.js","webpack://FHIR/./node_modules/core-js/modules/web.url-search-params.constructor.js","webpack://FHIR/./node_modules/core-js/modules/web.url-search-params.js","webpack://FHIR/./node_modules/core-js/modules/web.url.constructor.js","webpack://FHIR/./node_modules/core-js/modules/web.url.js","webpack://FHIR/./node_modules/core-js/modules/web.url.to-json.js","webpack://FHIR/./node_modules/isomorphic-webcrypto/src/browser.mjs","webpack://FHIR/./node_modules/isomorphic-webcrypto/src/webcrypto-shim.mjs","webpack://FHIR/webpack/bootstrap","webpack://FHIR/webpack/runtime/global","webpack://FHIR/webpack/startup"],"sourcesContent":["(function (factory) {\n typeof define === 'function' && define.amd ? define(factory) :\n factory();\n})((function () { 'use strict';\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n }\n\n function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n }\n\n function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n }\n\n function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n }\n\n function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n }\n\n function _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return _assertThisInitialized(self);\n }\n\n function _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n }\n\n function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = _getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n }\n\n function _get() {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get.bind();\n } else {\n _get = function _get(target, property, receiver) {\n var base = _superPropBase(target, property);\n\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(arguments.length < 3 ? target : receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get.apply(this, arguments);\n }\n\n var Emitter = /*#__PURE__*/function () {\n function Emitter() {\n _classCallCheck(this, Emitter);\n\n Object.defineProperty(this, 'listeners', {\n value: {},\n writable: true,\n configurable: true\n });\n }\n\n _createClass(Emitter, [{\n key: \"addEventListener\",\n value: function addEventListener(type, callback, options) {\n if (!(type in this.listeners)) {\n this.listeners[type] = [];\n }\n\n this.listeners[type].push({\n callback: callback,\n options: options\n });\n }\n }, {\n key: \"removeEventListener\",\n value: function removeEventListener(type, callback) {\n if (!(type in this.listeners)) {\n return;\n }\n\n var stack = this.listeners[type];\n\n for (var i = 0, l = stack.length; i < l; i++) {\n if (stack[i].callback === callback) {\n stack.splice(i, 1);\n return;\n }\n }\n }\n }, {\n key: \"dispatchEvent\",\n value: function dispatchEvent(event) {\n if (!(event.type in this.listeners)) {\n return;\n }\n\n var stack = this.listeners[event.type];\n var stackToCall = stack.slice();\n\n for (var i = 0, l = stackToCall.length; i < l; i++) {\n var listener = stackToCall[i];\n\n try {\n listener.callback.call(this, event);\n } catch (e) {\n Promise.resolve().then(function () {\n throw e;\n });\n }\n\n if (listener.options && listener.options.once) {\n this.removeEventListener(event.type, listener.callback);\n }\n }\n\n return !event.defaultPrevented;\n }\n }]);\n\n return Emitter;\n }();\n\n var AbortSignal = /*#__PURE__*/function (_Emitter) {\n _inherits(AbortSignal, _Emitter);\n\n var _super = _createSuper(AbortSignal);\n\n function AbortSignal() {\n var _this;\n\n _classCallCheck(this, AbortSignal);\n\n _this = _super.call(this); // Some versions of babel does not transpile super() correctly for IE <= 10, if the parent\n // constructor has failed to run, then \"this.listeners\" will still be undefined and then we call\n // the parent constructor directly instead as a workaround. For general details, see babel bug:\n // https://github.com/babel/babel/issues/3041\n // This hack was added as a fix for the issue described here:\n // https://github.com/Financial-Times/polyfill-library/pull/59#issuecomment-477558042\n\n if (!_this.listeners) {\n Emitter.call(_assertThisInitialized(_this));\n } // Compared to assignment, Object.defineProperty makes properties non-enumerable by default and\n // we want Object.keys(new AbortController().signal) to be [] for compat with the native impl\n\n\n Object.defineProperty(_assertThisInitialized(_this), 'aborted', {\n value: false,\n writable: true,\n configurable: true\n });\n Object.defineProperty(_assertThisInitialized(_this), 'onabort', {\n value: null,\n writable: true,\n configurable: true\n });\n Object.defineProperty(_assertThisInitialized(_this), 'reason', {\n value: undefined,\n writable: true,\n configurable: true\n });\n return _this;\n }\n\n _createClass(AbortSignal, [{\n key: \"toString\",\n value: function toString() {\n return '[object AbortSignal]';\n }\n }, {\n key: \"dispatchEvent\",\n value: function dispatchEvent(event) {\n if (event.type === 'abort') {\n this.aborted = true;\n\n if (typeof this.onabort === 'function') {\n this.onabort.call(this, event);\n }\n }\n\n _get(_getPrototypeOf(AbortSignal.prototype), \"dispatchEvent\", this).call(this, event);\n }\n }]);\n\n return AbortSignal;\n }(Emitter);\n var AbortController = /*#__PURE__*/function () {\n function AbortController() {\n _classCallCheck(this, AbortController);\n\n // Compared to assignment, Object.defineProperty makes properties non-enumerable by default and\n // we want Object.keys(new AbortController()) to be [] for compat with the native impl\n Object.defineProperty(this, 'signal', {\n value: new AbortSignal(),\n writable: true,\n configurable: true\n });\n }\n\n _createClass(AbortController, [{\n key: \"abort\",\n value: function abort(reason) {\n var event;\n\n try {\n event = new Event('abort');\n } catch (e) {\n if (typeof document !== 'undefined') {\n if (!document.createEvent) {\n // For Internet Explorer 8:\n event = document.createEventObject();\n event.type = 'abort';\n } else {\n // For Internet Explorer 11:\n event = document.createEvent('Event');\n event.initEvent('abort', false, false);\n }\n } else {\n // Fallback where document isn't available:\n event = {\n type: 'abort',\n bubbles: false,\n cancelable: false\n };\n }\n }\n\n var signalReason = reason;\n\n if (signalReason === undefined) {\n if (typeof document === 'undefined') {\n signalReason = new Error('This operation was aborted');\n signalReason.name = 'AbortError';\n } else {\n try {\n signalReason = new DOMException('signal is aborted without reason');\n } catch (err) {\n // IE 11 does not support calling the DOMException constructor, use a\n // regular error object on it instead.\n signalReason = new Error('This operation was aborted');\n signalReason.name = 'AbortError';\n }\n }\n }\n\n this.signal.reason = signalReason;\n this.signal.dispatchEvent(event);\n }\n }, {\n key: \"toString\",\n value: function toString() {\n return '[object AbortController]';\n }\n }]);\n\n return AbortController;\n }();\n\n if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n // These are necessary to make sure that we get correct output for:\n // Object.prototype.toString.call(new AbortController())\n AbortController.prototype[Symbol.toStringTag] = 'AbortController';\n AbortSignal.prototype[Symbol.toStringTag] = 'AbortSignal';\n }\n\n function polyfillNeeded(self) {\n if (self.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL) {\n console.log('__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL=true is set, will force install polyfill');\n return true;\n } // Note that the \"unfetch\" minimal fetch polyfill defines fetch() without\n // defining window.Request, and this polyfill need to work on top of unfetch\n // so the below feature detection needs the !self.AbortController part.\n // The Request.prototype check is also needed because Safari versions 11.1.2\n // up to and including 12.1.x has a window.AbortController present but still\n // does NOT correctly implement abortable fetch:\n // https://bugs.webkit.org/show_bug.cgi?id=174980#c2\n\n\n return typeof self.Request === 'function' && !self.Request.prototype.hasOwnProperty('signal') || !self.AbortController;\n }\n\n (function (self) {\n\n if (!polyfillNeeded(self)) {\n return;\n }\n\n self.AbortController = AbortController;\n self.AbortSignal = AbortSignal;\n })(typeof self !== 'undefined' ? self : global);\n\n}));\n","/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\nexports.destroy = (() => {\n\tlet warned = false;\n\n\treturn () => {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t\t}\n\t};\n})();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\tlet m;\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)) && parseInt(m[1], 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.debug()` when available.\n * No-op when `console.debug` is not a \"function\".\n * If `console.debug` is not available, falls back\n * to `console.log`.\n *\n * @api public\n */\nexports.log = console.debug || console.log || (() => {});\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug');\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = require('ms');\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tlet i;\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n\t\tconst len = split.length;\n\n\t\tfor (i = 0; i < len; i++) {\n\t\t\tif (!split[i]) {\n\t\t\t\t// ignore empty strings\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tnamespaces = split[i].replace(/\\*/g, '.*?');\n\n\t\t\tif (namespaces[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(new RegExp('^' + namespaces.slice(1) + '$'));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(new RegExp('^' + namespaces + '$'));\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names.map(toNamespace),\n\t\t\t...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tif (name[name.length - 1] === '*') {\n\t\t\treturn true;\n\t\t}\n\n\t\tlet i;\n\t\tlet len;\n\n\t\tfor (i = 0, len = createDebug.skips.length; i < len; i++) {\n\t\t\tif (createDebug.skips[i].test(name)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (i = 0, len = createDebug.names.length; i < len; i++) {\n\t\t\tif (createDebug.names[i].test(name)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Convert regexp to namespace\n\t*\n\t* @param {RegExp} regxep\n\t* @return {String} namespace\n\t* @api private\n\t*/\n\tfunction toNamespace(regexp) {\n\t\treturn regexp.toString()\n\t\t\t.substring(2, regexp.toString().length - 2)\n\t\t\t.replace(/\\.\\*\\?$/, '*');\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n","import {\n absolute,\n debug as _debug,\n getPath,\n setPath,\n jwtDecode,\n makeArray,\n request,\n byCode,\n byCodes,\n units,\n getPatientParam,\n fetchConformanceStatement,\n getAccessTokenExpiration,\n assertJsonPatch,\n assert\n} from \"./lib\";\n\nimport str from \"./strings\";\nimport { SMART_KEY, patientCompartment, fhirVersions } from \"./settings\";\nimport HttpError from \"./HttpError\";\nimport BrowserAdapter from \"./adapters/BrowserAdapter\";\nimport { fhirclient } from \"./types\";\n\n// $lab:coverage:off$\n// @ts-ignore\nconst { Response } = typeof FHIRCLIENT_PURE !== \"undefined\" ? window : require(\"cross-fetch\");\n// $lab:coverage:on$\n\nconst debug = _debug.extend(\"client\");\n\n/**\n * Adds patient context to requestOptions object to be used with [[Client.request]]\n * @param requestOptions Can be a string URL (relative to the serviceUrl), or an\n * object which will be passed to fetch()\n * @param client Current FHIR client object containing patient context\n * @return requestOptions object contextualized to current patient\n */\nasync function contextualize(\n requestOptions: string | URL | fhirclient.RequestOptions,\n client: Client\n): Promise\n{\n const base = absolute(\"/\", client.state.serverUrl);\n\n async function contextualURL(_url: URL) {\n const resourceType = _url.pathname.split(\"/\").pop();\n assert(resourceType, `Invalid url \"${_url}\"`);\n assert(patientCompartment.indexOf(resourceType) > -1, `Cannot filter \"${resourceType}\" resources by patient`);\n const conformance = await fetchConformanceStatement(client.state.serverUrl);\n const searchParam = getPatientParam(conformance, resourceType);\n _url.searchParams.set(searchParam, client.patient.id as string);\n return _url.href;\n }\n\n if (typeof requestOptions == \"string\" || requestOptions instanceof URL) {\n return { url: await contextualURL(new URL(requestOptions + \"\", base)) };\n }\n\n requestOptions.url = await contextualURL(new URL(requestOptions.url + \"\", base));\n return requestOptions;\n}\n\n/**\n * Gets single reference by id. Caches the result.\n * @param refId\n * @param cache A map to store the resolved refs\n * @param client The client instance\n * @param requestOptions Only signal and headers are currently used if provided\n * @returns The resolved reference\n * @private\n */\nfunction getRef(\n refId: string,\n cache: Record,\n client: Client,\n requestOptions: RequestInit\n): Promise {\n if (!cache[refId]) {\n\n const { signal, headers } = requestOptions;\n\n // Note that we set cache[refId] immediately! When the promise is\n // settled it will be updated. This is to avoid a ref being fetched\n // twice because some of these requests are executed in parallel.\n cache[refId] = client.request({\n url: refId,\n headers,\n signal\n }).then(res => {\n cache[refId] = res;\n return res;\n }, (error: Error) => {\n delete cache[refId];\n throw error;\n });\n }\n\n return Promise.resolve(cache[refId]);\n}\n\n/**\n * Resolves a reference in the given resource.\n * @param obj FHIR Resource\n */\nfunction resolveRef(\n obj: fhirclient.FHIR.Resource,\n path: string,\n graph: boolean,\n cache: fhirclient.JsonObject,\n client: Client,\n requestOptions: fhirclient.RequestOptions\n) {\n const node = getPath(obj, path);\n if (node) {\n const isArray = Array.isArray(node);\n return Promise.all(makeArray(node).filter(Boolean).map((item, i) => {\n const ref = item.reference;\n if (ref) {\n return getRef(ref, cache, client, requestOptions).then(sub => {\n if (graph) {\n if (isArray) {\n if (path.indexOf(\"..\") > -1) {\n setPath(obj, `${path.replace(\"..\", `.${i}.`)}`, sub); \n } else {\n setPath(obj, `${path}.${i}`, sub);\n }\n } else {\n setPath(obj, path, sub);\n }\n }\n }).catch((ex) => {\n /* ignore missing references */\n if (ex.status !== 404) {\n throw ex;\n }\n });\n }\n }));\n }\n}\n\n/**\n * Given a resource and a list of ref paths - resolves them all\n * @param obj FHIR Resource\n * @param fhirOptions The fhir options of the initiating request call\n * @param cache A map to store fetched refs\n * @param client The client instance\n * @private\n */\nfunction resolveRefs(\n obj: fhirclient.FHIR.Resource,\n fhirOptions: fhirclient.FhirOptions,\n cache: fhirclient.JsonObject,\n client: Client,\n requestOptions: fhirclient.RequestOptions\n) {\n\n // 1. Sanitize paths, remove any invalid ones\n let paths = makeArray(fhirOptions.resolveReferences)\n .filter(Boolean) // No false, 0, null, undefined or \"\"\n .map(path => String(path).trim())\n .filter(Boolean); // No space-only strings\n\n // 2. Remove duplicates\n paths = paths.filter((p, i) => {\n const index = paths.indexOf(p, i + 1);\n if (index > -1) {\n debug(\"Duplicated reference path \\\"%s\\\"\", p);\n return false;\n }\n return true;\n });\n\n // 3. Early exit if no valid paths are found\n if (!paths.length) {\n return Promise.resolve();\n }\n\n // 4. Group the paths by depth so that child refs are looked up\n // after their parents!\n const groups: Record = {};\n paths.forEach(path => {\n const len = path.split(\".\").length;\n if (!groups[len]) {\n groups[len] = [];\n }\n groups[len].push(path);\n });\n\n // 5. Execute groups sequentially! Paths within same group are\n // fetched in parallel!\n let task: Promise = Promise.resolve();\n Object.keys(groups).sort().forEach(len => {\n const group = groups[len];\n task = task.then(() => Promise.all(group.map((path: string) => {\n return resolveRef(obj, path, !!fhirOptions.graph, cache, client, requestOptions);\n })));\n });\n return task;\n}\n\n/**\n * This is a FHIR client that is returned to you from the `ready()` call of the\n * **SMART API**. You can also create it yourself if needed:\n *\n * ```js\n * // BROWSER\n * const client = FHIR.client(\"https://r4.smarthealthit.org\");\n *\n * // SERVER\n * const client = smart(req, res).client(\"https://r4.smarthealthit.org\");\n * ```\n */\nexport default class Client\n{\n /**\n * The state of the client instance is an object with various properties.\n * It contains some details about how the client has been authorized and\n * determines the behavior of the client instance. This state is persisted\n * in `SessionStorage` in browsers or in request session on the servers.\n */\n readonly state: fhirclient.ClientState;\n\n /**\n * The adapter to use to connect to the current environment. Currently we have:\n * - BrowserAdapter - for browsers\n * - NodeAdapter - for Express or vanilla NodeJS servers\n * - HapiAdapter - for HAPI NodeJS servers\n */\n readonly environment: fhirclient.Adapter;\n\n /**\n * A SMART app is typically associated with a patient. This is a namespace\n * for the patient-related functionality of the client.\n */\n readonly patient: {\n\n /**\n * The ID of the current patient or `null` if there is no current patient\n */\n id: string | null\n\n /**\n * A method to fetch the current patient resource from the FHIR server.\n * If there is no patient context, it will reject with an error.\n * @param {fhirclient.FetchOptions} [requestOptions] Any options to pass to the `fetch` call.\n * @category Request\n */\n read: fhirclient.RequestFunction\n \n /**\n * This is similar to [[request]] but it makes requests in the\n * context of the current patient. For example, instead of doing\n * ```js\n * client.request(\"Observation?patient=\" + client.patient.id)\n * ```\n * you can do\n * ```js\n * client.patient.request(\"Observation\")\n * ```\n * The return type depends on the arguments. Typically it will be the\n * response payload JSON object. Can also be a string or the `Response`\n * object itself if we have received a non-json result, which allows us\n * to handle even binary responses. Can also be a [[CombinedFetchResult]]\n * object if the `requestOptions.includeResponse`s has been set to true.\n * @category Request\n */\n request: (\n requestOptions: string|URL|fhirclient.RequestOptions,\n fhirOptions?: fhirclient.FhirOptions\n ) => Promise\n\n /**\n * This is the FhirJS Patient API. It will ONLY exist if the `Client`\n * instance is \"connected\" to FhirJS.\n */\n api?: Record\n };\n\n /**\n * The client may be associated with a specific encounter, if the scopes\n * permit that and if the back-end server supports that. This is a namespace\n * for encounter-related functionality.\n */\n readonly encounter: {\n\n /**\n * The ID of the current encounter or `null` if there is no current\n * encounter\n */\n id: string | null\n\n /**\n * A method to fetch the current encounter resource from the FHIR server.\n * If there is no encounter context, it will reject with an error.\n * @param [requestOptions] Any options to pass to the `fetch` call.\n * @category Request\n */\n read: fhirclient.RequestFunction\n };\n\n /**\n * The client may be associated with a specific user, if the scopes\n * permit that. This is a namespace for user-related functionality.\n */\n readonly user: {\n\n /**\n * The ID of the current user or `null` if there is no current user\n */\n id: string | null\n\n /**\n * A method to fetch the current user resource from the FHIR server.\n * If there is no user context, it will reject with an error.\n * @param [requestOptions] Any options to pass to the `fetch` call.\n * @category Request\n */\n read: fhirclient.RequestFunction<\n fhirclient.FHIR.Patient |\n fhirclient.FHIR.Practitioner |\n fhirclient.FHIR.RelatedPerson\n >\n\n /**\n * Returns the profile of the logged_in user (if any), or null if the\n * user is not available. This is a string having the shape\n * `{user type}/{user id}`. For example `Practitioner/abc` or\n * `Patient/xyz`.\n * @alias client.getFhirUser()\n */\n fhirUser: string | null\n\n /**\n * Returns the type of the logged-in user or null. The result can be\n * `Practitioner`, `Patient` or `RelatedPerson`.\n * @alias client.getUserType()\n */\n resourceType: string | null\n };\n\n /**\n * The [FhirJS](https://github.com/FHIR/fhir.js/blob/master/README.md) API.\n * **NOTE:** This will only be available if `fhir.js` is used. Otherwise it\n * will be `undefined`.\n */\n api: Record | undefined;\n\n /**\n * Refers to the refresh task while it is being performed.\n * @see [[refresh]]\n */\n private _refreshTask: Promise | null;\n\n /**\n * Validates the parameters, creates an instance and tries to connect it to\n * FhirJS, if one is available globally.\n */\n constructor(environment: fhirclient.Adapter, state: fhirclient.ClientState | string)\n {\n const _state = typeof state == \"string\" ? { serverUrl: state } : state;\n\n // Valid serverUrl is required!\n assert(\n _state.serverUrl && _state.serverUrl.match(/https?:\\/\\/.+/),\n \"A \\\"serverUrl\\\" option is required and must begin with \\\"http(s)\\\"\"\n );\n\n this.state = _state;\n this.environment = environment;\n this._refreshTask = null;\n\n const client = this;\n\n // patient api ---------------------------------------------------------\n this.patient = {\n get id() { return client.getPatientId(); },\n read: (requestOptions) => {\n const id = this.patient.id;\n return id ?\n this.request({ ...requestOptions, url: `Patient/${id}` }) :\n Promise.reject(new Error(\"Patient is not available\"));\n },\n request: (requestOptions, fhirOptions = {}) => {\n if (this.patient.id) {\n return (async () => {\n const options = await contextualize(requestOptions, this);\n return this.request(options, fhirOptions);\n })();\n } else {\n return Promise.reject(new Error(\"Patient is not available\"));\n }\n }\n };\n\n // encounter api -------------------------------------------------------\n this.encounter = {\n get id() { return client.getEncounterId(); },\n read: requestOptions => {\n const id = this.encounter.id;\n return id ?\n this.request({ ...requestOptions, url: `Encounter/${id}` }) :\n Promise.reject(new Error(\"Encounter is not available\"));\n }\n };\n\n // user api ------------------------------------------------------------\n this.user = {\n get fhirUser() { return client.getFhirUser(); },\n get id() { return client.getUserId(); },\n get resourceType() { return client.getUserType(); },\n read: requestOptions => {\n const fhirUser = this.user.fhirUser;\n return fhirUser ?\n this.request({ ...requestOptions, url: fhirUser }) :\n Promise.reject(new Error(\"User is not available\"));\n }\n };\n\n // fhir.js api (attached automatically in browser)\n // ---------------------------------------------------------------------\n this.connect((environment as BrowserAdapter).fhir);\n }\n\n /**\n * This method is used to make the \"link\" between the `fhirclient` and the\n * `fhir.js`, if one is available.\n * **Note:** This is called by the constructor. If fhir.js is available in\n * the global scope as `fhir`, it will automatically be linked to any [[Client]]\n * instance. You should only use this method to connect to `fhir.js` which\n * is not global.\n */\n connect(fhirJs?: (options: Record) => Record): Client\n {\n if (typeof fhirJs == \"function\") {\n const options: Record = {\n baseUrl: this.state.serverUrl.replace(/\\/$/, \"\")\n };\n\n const accessToken = this.getState(\"tokenResponse.access_token\");\n if (accessToken) {\n options.auth = { token: accessToken };\n }\n else {\n const { username, password } = this.state;\n if (username && password) {\n options.auth = {\n user: username,\n pass: password\n };\n }\n }\n this.api = fhirJs(options);\n\n const patientId = this.getState(\"tokenResponse.patient\");\n if (patientId) {\n this.patient.api = fhirJs({\n ...options,\n patient: patientId\n });\n }\n }\n return this;\n }\n\n /**\n * Returns the ID of the selected patient or null. You should have requested\n * \"launch/patient\" scope. Otherwise this will return null.\n */\n getPatientId(): string | null\n {\n const tokenResponse = this.state.tokenResponse;\n if (tokenResponse) {\n // We have been authorized against this server but we don't know\n // the patient. This should be a scope issue.\n if (!tokenResponse.patient) {\n if (!(this.state.scope || \"\").match(/\\blaunch(\\/patient)?\\b/)) {\n debug(str.noScopeForId, \"patient\", \"patient\");\n }\n else {\n // The server should have returned the patient!\n debug(\"The ID of the selected patient is not available. Please check if your server supports that.\");\n }\n return null;\n }\n return tokenResponse.patient;\n }\n\n if (this.state.authorizeUri) {\n debug(str.noIfNoAuth, \"the ID of the selected patient\");\n }\n else {\n debug(str.noFreeContext, \"selected patient\");\n }\n return null;\n }\n\n /**\n * Returns the ID of the selected encounter or null. You should have\n * requested \"launch/encounter\" scope. Otherwise this will return null.\n * Note that not all servers support the \"launch/encounter\" scope so this\n * will be null if they don't.\n */\n getEncounterId(): string | null\n {\n const tokenResponse = this.state.tokenResponse;\n if (tokenResponse) {\n // We have been authorized against this server but we don't know\n // the encounter. This should be a scope issue.\n if (!tokenResponse.encounter) {\n if (!(this.state.scope || \"\").match(/\\blaunch(\\/encounter)?\\b/)) {\n debug(str.noScopeForId, \"encounter\", \"encounter\");\n }\n else {\n // The server should have returned the encounter!\n debug(\"The ID of the selected encounter is not available. Please check if your server supports that, and that the selected patient has any recorded encounters.\");\n }\n return null;\n }\n return tokenResponse.encounter;\n }\n\n if (this.state.authorizeUri) {\n debug(str.noIfNoAuth, \"the ID of the selected encounter\");\n }\n else {\n debug(str.noFreeContext, \"selected encounter\");\n }\n return null;\n }\n\n /**\n * Returns the (decoded) id_token if any. You need to request \"openid\" and\n * \"profile\" scopes if you need to receive an id_token (if you need to know\n * who the logged-in user is).\n */\n getIdToken(): fhirclient.IDToken | null\n {\n const tokenResponse = this.state.tokenResponse;\n if (tokenResponse) {\n const idToken = tokenResponse.id_token;\n const scope = this.state.scope || \"\";\n\n // We have been authorized against this server but we don't have\n // the id_token. This should be a scope issue.\n if (!idToken) {\n const hasOpenid = scope.match(/\\bopenid\\b/);\n const hasProfile = scope.match(/\\bprofile\\b/);\n const hasFhirUser = scope.match(/\\bfhirUser\\b/);\n if (!hasOpenid || !(hasFhirUser || hasProfile)) {\n debug(\n \"You are trying to get the id_token but you are not \" +\n \"using the right scopes. Please add 'openid' and \" +\n \"'fhirUser' or 'profile' to the scopes you are \" +\n \"requesting.\"\n );\n }\n else {\n // The server should have returned the id_token!\n debug(\"The id_token is not available. Please check if your server supports that.\");\n }\n return null;\n }\n return jwtDecode(idToken, this.environment) as fhirclient.IDToken;\n }\n if (this.state.authorizeUri) {\n debug(str.noIfNoAuth, \"the id_token\");\n }\n else {\n debug(str.noFreeContext, \"id_token\");\n }\n return null;\n }\n\n /**\n * Returns the profile of the logged_in user (if any). This is a string\n * having the following shape `\"{user type}/{user id}\"`. For example:\n * `\"Practitioner/abc\"` or `\"Patient/xyz\"`.\n */\n getFhirUser(): string | null\n {\n const idToken = this.getIdToken();\n if (idToken) {\n // Epic may return a full url\n // @see https://github.com/smart-on-fhir/client-js/issues/105\n if (idToken.fhirUser) {\n return idToken.fhirUser.split(\"/\").slice(-2).join(\"/\");\n }\n return idToken.profile\n }\n return null;\n }\n\n /**\n * Returns the user ID or null.\n */\n getUserId(): string | null\n {\n const profile = this.getFhirUser();\n if (profile) {\n return profile.split(\"/\")[1];\n }\n return null;\n }\n\n /**\n * Returns the type of the logged-in user or null. The result can be\n * \"Practitioner\", \"Patient\" or \"RelatedPerson\".\n */\n getUserType(): string | null\n {\n const profile = this.getFhirUser();\n if (profile) {\n return profile.split(\"/\")[0];\n }\n return null;\n }\n\n /**\n * Builds and returns the value of the `Authorization` header that can be\n * sent to the FHIR server\n */\n getAuthorizationHeader(): string | null\n {\n const accessToken = this.getState(\"tokenResponse.access_token\");\n if (accessToken) {\n return \"Bearer \" + accessToken;\n }\n const { username, password } = this.state;\n if (username && password) {\n return \"Basic \" + this.environment.btoa(username + \":\" + password);\n }\n return null;\n }\n\n /**\n * Used internally to clear the state of the instance and the state in the\n * associated storage.\n */\n private async _clearState() {\n const storage = this.environment.getStorage();\n const key = await storage.get(SMART_KEY);\n if (key) {\n await storage.unset(key);\n }\n await storage.unset(SMART_KEY);\n this.state.tokenResponse = {};\n }\n\n /**\n * Creates a new resource in a server-assigned location\n * @see http://hl7.org/fhir/http.html#create\n * @param resource A FHIR resource to be created\n * @param [requestOptions] Any options to be passed to the fetch call.\n * Note that `method` and `body` will be ignored.\n * @category Request\n */\n create(\n resource: fhirclient.FHIR.Resource,\n requestOptions?: O\n ): Promise : R>\n {\n return this.request({\n ...requestOptions,\n url: `${resource.resourceType}`,\n method: \"POST\",\n body: JSON.stringify(resource),\n headers: {\n // TODO: Do we need to alternate with \"application/json+fhir\"?\n \"content-type\": \"application/json\",\n ...(requestOptions || {}).headers\n }\n });\n }\n\n /**\n * Creates a new current version for an existing resource or creates an\n * initial version if no resource already exists for the given id.\n * @see http://hl7.org/fhir/http.html#update\n * @param resource A FHIR resource to be updated\n * @param requestOptions Any options to be passed to the fetch call.\n * Note that `method` and `body` will be ignored.\n * @category Request\n */\n update(\n resource: fhirclient.FHIR.Resource,\n requestOptions?: O\n ): Promise : R>\n {\n return this.request({\n ...requestOptions,\n url: `${resource.resourceType}/${resource.id}`,\n method: \"PUT\",\n body: JSON.stringify(resource),\n headers: {\n // TODO: Do we need to alternate with \"application/json+fhir\"?\n \"content-type\": \"application/json\",\n ...(requestOptions || {}).headers\n }\n });\n }\n\n /**\n * Removes an existing resource.\n * @see http://hl7.org/fhir/http.html#delete\n * @param url Relative URI of the FHIR resource to be deleted\n * (format: `resourceType/id`)\n * @param requestOptions Any options (except `method` which will be fixed\n * to `DELETE`) to be passed to the fetch call.\n * @category Request\n */\n delete(url: string, requestOptions: fhirclient.FetchOptions = {}): Promise\n {\n return this.request({\n ...requestOptions,\n url,\n method: \"DELETE\"\n });\n }\n\n /**\n * Makes a JSON Patch to the given resource\n * @see http://hl7.org/fhir/http.html#patch\n * @param url Relative URI of the FHIR resource to be patched\n * (format: `resourceType/id`)\n * @param patch A JSON Patch array to send to the server, For details\n * see https://datatracker.ietf.org/doc/html/rfc6902\n * @param requestOptions Any options to be passed to the fetch call,\n * except for `method`, `url` and `body` which cannot be overridden.\n * @since 2.4.0\n * @category Request\n * @typeParam ResolveType This method would typically resolve with the\n * patched resource or reject with an OperationOutcome. However, this may\n * depend on the server implementation or even on the request headers.\n * For that reason, if the default resolve type (which is\n * [[fhirclient.FHIR.Resource]]) does not work for you, you can pass\n * in your own resolve type parameter.\n */\n async patch(url: string, patch: fhirclient.JsonPatch, requestOptions: fhirclient.FetchOptions = {}): Promise\n {\n assertJsonPatch(patch);\n return this.request({\n ...requestOptions,\n url,\n method: \"PATCH\",\n body: JSON.stringify(patch),\n headers: {\n \"prefer\": \"return=presentation\",\n \"content-type\": \"application/json-patch+json; charset=UTF-8\",\n ...requestOptions.headers,\n }\n });\n }\n\n /**\n * @param requestOptions Can be a string URL (relative to the serviceUrl),\n * or an object which will be passed to fetch()\n * @param fhirOptions Additional options to control the behavior\n * @param _resolvedRefs DO NOT USE! Used internally.\n * @category Request\n */\n async request(\n requestOptions: string|URL|fhirclient.RequestOptions,\n fhirOptions: fhirclient.FhirOptions = {},\n _resolvedRefs: fhirclient.JsonObject = {}\n ): Promise\n {\n const debugRequest = _debug.extend(\"client:request\");\n assert(requestOptions, \"request requires an url or request options as argument\");\n\n // url -----------------------------------------------------------------\n let url: string;\n if (typeof requestOptions == \"string\" || requestOptions instanceof URL) {\n url = String(requestOptions);\n requestOptions = {} as fhirclient.RequestOptions;\n }\n else {\n url = String(requestOptions.url);\n }\n\n url = absolute(url, this.state.serverUrl);\n\n const options = {\n graph: fhirOptions.graph !== false,\n flat : !!fhirOptions.flat,\n pageLimit: fhirOptions.pageLimit ?? 1,\n resolveReferences: (fhirOptions.resolveReferences || []) as string[],\n useRefreshToken: fhirOptions.useRefreshToken !== false,\n onPage: typeof fhirOptions.onPage == \"function\" ?\n fhirOptions.onPage as (\n data: fhirclient.JsonObject | fhirclient.JsonObject[],\n references?: fhirclient.JsonObject | undefined) => any :\n undefined\n };\n\n const signal = (requestOptions as RequestInit).signal || undefined;\n\n // Refresh the access token if needed\n const job = options.useRefreshToken ?\n this.refreshIfNeeded({ signal }).then(() => requestOptions as fhirclient.RequestOptions) :\n Promise.resolve(requestOptions as fhirclient.RequestOptions);\n\n let response: Response | undefined;\n\n return job\n\n // Add the Authorization header now, after the access token might\n // have been updated\n .then(requestOptions => {\n const authHeader = this.getAuthorizationHeader();\n if (authHeader) {\n requestOptions.headers = {\n ...requestOptions.headers,\n authorization: authHeader\n };\n }\n return requestOptions;\n })\n \n // Make the request\n .then(requestOptions => {\n debugRequest(\n \"%s, options: %O, fhirOptions: %O\",\n url,\n requestOptions,\n options\n );\n return request(url, requestOptions).then(result => {\n if (requestOptions.includeResponse) {\n response = (result as fhirclient.CombinedFetchResult).response;\n return (result as fhirclient.CombinedFetchResult).body;\n }\n return result;\n });\n })\n\n // Handle 401 ------------------------------------------------------\n .catch(async (error: HttpError) => {\n if (error.status == 401) {\n\n // !accessToken -> not authorized -> No session. Need to launch.\n if (!this.getState(\"tokenResponse.access_token\")) {\n error.message += \"\\nThis app cannot be accessed directly. Please launch it as SMART app!\";\n throw error;\n }\n\n // auto-refresh not enabled and Session expired.\n // Need to re-launch. Clear state to start over!\n if (!options.useRefreshToken) {\n debugRequest(\"Your session has expired and the useRefreshToken option is set to false. Please re-launch the app.\");\n await this._clearState();\n error.message += \"\\n\" + str.expired;\n throw error;\n }\n\n // In rare cases we may have a valid access token and a refresh\n // token and the request might still fail with 401 just because\n // the access token has just been revoked.\n\n // otherwise -> auto-refresh failed. Session expired.\n // Need to re-launch. Clear state to start over!\n debugRequest(\"Auto-refresh failed! Please re-launch the app.\");\n await this._clearState();\n error.message += \"\\n\" + str.expired;\n throw error;\n }\n throw error;\n })\n\n // Handle 403 ------------------------------------------------------\n .catch((error: HttpError) => {\n if (error.status == 403) {\n debugRequest(\"Permission denied! Please make sure that you have requested the proper scopes.\");\n }\n throw error;\n })\n\n .then((data: any) => {\n\n // At this point we don't know what `data` actually is!\n\n // We might get an empty or falsy result. If so return it as is\n // Also handle raw responses\n if (!data || typeof data == \"string\" || data instanceof Response) {\n if ((requestOptions as fhirclient.FetchOptions).includeResponse) {\n return {\n body: data,\n response\n }\n }\n return data;\n }\n \n // Resolve References ------------------------------------------\n return (async (_data: fhirclient.FHIR.Resource) => {\n\n if (_data.resourceType == \"Bundle\") {\n await Promise.all(((_data as fhirclient.FHIR.Bundle).entry || []).map(item => resolveRefs(\n item.resource,\n options,\n _resolvedRefs,\n this,\n requestOptions as fhirclient.RequestOptions\n )));\n }\n else {\n await resolveRefs(\n _data,\n options,\n _resolvedRefs,\n this,\n requestOptions as fhirclient.RequestOptions\n );\n }\n\n return _data;\n })(data)\n\n // Pagination ----------------------------------------------\n .then(async _data => {\n if (_data && _data.resourceType == \"Bundle\") {\n const links = (_data.link || []) as fhirclient.FHIR.BundleLink[];\n\n if (options.flat) {\n _data = (_data.entry || []).map(\n (entry: fhirclient.FHIR.BundleEntry) => entry.resource\n );\n }\n\n if (options.onPage) {\n await options.onPage(_data, { ..._resolvedRefs });\n }\n\n if (--options.pageLimit) {\n const next = links.find(l => l.relation == \"next\");\n _data = makeArray(_data);\n if (next && next.url) {\n const nextPage = await this.request(\n {\n url: next.url,\n\n // Aborting the main request (even after it is complete)\n // must propagate to any child requests and abort them!\n // To do so, just pass the same AbortSignal if one is\n // provided.\n signal\n },\n options,\n _resolvedRefs\n );\n\n if (options.onPage) {\n return null;\n }\n\n if (options.resolveReferences.length) {\n Object.assign(_resolvedRefs, nextPage.references);\n return _data.concat(makeArray(nextPage.data || nextPage));\n }\n return _data.concat(makeArray(nextPage));\n }\n }\n }\n return _data;\n })\n\n // Finalize ------------------------------------------------\n .then(_data => {\n if (options.graph) {\n _resolvedRefs = {};\n }\n else if (!options.onPage && options.resolveReferences.length) {\n return {\n data: _data,\n references: _resolvedRefs\n };\n }\n return _data;\n })\n .then(_data => {\n if ((requestOptions as fhirclient.FetchOptions).includeResponse) {\n return {\n body: _data,\n response\n }\n }\n return _data;\n });\n });\n }\n\n /**\n * Checks if access token and refresh token are present. If they are, and if\n * the access token is expired or is about to expire in the next 10 seconds,\n * calls `this.refresh()` to obtain new access token.\n * @param requestOptions Any options to pass to the fetch call. Most of them\n * will be overridden, bit it might still be useful for passing additional\n * request options or an abort signal.\n * @category Request\n */\n refreshIfNeeded(requestOptions: RequestInit = {}): Promise\n {\n const accessToken = this.getState(\"tokenResponse.access_token\");\n const refreshToken = this.getState(\"tokenResponse.refresh_token\");\n const expiresAt = this.state.expiresAt || 0;\n\n if (accessToken && refreshToken && expiresAt - 10 < Date.now() / 1000) {\n return this.refresh(requestOptions);\n }\n\n return Promise.resolve(this.state);\n }\n\n /**\n * Use the refresh token to obtain new access token. If the refresh token is\n * expired (or this fails for any other reason) it will be deleted from the\n * state, so that we don't enter into loops trying to re-authorize.\n *\n * This method is typically called internally from [[request]] if\n * certain request fails with 401.\n *\n * @param requestOptions Any options to pass to the fetch call. Most of them\n * will be overridden, bit it might still be useful for passing additional\n * request options or an abort signal.\n * @category Request\n */\n refresh(requestOptions: RequestInit = {}): Promise\n {\n const debugRefresh = _debug.extend(\"client:refresh\");\n debugRefresh(\"Attempting to refresh with refresh_token...\");\n\n const refreshToken = this.state?.tokenResponse?.refresh_token;\n assert(refreshToken, \"Unable to refresh. No refresh_token found.\");\n\n const tokenUri = this.state.tokenUri;\n assert(tokenUri, \"Unable to refresh. No tokenUri found.\");\n\n const scopes = this.getState(\"tokenResponse.scope\") || \"\";\n const hasOfflineAccess = scopes.search(/\\boffline_access\\b/) > -1;\n const hasOnlineAccess = scopes.search(/\\bonline_access\\b/) > -1;\n assert(hasOfflineAccess || hasOnlineAccess, \"Unable to refresh. No offline_access or online_access scope found.\");\n\n // This method is typically called internally from `request` if certain\n // request fails with 401. However, clients will often run multiple\n // requests in parallel which may result in multiple refresh calls.\n // To avoid that, we keep a reference to the current refresh task (if any).\n if (!this._refreshTask) {\n let body = `grant_type=refresh_token&refresh_token=${encodeURIComponent(refreshToken)}`;\n if (this.environment.options.refreshTokenWithClientId) {\n body += `&client_id=${this.state.clientId}`;\n }\n const refreshRequestOptions = {\n credentials: this.environment.options.refreshTokenWithCredentials || \"same-origin\",\n ...requestOptions,\n method : \"POST\",\n mode : \"cors\" as RequestMode,\n headers: {\n ...(requestOptions.headers || {}),\n \"content-type\": \"application/x-www-form-urlencoded\"\n },\n body: body\n };\n\n // custom authorization header can be passed on manual calls\n if (!(\"authorization\" in refreshRequestOptions.headers)) {\n const { clientSecret, clientId } = this.state;\n if (clientSecret) {\n // @ts-ignore\n refreshRequestOptions.headers.authorization = \"Basic \" + this.environment.btoa(\n clientId + \":\" + clientSecret\n );\n }\n }\n\n this._refreshTask = request(tokenUri, refreshRequestOptions)\n .then(data => {\n assert(data.access_token, \"No access token received\");\n debugRefresh(\"Received new access token response %O\", data);\n this.state.tokenResponse = { ...this.state.tokenResponse, ...data };\n this.state.expiresAt = getAccessTokenExpiration(data, this.environment);\n return this.state;\n })\n .catch((error: Error) => {\n if (this.state?.tokenResponse?.refresh_token) {\n debugRefresh(\"Deleting the expired or invalid refresh token.\");\n delete this.state.tokenResponse.refresh_token;\n }\n throw error;\n })\n .finally(() => {\n this._refreshTask = null;\n const key = this.state.key;\n if (key) {\n this.environment.getStorage().set(key, this.state);\n } else {\n debugRefresh(\"No 'key' found in Clint.state. Cannot persist the instance.\");\n }\n });\n }\n\n return this._refreshTask;\n }\n\n // utils -------------------------------------------------------------------\n\n /**\n * Groups the observations by code. Returns a map that will look like:\n * ```js\n * const map = client.byCodes(observations, \"code\");\n * // map = {\n * // \"55284-4\": [ observation1, observation2 ],\n * // \"6082-2\": [ observation3 ]\n * // }\n * ```\n * @param observations Array of observations\n * @param property The name of a CodeableConcept property to group by\n * @todo This should be deprecated and moved elsewhere. One should not have\n * to obtain an instance of [[Client]] just to use utility functions like this.\n * @deprecated\n * @category Utility\n */\n byCode(\n observations: fhirclient.FHIR.Observation | fhirclient.FHIR.Observation[],\n property: string\n ): fhirclient.ObservationMap\n {\n return byCode(observations, property);\n }\n\n /**\n * First groups the observations by code using `byCode`. Then returns a function\n * that accepts codes as arguments and will return a flat array of observations\n * having that codes. Example:\n * ```js\n * const filter = client.byCodes(observations, \"category\");\n * filter(\"laboratory\") // => [ observation1, observation2 ]\n * filter(\"vital-signs\") // => [ observation3 ]\n * filter(\"laboratory\", \"vital-signs\") // => [ observation1, observation2, observation3 ]\n * ```\n * @param observations Array of observations\n * @param property The name of a CodeableConcept property to group by\n * @todo This should be deprecated and moved elsewhere. One should not have\n * to obtain an instance of [[Client]] just to use utility functions like this.\n * @deprecated\n * @category Utility\n */\n byCodes(\n observations: fhirclient.FHIR.Observation | fhirclient.FHIR.Observation[],\n property: string\n ): (...codes: string[]) => any[]\n {\n return byCodes(observations, property);\n }\n\n /**\n * @category Utility\n */\n units = units;\n\n /**\n * Walks through an object (or array) and returns the value found at the\n * provided path. This function is very simple so it intentionally does not\n * support any argument polymorphism, meaning that the path can only be a\n * dot-separated string. If the path is invalid returns undefined.\n * @param obj The object (or Array) to walk through\n * @param path The path (eg. \"a.b.4.c\")\n * @returns {*} Whatever is found in the path or undefined\n * @todo This should be deprecated and moved elsewhere. One should not have\n * to obtain an instance of [[Client]] just to use utility functions like this.\n * @deprecated\n * @category Utility\n */\n getPath(obj: Record, path = \"\"): any {\n return getPath(obj, path);\n }\n\n /**\n * Returns a copy of the client state. Accepts a dot-separated path argument\n * (same as for `getPath`) to allow for selecting specific properties.\n * Examples:\n * ```js\n * client.getState(); // -> the entire state object\n * client.getState(\"serverUrl\"); // -> the URL we are connected to\n * client.getState(\"tokenResponse.patient\"); // -> The selected patient ID (if any)\n * ```\n * @param path The path (eg. \"a.b.4.c\")\n * @returns {*} Whatever is found in the path or undefined\n */\n getState(path = \"\") {\n return getPath({ ...this.state }, path);\n }\n\n /**\n * Returns a promise that will be resolved with the fhir version as defined\n * in the CapabilityStatement.\n */\n getFhirVersion(): Promise {\n return fetchConformanceStatement(this.state.serverUrl)\n .then((metadata) => metadata.fhirVersion);\n }\n\n /**\n * Returns a promise that will be resolved with the numeric fhir version\n * - 2 for DSTU2\n * - 3 for STU3\n * - 4 for R4\n * - 0 if the version is not known\n */\n getFhirRelease(): Promise {\n return this.getFhirVersion().then(v => (fhirVersions as any)[v] ?? 0);\n }\n}\n","import { fhirclient } from \"./types\";\n\n\nexport default class HttpError extends Error\n{\n /**\n * The HTTP status code for this error\n */\n statusCode: number;\n\n /**\n * The HTTP status code for this error.\n * Note that this is the same as `status`, i.e. the code is available\n * through any of these.\n */\n status: number;\n\n /**\n * The HTTP status text corresponding to this error\n */\n statusText: string;\n\n /**\n * Reference to the HTTP Response object\n */\n response: Response;\n\n constructor(response: Response) {\n super(`${response.status} ${response.statusText}\\nURL: ${response.url}`);\n this.name = \"HttpError\";\n this.response = response;\n this.statusCode = response.status;\n this.status = response.status;\n this.statusText = response.statusText;\n }\n\n async parse()\n {\n if (!this.response.bodyUsed) {\n try {\n const type = this.response.headers.get(\"content-type\") || \"text/plain\";\n if (type.match(/\\bjson\\b/i)) {\n let body = await this.response.json();\n if (body.error) {\n this.message += \"\\n\" + body.error;\n if (body.error_description) {\n this.message += \": \" + body.error_description;\n }\n }\n else {\n this.message += \"\\n\\n\" + JSON.stringify(body, null, 4);\n }\n }\n else if (type.match(/^text\\//i)) {\n let body = await this.response.text();\n if (body) {\n this.message += \"\\n\\n\" + body;\n }\n }\n } catch {\n // ignore\n }\n }\n\n return this;\n }\n\n toJSON() {\n return {\n name : this.name,\n statusCode: this.statusCode,\n status : this.status,\n statusText: this.statusText,\n message : this.message\n };\n }\n}\n","import { ready, authorize, init } from \"../smart\";\nimport Client from \"../Client\";\nimport BrowserStorage from \"../storage/BrowserStorage\";\nimport { fhirclient } from \"../types\";\nimport * as security from \"../security/browser\"\nimport { encodeURL, decode, fromUint8Array } from \"js-base64\"\n\n/**\n * Browser Adapter\n */\nexport default class BrowserAdapter implements fhirclient.Adapter\n{\n /**\n * Stores the URL instance associated with this adapter\n */\n private _url: URL | null = null;\n\n /**\n * Holds the Storage instance associated with this instance\n */\n private _storage: fhirclient.Storage | null = null;\n\n /**\n * Environment-specific options\n */\n options: fhirclient.BrowserFHIRSettings;\n\n security = security;\n\n /**\n * @param options Environment-specific options\n */\n constructor(options: fhirclient.BrowserFHIRSettings = {})\n {\n this.options = {\n // Replaces the browser's current URL\n // using window.history.replaceState API or by reloading.\n replaceBrowserHistory: true,\n\n // When set to true, this variable will fully utilize\n // HTML5 sessionStorage API.\n // This variable can be overridden to false by setting\n // FHIR.oauth2.settings.fullSessionStorageSupport = false.\n // When set to false, the sessionStorage will be keyed\n // by a state variable. This is to allow the embedded IE browser\n // instances instantiated on a single thread to continue to\n // function without having sessionStorage data shared\n // across the embedded IE instances.\n fullSessionStorageSupport: true,\n\n // Do we want to send cookies while making a request to the token\n // endpoint in order to obtain new access token using existing\n // refresh token. In rare cases the auth server might require the\n // client to send cookies along with those requests. In this case\n // developers will have to change this before initializing the app\n // like so:\n // `FHIR.oauth2.settings.refreshTokenWithCredentials = \"include\";`\n // or\n // `FHIR.oauth2.settings.refreshTokenWithCredentials = \"same-origin\";`\n // Can be one of:\n // \"include\" - always send cookies\n // \"same-origin\" - only send cookies if we are on the same domain (default)\n // \"omit\" - do not send cookies\n refreshTokenWithCredentials: \"same-origin\",\n\n ...options\n };\n }\n\n /**\n * Given a relative path, returns an absolute url using the instance base URL\n */\n relative(path: string): string\n {\n return new URL(path, this.getUrl().href).href;\n }\n\n /**\n * In browsers we need to be able to (dynamically) check if fhir.js is\n * included in the page. If it is, it should have created a \"fhir\" variable\n * in the global scope.\n */\n get fhir()\n {\n // @ts-ignore\n return typeof fhir === \"function\" ? fhir : null;\n }\n\n /**\n * Given the current environment, this method must return the current url\n * as URL instance\n */\n getUrl(): URL\n {\n if (!this._url) {\n this._url = new URL(location + \"\");\n }\n return this._url;\n }\n\n /**\n * Given the current environment, this method must redirect to the given\n * path\n */\n redirect(to: string): void\n {\n location.href = to;\n }\n\n /**\n * Returns a BrowserStorage object which is just a wrapper around\n * sessionStorage\n */\n getStorage(): BrowserStorage\n {\n if (!this._storage) {\n this._storage = new BrowserStorage();\n }\n return this._storage;\n }\n\n /**\n * Returns a reference to the AbortController constructor. In browsers,\n * AbortController will always be available as global (native or polyfilled)\n */\n getAbortController()\n {\n return AbortController;\n }\n\n /**\n * ASCII string to Base64\n */\n atob(str: string): string\n {\n return window.atob(str);\n }\n\n /**\n * Base64 to ASCII string\n */\n btoa(str: string): string\n {\n return window.btoa(str);\n }\n\n base64urlencode(input: string | Uint8Array)\n {\n if (typeof input == \"string\") {\n return encodeURL(input)\n }\n return fromUint8Array(input, true)\n }\n\n base64urldecode(input: string)\n {\n return decode(input)\n }\n\n /**\n * Creates and returns adapter-aware SMART api. Not that while the shape of\n * the returned object is well known, the arguments to this function are not.\n * Those who override this method are free to require any environment-specific\n * arguments. For example in node we will need a request, a response and\n * optionally a storage or storage factory function.\n */\n getSmartApi(): fhirclient.SMART\n {\n return {\n ready : (...args: any[]) => ready(this, ...args),\n authorize: options => authorize(this, options),\n init : options => init(this, options),\n client : (state: string | fhirclient.ClientState) => new Client(this, state),\n options : this.options,\n utils: {\n security\n }\n };\n }\n}\n","\n// Note: the following 2 imports appear as unused but they affect how tsc is\n// generating type definitions!\nimport { fhirclient } from \"../types\";\nimport Client from \"../Client\";\n\n// In Browsers we create an adapter, get the SMART api from it and build the\n// global FHIR object\nimport BrowserAdapter from \"../adapters/BrowserAdapter\";\n\nconst adapter = new BrowserAdapter();\nconst { ready, authorize, init, client, options, utils } = adapter.getSmartApi();\n\n// We have two kinds of browser builds - \"pure\" for new browsers and \"legacy\"\n// for old ones. In pure builds we assume that the browser supports everything\n// we need. In legacy mode, the library also acts as a polyfill. Babel will\n// automatically polyfill everything except \"fetch\", which we have to handle\n// manually.\n// @ts-ignore\nif (typeof FHIRCLIENT_PURE == \"undefined\") {\n const fetch = require(\"cross-fetch\");\n require(\"abortcontroller-polyfill/dist/abortcontroller-polyfill-only\");\n if (!window.fetch) {\n window.fetch = fetch.default;\n window.Headers = fetch.Headers;\n window.Request = fetch.Request;\n window.Response = fetch.Response;\n }\n}\n\n// $lab:coverage:off$\nconst FHIR = {\n AbortController: window.AbortController,\n client,\n utils,\n oauth2: {\n settings: options,\n ready,\n authorize,\n init\n }\n};\n\nexport = FHIR;\n// $lab:coverage:on$\n","/*\n * This file contains some shared functions. They are used by other modules, but\n * are defined here so that tests can import this library and test them.\n */\n\nimport HttpError from \"./HttpError\";\nimport { patientParams } from \"./settings\";\nimport { fhirclient } from \"./types\";\nconst debug = require(\"debug\");\n\n// $lab:coverage:off$\n// @ts-ignore\nconst { fetch } = typeof FHIRCLIENT_PURE !== \"undefined\" ? window : require(\"cross-fetch\");\n// $lab:coverage:on$\n\nconst _debug = debug(\"FHIR\");\nexport { _debug as debug };\n\n/**\n * The cache for the `getAndCache` function\n */\nconst cache: Record = {};\n\n/**\n * A namespace with functions for converting between different measurement units\n */\nexport const units = {\n cm({ code, value }: fhirclient.CodeValue) {\n ensureNumerical({ code, value });\n if (code == \"cm\" ) return value;\n if (code == \"m\" ) return value * 100;\n if (code == \"in\" ) return value * 2.54;\n if (code == \"[in_us]\") return value * 2.54;\n if (code == \"[in_i]\" ) return value * 2.54;\n if (code == \"ft\" ) return value * 30.48;\n if (code == \"[ft_us]\") return value * 30.48;\n throw new Error(\"Unrecognized length unit: \" + code);\n },\n kg({ code, value }: fhirclient.CodeValue){\n ensureNumerical({ code, value });\n if (code == \"kg\" ) return value;\n if (code == \"g\" ) return value / 1000;\n if (code.match(/lb/)) return value / 2.20462;\n if (code.match(/oz/)) return value / 35.274;\n throw new Error(\"Unrecognized weight unit: \" + code);\n },\n any(pq: fhirclient.CodeValue){\n ensureNumerical(pq);\n return pq.value;\n }\n};\n\n/**\n * Assertion function to guard arguments for `units` functions\n */\nfunction ensureNumerical({ value, code }: fhirclient.CodeValue) {\n if (typeof value !== \"number\") {\n throw new Error(\"Found a non-numerical unit: \" + value + \" \" + code);\n }\n}\n\n/**\n * Used in fetch Promise chains to reject if the \"ok\" property is not true\n */\nexport async function checkResponse(resp: Response): Promise {\n if (!resp.ok) {\n const error = new HttpError(resp);\n await error.parse();\n throw error;\n }\n return resp;\n}\n\n/**\n * Used in fetch Promise chains to return the JSON version of the response.\n * Note that `resp.json()` will throw on empty body so we use resp.text()\n * instead.\n */\nexport function responseToJSON(resp: Response): Promise {\n return resp.text().then(text => text.length ? JSON.parse(text) : \"\");\n}\n\nexport function loweCaseKeys | any[] | undefined>(obj: T): T {\n \n // Can be undefined to signal that this key should be removed\n if (!obj) {\n return obj as T\n }\n\n // Arrays are valid values in case of recursive calls\n if (Array.isArray(obj)) {\n return obj.map(v => v && typeof v === \"object\" ? loweCaseKeys(v) : v) as unknown as T;\n }\n\n // Plain object\n let out: Record = {};\n Object.keys(obj).forEach(key => {\n const lowerKey = key.toLowerCase()\n const v = (obj as Record)[key]\n out[lowerKey] = v && typeof v == \"object\" ? loweCaseKeys(v) : v;\n });\n return out as T;\n}\n\n/**\n * This is our built-in request function. It does a few things by default\n * (unless told otherwise):\n * - Makes CORS requests\n * - Sets accept header to \"application/json\"\n * - Handles errors\n * - If the response is json return the json object\n * - If the response is text return the result text\n * - Otherwise return the response object on which we call stuff like `.blob()`\n */\nexport function request(\n url: string | Request,\n requestOptions: fhirclient.FetchOptions = {}\n): Promise\n{\n const { includeResponse, ...options } = requestOptions;\n return fetch(url, {\n mode: \"cors\",\n ...options,\n headers: {\n accept: \"application/json\",\n ...loweCaseKeys(options.headers)\n }\n })\n .then(checkResponse)\n .then((res: Response) => {\n const type = res.headers.get(\"content-type\") + \"\";\n if (type.match(/\\bjson\\b/i)) {\n return responseToJSON(res).then(body => ({ res, body }));\n }\n if (type.match(/^text\\//i)) {\n return res.text().then(body => ({ res, body }));\n }\n return { res };\n })\n .then(({res, body}: {res:Response, body?:fhirclient.JsonObject|string}) => {\n\n // Some servers will reply after CREATE with json content type but with\n // empty body. In this case check if a location header is received and\n // fetch that to use it as the final result.\n if (!body && res.status == 201) {\n const location = res.headers.get(\"location\");\n if (location) {\n return request(location, { ...options, method: \"GET\", body: null, includeResponse });\n }\n }\n\n if (includeResponse) {\n return { body, response: res };\n }\n\n // For any non-text and non-json response return the Response object.\n // This to let users decide if they want to call text(), blob() or\n // something else on it\n if (body === undefined) {\n return res;\n }\n\n // Otherwise just return the parsed body (can also be \"\" or null)\n return body;\n });\n}\n\n/**\n * Makes a request using `fetch` and stores the result in internal memory cache.\n * The cache is cleared when the page is unloaded.\n * @param url The URL to request\n * @param requestOptions Request options\n * @param force If true, reload from source and update the cache, even if it has\n * already been cached.\n */\nexport function getAndCache(url: string, requestOptions?: RequestInit, force: boolean = process.env.NODE_ENV === \"test\"): Promise {\n if (force || !cache[url]) {\n cache[url] = request(url, requestOptions);\n return cache[url];\n }\n return Promise.resolve(cache[url]);\n}\n\n/**\n * Fetches the conformance statement from the given base URL.\n * Note that the result is cached in memory (until the page is reloaded in the\n * browser) because it might have to be re-used by the client\n * @param baseUrl The base URL of the FHIR server\n * @param [requestOptions] Any options passed to the fetch call\n */\nexport function fetchConformanceStatement(baseUrl = \"/\", requestOptions?: RequestInit): Promise\n{\n const url = String(baseUrl).replace(/\\/*$/, \"/\") + \"metadata\";\n return getAndCache(url, requestOptions).catch((ex: Error) => {\n throw new Error(\n `Failed to fetch the conformance statement from \"${url}\". ${ex}`\n );\n });\n}\n\n\n/**\n * Walks through an object (or array) and returns the value found at the\n * provided path. This function is very simple so it intentionally does not\n * support any argument polymorphism, meaning that the path can only be a\n * dot-separated string. If the path is invalid returns undefined.\n * @param obj The object (or Array) to walk through\n * @param path The path (eg. \"a.b.4.c\")\n * @returns {*} Whatever is found in the path or undefined\n */\nexport function getPath(obj: Record, path = \"\"): any {\n path = path.trim();\n if (!path) {\n return obj;\n }\n\n let segments = path.split(\".\");\n let result = obj;\n\n while (result && segments.length) {\n const key = segments.shift();\n if (!key && Array.isArray(result)) {\n return result.map(o => getPath(o, segments.join(\".\")));\n } else {\n result = result[key as string];\n }\n }\n\n return result;\n}\n\n/**\n * Like getPath, but if the node is found, its value is set to @value\n * @param obj The object (or Array) to walk through\n * @param path The path (eg. \"a.b.4.c\")\n * @param value The value to set\n * @param createEmpty If true, create missing intermediate objects or arrays\n * @returns The modified object\n */\nexport function setPath(obj: Record, path: string, value: any, createEmpty = false): Record {\n path.trim().split(\".\").reduce(\n (out, key, idx, arr) => {\n if (out && idx === arr.length - 1) {\n out[key] = value;\n }\n else {\n if (out && out[key] === undefined && createEmpty) {\n out[key] = arr[idx + 1].match(/^[0-9]+$/) ? [] : {};\n }\n return out ? out[key] : undefined;\n }\n },\n obj\n );\n return obj;\n}\n\n/**\n * If the argument is an array returns it as is. Otherwise puts it in an array\n * (`[arg]`) and returns the result\n * @param arg The element to test and possibly convert to array\n * @category Utility\n */\nexport function makeArray(arg: any): T[] {\n if (Array.isArray(arg)) {\n return arg;\n }\n return [arg];\n}\n\n/**\n * Given a path, converts it to absolute url based on the `baseUrl`. If baseUrl\n * is not provided, the result would be a rooted path (one that starts with `/`).\n * @param path The path to convert\n * @param baseUrl The base URL\n */\nexport function absolute(path: string, baseUrl?: string): string\n{\n if (path.match(/^http/)) return path;\n if (path.match(/^urn/)) return path;\n return String(baseUrl || \"\").replace(/\\/+$/, \"\") + \"/\" + path.replace(/^\\/+/, \"\");\n}\n\n/**\n * Generates random strings. By default this returns random 8 characters long\n * alphanumeric strings.\n * @param strLength The length of the output string. Defaults to 8.\n * @param charSet A string containing all the possible characters.\n * Defaults to all the upper and lower-case letters plus digits.\n * @category Utility\n */\nexport function randomString(\n strLength = 8,\n charSet = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\"\n): string\n{\n const result = [];\n const len = charSet.length;\n while (strLength--) {\n result.push(charSet.charAt(Math.floor(Math.random() * len)));\n }\n return result.join(\"\");\n}\n\n/**\n * Decodes a JWT token and returns it's body.\n * @param token The token to read\n * @param env An `Adapter` or any other object that has an `atob` method\n * @category Utility\n */\nexport function jwtDecode(token: string, env: fhirclient.Adapter): Record | null\n{\n const payload = token.split(\".\")[1];\n return payload ? JSON.parse(env.atob(payload)) : null;\n}\n\n/**\n * Add a supplied number of seconds to the supplied Date, returning\n * an integer number of seconds since the epoch\n * @param secondsAhead How far ahead, in seconds (defaults to 120 seconds)\n * @param from Initial time (defaults to current time)\n */\nexport function getTimeInFuture(secondsAhead: number = 120, from?: Date | number): number {\n return Math.floor(+(from || new Date()) / 1000 + secondsAhead) \n}\n\n/**\n * Given a token response, computes and returns the expiresAt timestamp.\n * Note that this should only be used immediately after an access token is\n * received, otherwise the computed timestamp will be incorrect.\n * @param tokenResponse \n * @param env \n */\nexport function getAccessTokenExpiration(tokenResponse: fhirclient.TokenResponse, env: fhirclient.Adapter): number\n{\n const now = Math.floor(Date.now() / 1000);\n\n // Option 1 - using the expires_in property of the token response\n if (tokenResponse.expires_in) {\n return now + tokenResponse.expires_in;\n }\n\n // Option 2 - using the exp property of JWT tokens (must not assume JWT!)\n if (tokenResponse.access_token) {\n let tokenBody = jwtDecode(tokenResponse.access_token, env);\n if (tokenBody && tokenBody.exp) {\n return tokenBody.exp;\n }\n }\n\n // Option 3 - if none of the above worked set this to 5 minutes after now\n return now + 300;\n}\n\n/**\n * Groups the observations by code. Returns a map that will look like:\n * ```js\n * const map = client.byCodes(observations, \"code\");\n * // map = {\n * // \"55284-4\": [ observation1, observation2 ],\n * // \"6082-2\": [ observation3 ]\n * // }\n * ```\n * @param observations Array of observations\n * @param property The name of a CodeableConcept property to group by\n */\nexport function byCode(\n observations: fhirclient.FHIR.Observation | fhirclient.FHIR.Observation[],\n property: string\n): fhirclient.ObservationMap\n{\n const ret: fhirclient.ObservationMap = {};\n\n function handleCodeableConcept(concept: fhirclient.FHIR.CodeableConcept, observation: fhirclient.FHIR.Observation) {\n if (concept && Array.isArray(concept.coding)) {\n concept.coding.forEach(({ code }) => {\n if (code) {\n ret[code] = ret[code] || [] as fhirclient.FHIR.Observation[];\n ret[code].push(observation);\n }\n });\n }\n }\n\n makeArray(observations).forEach(o => {\n if (o.resourceType === \"Observation\" && o[property]) {\n if (Array.isArray(o[property])) {\n o[property].forEach((concept: fhirclient.FHIR.CodeableConcept) => handleCodeableConcept(concept, o));\n } else {\n handleCodeableConcept(o[property], o);\n }\n }\n });\n\n return ret;\n}\n\n/**\n * First groups the observations by code using `byCode`. Then returns a function\n * that accepts codes as arguments and will return a flat array of observations\n * having that codes. Example:\n * ```js\n * const filter = client.byCodes(observations, \"category\");\n * filter(\"laboratory\") // => [ observation1, observation2 ]\n * filter(\"vital-signs\") // => [ observation3 ]\n * filter(\"laboratory\", \"vital-signs\") // => [ observation1, observation2, observation3 ]\n * ```\n * @param observations Array of observations\n * @param property The name of a CodeableConcept property to group by\n */\nexport function byCodes(\n observations: fhirclient.FHIR.Observation | fhirclient.FHIR.Observation[],\n property: string\n): (...codes: string[]) => any[]\n{\n const bank = byCode(observations, property);\n return (...codes) => codes\n .filter(code => (code + \"\") in bank)\n .reduce(\n (prev, code) => prev.concat(bank[code + \"\"]),\n [] as fhirclient.FHIR.Observation[]\n );\n}\n\n/**\n * Given a conformance statement and a resource type, returns the name of the\n * URL parameter that can be used to scope the resource type by patient ID.\n */\nexport function getPatientParam(conformance: fhirclient.FHIR.CapabilityStatement, resourceType: string): string\n{\n // Find what resources are supported by this server\n const resources = getPath(conformance, \"rest.0.resource\") || [];\n\n // Check if this resource is supported\n const meta = resources.find((r: any) => r.type === resourceType);\n if (!meta) {\n throw new Error(`Resource \"${resourceType}\" is not supported by this FHIR server`);\n }\n\n // Check if any search parameters are available for this resource\n if (!Array.isArray(meta.searchParam)) {\n throw new Error(`No search parameters supported for \"${resourceType}\" on this FHIR server`);\n }\n\n // This is a rare case but could happen in generic workflows\n if (resourceType == \"Patient\" && meta.searchParam.find((x: any) => x.name == \"_id\")) {\n return \"_id\";\n }\n\n // Now find the first possible parameter name\n const out = patientParams.find(p => meta.searchParam.find((x: any) => x.name == p));\n\n // If there is no match\n if (!out) {\n throw new Error(\"I don't know what param to use for \" + resourceType);\n }\n\n return out;\n}\n\n/**\n * Resolves a reference to target window. It may also open new window or tab if\n * the `target = \"popup\"` or `target = \"_blank\"`.\n * @param target\n * @param width Only used when `target = \"popup\"`\n * @param height Only used when `target = \"popup\"`\n */\nexport async function getTargetWindow(target: fhirclient.WindowTarget, width: number = 800, height: number = 720): Promise\n{\n // The target can be a function that returns the target. This can be\n // used to open a layer pop-up with an iframe and then return a reference\n // to that iframe (or its name)\n if (typeof target == \"function\") {\n target = await target();\n }\n\n // The target can be a window reference\n if (target && typeof target == \"object\") {\n return target;\n }\n\n // At this point target must be a string\n if (typeof target != \"string\") {\n _debug(\"Invalid target type '%s'. Failing back to '_self'.\", typeof target);\n return self;\n }\n\n // Current window\n if (target == \"_self\") {\n return self;\n }\n\n // The parent frame\n if (target == \"_parent\") {\n return parent;\n }\n\n // The top window\n if (target == \"_top\") {\n return top || self;\n }\n\n // New tab or window\n if (target == \"_blank\") {\n let error, targetWindow: Window | null = null;\n try {\n targetWindow = window.open(\"\", \"SMARTAuthPopup\");\n if (!targetWindow) {\n throw new Error(\"Perhaps window.open was blocked\");\n }\n } catch (e) {\n error = e;\n }\n\n if (!targetWindow) {\n _debug(\"Cannot open window. Failing back to '_self'. %s\", error);\n return self;\n } else {\n return targetWindow;\n }\n }\n\n // Popup window\n if (target == \"popup\") {\n let error, targetWindow: Window | null = null;\n // if (!targetWindow || targetWindow.closed) {\n try {\n targetWindow = window.open(\"\", \"SMARTAuthPopup\", [\n \"height=\" + height,\n \"width=\" + width,\n \"menubar=0\",\n \"resizable=1\",\n \"status=0\",\n \"top=\" + (screen.height - height) / 2,\n \"left=\" + (screen.width - width) / 2\n ].join(\",\"));\n if (!targetWindow) {\n throw new Error(\"Perhaps the popup window was blocked\");\n }\n } catch (e) {\n error = e;\n }\n\n if (!targetWindow) {\n _debug(\"Cannot open window. Failing back to '_self'. %s\", error);\n return self;\n } else {\n return targetWindow;\n }\n }\n\n // Frame or window by name\n const winOrFrame: Window = frames[target as any];\n if (winOrFrame) {\n return winOrFrame;\n }\n\n _debug(\"Unknown target '%s'. Failing back to '_self'.\", target);\n return self;\n}\n\nexport function assert(condition: any, message: string): asserts condition {\n if (!(condition)) {\n throw new Error(message)\n }\n}\n\nexport function assertJsonPatch(patch: fhirclient.JsonPatch): asserts patch {\n assert(Array.isArray(patch), \"The JSON patch must be an array\")\n assert(patch.length > 0, \"The JSON patch array should not be empty\")\n patch.forEach((operation: fhirclient.JsonPatchOperation) => {\n assert(\n [\"add\", \"replace\", \"test\", \"move\", \"copy\", \"remove\"].indexOf(operation.op) > -1,\n 'Each patch operation must have an \"op\" property which must be one of: \"add\", \"replace\", \"test\", \"move\", \"copy\", \"remove\"'\n )\n assert(operation.path && typeof operation.path, `Invalid \"${operation.op}\" operation. Missing \"path\" property`)\n \n if (operation.op == \"add\" || operation.op == \"replace\" || operation.op == \"test\") {\n assert(\"value\" in operation, `Invalid \"${operation.op}\" operation. Missing \"value\" property`)\n assert(Object.keys(operation).length == 3, `Invalid \"${operation.op}\" operation. Contains unknown properties`)\n }\n\n else if (operation.op == \"move\" || operation.op == \"copy\") {\n assert(typeof operation.from == \"string\", `Invalid \"${operation.op}\" operation. Requires a string \"from\" property`)\n assert(Object.keys(operation).length == 3, `Invalid \"${operation.op}\" operation. Contains unknown properties`)\n }\n\n else {\n assert(Object.keys(operation).length == 2, `Invalid \"${operation.op}\" operation. Contains unknown properties`)\n }\n })\n}\n","import { encodeURL, fromUint8Array } from \"js-base64\"\nimport { fhirclient } from \"../types\"\n\n\nconst crypto: Crypto = typeof globalThis === \"object\" && globalThis.crypto ?\n globalThis.crypto :\n require(\"isomorphic-webcrypto\").default;\n\nconst subtle = () => {\n if (!crypto.subtle) {\n if (!globalThis.isSecureContext) {\n throw new Error(\n \"Some of the required subtle crypto functionality is not \" +\n \"available unless you run this app in secure context (using \" +\n \"HTTPS or running locally). See \" +\n \"https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts\"\n )\n }\n throw new Error(\n \"Some of the required subtle crypto functionality is not \" +\n \"available in the current environment (no crypto.subtle)\"\n )\n }\n return crypto.subtle\n}\n\n\ninterface PkcePair {\n codeChallenge: string\n codeVerifier: string\n}\n\nconst ALGS = {\n ES384: {\n name: \"ECDSA\",\n namedCurve: \"P-384\"\n } as EcKeyGenParams,\n RS384: {\n name: \"RSASSA-PKCS1-v1_5\",\n modulusLength: 4096,\n publicExponent: new Uint8Array([1, 0, 1]),\n hash: {\n name: 'SHA-384'\n }\n } as RsaHashedKeyGenParams\n};\n\nexport function randomBytes(count: number): Uint8Array {\n return crypto.getRandomValues(new Uint8Array(count));\n}\n\nexport async function digestSha256(payload: string): Promise {\n const prepared = new TextEncoder().encode(payload);\n const hash = await subtle().digest('SHA-256', prepared);\n return new Uint8Array(hash);\n}\n\nexport const generatePKCEChallenge = async (entropy = 96): Promise => {\n const inputBytes = randomBytes(entropy)\n const codeVerifier = fromUint8Array(inputBytes, true)\n const codeChallenge = fromUint8Array(await digestSha256(codeVerifier), true)\n return { codeChallenge, codeVerifier }\n}\n\nexport async function importJWK(jwk: fhirclient.JWK): Promise {\n // alg is optional in JWK but we need it here!\n if (!jwk.alg) {\n throw new Error('The \"alg\" property of the JWK must be set to \"ES384\" or \"RS384\"')\n }\n\n // Use of the \"key_ops\" member is OPTIONAL, unless the application requires its presence.\n // https://www.rfc-editor.org/rfc/rfc7517.html#section-4.3\n // \n // In our case the app will only import private keys so we can assume \"sign\"\n if (!Array.isArray(jwk.key_ops)) {\n jwk.key_ops = [\"sign\"]\n }\n\n // In this case the JWK has a \"key_ops\" array and \"sign\" is not listed\n if (!jwk.key_ops.includes(\"sign\")) {\n throw new Error('The \"key_ops\" property of the JWK does not contain \"sign\"')\n }\n\n try {\n return await subtle().importKey(\n \"jwk\",\n jwk,\n ALGS[jwk.alg],\n jwk.ext === true,\n jwk.key_ops// || ['sign']\n )\n } catch (e) {\n throw new Error(`The ${jwk.alg} is not supported by this browser: ${e}`)\n }\n}\n\nexport async function signCompactJws(alg: keyof typeof ALGS, privateKey: CryptoKey, header: any, payload: any): Promise {\n\n const jwtHeader = JSON.stringify({ ...header, alg });\n const jwtPayload = JSON.stringify(payload);\n const jwtAuthenticatedContent = `${encodeURL(jwtHeader)}.${encodeURL(jwtPayload)}`;\n\n const signature = await subtle().sign(\n { ...privateKey.algorithm, hash: 'SHA-384' },\n privateKey,\n new TextEncoder().encode(jwtAuthenticatedContent)\n );\n\n return `${jwtAuthenticatedContent}.${fromUint8Array(new Uint8Array(signature), true)}`\n}\n","/**\n * Combined list of FHIR resource types accepting patient parameter in FHIR R2-R4\n */\nexport const patientCompartment = [\n \"Account\",\n \"AdverseEvent\",\n \"AllergyIntolerance\",\n \"Appointment\",\n \"AppointmentResponse\",\n \"AuditEvent\",\n \"Basic\",\n \"BodySite\",\n \"BodyStructure\",\n \"CarePlan\",\n \"CareTeam\",\n \"ChargeItem\",\n \"Claim\",\n \"ClaimResponse\",\n \"ClinicalImpression\",\n \"Communication\",\n \"CommunicationRequest\",\n \"Composition\",\n \"Condition\",\n \"Consent\",\n \"Coverage\",\n \"CoverageEligibilityRequest\",\n \"CoverageEligibilityResponse\",\n \"DetectedIssue\",\n \"DeviceRequest\",\n \"DeviceUseRequest\",\n \"DeviceUseStatement\",\n \"DiagnosticOrder\",\n \"DiagnosticReport\",\n \"DocumentManifest\",\n \"DocumentReference\",\n \"EligibilityRequest\",\n \"Encounter\",\n \"EnrollmentRequest\",\n \"EpisodeOfCare\",\n \"ExplanationOfBenefit\",\n \"FamilyMemberHistory\",\n \"Flag\",\n \"Goal\",\n \"Group\",\n \"ImagingManifest\",\n \"ImagingObjectSelection\",\n \"ImagingStudy\",\n \"Immunization\",\n \"ImmunizationEvaluation\",\n \"ImmunizationRecommendation\",\n \"Invoice\",\n \"List\",\n \"MeasureReport\",\n \"Media\",\n \"MedicationAdministration\",\n \"MedicationDispense\",\n \"MedicationOrder\",\n \"MedicationRequest\",\n \"MedicationStatement\",\n \"MolecularSequence\",\n \"NutritionOrder\",\n \"Observation\",\n \"Order\",\n \"Patient\",\n \"Person\",\n \"Procedure\",\n \"ProcedureRequest\",\n \"Provenance\",\n \"QuestionnaireResponse\",\n \"ReferralRequest\",\n \"RelatedPerson\",\n \"RequestGroup\",\n \"ResearchSubject\",\n \"RiskAssessment\",\n \"Schedule\",\n \"ServiceRequest\",\n \"Specimen\",\n \"SupplyDelivery\",\n \"SupplyRequest\",\n \"VisionPrescription\"\n];\n\n/**\n * Map of FHIR releases and their abstract version as number\n */\nexport const fhirVersions = {\n \"0.4.0\": 2,\n \"0.5.0\": 2,\n \"1.0.0\": 2,\n \"1.0.1\": 2,\n \"1.0.2\": 2,\n \"1.1.0\": 3,\n \"1.4.0\": 3,\n \"1.6.0\": 3,\n \"1.8.0\": 3,\n \"3.0.0\": 3,\n \"3.0.1\": 3,\n \"3.3.0\": 4,\n \"3.5.0\": 4,\n \"4.0.0\": 4,\n \"4.0.1\": 4\n};\n\n/**\n * Combined (FHIR R2-R4) list of search parameters that can be used to scope\n * a request by patient ID.\n */\nexport const patientParams = [\n \"patient\",\n \"subject\",\n \"requester\",\n \"member\",\n \"actor\",\n \"beneficiary\"\n];\n\n/**\n * The name of the sessionStorage entry that contains the current key\n */\nexport const SMART_KEY = \"SMART_KEY\";\n","/* global window */\nimport {\n debug as _debug,\n request,\n getPath,\n getTimeInFuture,\n randomString,\n getAndCache,\n fetchConformanceStatement,\n getAccessTokenExpiration,\n getTargetWindow,\n assert\n} from \"./lib\";\nimport Client from \"./Client\";\nimport { SMART_KEY } from \"./settings\";\nimport { fhirclient } from \"./types\";\n\nconst debug = _debug.extend(\"oauth2\");\n\nexport { SMART_KEY as KEY };\n\nfunction isBrowser() {\n return typeof window === \"object\";\n}\n\n/**\n * Fetches the well-known json file from the given base URL.\n * Note that the result is cached in memory (until the page is reloaded in the\n * browser) because it might have to be re-used by the client\n * @param baseUrl The base URL of the FHIR server\n */\nexport function fetchWellKnownJson(baseUrl = \"/\", requestOptions?: RequestInit): Promise\n{\n const url = String(baseUrl).replace(/\\/*$/, \"/\") + \".well-known/smart-configuration\";\n return getAndCache(url, requestOptions).catch((ex: Error) => {\n throw new Error(`Failed to fetch the well-known json \"${url}\". ${ex.message}`);\n });\n}\n\n/**\n * Fetch a \"WellKnownJson\" and extract the SMART endpoints from it\n */\nfunction getSecurityExtensionsFromWellKnownJson(baseUrl = \"/\", requestOptions?: RequestInit): Promise\n{\n return fetchWellKnownJson(baseUrl, requestOptions).then(meta => {\n if (!meta.authorization_endpoint || !meta.token_endpoint) {\n throw new Error(\"Invalid wellKnownJson\");\n }\n return {\n registrationUri : meta.registration_endpoint || \"\",\n authorizeUri : meta.authorization_endpoint,\n tokenUri : meta.token_endpoint,\n codeChallengeMethods: meta.code_challenge_methods_supported || []\n };\n });\n}\n\n/**\n * Fetch a `CapabilityStatement` and extract the SMART endpoints from it\n */\nfunction getSecurityExtensionsFromConformanceStatement(baseUrl = \"/\", requestOptions?: RequestInit): Promise\n{\n return fetchConformanceStatement(baseUrl, requestOptions).then(meta => {\n const nsUri = \"http://fhir-registry.smarthealthit.org/StructureDefinition/oauth-uris\";\n const extensions = ((getPath(meta || {}, \"rest.0.security.extension\") || []) as Array>)\n .filter(e => e.url === nsUri)\n .map(o => o.extension)[0];\n\n const out:fhirclient.OAuthSecurityExtensions = {\n registrationUri : \"\",\n authorizeUri : \"\",\n tokenUri : \"\",\n codeChallengeMethods: [],\n };\n\n if (extensions) {\n extensions.forEach(ext => {\n if (ext.url === \"register\") {\n out.registrationUri = ext.valueUri;\n }\n if (ext.url === \"authorize\") {\n out.authorizeUri = ext.valueUri;\n }\n if (ext.url === \"token\") {\n out.tokenUri = ext.valueUri;\n }\n });\n }\n\n return out;\n });\n}\n\n\n/**\n * Given a FHIR server, returns an object with it's Oauth security endpoints\n * that we are interested in. This will try to find the info in both the\n * `CapabilityStatement` and the `.well-known/smart-configuration`. Whatever\n * Arrives first will be used and the other request will be aborted.\n * @param [baseUrl = \"/\"] Fhir server base URL\n */\nexport function getSecurityExtensions(baseUrl = \"/\"): Promise\n{\n return getSecurityExtensionsFromWellKnownJson(baseUrl)\n .catch(() => getSecurityExtensionsFromConformanceStatement(baseUrl));\n}\n\n/**\n * Starts the SMART Launch Sequence.\n * > **IMPORTANT**:\n * `authorize()` will end up redirecting you to the authorization server.\n * This means that you should not add anything to the returned promise chain.\n * Any code written directly after the authorize() call might not be executed\n * due to that redirect!\n * @param env\n * @param [params]\n */\nexport async function authorize(\n env: fhirclient.Adapter,\n params: fhirclient.AuthorizeParams | fhirclient.AuthorizeParams[] = {}\n): Promise\n{\n const url = env.getUrl();\n\n // Multiple config for EHR launches ---------------------------------------\n if (Array.isArray(params)) {\n const urlISS = url.searchParams.get(\"iss\") || url.searchParams.get(\"fhirServiceUrl\");\n if (!urlISS) {\n throw new Error(\n 'Passing in an \"iss\" url parameter is required if authorize ' +\n 'uses multiple configurations'\n );\n }\n // pick the right config\n const cfg = params.find(x => {\n if (x.issMatch) {\n if (typeof x.issMatch === \"function\") {\n return !!x.issMatch(urlISS);\n }\n if (typeof x.issMatch === \"string\") {\n return x.issMatch === urlISS;\n }\n if (x.issMatch instanceof RegExp) {\n return x.issMatch.test(urlISS);\n }\n }\n return false;\n });\n assert(cfg, `No configuration found matching the current \"iss\" parameter \"${urlISS}\"`);\n return await authorize(env, cfg);\n }\n // ------------------------------------------------------------------------\n\n // Obtain input\n const {\n clientSecret,\n fakeTokenResponse,\n encounterId,\n target,\n width,\n height,\n pkceMode,\n clientPublicKeySetUrl,\n // Two deprecated values to use as fall-back values later\n redirect_uri,\n client_id,\n } = params;\n \n let {\n iss,\n launch,\n patientId,\n fhirServiceUrl,\n redirectUri,\n noRedirect,\n scope = \"\",\n clientId,\n completeInTarget,\n clientPrivateJwk,\n stateKey\n } = params;\n\n const storage = env.getStorage();\n\n // For these, a url param takes precedence over inline option\n iss = url.searchParams.get(\"iss\") || iss;\n fhirServiceUrl = url.searchParams.get(\"fhirServiceUrl\") || fhirServiceUrl;\n launch = url.searchParams.get(\"launch\") || launch;\n patientId = url.searchParams.get(\"patientId\") || patientId;\n clientId = url.searchParams.get(\"clientId\") || clientId;\n\n // If there's still no clientId or redirectUri, check deprecated params \n if (!clientId) {\n clientId = client_id;\n }\n if (!redirectUri) {\n redirectUri = redirect_uri;\n }\n\n if (!redirectUri) {\n redirectUri = env.relative(\".\");\n } else if (!redirectUri.match(/^https?\\:\\/\\//)) {\n redirectUri = env.relative(redirectUri);\n }\n\n const serverUrl = String(iss || fhirServiceUrl || \"\");\n\n // Validate input\n if (!serverUrl) {\n throw new Error(\n \"No server url found. It must be specified as `iss` or as \" +\n \"`fhirServiceUrl` parameter\"\n );\n }\n\n if (iss) {\n debug(\"Making %s launch...\", launch ? \"EHR\" : \"standalone\");\n }\n\n // append launch scope if needed\n if (launch && !scope.match(/launch/)) {\n scope += \" launch\";\n }\n\n if (isBrowser()) {\n const inFrame = isInFrame();\n const inPopUp = isInPopUp();\n\n if ((inFrame || inPopUp) && completeInTarget !== true && completeInTarget !== false) {\n \n // completeInTarget will default to true if authorize is called from\n // within an iframe. This is to avoid issues when the entire app\n // happens to be rendered in an iframe (including in some EHRs),\n // even though that was not how the app developer's intention.\n completeInTarget = inFrame;\n\n // In this case we can't always make the best decision so ask devs\n // to be explicit in their configuration.\n console.warn(\n 'Your app is being authorized from within an iframe or popup ' +\n 'window. Please be explicit and provide a \"completeInTarget\" ' +\n 'option. Use \"true\" to complete the authorization in the ' +\n 'same window, or \"false\" to try to complete it in the parent ' +\n 'or the opener window. See http://docs.smarthealthit.org/client-js/api.html'\n );\n }\n }\n\n // If `authorize` is called, make sure we clear any previous state (in case\n // this is a re-authorize)\n const oldKey = await storage.get(SMART_KEY);\n await storage.unset(oldKey);\n\n stateKey = stateKey ?? randomString(16);\n\n // Create initial state\n const state: fhirclient.ClientState = {\n clientId,\n scope,\n redirectUri,\n serverUrl,\n clientSecret,\n clientPrivateJwk,\n tokenResponse: {},\n key: stateKey,\n completeInTarget,\n clientPublicKeySetUrl\n };\n\n const fullSessionStorageSupport = isBrowser() ?\n getPath(env, \"options.fullSessionStorageSupport\") :\n true;\n\n if (fullSessionStorageSupport) {\n await storage.set(SMART_KEY, stateKey);\n }\n\n // fakeTokenResponse to override stuff (useful in development)\n if (fakeTokenResponse) {\n Object.assign(state.tokenResponse!, fakeTokenResponse);\n }\n\n // Fixed patientId (useful in development)\n if (patientId) {\n Object.assign(state.tokenResponse!, { patient: patientId });\n }\n\n // Fixed encounterId (useful in development)\n if (encounterId) {\n Object.assign(state.tokenResponse!, { encounter: encounterId });\n }\n\n let redirectUrl = redirectUri + \"?state=\" + encodeURIComponent(stateKey);\n\n // bypass oauth if fhirServiceUrl is used (but iss takes precedence)\n if (fhirServiceUrl && !iss) {\n debug(\"Making fake launch...\");\n await storage.set(stateKey, state);\n if (noRedirect) {\n return redirectUrl;\n }\n return await env.redirect(redirectUrl);\n }\n\n // Get oauth endpoints and add them to the state\n const extensions = await getSecurityExtensions(serverUrl);\n Object.assign(state, extensions);\n await storage.set(stateKey, state);\n\n // If this happens to be an open server and there is no authorizeUri\n if (!state.authorizeUri) {\n if (noRedirect) {\n return redirectUrl;\n }\n return await env.redirect(redirectUrl);\n }\n\n // build the redirect uri\n const redirectParams = [\n \"response_type=code\",\n \"client_id=\" + encodeURIComponent(clientId || \"\"),\n \"scope=\" + encodeURIComponent(scope),\n \"redirect_uri=\" + encodeURIComponent(redirectUri),\n \"aud=\" + encodeURIComponent(serverUrl),\n \"state=\" + encodeURIComponent(stateKey)\n ];\n\n // also pass this in case of EHR launch\n if (launch) {\n redirectParams.push(\"launch=\" + encodeURIComponent(launch));\n }\n\n if (shouldIncludeChallenge(extensions.codeChallengeMethods.includes('S256'), pkceMode)) {\n let codes = await env.security.generatePKCEChallenge()\n Object.assign(state, codes);\n await storage.set(stateKey, state);\n redirectParams.push(\"code_challenge=\" + state.codeChallenge);// note that the challenge is ALREADY encoded properly\n redirectParams.push(\"code_challenge_method=S256\");\n }\n \n redirectUrl = state.authorizeUri + \"?\" + redirectParams.join(\"&\");\n\n if (noRedirect) {\n return redirectUrl;\n }\n\n if (target && isBrowser()) {\n let win: Window;\n\n win = await getTargetWindow(target, width, height);\n\n if (win !== self) {\n try {\n // Also remove any old state from the target window and then\n // transfer the current state there\n win.sessionStorage.removeItem(oldKey);\n win.sessionStorage.setItem(stateKey, JSON.stringify(state));\n } catch (ex) {\n _debug(`Failed to modify window.sessionStorage. Perhaps it is from different origin?. Failing back to \"_self\". %s`, ex);\n win = self;\n }\n }\n\n if (win !== self) {\n try {\n win.location.href = redirectUrl;\n self.addEventListener(\"message\", onMessage);\n } catch (ex) {\n _debug(`Failed to modify window.location. Perhaps it is from different origin?. Failing back to \"_self\". %s`, ex);\n self.location.href = redirectUrl;\n }\n } else {\n self.location.href = redirectUrl;\n }\n\n return;\n }\n else {\n return await env.redirect(redirectUrl);\n }\n}\n\nfunction shouldIncludeChallenge(S256supported: boolean, pkceMode?: string) {\n if (pkceMode === \"disabled\") {\n return false;\n }\n if (pkceMode === \"unsafeV1\") {\n return true;\n }\n if (pkceMode === \"required\") {\n if (!S256supported) {\n throw new Error(\"Required PKCE code challenge method (`S256`) was not found in the server's codeChallengeMethods declaration.\");\n }\n return true;\n }\n return S256supported;\n}\n\n/**\n * Checks if called within a frame. Only works in browsers!\n * If the current window has a `parent` or `top` properties that refer to\n * another window, returns true. If trying to access `top` or `parent` throws an\n * error, returns true. Otherwise returns `false`.\n */\nexport function isInFrame() {\n try {\n return self !== top && parent !== self;\n } catch (e) {\n return true;\n }\n}\n\n/**\n * Checks if called within another window (popup or tab). Only works in browsers!\n * To consider itself called in a new window, this function verifies that:\n * 1. `self === top` (not in frame)\n * 2. `!!opener && opener !== self` The window has an opener\n * 3. `!!window.name` The window has a `name` set\n */\nexport function isInPopUp() {\n try {\n return self === top &&\n !!opener &&\n opener !== self &&\n !!window.name;\n } catch (e) {\n return false;\n }\n}\n\n/**\n * Another window can send a \"completeAuth\" message to this one, making it to\n * navigate to e.data.url\n * @param e The message event\n */\nexport function onMessage(e: MessageEvent) {\n if (e.data.type == \"completeAuth\" && e.origin === new URL(self.location.href).origin) {\n window.removeEventListener(\"message\", onMessage);\n window.location.href = e.data.url;\n }\n}\n\n/**\n * The ready function should only be called on the page that represents\n * the redirectUri. We typically land there after a redirect from the\n * authorization server, but this code will also be executed upon subsequent\n * navigation or page refresh.\n */\nexport async function ready(env: fhirclient.Adapter, options: fhirclient.ReadyOptions = {}): Promise\n{\n const url = env.getUrl();\n const Storage = env.getStorage();\n const params = url.searchParams;\n\n let key = params.get(\"state\");\n const code = params.get(\"code\");\n const authError = params.get(\"error\");\n const authErrorDescription = params.get(\"error_description\");\n\n if (!key) {\n key = await Storage.get(SMART_KEY);\n }\n\n // Start by checking the url for `error` and `error_description` parameters.\n // This happens when the auth server rejects our authorization attempt. In\n // this case it has no other way to tell us what the error was, other than\n // appending these parameters to the redirect url.\n // From client's point of view, this is not very reliable (because we can't\n // know how we have landed on this page - was it a redirect or was it loaded\n // manually). However, if `ready()` is being called, we can assume\n // that the url comes from the auth server (otherwise the app won't work\n // anyway).\n if (authError || authErrorDescription) {\n throw new Error([\n authError,\n authErrorDescription\n ].filter(Boolean).join(\": \"));\n }\n\n debug(\"key: %s, code: %s\", key, code);\n\n // key might be coming from the page url so it might be empty or missing\n assert(key, \"No 'state' parameter found. Please (re)launch the app.\");\n\n // Check if we have a previous state\n let state = (await Storage.get(key)) as fhirclient.ClientState;\n\n const fullSessionStorageSupport = isBrowser() ?\n getPath(env, \"options.fullSessionStorageSupport\") :\n true;\n\n // If we are in a popup window or an iframe and the authorization is\n // complete, send the location back to our opener and exit.\n if (isBrowser() && state && !state.completeInTarget) {\n\n const inFrame = isInFrame();\n const inPopUp = isInPopUp();\n\n // we are about to return to the opener/parent where completeAuth will\n // be called again. In rare cases the opener or parent might also be\n // a frame or popup. Then inFrame or inPopUp will be true but we still\n // have to stop going up the chain. To guard against that weird form of\n // recursion we pass one additional parameter to the url which we later\n // remove.\n if ((inFrame || inPopUp) && !url.searchParams.get(\"complete\")) {\n url.searchParams.set(\"complete\", \"1\");\n const { href, origin } = url;\n if (inFrame) {\n parent.postMessage({ type: \"completeAuth\", url: href }, origin);\n }\n if (inPopUp) {\n opener.postMessage({ type: \"completeAuth\", url: href }, origin);\n window.close();\n }\n\n return new Promise(() => { /* leave it pending!!! */ });\n }\n }\n\n url.searchParams.delete(\"complete\");\n\n // Do we have to remove the `code` and `state` params from the URL?\n const hasState = params.has(\"state\");\n\n if (isBrowser() && getPath(env, \"options.replaceBrowserHistory\") && (code || hasState)) {\n // `code` is the flag that tell us to request an access token.\n // We have to remove it, otherwise the page will authorize on\n // every load!\n if (code) {\n params.delete(\"code\");\n debug(\"Removed code parameter from the url.\");\n }\n\n // If we have `fullSessionStorageSupport` it means we no longer\n // need the `state` key. It will be stored to a well know\n // location - sessionStorage[SMART_KEY]. However, no\n // fullSessionStorageSupport means that this \"well know location\"\n // might be shared between windows and tabs. In this case we\n // MUST keep the `state` url parameter.\n if (hasState && fullSessionStorageSupport) {\n params.delete(\"state\");\n debug(\"Removed state parameter from the url.\");\n }\n\n // If the browser does not support the replaceState method for the\n // History Web API, the \"code\" parameter cannot be removed. As a\n // consequence, the page will (re)authorize on every load. The\n // workaround is to reload the page to new location without those\n // parameters. If that is not acceptable replaceBrowserHistory\n // should be set to false.\n if (window.history.replaceState) {\n window.history.replaceState({}, \"\", url.href);\n }\n }\n\n // If the state does not exist, it means the page has been loaded directly.\n assert(state, \"No state found! Please (re)launch the app.\");\n\n // Assume the client has already completed a token exchange when\n // there is no code (but we have a state) or access token is found in state\n const authorized = !code || state.tokenResponse?.access_token;\n\n // If we are authorized already, then this is just a reload.\n // Otherwise, we have to complete the code flow\n if (!authorized && state.tokenUri) {\n\n assert(code, \"'code' url parameter is required\");\n\n debug(\"Preparing to exchange the code for access token...\");\n const requestOptions = await buildTokenRequest(env, {\n code,\n state,\n clientPublicKeySetUrl: options.clientPublicKeySetUrl,\n privateKey: options.privateKey || state.clientPrivateJwk\n });\n debug(\"Token request options: %O\", requestOptions);\n\n // The EHR authorization server SHALL return a JSON structure that\n // includes an access token or a message indicating that the\n // authorization request has been denied.\n const tokenResponse = await request(state.tokenUri, requestOptions);\n debug(\"Token response: %O\", tokenResponse);\n assert(tokenResponse.access_token, \"Failed to obtain access token.\");\n\n // Now we need to determine when is this authorization going to expire\n state.expiresAt = getAccessTokenExpiration(tokenResponse, env);\n\n // save the tokenResponse so that we don't have to re-authorize on\n // every page reload\n state = { ...state, tokenResponse };\n await Storage.set(key, state);\n debug(\"Authorization successful!\");\n }\n else {\n debug(state.tokenResponse?.access_token ?\n \"Already authorized\" :\n \"No authorization needed\"\n );\n }\n\n if (fullSessionStorageSupport) {\n await Storage.set(SMART_KEY, key);\n }\n\n const client = new Client(env, state);\n debug(\"Created client instance: %O\", client);\n return client;\n}\n\n/**\n * Builds the token request options. Does not make the request, just\n * creates it's configuration and returns it in a Promise.\n */\nexport async function buildTokenRequest(\n env: fhirclient.Adapter,\n {\n code,\n state,\n clientPublicKeySetUrl,\n privateKey\n }: {\n /**\n * The `code` URL parameter received from the auth redirect\n */\n code: string,\n \n /**\n * The app state\n */\n state: fhirclient.ClientState\n\n /**\n * If provided overrides the `clientPublicKeySetUrl` from the authorize\n * options (if any). Used for `jku` token header in case of asymmetric auth.\n */\n clientPublicKeySetUrl?: string\n\n /**\n * Can be a private JWK, or an object with alg, kid and key properties,\n * where `key` is an un-extractable private CryptoKey object.\n */\n privateKey?: fhirclient.JWK | {\n key: CryptoKey\n alg: \"RS384\" | \"ES384\"\n kid: string\n }\n }\n): Promise\n{\n const { redirectUri, clientSecret, tokenUri, clientId, codeVerifier } = state;\n\n assert(redirectUri, \"Missing state.redirectUri\");\n assert(tokenUri, \"Missing state.tokenUri\");\n assert(clientId, \"Missing state.clientId\");\n\n const requestOptions: Record = {\n method: \"POST\",\n headers: { \"content-type\": \"application/x-www-form-urlencoded\" },\n body: `code=${code}&grant_type=authorization_code&redirect_uri=${\n encodeURIComponent(redirectUri)}`\n };\n\n // For public apps, authentication is not possible (and thus not required),\n // since a client with no secret cannot prove its identity when it issues a\n // call. (The end-to-end system can still be secure because the client comes\n // from a known, https protected endpoint specified and enforced by the\n // redirect uri.) For confidential apps, an Authorization header using HTTP\n // Basic authentication is required, where the username is the app’s\n // client_id and the password is the app’s client_secret (see example).\n if (clientSecret) {\n requestOptions.headers.authorization = \"Basic \" + env.btoa(\n clientId + \":\" + clientSecret\n );\n debug(\n \"Using state.clientSecret to construct the authorization header: %s\",\n requestOptions.headers.authorization\n );\n }\n \n // Asymmetric auth\n else if (privateKey) {\n\n const pk = \"key\" in privateKey ?\n privateKey.key as CryptoKey:\n await env.security.importJWK(privateKey as fhirclient.JWK)\n\n const jwtHeaders = {\n typ: \"JWT\",\n kid: privateKey.kid,\n jku: clientPublicKeySetUrl || state.clientPublicKeySetUrl\n };\n\n const jwtClaims = {\n iss: clientId,\n sub: clientId,\n aud: tokenUri,\n jti: env.base64urlencode(env.security.randomBytes(32)),\n exp: getTimeInFuture(120) // two minutes in the future\n };\n \n const clientAssertion = await env.security.signCompactJws(privateKey.alg, pk, jwtHeaders, jwtClaims);\n requestOptions.body += `&client_assertion_type=${encodeURIComponent(\"urn:ietf:params:oauth:client-assertion-type:jwt-bearer\")}`;\n requestOptions.body += `&client_assertion=${encodeURIComponent(clientAssertion)}`;\n debug(\"Using state.clientPrivateJwk to add a client_assertion to the POST body\")\n }\n \n // Public client\n else {\n debug(\"Public client detected; adding state.clientId to the POST body\");\n requestOptions.body += `&client_id=${encodeURIComponent(clientId)}`;\n }\n\n if (codeVerifier) {\n debug(\"Found state.codeVerifier, adding to the POST body\")\n // Note that the codeVerifier is ALREADY encoded properly \n requestOptions.body += \"&code_verifier=\" + codeVerifier;\n }\n \n return requestOptions as RequestInit;\n}\n\n/**\n * This function can be used when you want to handle everything in one page\n * (no launch endpoint needed). You can think of it as if it does:\n * ```js\n * authorize(options).then(ready)\n * ```\n *\n * **Be careful with init()!** There are some details you need to be aware of:\n *\n * 1. It will only work if your launch_uri is the same as your redirect_uri.\n * While this should be valid, we can’t promise that every EHR will allow you\n * to register client with such settings.\n * 2. Internally, `init()` will be called twice. First it will redirect to the\n * EHR, then the EHR will redirect back to the page where init() will be\n * called again to complete the authorization. This is generally fine,\n * because the returned promise will only be resolved once, after the second\n * execution, but please also consider the following:\n * - You should wrap all your app’s code in a function that is only executed\n * after `init()` resolves!\n * - Since the page will be loaded twice, you must be careful if your code\n * has global side effects that can persist between page reloads\n * (for example writing to localStorage).\n * 3. For standalone launch, only use init in combination with offline_access\n * scope. Once the access_token expires, if you don’t have a refresh_token\n * there is no way to re-authorize properly. We detect that and delete the\n * expired access token, but it still means that the user will have to\n * refresh the page twice to re-authorize.\n * @param env The adapter\n * @param authorizeOptions The authorize options\n */\nexport async function init(\n env: fhirclient.Adapter,\n authorizeOptions: fhirclient.AuthorizeParams,\n readyOptions?: fhirclient.ReadyOptions\n): Promise\n{\n const url = env.getUrl();\n const code = url.searchParams.get(\"code\");\n const state = url.searchParams.get(\"state\");\n\n // if `code` and `state` params are present we need to complete the auth flow\n if (code && state) {\n return ready(env, readyOptions);\n }\n\n // Check for existing client state. If state is found, it means a client\n // instance have already been created in this session and we should try to\n // \"revive\" it.\n const storage = env.getStorage();\n const key = state || await storage.get(SMART_KEY);\n const cached = await storage.get(key);\n if (cached) {\n return new Client(env, cached);\n }\n\n // Otherwise try to launch\n return authorize(env, authorizeOptions).then(() => {\n // `init` promises a Client but that cannot happen in this case. The\n // browser will be redirected (unload the page and be redirected back\n // to it later and the same init function will be called again). On\n // success, authorize will resolve with the redirect url but we don't\n // want to return that from this promise chain because it is not a\n // Client instance. At the same time, if authorize fails, we do want to\n // pass the error to those waiting for a client instance.\n return new Promise(() => { /* leave it pending!!! */ });\n });\n}\n","export default class Storage\n{\n /**\n * Gets the value at `key`. Returns a promise that will be resolved\n * with that value (or undefined for missing keys).\n */\n async get(key: string): Promise\n {\n const value = sessionStorage[key];\n if (value) {\n return JSON.parse(value);\n }\n return null;\n }\n\n /**\n * Sets the `value` on `key` and returns a promise that will be resolved\n * with the value that was set.\n */\n async set(key: string, value: any): Promise\n {\n sessionStorage[key] = JSON.stringify(value);\n return value;\n }\n\n /**\n * Deletes the value at `key`. Returns a promise that will be resolved\n * with true if the key was deleted or with false if it was not (eg. if\n * did not exist).\n */\n async unset(key: string): Promise\n {\n if (key in sessionStorage) {\n delete sessionStorage[key];\n return true;\n }\n return false;\n }\n\n}\n","// This map contains reusable debug messages (only those used in multiple places)\nexport default {\n expired : \"Session expired! Please re-launch the app\",\n noScopeForId : \"Trying to get the ID of the selected %s. Please add 'launch' or 'launch/%s' to the requested scopes and try again.\",\n noIfNoAuth : \"You are trying to get %s but the app is not authorized yet.\",\n noFreeContext: \"Please don't use open fhir servers if you need to access launch context items like the %S.\"\n};\n","var global = typeof self !== 'undefined' ? self : this;\nvar __self__ = (function () {\nfunction F() {\nthis.fetch = false;\nthis.DOMException = global.DOMException\n}\nF.prototype = global;\nreturn new F();\n})();\n(function(self) {\n\nvar irrelevant = (function (exports) {\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob:\n 'FileReader' in self &&\n 'Blob' in self &&\n (function() {\n try {\n new Blob();\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n };\n\n function isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ];\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n };\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name);\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value);\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift();\n return {done: value === undefined, value: value}\n }\n };\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n };\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {};\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value);\n }, this);\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1]);\n }, this);\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name]);\n }, this);\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name);\n value = normalizeValue(value);\n var oldValue = this.map[name];\n this.map[name] = oldValue ? oldValue + ', ' + value : value;\n };\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)];\n };\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name);\n return this.has(name) ? this.map[name] : null\n };\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n };\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value);\n };\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this);\n }\n }\n };\n\n Headers.prototype.keys = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push(name);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.values = function() {\n var items = [];\n this.forEach(function(value) {\n items.push(value);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.entries = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push([name, value]);\n });\n return iteratorFor(items)\n };\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries;\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true;\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result);\n };\n reader.onerror = function() {\n reject(reader.error);\n };\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsArrayBuffer(blob);\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsText(blob);\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf);\n var chars = new Array(view.length);\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i]);\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength);\n view.set(new Uint8Array(buf));\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false;\n\n this._initBody = function(body) {\n this._bodyInit = body;\n if (!body) {\n this._bodyText = '';\n } else if (typeof body === 'string') {\n this._bodyText = body;\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body;\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body;\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString();\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer);\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer]);\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body);\n } else {\n this._bodyText = body = Object.prototype.toString.call(body);\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8');\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type);\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n }\n };\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n };\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n };\n }\n\n this.text = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n };\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n };\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n };\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'];\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase();\n return methods.indexOf(upcased) > -1 ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {};\n var body = options.body;\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url;\n this.credentials = input.credentials;\n if (!options.headers) {\n this.headers = new Headers(input.headers);\n }\n this.method = input.method;\n this.mode = input.mode;\n this.signal = input.signal;\n if (!body && input._bodyInit != null) {\n body = input._bodyInit;\n input.bodyUsed = true;\n }\n } else {\n this.url = String(input);\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin';\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers);\n }\n this.method = normalizeMethod(options.method || this.method || 'GET');\n this.mode = options.mode || this.mode || null;\n this.signal = options.signal || this.signal;\n this.referrer = null;\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body);\n }\n\n Request.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n };\n\n function decode(body) {\n var form = new FormData();\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=');\n var name = split.shift().replace(/\\+/g, ' ');\n var value = split.join('=').replace(/\\+/g, ' ');\n form.append(decodeURIComponent(name), decodeURIComponent(value));\n }\n });\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers();\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ');\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':');\n var key = parts.shift().trim();\n if (key) {\n var value = parts.join(':').trim();\n headers.append(key, value);\n }\n });\n return headers\n }\n\n Body.call(Request.prototype);\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {};\n }\n\n this.type = 'default';\n this.status = options.status === undefined ? 200 : options.status;\n this.ok = this.status >= 200 && this.status < 300;\n this.statusText = 'statusText' in options ? options.statusText : 'OK';\n this.headers = new Headers(options.headers);\n this.url = options.url || '';\n this._initBody(bodyInit);\n }\n\n Body.call(Response.prototype);\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n };\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''});\n response.type = 'error';\n return response\n };\n\n var redirectStatuses = [301, 302, 303, 307, 308];\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n };\n\n exports.DOMException = self.DOMException;\n try {\n new exports.DOMException();\n } catch (err) {\n exports.DOMException = function(message, name) {\n this.message = message;\n this.name = name;\n var error = Error(message);\n this.stack = error.stack;\n };\n exports.DOMException.prototype = Object.create(Error.prototype);\n exports.DOMException.prototype.constructor = exports.DOMException;\n }\n\n function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init);\n\n if (request.signal && request.signal.aborted) {\n return reject(new exports.DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest();\n\n function abortXhr() {\n xhr.abort();\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n };\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');\n var body = 'response' in xhr ? xhr.response : xhr.responseText;\n resolve(new Response(body, options));\n };\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.onabort = function() {\n reject(new exports.DOMException('Aborted', 'AbortError'));\n };\n\n xhr.open(request.method, request.url, true);\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true;\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false;\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob';\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value);\n });\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr);\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr);\n }\n };\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);\n })\n }\n\n fetch.polyfill = true;\n\n if (!self.fetch) {\n self.fetch = fetch;\n self.Headers = Headers;\n self.Request = Request;\n self.Response = Response;\n }\n\n exports.Headers = Headers;\n exports.Request = Request;\n exports.Response = Response;\n exports.fetch = fetch;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n return exports;\n\n})({});\n})(__self__);\n__self__.fetch.ponyfill = true;\n// Remove \"polyfill\" property added by whatwg-fetch\ndelete __self__.fetch.polyfill;\n// Choose between native implementation (global) or custom implementation (__self__)\n// var ctx = global.fetch ? global : __self__;\nvar ctx = __self__; // this line disable service worker support temporarily\nexports = ctx.fetch // To enable: import fetch from 'cross-fetch'\nexports.default = ctx.fetch // For TypeScript consumers without esModuleInterop.\nexports.fetch = ctx.fetch // To enable: import {fetch} from 'cross-fetch'\nexports.Headers = ctx.Headers\nexports.Request = ctx.Request\nexports.Response = ctx.Response\nmodule.exports = exports\n","//\n// THIS FILE IS AUTOMATICALLY GENERATED! DO NOT EDIT BY HAND!\n//\n;\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n ? module.exports = factory()\n : typeof define === 'function' && define.amd\n ? define(factory) :\n // cf. https://github.com/dankogai/js-base64/issues/119\n (function () {\n // existing version for noConflict()\n var _Base64 = global.Base64;\n var gBase64 = factory();\n gBase64.noConflict = function () {\n global.Base64 = _Base64;\n return gBase64;\n };\n if (global.Meteor) { // Meteor.js\n Base64 = gBase64;\n }\n global.Base64 = gBase64;\n })();\n}((typeof self !== 'undefined' ? self\n : typeof window !== 'undefined' ? window\n : typeof global !== 'undefined' ? global\n : this), function () {\n 'use strict';\n /**\n * base64.ts\n *\n * Licensed under the BSD 3-Clause License.\n * http://opensource.org/licenses/BSD-3-Clause\n *\n * References:\n * http://en.wikipedia.org/wiki/Base64\n *\n * @author Dan Kogai (https://github.com/dankogai)\n */\n var version = '3.7.7';\n /**\n * @deprecated use lowercase `version`.\n */\n var VERSION = version;\n var _hasBuffer = typeof Buffer === 'function';\n var _TD = typeof TextDecoder === 'function' ? new TextDecoder() : undefined;\n var _TE = typeof TextEncoder === 'function' ? new TextEncoder() : undefined;\n var b64ch = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n var b64chs = Array.prototype.slice.call(b64ch);\n var b64tab = (function (a) {\n var tab = {};\n a.forEach(function (c, i) { return tab[c] = i; });\n return tab;\n })(b64chs);\n var b64re = /^(?:[A-Za-z\\d+\\/]{4})*?(?:[A-Za-z\\d+\\/]{2}(?:==)?|[A-Za-z\\d+\\/]{3}=?)?$/;\n var _fromCC = String.fromCharCode.bind(String);\n var _U8Afrom = typeof Uint8Array.from === 'function'\n ? Uint8Array.from.bind(Uint8Array)\n : function (it) { return new Uint8Array(Array.prototype.slice.call(it, 0)); };\n var _mkUriSafe = function (src) { return src\n .replace(/=/g, '').replace(/[+\\/]/g, function (m0) { return m0 == '+' ? '-' : '_'; }); };\n var _tidyB64 = function (s) { return s.replace(/[^A-Za-z0-9\\+\\/]/g, ''); };\n /**\n * polyfill version of `btoa`\n */\n var btoaPolyfill = function (bin) {\n // console.log('polyfilled');\n var u32, c0, c1, c2, asc = '';\n var pad = bin.length % 3;\n for (var i = 0; i < bin.length;) {\n if ((c0 = bin.charCodeAt(i++)) > 255 ||\n (c1 = bin.charCodeAt(i++)) > 255 ||\n (c2 = bin.charCodeAt(i++)) > 255)\n throw new TypeError('invalid character found');\n u32 = (c0 << 16) | (c1 << 8) | c2;\n asc += b64chs[u32 >> 18 & 63]\n + b64chs[u32 >> 12 & 63]\n + b64chs[u32 >> 6 & 63]\n + b64chs[u32 & 63];\n }\n return pad ? asc.slice(0, pad - 3) + \"===\".substring(pad) : asc;\n };\n /**\n * does what `window.btoa` of web browsers do.\n * @param {String} bin binary string\n * @returns {string} Base64-encoded string\n */\n var _btoa = typeof btoa === 'function' ? function (bin) { return btoa(bin); }\n : _hasBuffer ? function (bin) { return Buffer.from(bin, 'binary').toString('base64'); }\n : btoaPolyfill;\n var _fromUint8Array = _hasBuffer\n ? function (u8a) { return Buffer.from(u8a).toString('base64'); }\n : function (u8a) {\n // cf. https://stackoverflow.com/questions/12710001/how-to-convert-uint8-array-to-base64-encoded-string/12713326#12713326\n var maxargs = 0x1000;\n var strs = [];\n for (var i = 0, l = u8a.length; i < l; i += maxargs) {\n strs.push(_fromCC.apply(null, u8a.subarray(i, i + maxargs)));\n }\n return _btoa(strs.join(''));\n };\n /**\n * converts a Uint8Array to a Base64 string.\n * @param {boolean} [urlsafe] URL-and-filename-safe a la RFC4648 §5\n * @returns {string} Base64 string\n */\n var fromUint8Array = function (u8a, urlsafe) {\n if (urlsafe === void 0) { urlsafe = false; }\n return urlsafe ? _mkUriSafe(_fromUint8Array(u8a)) : _fromUint8Array(u8a);\n };\n // This trick is found broken https://github.com/dankogai/js-base64/issues/130\n // const utob = (src: string) => unescape(encodeURIComponent(src));\n // reverting good old fationed regexp\n var cb_utob = function (c) {\n if (c.length < 2) {\n var cc = c.charCodeAt(0);\n return cc < 0x80 ? c\n : cc < 0x800 ? (_fromCC(0xc0 | (cc >>> 6))\n + _fromCC(0x80 | (cc & 0x3f)))\n : (_fromCC(0xe0 | ((cc >>> 12) & 0x0f))\n + _fromCC(0x80 | ((cc >>> 6) & 0x3f))\n + _fromCC(0x80 | (cc & 0x3f)));\n }\n else {\n var cc = 0x10000\n + (c.charCodeAt(0) - 0xD800) * 0x400\n + (c.charCodeAt(1) - 0xDC00);\n return (_fromCC(0xf0 | ((cc >>> 18) & 0x07))\n + _fromCC(0x80 | ((cc >>> 12) & 0x3f))\n + _fromCC(0x80 | ((cc >>> 6) & 0x3f))\n + _fromCC(0x80 | (cc & 0x3f)));\n }\n };\n var re_utob = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFFF]|[^\\x00-\\x7F]/g;\n /**\n * @deprecated should have been internal use only.\n * @param {string} src UTF-8 string\n * @returns {string} UTF-16 string\n */\n var utob = function (u) { return u.replace(re_utob, cb_utob); };\n //\n var _encode = _hasBuffer\n ? function (s) { return Buffer.from(s, 'utf8').toString('base64'); }\n : _TE\n ? function (s) { return _fromUint8Array(_TE.encode(s)); }\n : function (s) { return _btoa(utob(s)); };\n /**\n * converts a UTF-8-encoded string to a Base64 string.\n * @param {boolean} [urlsafe] if `true` make the result URL-safe\n * @returns {string} Base64 string\n */\n var encode = function (src, urlsafe) {\n if (urlsafe === void 0) { urlsafe = false; }\n return urlsafe\n ? _mkUriSafe(_encode(src))\n : _encode(src);\n };\n /**\n * converts a UTF-8-encoded string to URL-safe Base64 RFC4648 §5.\n * @returns {string} Base64 string\n */\n var encodeURI = function (src) { return encode(src, true); };\n // This trick is found broken https://github.com/dankogai/js-base64/issues/130\n // const btou = (src: string) => decodeURIComponent(escape(src));\n // reverting good old fationed regexp\n var re_btou = /[\\xC0-\\xDF][\\x80-\\xBF]|[\\xE0-\\xEF][\\x80-\\xBF]{2}|[\\xF0-\\xF7][\\x80-\\xBF]{3}/g;\n var cb_btou = function (cccc) {\n switch (cccc.length) {\n case 4:\n var cp = ((0x07 & cccc.charCodeAt(0)) << 18)\n | ((0x3f & cccc.charCodeAt(1)) << 12)\n | ((0x3f & cccc.charCodeAt(2)) << 6)\n | (0x3f & cccc.charCodeAt(3)), offset = cp - 0x10000;\n return (_fromCC((offset >>> 10) + 0xD800)\n + _fromCC((offset & 0x3FF) + 0xDC00));\n case 3:\n return _fromCC(((0x0f & cccc.charCodeAt(0)) << 12)\n | ((0x3f & cccc.charCodeAt(1)) << 6)\n | (0x3f & cccc.charCodeAt(2)));\n default:\n return _fromCC(((0x1f & cccc.charCodeAt(0)) << 6)\n | (0x3f & cccc.charCodeAt(1)));\n }\n };\n /**\n * @deprecated should have been internal use only.\n * @param {string} src UTF-16 string\n * @returns {string} UTF-8 string\n */\n var btou = function (b) { return b.replace(re_btou, cb_btou); };\n /**\n * polyfill version of `atob`\n */\n var atobPolyfill = function (asc) {\n // console.log('polyfilled');\n asc = asc.replace(/\\s+/g, '');\n if (!b64re.test(asc))\n throw new TypeError('malformed base64.');\n asc += '=='.slice(2 - (asc.length & 3));\n var u24, bin = '', r1, r2;\n for (var i = 0; i < asc.length;) {\n u24 = b64tab[asc.charAt(i++)] << 18\n | b64tab[asc.charAt(i++)] << 12\n | (r1 = b64tab[asc.charAt(i++)]) << 6\n | (r2 = b64tab[asc.charAt(i++)]);\n bin += r1 === 64 ? _fromCC(u24 >> 16 & 255)\n : r2 === 64 ? _fromCC(u24 >> 16 & 255, u24 >> 8 & 255)\n : _fromCC(u24 >> 16 & 255, u24 >> 8 & 255, u24 & 255);\n }\n return bin;\n };\n /**\n * does what `window.atob` of web browsers do.\n * @param {String} asc Base64-encoded string\n * @returns {string} binary string\n */\n var _atob = typeof atob === 'function' ? function (asc) { return atob(_tidyB64(asc)); }\n : _hasBuffer ? function (asc) { return Buffer.from(asc, 'base64').toString('binary'); }\n : atobPolyfill;\n //\n var _toUint8Array = _hasBuffer\n ? function (a) { return _U8Afrom(Buffer.from(a, 'base64')); }\n : function (a) { return _U8Afrom(_atob(a).split('').map(function (c) { return c.charCodeAt(0); })); };\n /**\n * converts a Base64 string to a Uint8Array.\n */\n var toUint8Array = function (a) { return _toUint8Array(_unURI(a)); };\n //\n var _decode = _hasBuffer\n ? function (a) { return Buffer.from(a, 'base64').toString('utf8'); }\n : _TD\n ? function (a) { return _TD.decode(_toUint8Array(a)); }\n : function (a) { return btou(_atob(a)); };\n var _unURI = function (a) { return _tidyB64(a.replace(/[-_]/g, function (m0) { return m0 == '-' ? '+' : '/'; })); };\n /**\n * converts a Base64 string to a UTF-8 string.\n * @param {String} src Base64 string. Both normal and URL-safe are supported\n * @returns {string} UTF-8 string\n */\n var decode = function (src) { return _decode(_unURI(src)); };\n /**\n * check if a value is a valid Base64 string\n * @param {String} src a value to check\n */\n var isValid = function (src) {\n if (typeof src !== 'string')\n return false;\n var s = src.replace(/\\s+/g, '').replace(/={0,2}$/, '');\n return !/[^\\s0-9a-zA-Z\\+/]/.test(s) || !/[^\\s0-9a-zA-Z\\-_]/.test(s);\n };\n //\n var _noEnum = function (v) {\n return {\n value: v, enumerable: false, writable: true, configurable: true\n };\n };\n /**\n * extend String.prototype with relevant methods\n */\n var extendString = function () {\n var _add = function (name, body) { return Object.defineProperty(String.prototype, name, _noEnum(body)); };\n _add('fromBase64', function () { return decode(this); });\n _add('toBase64', function (urlsafe) { return encode(this, urlsafe); });\n _add('toBase64URI', function () { return encode(this, true); });\n _add('toBase64URL', function () { return encode(this, true); });\n _add('toUint8Array', function () { return toUint8Array(this); });\n };\n /**\n * extend Uint8Array.prototype with relevant methods\n */\n var extendUint8Array = function () {\n var _add = function (name, body) { return Object.defineProperty(Uint8Array.prototype, name, _noEnum(body)); };\n _add('toBase64', function (urlsafe) { return fromUint8Array(this, urlsafe); });\n _add('toBase64URI', function () { return fromUint8Array(this, true); });\n _add('toBase64URL', function () { return fromUint8Array(this, true); });\n };\n /**\n * extend Builtin prototypes with relevant methods\n */\n var extendBuiltins = function () {\n extendString();\n extendUint8Array();\n };\n var gBase64 = {\n version: version,\n VERSION: VERSION,\n atob: _atob,\n atobPolyfill: atobPolyfill,\n btoa: _btoa,\n btoaPolyfill: btoaPolyfill,\n fromBase64: decode,\n toBase64: encode,\n encode: encode,\n encodeURI: encodeURI,\n encodeURL: encodeURI,\n utob: utob,\n btou: btou,\n decode: decode,\n isValid: isValid,\n fromUint8Array: fromUint8Array,\n toUint8Array: toUint8Array,\n extendString: extendString,\n extendUint8Array: extendUint8Array,\n extendBuiltins: extendBuiltins\n };\n //\n // export Base64 to the namespace\n //\n // ES5 is yet to have Object.assign() that may make transpilers unhappy.\n // gBase64.Base64 = Object.assign({}, gBase64);\n gBase64.Base64 = {};\n Object.keys(gBase64).forEach(function (k) { return gBase64.Base64[k] = gBase64[k]; });\n return gBase64;\n}));\n","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function(val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isFinite(val)) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'weeks':\n case 'week':\n case 'w':\n return n * w;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (msAbs >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (msAbs >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (msAbs >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return plural(ms, msAbs, d, 'day');\n }\n if (msAbs >= h) {\n return plural(ms, msAbs, h, 'hour');\n }\n if (msAbs >= m) {\n return plural(ms, msAbs, m, 'minute');\n }\n if (msAbs >= s) {\n return plural(ms, msAbs, s, 'second');\n }\n return ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, msAbs, n, name) {\n var isPlural = msAbs >= n * 1.5;\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\n","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nmodule.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\nmodule.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function asyncGeneratorStep(n, t, e, r, o, a, c) {\n try {\n var i = n[a](c),\n u = i.value;\n } catch (n) {\n return void e(n);\n }\n i.done ? t(u) : Promise.resolve(u).then(r, o);\n}\nfunction _asyncToGenerator(n) {\n return function () {\n var t = this,\n e = arguments;\n return new Promise(function (r, o) {\n var a = n.apply(t, e);\n function _next(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n);\n }\n function _throw(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n);\n }\n _next(void 0);\n });\n };\n}\nmodule.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var isNativeReflectConstruct = require(\"./isNativeReflectConstruct.js\");\nvar setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\n}\nmodule.exports = _construct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _getPrototypeOf(t) {\n return module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _getPrototypeOf(t);\n}\nmodule.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _inherits(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n t.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: t,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(t, \"prototype\", {\n writable: !1\n }), e && setPrototypeOf(t, e);\n}\nmodule.exports = _inherits, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _interopRequireDefault(e) {\n return e && e.__esModule ? e : {\n \"default\": e\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _isNativeFunction(t) {\n try {\n return -1 !== Function.toString.call(t).indexOf(\"[native code]\");\n } catch (n) {\n return \"function\" == typeof t;\n }\n}\nmodule.exports = _isNativeFunction, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (module.exports = _isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports)();\n}\nmodule.exports = _isNativeReflectConstruct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose.js\");\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var s = Object.getOwnPropertySymbols(e);\n for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nmodule.exports = _objectWithoutProperties, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (e.includes(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\nfunction _possibleConstructorReturn(t, e) {\n if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e;\n if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return assertThisInitialized(t);\n}\nmodule.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(t, e) {\n return module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _setPrototypeOf(t, e);\n}\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\nvar iterableToArray = require(\"./iterableToArray.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\nfunction _toConsumableArray(r) {\n return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nmodule.exports = _toConsumableArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nmodule.exports = toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nmodule.exports = toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var getPrototypeOf = require(\"./getPrototypeOf.js\");\nvar setPrototypeOf = require(\"./setPrototypeOf.js\");\nvar isNativeFunction = require(\"./isNativeFunction.js\");\nvar construct = require(\"./construct.js\");\nfunction _wrapNativeSuper(t) {\n var r = \"function\" == typeof Map ? new Map() : void 0;\n return module.exports = _wrapNativeSuper = function _wrapNativeSuper(t) {\n if (null === t || !isNativeFunction(t)) return t;\n if (\"function\" != typeof t) throw new TypeError(\"Super expression must either be null or a function\");\n if (void 0 !== r) {\n if (r.has(t)) return r.get(t);\n r.set(t, Wrapper);\n }\n function Wrapper() {\n return construct(t, arguments, getPrototypeOf(this).constructor);\n }\n return Wrapper.prototype = Object.create(t.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: !1,\n writable: !0,\n configurable: !0\n }\n }), setPrototypeOf(Wrapper, t);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _wrapNativeSuper(t);\n}\nmodule.exports = _wrapNativeSuper, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n if (isConstructor(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a constructor');\n};\n","'use strict';\nvar isPossiblePrototype = require('../internals/is-possible-prototype');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (isPossiblePrototype(argument)) return argument;\n throw new $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] === undefined) {\n defineProperty(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.es/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n","'use strict';\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw new $TypeError('Incorrect invocation');\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\n// eslint-disable-next-line es/no-typed-arrays -- safe\nmodule.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined';\n","'use strict';\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-basic-detection');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar classof = require('../internals/classof');\nvar tryToString = require('../internals/try-to-string');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar uid = require('../internals/uid');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar Int8Array = globalThis.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = globalThis.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar TypeError = globalThis.TypeError;\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\nvar TYPED_ARRAY_CONSTRUCTOR = 'TypedArrayConstructor';\n// Fixing native typed arrays in Opera Presto crashes the browser, see #595\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(globalThis.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQUIRED = false;\nvar NAME, Constructor, Prototype;\n\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\n\nvar BigIntArrayConstructorsList = {\n BigInt64Array: 8,\n BigUint64Array: 8\n};\n\nvar isView = function isView(it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return klass === 'DataView'\n || hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar getTypedArrayConstructor = function (it) {\n var proto = getPrototypeOf(it);\n if (!isObject(proto)) return;\n var state = getInternalState(proto);\n return (state && hasOwn(state, TYPED_ARRAY_CONSTRUCTOR)) ? state[TYPED_ARRAY_CONSTRUCTOR] : getTypedArrayConstructor(proto);\n};\n\nvar isTypedArray = function (it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar aTypedArray = function (it) {\n if (isTypedArray(it)) return it;\n throw new TypeError('Target is not a typed array');\n};\n\nvar aTypedArrayConstructor = function (C) {\n if (isCallable(C) && (!setPrototypeOf || isPrototypeOf(TypedArray, C))) return C;\n throw new TypeError(tryToString(C) + ' is not a typed array constructor');\n};\n\nvar exportTypedArrayMethod = function (KEY, property, forced, options) {\n if (!DESCRIPTORS) return;\n if (forced) for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = globalThis[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor.prototype, KEY)) try {\n delete TypedArrayConstructor.prototype[KEY];\n } catch (error) {\n // old WebKit bug - some methods are non-configurable\n try {\n TypedArrayConstructor.prototype[KEY] = property;\n } catch (error2) { /* empty */ }\n }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n defineBuiltIn(TypedArrayPrototype, KEY, forced ? property\n : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property, options);\n }\n};\n\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS) return;\n if (setPrototypeOf) {\n if (forced) for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = globalThis[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor, KEY)) try {\n delete TypedArrayConstructor[KEY];\n } catch (error) { /* empty */ }\n }\n if (!TypedArray[KEY] || forced) {\n // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable\n try {\n return defineBuiltIn(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property);\n } catch (error) { /* empty */ }\n } else return;\n }\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = globalThis[ARRAY];\n if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {\n defineBuiltIn(TypedArrayConstructor, KEY, property);\n }\n }\n};\n\nfor (NAME in TypedArrayConstructorsList) {\n Constructor = globalThis[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;\n else NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\n\nfor (NAME in BigIntArrayConstructorsList) {\n Constructor = globalThis[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;\n}\n\n// WebKit bug - typed arrays constructors prototype is Object.prototype\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !isCallable(TypedArray) || TypedArray === Function.prototype) {\n // eslint-disable-next-line no-shadow -- safe\n TypedArray = function TypedArray() {\n throw new TypeError('Incorrect invocation');\n };\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (globalThis[NAME]) setPrototypeOf(globalThis[NAME], TypedArray);\n }\n}\n\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n TypedArrayPrototype = TypedArray.prototype;\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (globalThis[NAME]) setPrototypeOf(globalThis[NAME].prototype, TypedArrayPrototype);\n }\n}\n\n// WebKit bug - one more object in Uint8ClampedArray prototype chain\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\n\nif (DESCRIPTORS && !hasOwn(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQUIRED = true;\n defineBuiltInAccessor(TypedArrayPrototype, TO_STRING_TAG, {\n configurable: true,\n get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n }\n });\n for (NAME in TypedArrayConstructorsList) if (globalThis[NAME]) {\n createNonEnumerableProperty(globalThis[NAME], TYPED_ARRAY_TAG, NAME);\n }\n}\n\nmodule.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQUIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n getTypedArrayConstructor: getTypedArrayConstructor,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-basic-detection');\nvar FunctionName = require('../internals/function-name');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar fails = require('../internals/fails');\nvar anInstance = require('../internals/an-instance');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar fround = require('../internals/math-fround');\nvar IEEE754 = require('../internals/ieee754');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar arrayFill = require('../internals/array-fill');\nvar arraySlice = require('../internals/array-slice');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length';\nvar WRONG_INDEX = 'Wrong index';\nvar getInternalArrayBufferState = InternalStateModule.getterFor(ARRAY_BUFFER);\nvar getInternalDataViewState = InternalStateModule.getterFor(DATA_VIEW);\nvar setInternalState = InternalStateModule.set;\nvar NativeArrayBuffer = globalThis[ARRAY_BUFFER];\nvar $ArrayBuffer = NativeArrayBuffer;\nvar ArrayBufferPrototype = $ArrayBuffer && $ArrayBuffer[PROTOTYPE];\nvar $DataView = globalThis[DATA_VIEW];\nvar DataViewPrototype = $DataView && $DataView[PROTOTYPE];\nvar ObjectPrototype = Object.prototype;\nvar Array = globalThis.Array;\nvar RangeError = globalThis.RangeError;\nvar fill = uncurryThis(arrayFill);\nvar reverse = uncurryThis([].reverse);\n\nvar packIEEE754 = IEEE754.pack;\nvar unpackIEEE754 = IEEE754.unpack;\n\nvar packInt8 = function (number) {\n return [number & 0xFF];\n};\n\nvar packInt16 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF];\n};\n\nvar packInt32 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF];\n};\n\nvar unpackInt32 = function (buffer) {\n return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0];\n};\n\nvar packFloat32 = function (number) {\n return packIEEE754(fround(number), 23, 4);\n};\n\nvar packFloat64 = function (number) {\n return packIEEE754(number, 52, 8);\n};\n\nvar addGetter = function (Constructor, key, getInternalState) {\n defineBuiltInAccessor(Constructor[PROTOTYPE], key, {\n configurable: true,\n get: function () {\n return getInternalState(this)[key];\n }\n });\n};\n\nvar get = function (view, count, index, isLittleEndian) {\n var store = getInternalDataViewState(view);\n var intIndex = toIndex(index);\n var boolIsLittleEndian = !!isLittleEndian;\n if (intIndex + count > store.byteLength) throw new RangeError(WRONG_INDEX);\n var bytes = store.bytes;\n var start = intIndex + store.byteOffset;\n var pack = arraySlice(bytes, start, start + count);\n return boolIsLittleEndian ? pack : reverse(pack);\n};\n\nvar set = function (view, count, index, conversion, value, isLittleEndian) {\n var store = getInternalDataViewState(view);\n var intIndex = toIndex(index);\n var pack = conversion(+value);\n var boolIsLittleEndian = !!isLittleEndian;\n if (intIndex + count > store.byteLength) throw new RangeError(WRONG_INDEX);\n var bytes = store.bytes;\n var start = intIndex + store.byteOffset;\n for (var i = 0; i < count; i++) bytes[start + i] = pack[boolIsLittleEndian ? i : count - i - 1];\n};\n\nif (!NATIVE_ARRAY_BUFFER) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, ArrayBufferPrototype);\n var byteLength = toIndex(length);\n setInternalState(this, {\n type: ARRAY_BUFFER,\n bytes: fill(Array(byteLength), 0),\n byteLength: byteLength\n });\n if (!DESCRIPTORS) {\n this.byteLength = byteLength;\n this.detached = false;\n }\n };\n\n ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE];\n\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, DataViewPrototype);\n anInstance(buffer, ArrayBufferPrototype);\n var bufferState = getInternalArrayBufferState(buffer);\n var bufferLength = bufferState.byteLength;\n var offset = toIntegerOrInfinity(byteOffset);\n if (offset < 0 || offset > bufferLength) throw new RangeError('Wrong offset');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw new RangeError(WRONG_LENGTH);\n setInternalState(this, {\n type: DATA_VIEW,\n buffer: buffer,\n byteLength: byteLength,\n byteOffset: offset,\n bytes: bufferState.bytes\n });\n if (!DESCRIPTORS) {\n this.buffer = buffer;\n this.byteLength = byteLength;\n this.byteOffset = offset;\n }\n };\n\n DataViewPrototype = $DataView[PROTOTYPE];\n\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, 'byteLength', getInternalArrayBufferState);\n addGetter($DataView, 'buffer', getInternalDataViewState);\n addGetter($DataView, 'byteLength', getInternalDataViewState);\n addGetter($DataView, 'byteOffset', getInternalDataViewState);\n }\n\n defineBuiltIns(DataViewPrototype, {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : false);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : false);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : false));\n },\n getUint32: function getUint32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : false)) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : false), 23);\n },\n getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : false), 52);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : false);\n },\n setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : false);\n },\n setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : false);\n },\n setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : false);\n },\n setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : false);\n },\n setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n set(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : false);\n }\n });\n} else {\n var INCORRECT_ARRAY_BUFFER_NAME = PROPER_FUNCTION_NAME && NativeArrayBuffer.name !== ARRAY_BUFFER;\n /* eslint-disable no-new, sonar/inconsistent-function-call -- required for testing */\n if (!fails(function () {\n NativeArrayBuffer(1);\n }) || !fails(function () {\n new NativeArrayBuffer(-1);\n }) || fails(function () {\n new NativeArrayBuffer();\n new NativeArrayBuffer(1.5);\n new NativeArrayBuffer(NaN);\n return NativeArrayBuffer.length !== 1 || INCORRECT_ARRAY_BUFFER_NAME && !CONFIGURABLE_FUNCTION_NAME;\n })) {\n /* eslint-enable no-new, sonar/inconsistent-function-call -- required for testing */\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, ArrayBufferPrototype);\n return inheritIfRequired(new NativeArrayBuffer(toIndex(length)), this, $ArrayBuffer);\n };\n\n $ArrayBuffer[PROTOTYPE] = ArrayBufferPrototype;\n\n ArrayBufferPrototype.constructor = $ArrayBuffer;\n\n copyConstructorProperties($ArrayBuffer, NativeArrayBuffer);\n } else if (INCORRECT_ARRAY_BUFFER_NAME && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(NativeArrayBuffer, 'name', ARRAY_BUFFER);\n }\n\n // WebKit bug - the same parent prototype for typed arrays and data view\n if (setPrototypeOf && getPrototypeOf(DataViewPrototype) !== ObjectPrototype) {\n setPrototypeOf(DataViewPrototype, ObjectPrototype);\n }\n\n // iOS Safari 7.x bug\n var testView = new $DataView(new $ArrayBuffer(2));\n var $setInt8 = uncurryThis(DataViewPrototype.setInt8);\n testView.setInt8(0, 2147483648);\n testView.setInt8(1, 2147483649);\n if (testView.getInt8(0) || !testView.getInt8(1)) defineBuiltIns(DataViewPrototype, {\n setInt8: function setInt8(byteOffset, value) {\n $setInt8(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n $setInt8(this, byteOffset, value << 24 >> 24);\n }\n }, { unsafe: true });\n}\n\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\n\nmodule.exports = {\n ArrayBuffer: $ArrayBuffer,\n DataView: $DataView\n};\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar deletePropertyOrThrow = require('../internals/delete-property-or-throw');\n\nvar min = Math.min;\n\n// `Array.prototype.copyWithin` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.copywithin\n// eslint-disable-next-line es/no-array-prototype-copywithin -- safe\nmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var to = toAbsoluteIndex(target, len);\n var from = toAbsoluteIndex(start, len);\n var end = arguments.length > 2 ? arguments[2] : undefined;\n var count = min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n var inc = 1;\n if (from < to && to < from + count) {\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count-- > 0) {\n if (from in O) O[to] = O[from];\n else deletePropertyOrThrow(O, to);\n to += inc;\n from += inc;\n } return O;\n};\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.fill` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.fill\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = lengthOfArrayLike(O);\n var argumentsLength = arguments.length;\n var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);\n var end = argumentsLength > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nmodule.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n} : [].forEach;\n","'use strict';\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\nmodule.exports = function (Constructor, list, $length) {\n var index = 0;\n var length = arguments.length > 2 ? $length : lengthOfArrayLike(list);\n var result = new Constructor(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar isConstructor = require('../internals/is-constructor');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $Array = Array;\n\n// `Array.from` method implementation\n// https://tc39.es/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var IS_CONSTRUCTOR = isConstructor(this);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined);\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod && !(this === $Array && isArrayIteratorMethod(iteratorMethod))) {\n result = IS_CONSTRUCTOR ? new this() : [];\n iterator = getIterator(O, iteratorMethod);\n next = iterator.next;\n for (;!(step = call(next, iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = lengthOfArrayLike(O);\n result = IS_CONSTRUCTOR ? new this(length) : $Array(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n if (length === 0) return !IS_INCLUDES && -1;\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el !== el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value !== value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = uncurryThis([].push);\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE === 1;\n var IS_FILTER = TYPE === 2;\n var IS_SOME = TYPE === 3;\n var IS_EVERY = TYPE === 4;\n var IS_FIND_INDEX = TYPE === 6;\n var IS_FILTER_REJECT = TYPE === 7;\n var NO_HOLES = TYPE === 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var length = lengthOfArrayLike(self);\n var boundFunction = bind(callbackfn, that);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push(target, value); // filterReject\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterReject` method\n // https://github.com/tc39/proposal-array-filtering\n filterReject: createMethod(7)\n};\n","'use strict';\n/* eslint-disable es/no-array-prototype-lastindexof -- safe */\nvar apply = require('../internals/function-apply');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar min = Math.min;\nvar $lastIndexOf = [].lastIndexOf;\nvar NEGATIVE_ZERO = !!$lastIndexOf && 1 / [1].lastIndexOf(1, -0) < 0;\nvar STRICT_METHOD = arrayMethodIsStrict('lastIndexOf');\nvar FORCED = NEGATIVE_ZERO || !STRICT_METHOD;\n\n// `Array.prototype.lastIndexOf` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.lastindexof\nmodule.exports = FORCED ? function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {\n // convert -0 to +0\n if (NEGATIVE_ZERO) return apply($lastIndexOf, this, arguments) || 0;\n var O = toIndexedObject(this);\n var length = lengthOfArrayLike(O);\n if (length === 0) return -1;\n var index = length - 1;\n if (arguments.length > 1) index = min(index, toIntegerOrInfinity(arguments[1]));\n if (index < 0) index = length + index;\n for (;index >= 0; index--) if (index in O && O[index] === searchElement) return index || 0;\n return -1;\n} : $lastIndexOf;\n","'use strict';\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/environment-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call -- required for testing\n method.call(null, argument || function () { return 1; }, 1);\n });\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\nvar $TypeError = TypeError;\n\nvar REDUCE_EMPTY = 'Reduce of empty array with no initial value';\n\n// `Array.prototype.{ reduce, reduceRight }` methods implementation\nvar createMethod = function (IS_RIGHT) {\n return function (that, callbackfn, argumentsLength, memo) {\n var O = toObject(that);\n var self = IndexedObject(O);\n var length = lengthOfArrayLike(O);\n aCallable(callbackfn);\n if (length === 0 && argumentsLength < 2) throw new $TypeError(REDUCE_EMPTY);\n var index = IS_RIGHT ? length - 1 : 0;\n var i = IS_RIGHT ? -1 : 1;\n if (argumentsLength < 2) while (true) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (IS_RIGHT ? index < 0 : length <= index) {\n throw new $TypeError(REDUCE_EMPTY);\n }\n }\n for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.reduce` method\n // https://tc39.es/ecma262/#sec-array.prototype.reduce\n left: createMethod(false),\n // `Array.prototype.reduceRight` method\n // https://tc39.es/ecma262/#sec-array.prototype.reduceright\n right: createMethod(true)\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar isArray = require('../internals/is-array');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Safari < 13 does not throw an error in this case\nvar SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function () {\n // makes no sense without proper strict mode support\n if (this !== undefined) return true;\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).length = 1;\n } catch (error) {\n return error instanceof TypeError;\n }\n}();\n\nmodule.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) {\n if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) {\n throw new $TypeError('Cannot set read only .length');\n } return O.length = length;\n} : function (O, length) {\n return O.length = length;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","'use strict';\nvar arraySlice = require('../internals/array-slice');\n\nvar floor = Math.floor;\n\nvar sort = function (array, comparefn) {\n var length = array.length;\n\n if (length < 8) {\n // insertion sort\n var i = 1;\n var element, j;\n\n while (i < length) {\n j = i;\n element = array[i];\n while (j && comparefn(array[j - 1], element) > 0) {\n array[j] = array[--j];\n }\n if (j !== i++) array[j] = element;\n }\n } else {\n // merge sort\n var middle = floor(length / 2);\n var left = sort(arraySlice(array, 0, middle), comparefn);\n var right = sort(arraySlice(array, middle), comparefn);\n var llength = left.length;\n var rlength = right.length;\n var lindex = 0;\n var rindex = 0;\n\n while (lindex < llength || rindex < rlength) {\n array[lindex + rindex] = (lindex < llength && rindex < rlength)\n ? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++]\n : lindex < llength ? left[lindex++] : right[rindex++];\n }\n }\n\n return array;\n};\n\nmodule.exports = sort;\n","'use strict';\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar $Array = Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (isConstructor(C) && (C === $Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? $Array : C;\n};\n","'use strict';\nvar arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar iteratorClose = require('../internals/iterator-close');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n try {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n } catch (error) { return false; } // workaround of old WebKit + `eval` bug\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (error1) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (error2) { /* empty */ }\n } return false;\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\n\nvar quot = /\"/g;\nvar replace = uncurryThis(''.replace);\n\n// `CreateHTML` abstract operation\n// https://tc39.es/ecma262/#sec-createhtml\nmodule.exports = function (string, tag, attribute, value) {\n var S = toString(requireObjectCoercible(string));\n var p1 = '<' + tag;\n if (attribute !== '') p1 += ' ' + attribute + '=\"' + replace(toString(value), quot, '"') + '\"';\n return p1 + '>' + S + '';\n};\n","'use strict';\n// `CreateIterResultObject` abstract operation\n// https://tc39.es/ecma262/#sec-createiterresultobject\nmodule.exports = function (value, done) {\n return { value: value, done: done };\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n if (DESCRIPTORS) definePropertyModule.f(object, key, createPropertyDescriptor(0, value));\n else object[key] = value;\n};\n","'use strict';\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n return defineProperty.f(target, name, descriptor);\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","'use strict';\nvar defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) defineBuiltIn(target, key, src[key], options);\n return target;\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(globalThis, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n globalThis[key] = value;\n } return value;\n};\n","'use strict';\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (O, P) {\n if (!delete O[P]) throw new $TypeError('Cannot delete property ' + tryToString(P) + ' of ' + tryToString(O));\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isObject = require('../internals/is-object');\n\nvar document = globalThis.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nvar $TypeError = TypeError;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991\n\nmodule.exports = function (it) {\n if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded');\n return it;\n};\n","'use strict';\n// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","'use strict';\n// in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList`\nvar documentCreateElement = require('../internals/document-create-element');\n\nvar classList = documentCreateElement('span').classList;\nvar DOMTokenListPrototype = classList && classList.constructor && classList.constructor.prototype;\n\nmodule.exports = DOMTokenListPrototype === Object.prototype ? undefined : DOMTokenListPrototype;\n","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","'use strict';\nvar userAgent = require('../internals/environment-user-agent');\n\nvar firefox = userAgent.match(/firefox\\/(\\d+)/i);\n\nmodule.exports = !!firefox && +firefox[1];\n","'use strict';\nvar UA = require('../internals/environment-user-agent');\n\nmodule.exports = /MSIE|Trident/.test(UA);\n","'use strict';\nvar userAgent = require('../internals/environment-user-agent');\n\nmodule.exports = /ipad|iphone|ipod/i.test(userAgent) && typeof Pebble != 'undefined';\n","'use strict';\nvar userAgent = require('../internals/environment-user-agent');\n\n// eslint-disable-next-line redos/no-vulnerable -- safe\nmodule.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent);\n","'use strict';\nvar ENVIRONMENT = require('../internals/environment');\n\nmodule.exports = ENVIRONMENT === 'NODE';\n","'use strict';\nvar userAgent = require('../internals/environment-user-agent');\n\nmodule.exports = /web0s(?!.*chrome)/i.test(userAgent);\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\nvar navigator = globalThis.navigator;\nvar userAgent = navigator && navigator.userAgent;\n\nmodule.exports = userAgent ? String(userAgent) : '';\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar userAgent = require('../internals/environment-user-agent');\n\nvar process = globalThis.process;\nvar Deno = globalThis.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\nvar userAgent = require('../internals/environment-user-agent');\n\nvar webkit = userAgent.match(/AppleWebKit\\/(\\d+)\\./);\n\nmodule.exports = !!webkit && +webkit[1];\n","'use strict';\n/* global Bun, Deno -- detection */\nvar globalThis = require('../internals/global-this');\nvar userAgent = require('../internals/environment-user-agent');\nvar classof = require('../internals/classof-raw');\n\nvar userAgentStartsWith = function (string) {\n return userAgent.slice(0, string.length) === string;\n};\n\nmodule.exports = (function () {\n if (userAgentStartsWith('Bun/')) return 'BUN';\n if (userAgentStartsWith('Cloudflare-Workers')) return 'CLOUDFLARE';\n if (userAgentStartsWith('Deno/')) return 'DENO';\n if (userAgentStartsWith('Node.js/')) return 'NODE';\n if (globalThis.Bun && typeof Bun.version == 'string') return 'BUN';\n if (globalThis.Deno && typeof Deno.version == 'object') return 'DENO';\n if (classof(globalThis.process) === 'process') return 'NODE';\n if (globalThis.window && globalThis.document) return 'BROWSER';\n return 'REST';\n})();\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = globalThis;\n } else if (STATIC) {\n target = globalThis[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = globalThis[TARGET] && globalThis[TARGET].prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar call = require('../internals/function-call');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar regexpExec = require('../internals/regexp-exec');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\nvar RegExpPrototype = RegExp.prototype;\n\nmodule.exports = function (KEY, exec, FORCED, SHAM) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegExp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) !== 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n re = {};\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n re.flags = '';\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () {\n execCalled = true;\n return null;\n };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n FORCED\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n var $exec = regexp.exec;\n if ($exec === regexpExec || $exec === RegExpPrototype.exec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: call(nativeRegExpMethod, regexp, str, arg2) };\n }\n return { done: true, value: call(nativeMethod, str, regexp, arg2) };\n }\n return { done: false };\n });\n\n defineBuiltIn(String.prototype, KEY, methods[0]);\n defineBuiltIn(RegExpPrototype, SYMBOL, methods[1]);\n }\n\n if (SHAM) createNonEnumerableProperty(RegExpPrototype[SYMBOL], 'sham', true);\n};\n","'use strict';\nvar isArray = require('../internals/is-array');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar bind = require('../internals/function-bind-context');\n\n// `FlattenIntoArray` abstract operation\n// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray\nvar flattenIntoArray = function (target, original, source, sourceLen, start, depth, mapper, thisArg) {\n var targetIndex = start;\n var sourceIndex = 0;\n var mapFn = mapper ? bind(mapper, thisArg) : false;\n var element, elementLen;\n\n while (sourceIndex < sourceLen) {\n if (sourceIndex in source) {\n element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];\n\n if (depth > 0 && isArray(element)) {\n elementLen = lengthOfArrayLike(element);\n targetIndex = flattenIntoArray(target, original, element, elementLen, targetIndex, depth - 1) - 1;\n } else {\n doesNotExceedSafeInteger(targetIndex + 1);\n target[targetIndex] = element;\n }\n\n targetIndex++;\n }\n sourceIndex++;\n }\n return targetIndex;\n};\n\nmodule.exports = flattenIntoArray;\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar arraySlice = require('../internals/array-slice');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar $Function = Function;\nvar concat = uncurryThis([].concat);\nvar join = uncurryThis([].join);\nvar factories = {};\n\nvar construct = function (C, argsLength, args) {\n if (!hasOwn(factories, argsLength)) {\n var list = [];\n var i = 0;\n for (; i < argsLength; i++) list[i] = 'a[' + i + ']';\n factories[argsLength] = $Function('C,a', 'return new C(' + join(list, ',') + ')');\n } return factories[argsLength](C, args);\n};\n\n// `Function.prototype.bind` method implementation\n// https://tc39.es/ecma262/#sec-function.prototype.bind\n// eslint-disable-next-line es/no-function-prototype-bind -- detection\nmodule.exports = NATIVE_BIND ? $Function.bind : function bind(that /* , ...args */) {\n var F = aCallable(this);\n var Prototype = F.prototype;\n var partArgs = arraySlice(arguments, 1);\n var boundFunction = function bound(/* args... */) {\n var args = concat(partArgs, arraySlice(arguments));\n return this instanceof boundFunction ? construct(F, args.length, args) : F.apply(that, args);\n };\n if (isObject(Prototype)) boundFunction.prototype = Prototype;\n return boundFunction;\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n } catch (error) { /* empty */ }\n};\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(globalThis[namespace]) : globalThis[namespace] && globalThis[namespace][method];\n};\n","'use strict';\nvar classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n throw new $TypeError(tryToString(argument) + ' is not iterable');\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isArray = require('../internals/is-array');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof-raw');\nvar toString = require('../internals/to-string');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (replacer) {\n if (isCallable(replacer)) return replacer;\n if (!isArray(replacer)) return;\n var rawLength = replacer.length;\n var keys = [];\n for (var i = 0; i < rawLength; i++) {\n var element = replacer[i];\n if (typeof element == 'string') push(keys, element);\n else if (typeof element == 'number' || classof(element) === 'Number' || classof(element) === 'String') push(keys, toString(element));\n }\n var keysLength = keys.length;\n var root = true;\n return function (key, value) {\n if (root) {\n root = false;\n return value;\n }\n if (isArray(this)) return value;\n for (var j = 0; j < keysLength; j++) if (keys[j] === key) return value;\n };\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar floor = Math.floor;\nvar charAt = uncurryThis(''.charAt);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\n// eslint-disable-next-line redos/no-vulnerable -- safe\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d{1,2}|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d{1,2})/g;\n\n// `GetSubstitution` abstract operation\n// https://tc39.es/ecma262/#sec-getsubstitution\nmodule.exports = function (matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return replace(replacement, symbols, function (match, ch) {\n var capture;\n switch (charAt(ch, 0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return stringSlice(str, 0, position);\n case \"'\": return stringSlice(str, tailPos);\n case '<':\n capture = namedCaptures[stringSlice(ch, 1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? charAt(ch, 1) : captures[f - 1] + charAt(ch, 1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n};\n","'use strict';\nvar check = function (it) {\n return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n check(typeof this == 'object' && this) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nmodule.exports = function (a, b) {\n try {\n // eslint-disable-next-line no-console -- safe\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n } catch (error) { /* empty */ }\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\n// IEEE754 conversions based on https://github.com/feross/ieee754\nvar $Array = Array;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\n\nvar pack = function (number, mantissaLength, bytes) {\n var buffer = $Array(bytes);\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0;\n var index = 0;\n var exponent, mantissa, c;\n number = abs(number);\n // eslint-disable-next-line no-self-compare -- NaN check\n if (number !== number || number === Infinity) {\n // eslint-disable-next-line no-self-compare -- NaN check\n mantissa = number !== number ? 1 : 0;\n exponent = eMax;\n } else {\n exponent = floor(log(number) / LN2);\n c = pow(2, -exponent);\n if (number * c < 1) {\n exponent--;\n c *= 2;\n }\n if (exponent + eBias >= 1) {\n number += rt / c;\n } else {\n number += rt * pow(2, 1 - eBias);\n }\n if (number * c >= 2) {\n exponent++;\n c /= 2;\n }\n if (exponent + eBias >= eMax) {\n mantissa = 0;\n exponent = eMax;\n } else if (exponent + eBias >= 1) {\n mantissa = (number * c - 1) * pow(2, mantissaLength);\n exponent += eBias;\n } else {\n mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength);\n exponent = 0;\n }\n }\n while (mantissaLength >= 8) {\n buffer[index++] = mantissa & 255;\n mantissa /= 256;\n mantissaLength -= 8;\n }\n exponent = exponent << mantissaLength | mantissa;\n exponentLength += mantissaLength;\n while (exponentLength > 0) {\n buffer[index++] = exponent & 255;\n exponent /= 256;\n exponentLength -= 8;\n }\n buffer[index - 1] |= sign * 128;\n return buffer;\n};\n\nvar unpack = function (buffer, mantissaLength) {\n var bytes = buffer.length;\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var nBits = exponentLength - 7;\n var index = bytes - 1;\n var sign = buffer[index--];\n var exponent = sign & 127;\n var mantissa;\n sign >>= 7;\n while (nBits > 0) {\n exponent = exponent * 256 + buffer[index--];\n nBits -= 8;\n }\n mantissa = exponent & (1 << -nBits) - 1;\n exponent >>= -nBits;\n nBits += mantissaLength;\n while (nBits > 0) {\n mantissa = mantissa * 256 + buffer[index--];\n nBits -= 8;\n }\n if (exponent === 0) {\n exponent = 1 - eBias;\n } else if (exponent === eMax) {\n return mantissa ? NaN : sign ? -Infinity : Infinity;\n } else {\n mantissa += pow(2, mantissaLength);\n exponent -= eBias;\n } return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength);\n};\n\nmodule.exports = {\n pack: pack,\n unpack: unpack\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar globalThis = require('../internals/global-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = globalThis.TypeError;\nvar WeakMap = globalThis.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw new TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","'use strict';\nvar classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) === 'Array';\n};\n","'use strict';\nvar classof = require('../internals/classof');\n\nmodule.exports = function (it) {\n var klass = classof(it);\n return klass === 'BigInt64Array' || klass === 'BigUint64Array';\n};\n","'use strict';\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\nvar documentAll = typeof document == 'object' && document.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nmodule.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.test(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, [], argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value === POLYFILL ? true\n : value === NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar floor = Math.floor;\n\n// `IsIntegralNumber` abstract operation\n// https://tc39.es/ecma262/#sec-isintegralnumber\n// eslint-disable-next-line es/no-number-isinteger -- safe\nmodule.exports = Number.isInteger || function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nmodule.exports = function (argument) {\n return isObject(argument) || argument === null;\n};\n","'use strict';\nmodule.exports = false;\n","'use strict';\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.es/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) === 'RegExp');\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar $TypeError = TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_RECORD = !!(options && options.IS_RECORD);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal', condition);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_RECORD) {\n iterator = iterable.iterator;\n } else if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn) throw new $TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = IS_RECORD ? iterable.next : iterator.next;\n while (!(step = call(next, iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar IS_PURE = require('../internals/is-pure');\nvar FunctionName = require('../internals/function-name');\nvar isCallable = require('../internals/is-callable');\nvar createIteratorConstructor = require('../internals/iterator-create-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND && KIND in IterablePrototype) return IterablePrototype[KIND];\n\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n }\n\n return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME === 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n defineBuiltIn(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array.prototype.{ values, @@iterator }.name in V8 / FF\n if (PROPER_FUNCTION_NAME && DEFAULT === VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n } else {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return call(nativeIterator, this); };\n }\n }\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n defineBuiltIn(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n }\n Iterators[NAME] = defaultIterator;\n\n return methods;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\nelse if (IS_PURE) IteratorPrototype = create(IteratorPrototype);\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif (!isCallable(IteratorPrototype[ITERATOR])) {\n defineBuiltIn(IteratorPrototype, ITERATOR, function () {\n return this;\n });\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\).*$/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","'use strict';\nvar sign = require('../internals/math-sign');\n\nvar abs = Math.abs;\n\nvar EPSILON = 2.220446049250313e-16; // Number.EPSILON\nvar INVERSE_EPSILON = 1 / EPSILON;\n\nvar roundTiesToEven = function (n) {\n return n + INVERSE_EPSILON - INVERSE_EPSILON;\n};\n\nmodule.exports = function (x, FLOAT_EPSILON, FLOAT_MAX_VALUE, FLOAT_MIN_VALUE) {\n var n = +x;\n var absolute = abs(n);\n var s = sign(n);\n if (absolute < FLOAT_MIN_VALUE) return s * roundTiesToEven(absolute / FLOAT_MIN_VALUE / FLOAT_EPSILON) * FLOAT_MIN_VALUE * FLOAT_EPSILON;\n var a = (1 + FLOAT_EPSILON / EPSILON) * absolute;\n var result = a - (a - absolute);\n // eslint-disable-next-line no-self-compare -- NaN check\n if (result > FLOAT_MAX_VALUE || result !== result) return s * Infinity;\n return s * result;\n};\n","'use strict';\nvar floatRound = require('../internals/math-float-round');\n\nvar FLOAT32_EPSILON = 1.1920928955078125e-7; // 2 ** -23;\nvar FLOAT32_MAX_VALUE = 3.4028234663852886e+38; // 2 ** 128 - 2 ** 104\nvar FLOAT32_MIN_VALUE = 1.1754943508222875e-38; // 2 ** -126;\n\n// `Math.fround` method implementation\n// https://tc39.es/ecma262/#sec-math.fround\n// eslint-disable-next-line es/no-math-fround -- safe\nmodule.exports = Math.fround || function fround(x) {\n return floatRound(x, FLOAT32_EPSILON, FLOAT32_MAX_VALUE, FLOAT32_MIN_VALUE);\n};\n","'use strict';\n// `Math.sign` method implementation\n// https://tc39.es/ecma262/#sec-math.sign\n// eslint-disable-next-line es/no-math-sign -- safe\nmodule.exports = Math.sign || function sign(x) {\n var n = +x;\n // eslint-disable-next-line no-self-compare -- NaN check\n return n === 0 || n !== n ? n : n < 0 ? -1 : 1;\n};\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar safeGetBuiltIn = require('../internals/safe-get-built-in');\nvar bind = require('../internals/function-bind-context');\nvar macrotask = require('../internals/task').set;\nvar Queue = require('../internals/queue');\nvar IS_IOS = require('../internals/environment-is-ios');\nvar IS_IOS_PEBBLE = require('../internals/environment-is-ios-pebble');\nvar IS_WEBOS_WEBKIT = require('../internals/environment-is-webos-webkit');\nvar IS_NODE = require('../internals/environment-is-node');\n\nvar MutationObserver = globalThis.MutationObserver || globalThis.WebKitMutationObserver;\nvar document = globalThis.document;\nvar process = globalThis.process;\nvar Promise = globalThis.Promise;\nvar microtask = safeGetBuiltIn('queueMicrotask');\nvar notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!microtask) {\n var queue = new Queue();\n\n var flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (fn = queue.get()) try {\n fn();\n } catch (error) {\n if (queue.head) notify();\n throw error;\n }\n if (parent) parent.enter();\n };\n\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898\n if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (!IS_IOS_PEBBLE && Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n // workaround of WebKit ~ iOS Safari 10.1 bug\n promise.constructor = Promise;\n then = bind(promise.then, promise);\n notify = function () {\n then(flush);\n };\n // Node.js without promises\n } else if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessage\n // - onreadystatechange\n // - setTimeout\n } else {\n // `webpack` dev server bug on IE global methods - use bind(fn, global)\n macrotask = bind(macrotask, globalThis);\n notify = function () {\n macrotask(flush);\n };\n }\n\n microtask = function (fn) {\n if (!queue.head) notify();\n queue.add(fn);\n };\n}\n\nmodule.exports = microtask;\n","'use strict';\nvar aCallable = require('../internals/a-callable');\n\nvar $TypeError = TypeError;\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw new $TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aCallable(resolve);\n this.reject = aCallable(reject);\n};\n\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","'use strict';\nvar isRegExp = require('../internals/is-regexp');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw new $TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar call = require('../internals/function-call');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\n// eslint-disable-next-line es/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\nvar concat = uncurryThis([].concat);\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line es/no-symbol -- safe\n var symbol = Symbol('assign detection');\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return $assign({}, A)[symbol] !== 7 || objectKeys($assign({}, B)).join('') !== alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","'use strict';\n/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n // eslint-disable-next-line no-useless-assignment -- avoid memory leak\n activeXDocument = null;\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\n/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar classof = require('../internals/classof-raw');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar arraySlice = require('../internals/array-slice');\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return $getOwnPropertyNames(it);\n } catch (error) {\n return arraySlice(windowNames);\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && classof(it) === 'Window'\n ? getWindowNames(it)\n : $getOwnPropertyNames(toIndexedObject(it));\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar $Object = Object;\nvar ObjectPrototype = $Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof $Object ? ObjectPrototype : null;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar isObject = require('../internals/is-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n requireObjectCoercible(O);\n aPossiblePrototype(proto);\n if (!isObject(O)) return O;\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\nmodule.exports = globalThis;\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar isCallable = require('../internals/is-callable');\nvar isForced = require('../internals/is-forced');\nvar inspectSource = require('../internals/inspect-source');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar ENVIRONMENT = require('../internals/environment');\nvar IS_PURE = require('../internals/is-pure');\nvar V8_VERSION = require('../internals/environment-v8-version');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar SPECIES = wellKnownSymbol('species');\nvar SUBCLASSING = false;\nvar NATIVE_PROMISE_REJECTION_EVENT = isCallable(globalThis.PromiseRejectionEvent);\n\nvar FORCED_PROMISE_CONSTRUCTOR = isForced('Promise', function () {\n var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(NativePromiseConstructor);\n var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(NativePromiseConstructor);\n // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // We can't detect it synchronously, so just check versions\n if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true;\n // We need Promise#{ catch, finally } in the pure version for preventing prototype pollution\n if (IS_PURE && !(NativePromisePrototype['catch'] && NativePromisePrototype['finally'])) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (!V8_VERSION || V8_VERSION < 51 || !/native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) {\n // Detect correctness of subclassing with @@species support\n var promise = new NativePromiseConstructor(function (resolve) { resolve(1); });\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;\n if (!SUBCLASSING) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n } return !GLOBAL_CORE_JS_PROMISE && (ENVIRONMENT === 'BROWSER' || ENVIRONMENT === 'DENO') && !NATIVE_PROMISE_REJECTION_EVENT;\n});\n\nmodule.exports = {\n CONSTRUCTOR: FORCED_PROMISE_CONSTRUCTOR,\n REJECTION_EVENT: NATIVE_PROMISE_REJECTION_EVENT,\n SUBCLASSING: SUBCLASSING\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\nmodule.exports = globalThis.Promise;\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","'use strict';\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\nmodule.exports = FORCED_PROMISE_CONSTRUCTOR || !checkCorrectnessOfIteration(function (iterable) {\n NativePromiseConstructor.all(iterable).then(undefined, function () { /* empty */ });\n});\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (Target, Source, key) {\n key in Target || defineProperty(Target, key, {\n configurable: true,\n get: function () { return Source[key]; },\n set: function (it) { Source[key] = it; }\n });\n};\n","'use strict';\nvar Queue = function () {\n this.head = null;\n this.tail = null;\n};\n\nQueue.prototype = {\n add: function (item) {\n var entry = { item: item, next: null };\n var tail = this.tail;\n if (tail) tail.next = entry;\n else this.head = entry;\n this.tail = entry;\n },\n get: function () {\n var entry = this.head;\n if (entry) {\n var next = this.head = entry.next;\n if (next === null) this.tail = null;\n return entry.item;\n }\n }\n};\n\nmodule.exports = Queue;\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof-raw');\nvar regexpExec = require('../internals/regexp-exec');\n\nvar $TypeError = TypeError;\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (isCallable(exec)) {\n var result = call(exec, R, S);\n if (result !== null) anObject(result);\n return result;\n }\n if (classof(R) === 'RegExp') return call(regexpExec, R, S);\n throw new $TypeError('RegExp#exec called on incompatible receiver');\n};\n","'use strict';\n/* eslint-disable regexp/no-empty-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */\n/* eslint-disable regexp/no-useless-quantifier -- testing */\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar regexpFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar shared = require('../internals/shared');\nvar create = require('../internals/object-create');\nvar getInternalState = require('../internals/internal-state').get;\nvar UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');\nvar UNSUPPORTED_NCG = require('../internals/regexp-unsupported-ncg');\n\nvar nativeReplace = shared('native-string-replace', String.prototype.replace);\nvar nativeExec = RegExp.prototype.exec;\nvar patchedExec = nativeExec;\nvar charAt = uncurryThis(''.charAt);\nvar indexOf = uncurryThis(''.indexOf);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n call(nativeExec, re1, 'a');\n call(nativeExec, re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG;\n\nif (PATCH) {\n patchedExec = function exec(string) {\n var re = this;\n var state = getInternalState(re);\n var str = toString(string);\n var raw = state.raw;\n var result, reCopy, lastIndex, match, i, object, group;\n\n if (raw) {\n raw.lastIndex = re.lastIndex;\n result = call(patchedExec, raw, str);\n re.lastIndex = raw.lastIndex;\n return result;\n }\n\n var groups = state.groups;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = call(regexpFlags, re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = replace(flags, 'y', '');\n if (indexOf(flags, 'g') === -1) {\n flags += 'g';\n }\n\n strCopy = stringSlice(str, re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && charAt(str, re.lastIndex - 1) !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = call(nativeExec, sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = stringSlice(match.input, charsAdded);\n match[0] = stringSlice(match[0], charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn't work for /(.?)?/\n call(nativeReplace, match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n if (match && groups) {\n match.groups = object = create(null);\n for (i = 0; i < groups.length; i++) {\n group = groups[i];\n object[group[0]] = match[group[1]];\n }\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.hasIndices) result += 'd';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.unicodeSets) result += 'v';\n if (that.sticky) result += 'y';\n return result;\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar hasOwn = require('../internals/has-own-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar regExpFlags = require('../internals/regexp-flags');\n\nvar RegExpPrototype = RegExp.prototype;\n\nmodule.exports = function (R) {\n var flags = R.flags;\n return flags === undefined && !('flags' in RegExpPrototype) && !hasOwn(R, 'flags') && isPrototypeOf(RegExpPrototype, R)\n ? call(regExpFlags, R) : flags;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\n\n// babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\nvar $RegExp = globalThis.RegExp;\n\nvar UNSUPPORTED_Y = fails(function () {\n var re = $RegExp('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') !== null;\n});\n\n// UC Browser bug\n// https://github.com/zloirock/core-js/issues/1008\nvar MISSED_STICKY = UNSUPPORTED_Y || fails(function () {\n return !$RegExp('a', 'y').sticky;\n});\n\nvar BROKEN_CARET = UNSUPPORTED_Y || fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = $RegExp('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') !== null;\n});\n\nmodule.exports = {\n BROKEN_CARET: BROKEN_CARET,\n MISSED_STICKY: MISSED_STICKY,\n UNSUPPORTED_Y: UNSUPPORTED_Y\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\n\n// babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError\nvar $RegExp = globalThis.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('.', 's');\n return !(re.dotAll && re.test('\\n') && re.flags === 's');\n});\n","'use strict';\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\n\n// babel-minify and Closure Compiler transpiles RegExp('(?b)', 'g') -> /(?b)/g and it causes SyntaxError\nvar $RegExp = globalThis.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('(?b)', 'g');\n return re.exec('b').groups.a !== 'b' ||\n 'b'.replace(re, '$c') !== 'bc';\n});\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar DESCRIPTORS = require('../internals/descriptors');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Avoid NodeJS experimental warning\nmodule.exports = function (name) {\n if (!DESCRIPTORS) return globalThis[name];\n var descriptor = getOwnPropertyDescriptor(globalThis, name);\n return descriptor && descriptor.value;\n};\n","'use strict';\n// `SameValue` abstract operation\n// https://tc39.es/ecma262/#sec-samevalue\n// eslint-disable-next-line es/no-object-is -- safe\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare -- NaN check\n return x === y ? x !== 0 || 1 / x === 1 / y : x !== x && y !== y;\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineBuiltInAccessor(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (target, TAG, STATIC) {\n if (target && !STATIC) target = target.prototype;\n if (target && !hasOwn(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar globalThis = require('../internals/global-this');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});\n\n(store.versions || (store.versions = [])).push({\n version: '3.38.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2024 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.38.1/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar store = require('../internals/shared-store');\n\nmodule.exports = function (key, value) {\n return store[key] || (store[key] = value || {});\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar aConstructor = require('../internals/a-constructor');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || isNullOrUndefined(S = anObject(C)[SPECIES]) ? defaultConstructor : aConstructor(S);\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// check the existence of a method, lowercase\n// of a tag and escaping quotes in arguments\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n var test = ''[METHOD_NAME]('\"');\n return test !== test.toLowerCase() || test.split('\"').length > 3;\n });\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar stringSlice = uncurryThis(''.slice);\n\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = toString(requireObjectCoercible($this));\n var position = toIntegerOrInfinity(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = charCodeAt(S, position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING\n ? charAt(S, position)\n : first\n : CONVERT_TO_STRING\n ? stringSlice(S, position, position + 2)\n : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","'use strict';\n// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128; // 0x80\nvar delimiter = '-'; // '\\x2D'\nvar regexNonASCII = /[^\\0-\\u007E]/; // non-ASCII chars\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\n\nvar $RangeError = RangeError;\nvar exec = uncurryThis(regexSeparators.exec);\nvar floor = Math.floor;\nvar fromCharCode = String.fromCharCode;\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar join = uncurryThis([].join);\nvar push = uncurryThis([].push);\nvar replace = uncurryThis(''.replace);\nvar split = uncurryThis(''.split);\nvar toLowerCase = uncurryThis(''.toLowerCase);\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n */\nvar ucs2decode = function (string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n while (counter < length) {\n var value = charCodeAt(string, counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n // It's a high surrogate, and there is a next character.\n var extra = charCodeAt(string, counter++);\n if ((extra & 0xFC00) === 0xDC00) { // Low surrogate.\n push(output, ((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n // It's an unmatched surrogate; only append this code unit, in case the\n // next code unit is the high surrogate of a surrogate pair.\n push(output, value);\n counter--;\n }\n } else {\n push(output, value);\n }\n }\n return output;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n */\nvar digitToBasic = function (digit) {\n // 0..25 map to ASCII a..z or A..Z\n // 26..35 map to ASCII 0..9\n return digit + 22 + 75 * (digit < 26);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n */\nvar adapt = function (delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n while (delta > baseMinusTMin * tMax >> 1) {\n delta = floor(delta / baseMinusTMin);\n k += base;\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n */\nvar encode = function (input) {\n var output = [];\n\n // Convert the input in UCS-2 to an array of Unicode code points.\n input = ucs2decode(input);\n\n // Cache the length.\n var inputLength = input.length;\n\n // Initialize the state.\n var n = initialN;\n var delta = 0;\n var bias = initialBias;\n var i, currentValue;\n\n // Handle the basic code points.\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < 0x80) {\n push(output, fromCharCode(currentValue));\n }\n }\n\n var basicLength = output.length; // number of basic code points.\n var handledCPCount = basicLength; // number of code points that have been handled;\n\n // Finish the basic string with a delimiter unless it's empty.\n if (basicLength) {\n push(output, delimiter);\n }\n\n // Main encoding loop:\n while (handledCPCount < inputLength) {\n // All non-basic code points < n have been handled already. Find the next larger one:\n var m = maxInt;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n\n // Increase `delta` enough to advance the decoder's state to , but guard against overflow.\n var handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n throw new $RangeError(OVERFLOW_ERROR);\n }\n\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < n && ++delta > maxInt) {\n throw new $RangeError(OVERFLOW_ERROR);\n }\n if (currentValue === n) {\n // Represent delta as a generalized variable-length integer.\n var q = delta;\n var k = base;\n while (true) {\n var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;\n if (q < t) break;\n var qMinusT = q - t;\n var baseMinusT = base - t;\n push(output, fromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n q = floor(qMinusT / baseMinusT);\n k += base;\n }\n\n push(output, fromCharCode(digitToBasic(q)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount === basicLength);\n delta = 0;\n handledCPCount++;\n }\n }\n\n delta++;\n n++;\n }\n return join(output, '');\n};\n\nmodule.exports = function (input) {\n var encoded = [];\n var labels = split(replace(toLowerCase(input), regexSeparators, '\\u002E'), '.');\n var i, label;\n for (i = 0; i < labels.length; i++) {\n label = labels[i];\n push(encoded, exec(regexNonASCII, label) ? 'xn--' + encode(label) : label);\n }\n return join(encoded, '.');\n};\n","'use strict';\nvar PROPER_FUNCTION_NAME = require('../internals/function-name').PROPER;\nvar fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]()\n || non[METHOD_NAME]() !== non\n || (PROPER_FUNCTION_NAME && whitespaces[METHOD_NAME].name !== METHOD_NAME);\n });\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar whitespaces = require('../internals/whitespaces');\n\nvar replace = uncurryThis(''.replace);\nvar ltrim = RegExp('^[' + whitespaces + ']+');\nvar rtrim = RegExp('(^|[^' + whitespaces + '])[' + whitespaces + ']+$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = toString(requireObjectCoercible($this));\n if (TYPE & 1) string = replace(string, ltrim, '');\n if (TYPE & 2) string = replace(string, rtrim, '$1');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.es/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/environment-v8-version');\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\n\nvar $String = globalThis.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\nvar call = require('../internals/function-call');\nvar getBuiltIn = require('../internals/get-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function () {\n var Symbol = getBuiltIn('Symbol');\n var SymbolPrototype = Symbol && Symbol.prototype;\n var valueOf = SymbolPrototype && SymbolPrototype.valueOf;\n var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n if (SymbolPrototype && !SymbolPrototype[TO_PRIMITIVE]) {\n // `Symbol.prototype[@@toPrimitive]` method\n // https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\n // eslint-disable-next-line no-unused-vars -- required for .length\n defineBuiltIn(SymbolPrototype, TO_PRIMITIVE, function (hint) {\n return call(valueOf, this);\n }, { arity: 1 });\n }\n};\n","'use strict';\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\n/* eslint-disable es/no-symbol -- safe */\nmodule.exports = NATIVE_SYMBOL && !!Symbol['for'] && !!Symbol.keyFor;\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind-context');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar fails = require('../internals/fails');\nvar html = require('../internals/html');\nvar arraySlice = require('../internals/array-slice');\nvar createElement = require('../internals/document-create-element');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar IS_IOS = require('../internals/environment-is-ios');\nvar IS_NODE = require('../internals/environment-is-node');\n\nvar set = globalThis.setImmediate;\nvar clear = globalThis.clearImmediate;\nvar process = globalThis.process;\nvar Dispatch = globalThis.Dispatch;\nvar Function = globalThis.Function;\nvar MessageChannel = globalThis.MessageChannel;\nvar String = globalThis.String;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar $location, defer, channel, port;\n\nfails(function () {\n // Deno throws a ReferenceError on `location` access without `--location` flag\n $location = globalThis.location;\n});\n\nvar run = function (id) {\n if (hasOwn(queue, id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar eventListener = function (event) {\n run(event.data);\n};\n\nvar globalPostMessageDefer = function (id) {\n // old engines have not location.origin\n globalThis.postMessage(String(id), $location.protocol + '//' + $location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(handler) {\n validateArgumentsLength(arguments.length, 1);\n var fn = isCallable(handler) ? handler : Function(handler);\n var args = arraySlice(arguments, 1);\n queue[++counter] = function () {\n apply(fn, undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (IS_NODE) {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = eventListener;\n defer = bind(port.postMessage, port);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n globalThis.addEventListener &&\n isCallable(globalThis.postMessage) &&\n !globalThis.importScripts &&\n $location && $location.protocol !== 'file:' &&\n !fails(globalPostMessageDefer)\n ) {\n defer = globalPostMessageDefer;\n globalThis.addEventListener('message', eventListener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\n// `thisNumberValue` abstract operation\n// https://tc39.es/ecma262/#sec-thisnumbervalue\nmodule.exports = uncurryThis(1.0.valueOf);\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\n\nvar $TypeError = TypeError;\n\n// `ToBigInt` abstract operation\n// https://tc39.es/ecma262/#sec-tobigint\nmodule.exports = function (argument) {\n var prim = toPrimitive(argument, 'number');\n if (typeof prim == 'number') throw new $TypeError(\"Can't convert number to bigint\");\n // eslint-disable-next-line es/no-bigint -- safe\n return BigInt(prim);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\n\nvar $RangeError = RangeError;\n\n// `ToIndex` abstract operation\n// https://tc39.es/ecma262/#sec-toindex\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toIntegerOrInfinity(it);\n var length = toLength(number);\n if (number !== length) throw new $RangeError('Wrong length or index');\n return length;\n};\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n var len = toIntegerOrInfinity(argument);\n return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar toPositiveInteger = require('../internals/to-positive-integer');\n\nvar $RangeError = RangeError;\n\nmodule.exports = function (it, BYTES) {\n var offset = toPositiveInteger(it);\n if (offset % BYTES) throw new $RangeError('Wrong offset');\n return offset;\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar $RangeError = RangeError;\n\nmodule.exports = function (it) {\n var result = toIntegerOrInfinity(it);\n if (result < 0) throw new $RangeError(\"The argument can't be less than 0\");\n return result;\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw new $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","'use strict';\nvar round = Math.round;\n\nmodule.exports = function (it) {\n var value = round(it);\n return value < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF;\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar globalThis = require('../internals/global-this');\nvar call = require('../internals/function-call');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-array-constructors-require-wrappers');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayBufferModule = require('../internals/array-buffer');\nvar anInstance = require('../internals/an-instance');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar isIntegralNumber = require('../internals/is-integral-number');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar toOffset = require('../internals/to-offset');\nvar toUint8Clamped = require('../internals/to-uint8-clamped');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar classof = require('../internals/classof');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar create = require('../internals/object-create');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar typedArrayFrom = require('../internals/typed-array-from');\nvar forEach = require('../internals/array-iteration').forEach;\nvar setSpecies = require('../internals/set-species');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar arrayFromConstructorAndList = require('../internals/array-from-constructor-and-list');\nvar InternalStateModule = require('../internals/internal-state');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar enforceInternalState = InternalStateModule.enforce;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar RangeError = globalThis.RangeError;\nvar ArrayBuffer = ArrayBufferModule.ArrayBuffer;\nvar ArrayBufferPrototype = ArrayBuffer.prototype;\nvar DataView = ArrayBufferModule.DataView;\nvar NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS;\nvar TYPED_ARRAY_TAG = ArrayBufferViewCore.TYPED_ARRAY_TAG;\nvar TypedArray = ArrayBufferViewCore.TypedArray;\nvar TypedArrayPrototype = ArrayBufferViewCore.TypedArrayPrototype;\nvar isTypedArray = ArrayBufferViewCore.isTypedArray;\nvar BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\nvar WRONG_LENGTH = 'Wrong length';\n\nvar addGetter = function (it, key) {\n defineBuiltInAccessor(it, key, {\n configurable: true,\n get: function () {\n return getInternalState(this)[key];\n }\n });\n};\n\nvar isArrayBuffer = function (it) {\n var klass;\n return isPrototypeOf(ArrayBufferPrototype, it) || (klass = classof(it)) === 'ArrayBuffer' || klass === 'SharedArrayBuffer';\n};\n\nvar isTypedArrayIndex = function (target, key) {\n return isTypedArray(target)\n && !isSymbol(key)\n && key in target\n && isIntegralNumber(+key)\n && key >= 0;\n};\n\nvar wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) {\n key = toPropertyKey(key);\n return isTypedArrayIndex(target, key)\n ? createPropertyDescriptor(2, target[key])\n : nativeGetOwnPropertyDescriptor(target, key);\n};\n\nvar wrappedDefineProperty = function defineProperty(target, key, descriptor) {\n key = toPropertyKey(key);\n if (isTypedArrayIndex(target, key)\n && isObject(descriptor)\n && hasOwn(descriptor, 'value')\n && !hasOwn(descriptor, 'get')\n && !hasOwn(descriptor, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !descriptor.configurable\n && (!hasOwn(descriptor, 'writable') || descriptor.writable)\n && (!hasOwn(descriptor, 'enumerable') || descriptor.enumerable)\n ) {\n target[key] = descriptor.value;\n return target;\n } return nativeDefineProperty(target, key, descriptor);\n};\n\nif (DESCRIPTORS) {\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n getOwnPropertyDescriptorModule.f = wrappedGetOwnPropertyDescriptor;\n definePropertyModule.f = wrappedDefineProperty;\n addGetter(TypedArrayPrototype, 'buffer');\n addGetter(TypedArrayPrototype, 'byteOffset');\n addGetter(TypedArrayPrototype, 'byteLength');\n addGetter(TypedArrayPrototype, 'length');\n }\n\n $({ target: 'Object', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, {\n getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor,\n defineProperty: wrappedDefineProperty\n });\n\n module.exports = function (TYPE, wrapper, CLAMPED) {\n var BYTES = TYPE.match(/\\d+/)[0] / 8;\n var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + TYPE;\n var SETTER = 'set' + TYPE;\n var NativeTypedArrayConstructor = globalThis[CONSTRUCTOR_NAME];\n var TypedArrayConstructor = NativeTypedArrayConstructor;\n var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype;\n var exported = {};\n\n var getter = function (that, index) {\n var data = getInternalState(that);\n return data.view[GETTER](index * BYTES + data.byteOffset, true);\n };\n\n var setter = function (that, index, value) {\n var data = getInternalState(that);\n data.view[SETTER](index * BYTES + data.byteOffset, CLAMPED ? toUint8Clamped(value) : value, true);\n };\n\n var addElement = function (that, index) {\n nativeDefineProperty(that, index, {\n get: function () {\n return getter(this, index);\n },\n set: function (value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n TypedArrayConstructor = wrapper(function (that, data, offset, $length) {\n anInstance(that, TypedArrayConstructorPrototype);\n var index = 0;\n var byteOffset = 0;\n var buffer, byteLength, length;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new ArrayBuffer(byteLength);\n } else if (isArrayBuffer(data)) {\n buffer = data;\n byteOffset = toOffset(offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw new RangeError(WRONG_LENGTH);\n byteLength = $len - byteOffset;\n if (byteLength < 0) throw new RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + byteOffset > $len) throw new RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (isTypedArray(data)) {\n return arrayFromConstructorAndList(TypedArrayConstructor, data);\n } else {\n return call(typedArrayFrom, TypedArrayConstructor, data);\n }\n setInternalState(that, {\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength,\n length: length,\n view: new DataView(buffer)\n });\n while (index < length) addElement(that, index++);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype);\n } else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) {\n TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) {\n anInstance(dummy, TypedArrayConstructorPrototype);\n return inheritIfRequired(function () {\n if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data));\n if (isArrayBuffer(data)) return $length !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length)\n : typedArrayOffset !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES))\n : new NativeTypedArrayConstructor(data);\n if (isTypedArray(data)) return arrayFromConstructorAndList(TypedArrayConstructor, data);\n return call(typedArrayFrom, TypedArrayConstructor, data);\n }(), dummy, TypedArrayConstructor);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) {\n if (!(key in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]);\n }\n });\n TypedArrayConstructor.prototype = TypedArrayConstructorPrototype;\n }\n\n if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor);\n }\n\n enforceInternalState(TypedArrayConstructorPrototype).TypedArrayConstructor = TypedArrayConstructor;\n\n if (TYPED_ARRAY_TAG) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME);\n }\n\n var FORCED = TypedArrayConstructor !== NativeTypedArrayConstructor;\n\n exported[CONSTRUCTOR_NAME] = TypedArrayConstructor;\n\n $({ global: true, constructor: true, forced: FORCED, sham: !NATIVE_ARRAY_BUFFER_VIEWS }, exported);\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES);\n }\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES);\n }\n\n setSpecies(CONSTRUCTOR_NAME);\n };\n} else module.exports = function () { /* empty */ };\n","'use strict';\n/* eslint-disable no-new, sonar/inconsistent-function-call -- required for testing */\nvar globalThis = require('../internals/global-this');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar NATIVE_ARRAY_BUFFER_VIEWS = require('../internals/array-buffer-view-core').NATIVE_ARRAY_BUFFER_VIEWS;\n\nvar ArrayBuffer = globalThis.ArrayBuffer;\nvar Int8Array = globalThis.Int8Array;\n\nmodule.exports = !NATIVE_ARRAY_BUFFER_VIEWS || !fails(function () {\n Int8Array(1);\n}) || !fails(function () {\n new Int8Array(-1);\n}) || !checkCorrectnessOfIteration(function (iterable) {\n new Int8Array();\n new Int8Array(null);\n new Int8Array(1.5);\n new Int8Array(iterable);\n}, true) || fails(function () {\n // Safari (11+) bug - a reason why even Safari 13 should load a typed array polyfill\n return new Int8Array(new ArrayBuffer(2), 1, undefined).length !== 1;\n});\n","'use strict';\nvar arrayFromConstructorAndList = require('../internals/array-from-constructor-and-list');\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\n\nmodule.exports = function (instance, list) {\n return arrayFromConstructorAndList(typedArraySpeciesConstructor(instance), list);\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar aConstructor = require('../internals/a-constructor');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar isBigIntArray = require('../internals/is-big-int-array');\nvar aTypedArrayConstructor = require('../internals/array-buffer-view-core').aTypedArrayConstructor;\nvar toBigInt = require('../internals/to-big-int');\n\nmodule.exports = function from(source /* , mapfn, thisArg */) {\n var C = aConstructor(this);\n var O = toObject(source);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var i, length, result, thisIsBigIntArray, value, step, iterator, next;\n if (iteratorMethod && !isArrayIteratorMethod(iteratorMethod)) {\n iterator = getIterator(O, iteratorMethod);\n next = iterator.next;\n O = [];\n while (!(step = call(next, iterator)).done) {\n O.push(step.value);\n }\n }\n if (mapping && argumentsLength > 2) {\n mapfn = bind(mapfn, arguments[2]);\n }\n length = lengthOfArrayLike(O);\n result = new (aTypedArrayConstructor(C))(length);\n thisIsBigIntArray = isBigIntArray(result);\n for (i = 0; length > i; i++) {\n value = mapping ? mapfn(O[i], i) : O[i];\n // FF30- typed arrays doesn't properly convert objects to typed array values\n result[i] = thisIsBigIntArray ? toBigInt(value) : +value;\n }\n return result;\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar speciesConstructor = require('../internals/species-constructor');\n\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;\n\n// a part of `TypedArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#typedarray-species-create\nmodule.exports = function (originalArray) {\n return aTypedArrayConstructor(speciesConstructor(originalArray, getTypedArrayConstructor(originalArray)));\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line unicorn/relative-url-style -- required for testing\n var url = new URL('b?a=1&b=2&c=3', 'https://a');\n var params = url.searchParams;\n var params2 = new URLSearchParams('a=1&a=2&b=3');\n var result = '';\n url.pathname = 'c%20d';\n params.forEach(function (value, key) {\n params['delete']('b');\n result += key + value;\n });\n params2['delete']('a', 2);\n // `undefined` case is a Chromium 117 bug\n // https://bugs.chromium.org/p/v8/issues/detail?id=14222\n params2['delete']('b', undefined);\n return (IS_PURE && (!url.toJSON || !params2.has('a', 1) || params2.has('a', 2) || !params2.has('a', undefined) || params2.has('b')))\n || (!params.size && (IS_PURE || !DESCRIPTORS))\n || !params.sort\n || url.href !== 'https://a/c%20d?a=1&c=3'\n || params.get('c') !== '3'\n || String(new URLSearchParams('?a=1')) !== 'a=1'\n || !params[ITERATOR]\n // throws in Edge\n || new URL('https://a@b').username !== 'a'\n || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'\n // not punycoded in Edge\n || new URL('https://тест').host !== 'xn--e1aybc'\n // not escaped in Chrome 62-\n || new URL('https://a#б').hash !== '#%D0%B1'\n // fails in Chrome 66-\n || result !== 'a1c3'\n // throws in Safari\n || new URL('https://x', undefined).host !== 'x';\n});\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\nvar $TypeError = TypeError;\n\nmodule.exports = function (passed, required) {\n if (passed < required) throw new $TypeError('Not enough arguments');\n return passed;\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = globalThis.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nvar path = require('../internals/path');\nvar hasOwn = require('../internals/has-own-property');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!hasOwn(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = globalThis.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\n// a string of all valid unicode whitespaces\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002' +\n '\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","'use strict';\nvar $ = require('../internals/export');\nvar globalThis = require('../internals/global-this');\nvar arrayBufferModule = require('../internals/array-buffer');\nvar setSpecies = require('../internals/set-species');\n\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar ArrayBuffer = arrayBufferModule[ARRAY_BUFFER];\nvar NativeArrayBuffer = globalThis[ARRAY_BUFFER];\n\n// `ArrayBuffer` constructor\n// https://tc39.es/ecma262/#sec-arraybuffer-constructor\n$({ global: true, constructor: true, forced: NativeArrayBuffer !== ArrayBuffer }, {\n ArrayBuffer: ArrayBuffer\n});\n\nsetSpecies(ARRAY_BUFFER);\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/environment-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !arrayMethodHasSpeciesSupport('concat');\n\n// `Array.prototype.concat` method\n// https://tc39.es/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n concat: function concat(arg) {\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = lengthOfArrayLike(E);\n doesNotExceedSafeInteger(n + len);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n doesNotExceedSafeInteger(n + 1);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\n// Shouldn't skip holes\n// eslint-disable-next-line es/no-array-prototype-find -- testing\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.es/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n","'use strict';\nvar $ = require('../internals/export');\nvar flattenIntoArray = require('../internals/flatten-into-array');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\n// `Array.prototype.flat` method\n// https://tc39.es/ecma262/#sec-array.prototype.flat\n$({ target: 'Array', proto: true }, {\n flat: function flat(/* depthArg = 1 */) {\n var depthArg = arguments.length ? arguments[0] : undefined;\n var O = toObject(this);\n var sourceLen = lengthOfArrayLike(O);\n var A = arraySpeciesCreate(O, 0);\n A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toIntegerOrInfinity(depthArg));\n return A;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar fails = require('../internals/fails');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// FF99+ bug\nvar BROKEN_ON_SPARSE = fails(function () {\n // eslint-disable-next-line es/no-array-prototype-includes -- detection\n return !Array(1).includes();\n});\n\n// `Array.prototype.includes` method\n// https://tc39.es/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineProperty = require('../internals/object-define-property').f;\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = null;\n return createIterResultObject(undefined, true);\n }\n switch (state.kind) {\n case 'keys': return createIterResultObject(index, false);\n case 'values': return createIterResultObject(target[index], false);\n } return createIterResultObject([index, target[index]], false);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nvar values = Iterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n// V8 ~ Chrome 45- bug\nif (!IS_PURE && DESCRIPTORS && values.name !== 'values') try {\n defineProperty(values, 'name', { value: 'values' });\n} catch (error) { /* empty */ }\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeJoin = uncurryThis([].join);\n\nvar ES3_STRINGS = IndexedObject !== Object;\nvar FORCED = ES3_STRINGS || !arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.es/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: FORCED }, {\n join: function join(separator) {\n return nativeJoin(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n\n// `Array.prototype.map` method\n// https://tc39.es/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar nativeSlice = require('../internals/array-slice');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar $Array = Array;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.es/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (isConstructor(Constructor) && (Constructor === $Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === $Array || Constructor === undefined) {\n return nativeSlice(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? $Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar deletePropertyOrThrow = require('../internals/delete-property-or-throw');\nvar toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar internalSort = require('../internals/array-sort');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar FF = require('../internals/environment-ff-version');\nvar IE_OR_EDGE = require('../internals/environment-is-ie-or-edge');\nvar V8 = require('../internals/environment-v8-version');\nvar WEBKIT = require('../internals/environment-webkit-version');\n\nvar test = [];\nvar nativeSort = uncurryThis(test.sort);\nvar push = uncurryThis(test.push);\n\n// IE8-\nvar FAILS_ON_UNDEFINED = fails(function () {\n test.sort(undefined);\n});\n// V8 bug\nvar FAILS_ON_NULL = fails(function () {\n test.sort(null);\n});\n// Old WebKit\nvar STRICT_METHOD = arrayMethodIsStrict('sort');\n\nvar STABLE_SORT = !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 70;\n if (FF && FF > 3) return;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 603;\n\n var result = '';\n var code, chr, value, index;\n\n // generate an array with more 512 elements (Chakra and old V8 fails only in this case)\n for (code = 65; code < 76; code++) {\n chr = String.fromCharCode(code);\n\n switch (code) {\n case 66: case 69: case 70: case 72: value = 3; break;\n case 68: case 71: value = 4; break;\n default: value = 2;\n }\n\n for (index = 0; index < 47; index++) {\n test.push({ k: chr + index, v: value });\n }\n }\n\n test.sort(function (a, b) { return b.v - a.v; });\n\n for (index = 0; index < test.length; index++) {\n chr = test[index].k.charAt(0);\n if (result.charAt(result.length - 1) !== chr) result += chr;\n }\n\n return result !== 'DGBEFHACIJK';\n});\n\nvar FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT;\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (y === undefined) return -1;\n if (x === undefined) return 1;\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n return toString(x) > toString(y) ? 1 : -1;\n };\n};\n\n// `Array.prototype.sort` method\n// https://tc39.es/ecma262/#sec-array.prototype.sort\n$({ target: 'Array', proto: true, forced: FORCED }, {\n sort: function sort(comparefn) {\n if (comparefn !== undefined) aCallable(comparefn);\n\n var array = toObject(this);\n\n if (STABLE_SORT) return comparefn === undefined ? nativeSort(array) : nativeSort(array, comparefn);\n\n var items = [];\n var arrayLength = lengthOfArrayLike(array);\n var itemsLength, index;\n\n for (index = 0; index < arrayLength; index++) {\n if (index in array) push(items, array[index]);\n }\n\n internalSort(items, getSortCompare(comparefn));\n\n itemsLength = lengthOfArrayLike(items);\n index = 0;\n\n while (index < itemsLength) array[index] = items[index++];\n while (index < arrayLength) deletePropertyOrThrow(array, index++);\n\n return array;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar setArrayLength = require('../internals/array-set-length');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar createProperty = require('../internals/create-property');\nvar deletePropertyOrThrow = require('../internals/delete-property-or-throw');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// `Array.prototype.splice` method\n// https://tc39.es/ecma262/#sec-array.prototype.splice\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n splice: function splice(start, deleteCount /* , ...items */) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var actualStart = toAbsoluteIndex(start, len);\n var argumentsLength = arguments.length;\n var insertCount, actualDeleteCount, A, k, from, to;\n if (argumentsLength === 0) {\n insertCount = actualDeleteCount = 0;\n } else if (argumentsLength === 1) {\n insertCount = 0;\n actualDeleteCount = len - actualStart;\n } else {\n insertCount = argumentsLength - 2;\n actualDeleteCount = min(max(toIntegerOrInfinity(deleteCount), 0), len - actualStart);\n }\n doesNotExceedSafeInteger(len + insertCount - actualDeleteCount);\n A = arraySpeciesCreate(O, actualDeleteCount);\n for (k = 0; k < actualDeleteCount; k++) {\n from = actualStart + k;\n if (from in O) createProperty(A, k, O[from]);\n }\n A.length = actualDeleteCount;\n if (insertCount < actualDeleteCount) {\n for (k = actualStart; k < len - actualDeleteCount; k++) {\n from = k + actualDeleteCount;\n to = k + insertCount;\n if (from in O) O[to] = O[from];\n else deletePropertyOrThrow(O, to);\n }\n for (k = len; k > len - actualDeleteCount + insertCount; k--) deletePropertyOrThrow(O, k - 1);\n } else if (insertCount > actualDeleteCount) {\n for (k = len - actualDeleteCount; k > actualStart; k--) {\n from = k + actualDeleteCount - 1;\n to = k + insertCount - 1;\n if (from in O) O[to] = O[from];\n else deletePropertyOrThrow(O, to);\n }\n }\n for (k = 0; k < insertCount; k++) {\n O[k + actualStart] = arguments[k + 2];\n }\n setArrayLength(O, len - actualDeleteCount + insertCount);\n return A;\n }\n});\n","'use strict';\n// this method was added to unscopables after implementation\n// in popular engines, so it's moved to a separate module\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('flat');\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar FUNCTION_NAME_EXISTS = require('../internals/function-name').EXISTS;\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\n\nvar FunctionPrototype = Function.prototype;\nvar functionToString = uncurryThis(FunctionPrototype.toString);\nvar nameRE = /function\\b(?:\\s|\\/\\*[\\S\\s]*?\\*\\/|\\/\\/[^\\n\\r]*[\\n\\r]+)*([^\\s(/]*)/;\nvar regExpExec = uncurryThis(nameRE.exec);\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.es/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !FUNCTION_NAME_EXISTS) {\n defineBuiltInAccessor(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return regExpExec(nameRE, functionToString(this))[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar globalThis = require('../internals/global-this');\n\n// `globalThis` object\n// https://tc39.es/ecma262/#sec-globalthis\n$({ global: true, forced: globalThis.globalThis !== globalThis }, {\n globalThis: globalThis\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar isSymbol = require('../internals/is-symbol');\nvar arraySlice = require('../internals/array-slice');\nvar getReplacerFunction = require('../internals/get-json-replacer-function');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nvar $String = String;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar exec = uncurryThis(/./.exec);\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar replace = uncurryThis(''.replace);\nvar numberToString = uncurryThis(1.0.toString);\n\nvar tester = /[\\uD800-\\uDFFF]/g;\nvar low = /^[\\uD800-\\uDBFF]$/;\nvar hi = /^[\\uDC00-\\uDFFF]$/;\n\nvar WRONG_SYMBOLS_CONVERSION = !NATIVE_SYMBOL || fails(function () {\n var symbol = getBuiltIn('Symbol')('stringify detection');\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) !== '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) !== '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) !== '{}';\n});\n\n// https://github.com/tc39/proposal-well-formed-stringify\nvar ILL_FORMED_UNICODE = fails(function () {\n return $stringify('\\uDF06\\uD834') !== '\"\\\\udf06\\\\ud834\"'\n || $stringify('\\uDEAD') !== '\"\\\\udead\"';\n});\n\nvar stringifyWithSymbolsFix = function (it, replacer) {\n var args = arraySlice(arguments);\n var $replacer = getReplacerFunction(replacer);\n if (!isCallable($replacer) && (it === undefined || isSymbol(it))) return; // IE8 returns string on undefined\n args[1] = function (key, value) {\n // some old implementations (like WebKit) could pass numbers as keys\n if (isCallable($replacer)) value = call($replacer, this, $String(key), value);\n if (!isSymbol(value)) return value;\n };\n return apply($stringify, null, args);\n};\n\nvar fixIllFormed = function (match, offset, string) {\n var prev = charAt(string, offset - 1);\n var next = charAt(string, offset + 1);\n if ((exec(low, match) && !exec(hi, next)) || (exec(hi, match) && !exec(low, prev))) {\n return '\\\\u' + numberToString(charCodeAt(match, 0), 16);\n } return match;\n};\n\nif ($stringify) {\n // `JSON.stringify` method\n // https://tc39.es/ecma262/#sec-json.stringify\n $({ target: 'JSON', stat: true, arity: 3, forced: WRONG_SYMBOLS_CONVERSION || ILL_FORMED_UNICODE }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n stringify: function stringify(it, replacer, space) {\n var args = arraySlice(arguments);\n var result = apply(WRONG_SYMBOLS_CONVERSION ? stringifyWithSymbolsFix : $stringify, null, args);\n return ILL_FORMED_UNICODE && typeof result == 'string' ? replace(result, tester, fixIllFormed) : result;\n }\n });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar globalThis = require('../internals/global-this');\nvar path = require('../internals/path');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar hasOwn = require('../internals/has-own-property');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar isSymbol = require('../internals/is-symbol');\nvar toPrimitive = require('../internals/to-primitive');\nvar fails = require('../internals/fails');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar thisNumberValue = require('../internals/this-number-value');\nvar trim = require('../internals/string-trim').trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = globalThis[NUMBER];\nvar PureNumberNamespace = path[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\nvar TypeError = globalThis.TypeError;\nvar stringSlice = uncurryThis(''.slice);\nvar charCodeAt = uncurryThis(''.charCodeAt);\n\n// `ToNumeric` abstract operation\n// https://tc39.es/ecma262/#sec-tonumeric\nvar toNumeric = function (value) {\n var primValue = toPrimitive(value, 'number');\n return typeof primValue == 'bigint' ? primValue : toNumber(primValue);\n};\n\n// `ToNumber` abstract operation\n// https://tc39.es/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, 'number');\n var first, third, radix, maxCode, digits, length, index, code;\n if (isSymbol(it)) throw new TypeError('Cannot convert a Symbol value to a number');\n if (typeof it == 'string' && it.length > 2) {\n it = trim(it);\n first = charCodeAt(it, 0);\n if (first === 43 || first === 45) {\n third = charCodeAt(it, 2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (charCodeAt(it, 1)) {\n // fast equal of /^0b[01]+$/i\n case 66:\n case 98:\n radix = 2;\n maxCode = 49;\n break;\n // fast equal of /^0o[0-7]+$/i\n case 79:\n case 111:\n radix = 8;\n maxCode = 55;\n break;\n default:\n return +it;\n }\n digits = stringSlice(it, 2);\n length = digits.length;\n for (index = 0; index < length; index++) {\n code = charCodeAt(digits, index);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\nvar FORCED = isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'));\n\nvar calledWithNew = function (dummy) {\n // includes check on 1..constructor(foo) case\n return isPrototypeOf(NumberPrototype, dummy) && fails(function () { thisNumberValue(dummy); });\n};\n\n// `Number` constructor\n// https://tc39.es/ecma262/#sec-number-constructor\nvar NumberWrapper = function Number(value) {\n var n = arguments.length < 1 ? 0 : NativeNumber(toNumeric(value));\n return calledWithNew(this) ? inheritIfRequired(Object(n), this, NumberWrapper) : n;\n};\n\nNumberWrapper.prototype = NumberPrototype;\nif (FORCED && !IS_PURE) NumberPrototype.constructor = NumberWrapper;\n\n$({ global: true, constructor: true, wrap: true, forced: FORCED }, {\n Number: NumberWrapper\n});\n\n// Use `internal/copy-constructor-properties` helper in `core-js@4`\nvar copyConstructorProperties = function (target, source) {\n for (var keys = DESCRIPTORS ? getOwnPropertyNames(source) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES2015 (in case, if modules with ES2015 Number statics required before):\n 'EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,' +\n // ESNext\n 'fromString,range'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (hasOwn(source, key = keys[j]) && !hasOwn(target, key)) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n\nif (IS_PURE && PureNumberNamespace) copyConstructorProperties(path[NUMBER], PureNumberNamespace);\nif (FORCED || IS_PURE) copyConstructorProperties(path[NUMBER], NativeNumber);\n","'use strict';\nvar $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\n// eslint-disable-next-line es/no-object-assign -- required for testing\n$({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, {\n assign: assign\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar FORCED = !DESCRIPTORS || fails(function () { nativeGetOwnPropertyDescriptor(1); });\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\n$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {\n return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar ownKeys = require('../internals/own-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar createProperty = require('../internals/create-property');\n\n// `Object.getOwnPropertyDescriptors` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIndexedObject(object);\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n var keys = ownKeys(O);\n var result = {};\n var index = 0;\n var key, descriptor;\n while (keys.length > index) {\n descriptor = getOwnPropertyDescriptor(O, key = keys[index++]);\n if (descriptor !== undefined) createProperty(result, key, descriptor);\n }\n return result;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar fails = require('../internals/fails');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar toObject = require('../internals/to-object');\n\n// V8 ~ Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FORCED = !NATIVE_SYMBOL || fails(function () { getOwnPropertySymbolsModule.f(1); });\n\n// `Object.getOwnPropertySymbols` method\n// https://tc39.es/ecma262/#sec-object.getownpropertysymbols\n$({ target: 'Object', stat: true, forced: FORCED }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n var $getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return $getOwnPropertySymbols ? $getOwnPropertySymbols(toObject(it)) : [];\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n defineBuiltIn(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.all` method\n// https://tc39.es/ecma262/#sec-promise.all\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n remaining++;\n call($promiseResolve, C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\n\n// `Promise.prototype.catch` method\n// https://tc39.es/ecma262/#sec-promise.prototype.catch\n$({ target: 'Promise', proto: true, forced: FORCED_PROMISE_CONSTRUCTOR, real: true }, {\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n});\n\n// makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromiseConstructor)) {\n var method = getBuiltIn('Promise').prototype['catch'];\n if (NativePromisePrototype['catch'] !== method) {\n defineBuiltIn(NativePromisePrototype, 'catch', method, { unsafe: true });\n }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar IS_NODE = require('../internals/environment-is-node');\nvar globalThis = require('../internals/global-this');\nvar call = require('../internals/function-call');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar aCallable = require('../internals/a-callable');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar perform = require('../internals/perform');\nvar Queue = require('../internals/queue');\nvar InternalStateModule = require('../internals/internal-state');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar PromiseConstructorDetection = require('../internals/promise-constructor-detection');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\n\nvar PROMISE = 'Promise';\nvar FORCED_PROMISE_CONSTRUCTOR = PromiseConstructorDetection.CONSTRUCTOR;\nvar NATIVE_PROMISE_REJECTION_EVENT = PromiseConstructorDetection.REJECTION_EVENT;\nvar NATIVE_PROMISE_SUBCLASSING = PromiseConstructorDetection.SUBCLASSING;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar setInternalState = InternalStateModule.set;\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar PromiseConstructor = NativePromiseConstructor;\nvar PromisePrototype = NativePromisePrototype;\nvar TypeError = globalThis.TypeError;\nvar document = globalThis.document;\nvar process = globalThis.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\n\nvar DISPATCH_EVENT = !!(document && document.createEvent && globalThis.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\n\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && isCallable(then = it.then) ? then : false;\n};\n\nvar callReaction = function (reaction, state) {\n var value = state.value;\n var ok = state.state === FULFILLED;\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(new TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n call(then, result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n};\n\nvar notify = function (state, isReject) {\n if (state.notified) return;\n state.notified = true;\n microtask(function () {\n var reactions = state.reactions;\n var reaction;\n while (reaction = reactions.get()) {\n callReaction(reaction, state);\n }\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(state);\n });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n globalThis.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (!NATIVE_PROMISE_REJECTION_EVENT && (handler = globalThis['on' + name])) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (state) {\n call(task, globalThis, function () {\n var promise = state.facade;\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\n\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (state) {\n call(task, globalThis, function () {\n var promise = state.facade;\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, state, unwrap) {\n return function (value) {\n fn(state, value, unwrap);\n };\n};\n\nvar internalReject = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(state, true);\n};\n\nvar internalResolve = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (state.facade === value) throw new TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n call(then, value,\n bind(internalResolve, wrapper, state),\n bind(internalReject, wrapper, state)\n );\n } catch (error) {\n internalReject(wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(state, false);\n }\n } catch (error) {\n internalReject({ done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED_PROMISE_CONSTRUCTOR) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromisePrototype);\n aCallable(executor);\n call(Internal, this);\n var state = getInternalPromiseState(this);\n try {\n executor(bind(internalResolve, state), bind(internalReject, state));\n } catch (error) {\n internalReject(state, error);\n }\n };\n\n PromisePrototype = PromiseConstructor.prototype;\n\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: new Queue(),\n rejection: false,\n state: PENDING,\n value: null\n });\n };\n\n // `Promise.prototype.then` method\n // https://tc39.es/ecma262/#sec-promise.prototype.then\n Internal.prototype = defineBuiltIn(PromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n state.parent = true;\n reaction.ok = isCallable(onFulfilled) ? onFulfilled : true;\n reaction.fail = isCallable(onRejected) && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n if (state.state === PENDING) state.reactions.add(reaction);\n else microtask(function () {\n callReaction(reaction, state);\n });\n return reaction.promise;\n });\n\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalPromiseState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, state);\n this.reject = bind(internalReject, state);\n };\n\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && isCallable(NativePromiseConstructor) && NativePromisePrototype !== Object.prototype) {\n nativeThen = NativePromisePrototype.then;\n\n if (!NATIVE_PROMISE_SUBCLASSING) {\n // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n defineBuiltIn(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n call(nativeThen, that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n }\n\n // make `.constructor === Promise` work for native promise-based APIs\n try {\n delete NativePromisePrototype.constructor;\n } catch (error) { /* empty */ }\n\n // make `instanceof Promise` work for native promise-based APIs\n if (setPrototypeOf) {\n setPrototypeOf(NativePromisePrototype, PromisePrototype);\n }\n }\n}\n\n$({ global: true, constructor: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar fails = require('../internals/fails');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar speciesConstructor = require('../internals/species-constructor');\nvar promiseResolve = require('../internals/promise-resolve');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\n\n// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829\nvar NON_GENERIC = !!NativePromiseConstructor && fails(function () {\n // eslint-disable-next-line unicorn/no-thenable -- required for testing\n NativePromisePrototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ });\n});\n\n// `Promise.prototype.finally` method\n// https://tc39.es/ecma262/#sec-promise.prototype.finally\n$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, {\n 'finally': function (onFinally) {\n var C = speciesConstructor(this, getBuiltIn('Promise'));\n var isFunction = isCallable(onFinally);\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n }\n});\n\n// makes sure that native promise-based APIs `Promise#finally` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromiseConstructor)) {\n var method = getBuiltIn('Promise').prototype['finally'];\n if (NativePromisePrototype['finally'] !== method) {\n defineBuiltIn(NativePromisePrototype, 'finally', method, { unsafe: true });\n }\n}\n","'use strict';\n// TODO: Remove this module from `core-js@4` since it's split to modules listed below\nrequire('../modules/es.promise.constructor');\nrequire('../modules/es.promise.all');\nrequire('../modules/es.promise.catch');\nrequire('../modules/es.promise.race');\nrequire('../modules/es.promise.reject');\nrequire('../modules/es.promise.resolve');\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.race` method\n// https://tc39.es/ecma262/#sec-promise.race\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n iterate(iterable, function (promise) {\n call($promiseResolve, C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\n// `Promise.reject` method\n// https://tc39.es/ecma262/#sec-promise.reject\n$({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n reject: function reject(r) {\n var capability = newPromiseCapabilityModule.f(this);\n var capabilityReject = capability.reject;\n capabilityReject(r);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar promiseResolve = require('../internals/promise-resolve');\n\nvar PromiseConstructorWrapper = getBuiltIn('Promise');\nvar CHECK_WRAPPER = IS_PURE && !FORCED_PROMISE_CONSTRUCTOR;\n\n// `Promise.resolve` method\n// https://tc39.es/ecma262/#sec-promise.resolve\n$({ target: 'Promise', stat: true, forced: IS_PURE || FORCED_PROMISE_CONSTRUCTOR }, {\n resolve: function resolve(x) {\n return promiseResolve(CHECK_WRAPPER && this === PromiseConstructorWrapper ? NativePromiseConstructor : this, x);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind');\nvar aConstructor = require('../internals/a-constructor');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar fails = require('../internals/fails');\n\nvar nativeConstruct = getBuiltIn('Reflect', 'construct');\nvar ObjectPrototype = Object.prototype;\nvar push = [].push;\n\n// `Reflect.construct` method\n// https://tc39.es/ecma262/#sec-reflect.construct\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n function F() { /* empty */ }\n return !(nativeConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\n\nvar ARGS_BUG = !fails(function () {\n nativeConstruct(function () { /* empty */ });\n});\n\nvar FORCED = NEW_TARGET_BUG || ARGS_BUG;\n\n$({ target: 'Reflect', stat: true, forced: FORCED, sham: FORCED }, {\n construct: function construct(Target, args /* , newTarget */) {\n aConstructor(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aConstructor(arguments[2]);\n if (ARGS_BUG && !NEW_TARGET_BUG) return nativeConstruct(Target, args, newTarget);\n if (Target === newTarget) {\n // w/o altered newTarget, optimization for 0-4 arguments\n switch (args.length) {\n case 0: return new Target();\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n apply(push, $args, args);\n return new (apply(bind, Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : ObjectPrototype);\n var result = apply(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar globalThis = require('../internals/global-this');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar create = require('../internals/object-create');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar isRegExp = require('../internals/is-regexp');\nvar toString = require('../internals/to-string');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar proxyAccessor = require('../internals/proxy-accessor');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar fails = require('../internals/fails');\nvar hasOwn = require('../internals/has-own-property');\nvar enforceInternalState = require('../internals/internal-state').enforce;\nvar setSpecies = require('../internals/set-species');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');\nvar UNSUPPORTED_NCG = require('../internals/regexp-unsupported-ncg');\n\nvar MATCH = wellKnownSymbol('match');\nvar NativeRegExp = globalThis.RegExp;\nvar RegExpPrototype = NativeRegExp.prototype;\nvar SyntaxError = globalThis.SyntaxError;\nvar exec = uncurryThis(RegExpPrototype.exec);\nvar charAt = uncurryThis(''.charAt);\nvar replace = uncurryThis(''.replace);\nvar stringIndexOf = uncurryThis(''.indexOf);\nvar stringSlice = uncurryThis(''.slice);\n// TODO: Use only proper RegExpIdentifierName\nvar IS_NCG = /^\\?<[^\\s\\d!#%&*+<=>@^][^\\s!#%&*+<=>@^]*>/;\nvar re1 = /a/g;\nvar re2 = /a/g;\n\n// \"new\" should create a new object, old webkit bug\nvar CORRECT_NEW = new NativeRegExp(re1) !== re1;\n\nvar MISSED_STICKY = stickyHelpers.MISSED_STICKY;\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\n\nvar BASE_FORCED = DESCRIPTORS &&\n (!CORRECT_NEW || MISSED_STICKY || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG || fails(function () {\n re2[MATCH] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n // eslint-disable-next-line sonar/inconsistent-function-call -- required for testing\n return NativeRegExp(re1) !== re1 || NativeRegExp(re2) === re2 || String(NativeRegExp(re1, 'i')) !== '/a/i';\n }));\n\nvar handleDotAll = function (string) {\n var length = string.length;\n var index = 0;\n var result = '';\n var brackets = false;\n var chr;\n for (; index <= length; index++) {\n chr = charAt(string, index);\n if (chr === '\\\\') {\n result += chr + charAt(string, ++index);\n continue;\n }\n if (!brackets && chr === '.') {\n result += '[\\\\s\\\\S]';\n } else {\n if (chr === '[') {\n brackets = true;\n } else if (chr === ']') {\n brackets = false;\n } result += chr;\n }\n } return result;\n};\n\nvar handleNCG = function (string) {\n var length = string.length;\n var index = 0;\n var result = '';\n var named = [];\n var names = create(null);\n var brackets = false;\n var ncg = false;\n var groupid = 0;\n var groupname = '';\n var chr;\n for (; index <= length; index++) {\n chr = charAt(string, index);\n if (chr === '\\\\') {\n chr += charAt(string, ++index);\n } else if (chr === ']') {\n brackets = false;\n } else if (!brackets) switch (true) {\n case chr === '[':\n brackets = true;\n break;\n case chr === '(':\n result += chr;\n // ignore non-capturing groups\n if (stringSlice(string, index + 1, index + 3) === '?:') {\n continue;\n }\n if (exec(IS_NCG, stringSlice(string, index + 1))) {\n index += 2;\n ncg = true;\n }\n groupid++;\n continue;\n case chr === '>' && ncg:\n if (groupname === '' || hasOwn(names, groupname)) {\n throw new SyntaxError('Invalid capture group name');\n }\n names[groupname] = true;\n named[named.length] = [groupname, groupid];\n ncg = false;\n groupname = '';\n continue;\n }\n if (ncg) groupname += chr;\n else result += chr;\n } return [result, named];\n};\n\n// `RegExp` constructor\n// https://tc39.es/ecma262/#sec-regexp-constructor\nif (isForced('RegExp', BASE_FORCED)) {\n var RegExpWrapper = function RegExp(pattern, flags) {\n var thisIsRegExp = isPrototypeOf(RegExpPrototype, this);\n var patternIsRegExp = isRegExp(pattern);\n var flagsAreUndefined = flags === undefined;\n var groups = [];\n var rawPattern = pattern;\n var rawFlags, dotAll, sticky, handled, result, state;\n\n if (!thisIsRegExp && patternIsRegExp && flagsAreUndefined && pattern.constructor === RegExpWrapper) {\n return pattern;\n }\n\n if (patternIsRegExp || isPrototypeOf(RegExpPrototype, pattern)) {\n pattern = pattern.source;\n if (flagsAreUndefined) flags = getRegExpFlags(rawPattern);\n }\n\n pattern = pattern === undefined ? '' : toString(pattern);\n flags = flags === undefined ? '' : toString(flags);\n rawPattern = pattern;\n\n if (UNSUPPORTED_DOT_ALL && 'dotAll' in re1) {\n dotAll = !!flags && stringIndexOf(flags, 's') > -1;\n if (dotAll) flags = replace(flags, /s/g, '');\n }\n\n rawFlags = flags;\n\n if (MISSED_STICKY && 'sticky' in re1) {\n sticky = !!flags && stringIndexOf(flags, 'y') > -1;\n if (sticky && UNSUPPORTED_Y) flags = replace(flags, /y/g, '');\n }\n\n if (UNSUPPORTED_NCG) {\n handled = handleNCG(pattern);\n pattern = handled[0];\n groups = handled[1];\n }\n\n result = inheritIfRequired(NativeRegExp(pattern, flags), thisIsRegExp ? this : RegExpPrototype, RegExpWrapper);\n\n if (dotAll || sticky || groups.length) {\n state = enforceInternalState(result);\n if (dotAll) {\n state.dotAll = true;\n state.raw = RegExpWrapper(handleDotAll(pattern), rawFlags);\n }\n if (sticky) state.sticky = true;\n if (groups.length) state.groups = groups;\n }\n\n if (pattern !== rawPattern) try {\n // fails in old engines, but we have no alternatives for unsupported regex syntax\n createNonEnumerableProperty(result, 'source', rawPattern === '' ? '(?:)' : rawPattern);\n } catch (error) { /* empty */ }\n\n return result;\n };\n\n for (var keys = getOwnPropertyNames(NativeRegExp), index = 0; keys.length > index;) {\n proxyAccessor(RegExpWrapper, NativeRegExp, keys[index++]);\n }\n\n RegExpPrototype.constructor = RegExpWrapper;\n RegExpWrapper.prototype = RegExpPrototype;\n defineBuiltIn(globalThis, 'RegExp', RegExpWrapper, { constructor: true });\n}\n\n// https://tc39.es/ecma262/#sec-get-regexp-@@species\nsetSpecies('RegExp');\n","'use strict';\nvar $ = require('../internals/export');\nvar exec = require('../internals/regexp-exec');\n\n// `RegExp.prototype.exec` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.exec\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n exec: exec\n});\n","'use strict';\nvar PROPER_FUNCTION_NAME = require('../internals/function-name').PROPER;\nvar defineBuiltIn = require('../internals/define-built-in');\nvar anObject = require('../internals/an-object');\nvar $toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) !== '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = PROPER_FUNCTION_NAME && nativeToString.name !== TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n defineBuiltIn(RegExpPrototype, TO_STRING, function toString() {\n var R = anObject(this);\n var pattern = $toString(R.source);\n var flags = $toString(getRegExpFlags(R));\n return '/' + pattern + '/' + flags;\n }, { unsafe: true });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\nvar $RangeError = RangeError;\nvar fromCharCode = String.fromCharCode;\n// eslint-disable-next-line es/no-string-fromcodepoint -- required for testing\nvar $fromCodePoint = String.fromCodePoint;\nvar join = uncurryThis([].join);\n\n// length should be 1, old FF problem\nvar INCORRECT_LENGTH = !!$fromCodePoint && $fromCodePoint.length !== 1;\n\n// `String.fromCodePoint` method\n// https://tc39.es/ecma262/#sec-string.fromcodepoint\n$({ target: 'String', stat: true, arity: 1, forced: INCORRECT_LENGTH }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n fromCodePoint: function fromCodePoint(x) {\n var elements = [];\n var length = arguments.length;\n var i = 0;\n var code;\n while (length > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10FFFF) !== code) throw new $RangeError(code + ' is not a valid code point');\n elements[i] = code < 0x10000\n ? fromCharCode(code)\n : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00);\n } return join(elements, '');\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\nvar stringIndexOf = uncurryThis(''.indexOf);\n\n// `String.prototype.includes` method\n// https://tc39.es/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~stringIndexOf(\n toString(requireObjectCoercible(this)),\n toString(notARegExp(searchString)),\n arguments.length > 1 ? arguments[1] : undefined\n );\n }\n});\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar toString = require('../internals/to-string');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: toString(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return createIterResultObject(undefined, true);\n point = charAt(string, index);\n state.index += point.length;\n return createIterResultObject(point, false);\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar createHTML = require('../internals/create-html');\nvar forcedStringHTMLMethod = require('../internals/string-html-forced');\n\n// `String.prototype.link` method\n// https://tc39.es/ecma262/#sec-string.prototype.link\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('link') }, {\n link: function link(url) {\n return createHTML(this, 'a', 'href', url);\n }\n});\n","'use strict';\nvar call = require('../internals/function-call');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar getMethod = require('../internals/get-method');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@match logic\nfixRegExpWellKnownSymbolLogic('match', function (MATCH, nativeMatch, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.es/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = requireObjectCoercible(this);\n var matcher = isNullOrUndefined(regexp) ? undefined : getMethod(regexp, MATCH);\n return matcher ? call(matcher, regexp, O) : new RegExp(regexp)[MATCH](toString(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@match\n function (string) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(nativeMatch, rx, S);\n\n if (res.done) return res.value;\n\n if (!rx.global) return regExpExec(rx, S);\n\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = toString(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","'use strict';\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar fails = require('../internals/fails');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar getMethod = require('../internals/get-method');\nvar getSubstitution = require('../internals/get-substitution');\nvar regExpExec = require('../internals/regexp-exec-abstract');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar max = Math.max;\nvar min = Math.min;\nvar concat = uncurryThis([].concat);\nvar push = uncurryThis([].push);\nvar stringIndexOf = uncurryThis(''.indexOf);\nvar stringSlice = uncurryThis(''.slice);\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n if (/./[REPLACE]) {\n return /./[REPLACE]('a', '$0') === '';\n }\n return false;\n})();\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n // eslint-disable-next-line regexp/no-useless-dollar-replacements -- false positive\n return ''.replace(re, '$') !== '7';\n});\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNative) {\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.es/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = isNullOrUndefined(searchValue) ? undefined : getMethod(searchValue, REPLACE);\n return replacer\n ? call(replacer, searchValue, O, replaceValue)\n : call(nativeReplace, toString(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace\n function (string, replaceValue) {\n var rx = anObject(this);\n var S = toString(string);\n\n if (\n typeof replaceValue == 'string' &&\n stringIndexOf(replaceValue, UNSAFE_SUBSTITUTE) === -1 &&\n stringIndexOf(replaceValue, '$<') === -1\n ) {\n var res = maybeCallNative(nativeReplace, rx, S, replaceValue);\n if (res.done) return res.value;\n }\n\n var functionalReplace = isCallable(replaceValue);\n if (!functionalReplace) replaceValue = toString(replaceValue);\n\n var global = rx.global;\n var fullUnicode;\n if (global) {\n fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n\n var results = [];\n var result;\n while (true) {\n result = regExpExec(rx, S);\n if (result === null) break;\n\n push(results, result);\n if (!global) break;\n\n var matchStr = toString(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = toString(result[0]);\n var position = max(min(toIntegerOrInfinity(result.index), S.length), 0);\n var captures = [];\n var replacement;\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) push(captures, maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = concat([matched], captures, position, S);\n if (namedCaptures !== undefined) push(replacerArgs, namedCaptures);\n replacement = toString(apply(replaceValue, undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += stringSlice(S, nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n\n return accumulatedResult + stringSlice(S, nextSourcePosition);\n }\n ];\n}, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE);\n","'use strict';\nvar call = require('../internals/function-call');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar sameValue = require('../internals/same-value');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@search logic\nfixRegExpWellKnownSymbolLogic('search', function (SEARCH, nativeSearch, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.es/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = requireObjectCoercible(this);\n var searcher = isNullOrUndefined(regexp) ? undefined : getMethod(regexp, SEARCH);\n return searcher ? call(searcher, regexp, O) : new RegExp(regexp)[SEARCH](toString(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@search\n function (string) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(nativeSearch, rx, S);\n\n if (res.done) return res.value;\n\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","'use strict';\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar speciesConstructor = require('../internals/species-constructor');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar regExpExec = require('../internals/regexp-exec-abstract');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar fails = require('../internals/fails');\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\nvar MAX_UINT32 = 0xFFFFFFFF;\nvar min = Math.min;\nvar push = uncurryThis([].push);\nvar stringSlice = uncurryThis(''.slice);\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n // eslint-disable-next-line regexp/no-empty-group -- required for testing\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';\n});\n\nvar BUGGY = 'abbc'.split(/(b)*/)[1] === 'c' ||\n // eslint-disable-next-line regexp/no-empty-group -- required for testing\n 'test'.split(/(?:)/, -1).length !== 4 ||\n 'ab'.split(/(?:ab)*/).length !== 2 ||\n '.'.split(/(.?)(.?)/).length !== 4 ||\n // eslint-disable-next-line regexp/no-empty-capturing-group, regexp/no-empty-group -- required for testing\n '.'.split(/()()/).length > 1 ||\n ''.split(/.?/).length;\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', function (SPLIT, nativeSplit, maybeCallNative) {\n var internalSplit = '0'.split(undefined, 0).length ? function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : call(nativeSplit, this, separator, limit);\n } : nativeSplit;\n\n return [\n // `String.prototype.split` method\n // https://tc39.es/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = requireObjectCoercible(this);\n var splitter = isNullOrUndefined(separator) ? undefined : getMethod(separator, SPLIT);\n return splitter\n ? call(splitter, separator, O, limit)\n : call(internalSplit, toString(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (string, limit) {\n var rx = anObject(this);\n var S = toString(string);\n\n if (!BUGGY) {\n var res = maybeCallNative(internalSplit, rx, S, limit, internalSplit !== nativeSplit);\n if (res.done) return res.value;\n }\n\n var C = speciesConstructor(rx, RegExp);\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (UNSUPPORTED_Y ? 'g' : 'y');\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(UNSUPPORTED_Y ? '^(?:' + rx.source + ')' : rx, flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return regExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = UNSUPPORTED_Y ? 0 : q;\n var z = regExpExec(splitter, UNSUPPORTED_Y ? stringSlice(S, q) : S);\n var e;\n if (\n z === null ||\n (e = min(toLength(splitter.lastIndex + (UNSUPPORTED_Y ? q : 0)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n push(A, stringSlice(S, p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n push(A, z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n push(A, stringSlice(S, p));\n return A;\n }\n ];\n}, BUGGY || !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC, UNSUPPORTED_Y);\n","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.es/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar globalThis = require('../internals/global-this');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar fails = require('../internals/fails');\nvar hasOwn = require('../internals/has-own-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar $toString = require('../internals/to-string');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\nvar defineSymbolToPrimitive = require('../internals/symbol-define-to-primitive');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\n\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\n\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = globalThis.Symbol;\nvar SymbolPrototype = $Symbol && $Symbol[PROTOTYPE];\nvar RangeError = globalThis.RangeError;\nvar TypeError = globalThis.TypeError;\nvar QObject = globalThis.QObject;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar push = uncurryThis([].push);\n\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar WellKnownSymbolsStore = shared('wks');\n\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar fallbackDefineProperty = function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n};\n\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a !== 7;\n}) ? fallbackDefineProperty : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate(SymbolPrototype);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPropertyKey(P);\n anObject(Attributes);\n if (hasOwn(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!hasOwn(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, nativeObjectCreate(null)));\n O[HIDDEN][key] = true;\n } else {\n if (hasOwn(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || call($propertyIsEnumerable, properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPropertyKey(V);\n var enumerable = call(nativePropertyIsEnumerable, this, P);\n if (this === ObjectPrototype && hasOwn(AllSymbols, P) && !hasOwn(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !hasOwn(this, P) || !hasOwn(AllSymbols, P) || hasOwn(this, HIDDEN) && this[HIDDEN][P]\n ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPropertyKey(P);\n if (it === ObjectPrototype && hasOwn(AllSymbols, key) && !hasOwn(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && hasOwn(AllSymbols, key) && !(hasOwn(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!hasOwn(AllSymbols, key) && !hasOwn(hiddenKeys, key)) push(result, key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function (O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (hasOwn(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || hasOwn(ObjectPrototype, key))) {\n push(result, AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.es/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (isPrototypeOf(SymbolPrototype, this)) throw new TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n var $this = this === undefined ? globalThis : this;\n if ($this === ObjectPrototype) call(setter, ObjectPrototypeSymbols, value);\n if (hasOwn($this, HIDDEN) && hasOwn($this[HIDDEN], tag)) $this[HIDDEN][tag] = false;\n var descriptor = createPropertyDescriptor(1, value);\n try {\n setSymbolDescriptor($this, tag, descriptor);\n } catch (error) {\n if (!(error instanceof RangeError)) throw error;\n fallbackDefineProperty($this, tag, descriptor);\n }\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n SymbolPrototype = $Symbol[PROTOTYPE];\n\n defineBuiltIn(SymbolPrototype, 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n defineBuiltIn($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n definePropertiesModule.f = $defineProperties;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n defineBuiltInAccessor(SymbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n defineBuiltIn(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, constructor: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.es/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.es/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.es/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.es/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames\n});\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\ndefineSymbolToPrimitive();\n\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar hasOwn = require('../internals/has-own-property');\nvar toString = require('../internals/to-string');\nvar shared = require('../internals/shared');\nvar NATIVE_SYMBOL_REGISTRY = require('../internals/symbol-registry-detection');\n\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\n\n// `Symbol.for` method\n// https://tc39.es/ecma262/#sec-symbol.for\n$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, {\n 'for': function (key) {\n var string = toString(key);\n if (hasOwn(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = getBuiltIn('Symbol')(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n }\n});\n","'use strict';\n// TODO: Remove this module from `core-js@4` since it's split to modules listed below\nrequire('../modules/es.symbol.constructor');\nrequire('../modules/es.symbol.for');\nrequire('../modules/es.symbol.key-for');\nrequire('../modules/es.json.stringify');\nrequire('../modules/es.object.get-own-property-symbols');\n","'use strict';\nvar $ = require('../internals/export');\nvar hasOwn = require('../internals/has-own-property');\nvar isSymbol = require('../internals/is-symbol');\nvar tryToString = require('../internals/try-to-string');\nvar shared = require('../internals/shared');\nvar NATIVE_SYMBOL_REGISTRY = require('../internals/symbol-registry-detection');\n\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\n\n// `Symbol.keyFor` method\n// https://tc39.es/ecma262/#sec-symbol.keyfor\n$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, {\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw new TypeError(tryToString(sym) + ' is not a symbol');\n if (hasOwn(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n }\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $ArrayCopyWithin = require('../internals/array-copy-within');\n\nvar u$ArrayCopyWithin = uncurryThis($ArrayCopyWithin);\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.copyWithin` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.copywithin\nexportTypedArrayMethod('copyWithin', function copyWithin(target, start /* , end */) {\n return u$ArrayCopyWithin(aTypedArray(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $every = require('../internals/array-iteration').every;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.every` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.every\nexportTypedArrayMethod('every', function every(callbackfn /* , thisArg */) {\n return $every(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $fill = require('../internals/array-fill');\nvar toBigInt = require('../internals/to-big-int');\nvar classof = require('../internals/classof');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar slice = uncurryThis(''.slice);\n\n// V8 ~ Chrome < 59, Safari < 14.1, FF < 55, Edge <=18\nvar CONVERSION_BUG = fails(function () {\n var count = 0;\n // eslint-disable-next-line es/no-typed-arrays -- safe\n new Int8Array(2).fill({ valueOf: function () { return count++; } });\n return count !== 1;\n});\n\n// `%TypedArray%.prototype.fill` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.fill\nexportTypedArrayMethod('fill', function fill(value /* , start, end */) {\n var length = arguments.length;\n aTypedArray(this);\n var actualValue = slice(classof(this), 0, 3) === 'Big' ? toBigInt(value) : +value;\n return call($fill, this, actualValue, length > 1 ? arguments[1] : undefined, length > 2 ? arguments[2] : undefined);\n}, CONVERSION_BUG);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $filter = require('../internals/array-iteration').filter;\nvar fromSpeciesAndList = require('../internals/typed-array-from-species-and-list');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.filter` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.filter\nexportTypedArrayMethod('filter', function filter(callbackfn /* , thisArg */) {\n var list = $filter(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n return fromSpeciesAndList(this, list);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $findIndex = require('../internals/array-iteration').findIndex;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.findIndex` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findindex\nexportTypedArrayMethod('findIndex', function findIndex(predicate /* , thisArg */) {\n return $findIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $find = require('../internals/array-iteration').find;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.find` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.find\nexportTypedArrayMethod('find', function find(predicate /* , thisArg */) {\n return $find(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.forEach` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.foreach\nexportTypedArrayMethod('forEach', function forEach(callbackfn /* , thisArg */) {\n $forEach(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $includes = require('../internals/array-includes').includes;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.includes` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.includes\nexportTypedArrayMethod('includes', function includes(searchElement /* , fromIndex */) {\n return $includes(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $indexOf = require('../internals/array-includes').indexOf;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.indexOf` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.indexof\nexportTypedArrayMethod('indexOf', function indexOf(searchElement /* , fromIndex */) {\n return $indexOf(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar fails = require('../internals/fails');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayIterators = require('../modules/es.array.iterator');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar Uint8Array = globalThis.Uint8Array;\nvar arrayValues = uncurryThis(ArrayIterators.values);\nvar arrayKeys = uncurryThis(ArrayIterators.keys);\nvar arrayEntries = uncurryThis(ArrayIterators.entries);\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar TypedArrayPrototype = Uint8Array && Uint8Array.prototype;\n\nvar GENERIC = !fails(function () {\n TypedArrayPrototype[ITERATOR].call([1]);\n});\n\nvar ITERATOR_IS_VALUES = !!TypedArrayPrototype\n && TypedArrayPrototype.values\n && TypedArrayPrototype[ITERATOR] === TypedArrayPrototype.values\n && TypedArrayPrototype.values.name === 'values';\n\nvar typedArrayValues = function values() {\n return arrayValues(aTypedArray(this));\n};\n\n// `%TypedArray%.prototype.entries` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.entries\nexportTypedArrayMethod('entries', function entries() {\n return arrayEntries(aTypedArray(this));\n}, GENERIC);\n// `%TypedArray%.prototype.keys` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.keys\nexportTypedArrayMethod('keys', function keys() {\n return arrayKeys(aTypedArray(this));\n}, GENERIC);\n// `%TypedArray%.prototype.values` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.values\nexportTypedArrayMethod('values', typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' });\n// `%TypedArray%.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype-@@iterator\nexportTypedArrayMethod(ITERATOR, typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' });\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $join = uncurryThis([].join);\n\n// `%TypedArray%.prototype.join` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.join\nexportTypedArrayMethod('join', function join(separator) {\n return $join(aTypedArray(this), separator);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar apply = require('../internals/function-apply');\nvar $lastIndexOf = require('../internals/array-last-index-of');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.lastIndexOf` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.lastindexof\nexportTypedArrayMethod('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) {\n var length = arguments.length;\n return apply($lastIndexOf, aTypedArray(this), length > 1 ? [searchElement, arguments[1]] : [searchElement]);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $map = require('../internals/array-iteration').map;\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.map` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.map\nexportTypedArrayMethod('map', function map(mapfn /* , thisArg */) {\n return $map(aTypedArray(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) {\n return new (typedArraySpeciesConstructor(O))(length);\n });\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $reduceRight = require('../internals/array-reduce').right;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.reduceRight` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduceright\nexportTypedArrayMethod('reduceRight', function reduceRight(callbackfn /* , initialValue */) {\n var length = arguments.length;\n return $reduceRight(aTypedArray(this), callbackfn, length, length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $reduce = require('../internals/array-reduce').left;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.reduce` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduce\nexportTypedArrayMethod('reduce', function reduce(callbackfn /* , initialValue */) {\n var length = arguments.length;\n return $reduce(aTypedArray(this), callbackfn, length, length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar floor = Math.floor;\n\n// `%TypedArray%.prototype.reverse` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reverse\nexportTypedArrayMethod('reverse', function reverse() {\n var that = this;\n var length = aTypedArray(that).length;\n var middle = floor(length / 2);\n var index = 0;\n var value;\n while (index < middle) {\n value = that[index];\n that[index++] = that[--length];\n that[length] = value;\n } return that;\n});\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar call = require('../internals/function-call');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toOffset = require('../internals/to-offset');\nvar toIndexedObject = require('../internals/to-object');\nvar fails = require('../internals/fails');\n\nvar RangeError = globalThis.RangeError;\nvar Int8Array = globalThis.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar $set = Int8ArrayPrototype && Int8ArrayPrototype.set;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS = !fails(function () {\n // eslint-disable-next-line es/no-typed-arrays -- required for testing\n var array = new Uint8ClampedArray(2);\n call($set, array, { length: 1, 0: 3 }, 1);\n return array[1] !== 3;\n});\n\n// https://bugs.chromium.org/p/v8/issues/detail?id=11294 and other\nvar TO_OBJECT_BUG = WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS && ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS && fails(function () {\n var array = new Int8Array(2);\n array.set(1);\n array.set('2', 1);\n return array[0] !== 0 || array[1] !== 2;\n});\n\n// `%TypedArray%.prototype.set` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set\nexportTypedArrayMethod('set', function set(arrayLike /* , offset */) {\n aTypedArray(this);\n var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1);\n var src = toIndexedObject(arrayLike);\n if (WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS) return call($set, this, src, offset);\n var length = this.length;\n var len = lengthOfArrayLike(src);\n var index = 0;\n if (len + offset > length) throw new RangeError('Wrong length');\n while (index < len) this[offset + index] = src[index++];\n}, !WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS || TO_OBJECT_BUG);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\nvar fails = require('../internals/fails');\nvar arraySlice = require('../internals/array-slice');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar FORCED = fails(function () {\n // eslint-disable-next-line es/no-typed-arrays -- required for testing\n new Int8Array(1).slice();\n});\n\n// `%TypedArray%.prototype.slice` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.slice\nexportTypedArrayMethod('slice', function slice(start, end) {\n var list = arraySlice(aTypedArray(this), start, end);\n var C = typedArraySpeciesConstructor(this);\n var index = 0;\n var length = list.length;\n var result = new C(length);\n while (length > index) result[index] = list[index++];\n return result;\n}, FORCED);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $some = require('../internals/array-iteration').some;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.some` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.some\nexportTypedArrayMethod('some', function some(callbackfn /* , thisArg */) {\n return $some(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar fails = require('../internals/fails');\nvar aCallable = require('../internals/a-callable');\nvar internalSort = require('../internals/array-sort');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar FF = require('../internals/environment-ff-version');\nvar IE_OR_EDGE = require('../internals/environment-is-ie-or-edge');\nvar V8 = require('../internals/environment-v8-version');\nvar WEBKIT = require('../internals/environment-webkit-version');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar Uint16Array = globalThis.Uint16Array;\nvar nativeSort = Uint16Array && uncurryThis(Uint16Array.prototype.sort);\n\n// WebKit\nvar ACCEPT_INCORRECT_ARGUMENTS = !!nativeSort && !(fails(function () {\n nativeSort(new Uint16Array(2), null);\n}) && fails(function () {\n nativeSort(new Uint16Array(2), {});\n}));\n\nvar STABLE_SORT = !!nativeSort && !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 74;\n if (FF) return FF < 67;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 602;\n\n var array = new Uint16Array(516);\n var expected = Array(516);\n var index, mod;\n\n for (index = 0; index < 516; index++) {\n mod = index % 4;\n array[index] = 515 - index;\n expected[index] = index - 2 * mod + 3;\n }\n\n nativeSort(array, function (a, b) {\n return (a / 4 | 0) - (b / 4 | 0);\n });\n\n for (index = 0; index < 516; index++) {\n if (array[index] !== expected[index]) return true;\n }\n});\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n // eslint-disable-next-line no-self-compare -- NaN check\n if (y !== y) return -1;\n // eslint-disable-next-line no-self-compare -- NaN check\n if (x !== x) return 1;\n if (x === 0 && y === 0) return 1 / x > 0 && 1 / y < 0 ? 1 : -1;\n return x > y;\n };\n};\n\n// `%TypedArray%.prototype.sort` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.sort\nexportTypedArrayMethod('sort', function sort(comparefn) {\n if (comparefn !== undefined) aCallable(comparefn);\n if (STABLE_SORT) return nativeSort(this, comparefn);\n\n return internalSort(aTypedArray(this), getSortCompare(comparefn));\n}, !STABLE_SORT || ACCEPT_INCORRECT_ARGUMENTS);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.subarray` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.subarray\nexportTypedArrayMethod('subarray', function subarray(begin, end) {\n var O = aTypedArray(this);\n var length = O.length;\n var beginIndex = toAbsoluteIndex(begin, length);\n var C = typedArraySpeciesConstructor(O);\n return new C(\n O.buffer,\n O.byteOffset + beginIndex * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - beginIndex)\n );\n});\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar apply = require('../internals/function-apply');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar fails = require('../internals/fails');\nvar arraySlice = require('../internals/array-slice');\n\nvar Int8Array = globalThis.Int8Array;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $toLocaleString = [].toLocaleString;\n\n// iOS Safari 6.x fails here\nvar TO_LOCALE_STRING_BUG = !!Int8Array && fails(function () {\n $toLocaleString.call(new Int8Array(1));\n});\n\nvar FORCED = fails(function () {\n return [1, 2].toLocaleString() !== new Int8Array([1, 2]).toLocaleString();\n}) || !fails(function () {\n Int8Array.prototype.toLocaleString.call([1, 2]);\n});\n\n// `%TypedArray%.prototype.toLocaleString` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tolocalestring\nexportTypedArrayMethod('toLocaleString', function toLocaleString() {\n return apply(\n $toLocaleString,\n TO_LOCALE_STRING_BUG ? arraySlice(aTypedArray(this)) : aTypedArray(this),\n arraySlice(arguments)\n );\n}, FORCED);\n","'use strict';\nvar exportTypedArrayMethod = require('../internals/array-buffer-view-core').exportTypedArrayMethod;\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar Uint8Array = globalThis.Uint8Array;\nvar Uint8ArrayPrototype = Uint8Array && Uint8Array.prototype || {};\nvar arrayToString = [].toString;\nvar join = uncurryThis([].join);\n\nif (fails(function () { arrayToString.call({}); })) {\n arrayToString = function toString() {\n return join(this);\n };\n}\n\nvar IS_NOT_ARRAY_METHOD = Uint8ArrayPrototype.toString !== arrayToString;\n\n// `%TypedArray%.prototype.toString` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tostring\nexportTypedArrayMethod('toString', arrayToString, IS_NOT_ARRAY_METHOD);\n","'use strict';\nvar createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Uint8Array` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Uint8', function (init) {\n return function Uint8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","'use strict';\n// TODO: Remove from `core-js@4`\nrequire('../modules/es.global-this');\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar handlePrototype = function (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n if (DOMIterables[COLLECTION_NAME]) {\n handlePrototype(globalThis[COLLECTION_NAME] && globalThis[COLLECTION_NAME].prototype);\n }\n}\n\nhandlePrototype(DOMTokenListPrototype);\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nvar handlePrototype = function (CollectionPrototype, COLLECTION_NAME) {\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n setToStringTag(CollectionPrototype, COLLECTION_NAME, true);\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n handlePrototype(globalThis[COLLECTION_NAME] && globalThis[COLLECTION_NAME].prototype, COLLECTION_NAME);\n}\n\nhandlePrototype(DOMTokenListPrototype, 'DOMTokenList');\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.array.iterator');\nrequire('../modules/es.string.from-code-point');\nvar $ = require('../internals/export');\nvar globalThis = require('../internals/global-this');\nvar safeGetBuiltIn = require('../internals/safe-get-built-in');\nvar getBuiltIn = require('../internals/get-built-in');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/url-constructor-detection');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createIteratorConstructor = require('../internals/iterator-create-constructor');\nvar InternalStateModule = require('../internals/internal-state');\nvar anInstance = require('../internals/an-instance');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar bind = require('../internals/function-bind-context');\nvar classof = require('../internals/classof');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar $toString = require('../internals/to-string');\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arraySort = require('../internals/array-sort');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\n\nvar nativeFetch = safeGetBuiltIn('fetch');\nvar NativeRequest = safeGetBuiltIn('Request');\nvar Headers = safeGetBuiltIn('Headers');\nvar RequestPrototype = NativeRequest && NativeRequest.prototype;\nvar HeadersPrototype = Headers && Headers.prototype;\nvar TypeError = globalThis.TypeError;\nvar encodeURIComponent = globalThis.encodeURIComponent;\nvar fromCharCode = String.fromCharCode;\nvar fromCodePoint = getBuiltIn('String', 'fromCodePoint');\nvar $parseInt = parseInt;\nvar charAt = uncurryThis(''.charAt);\nvar join = uncurryThis([].join);\nvar push = uncurryThis([].push);\nvar replace = uncurryThis(''.replace);\nvar shift = uncurryThis([].shift);\nvar splice = uncurryThis([].splice);\nvar split = uncurryThis(''.split);\nvar stringSlice = uncurryThis(''.slice);\nvar exec = uncurryThis(/./.exec);\n\nvar plus = /\\+/g;\nvar FALLBACK_REPLACER = '\\uFFFD';\nvar VALID_HEX = /^[0-9a-f]+$/i;\n\nvar parseHexOctet = function (string, start) {\n var substr = stringSlice(string, start, start + 2);\n if (!exec(VALID_HEX, substr)) return NaN;\n\n return $parseInt(substr, 16);\n};\n\nvar getLeadingOnes = function (octet) {\n var count = 0;\n for (var mask = 0x80; mask > 0 && (octet & mask) !== 0; mask >>= 1) {\n count++;\n }\n return count;\n};\n\nvar utf8Decode = function (octets) {\n var codePoint = null;\n\n switch (octets.length) {\n case 1:\n codePoint = octets[0];\n break;\n case 2:\n codePoint = (octets[0] & 0x1F) << 6 | (octets[1] & 0x3F);\n break;\n case 3:\n codePoint = (octets[0] & 0x0F) << 12 | (octets[1] & 0x3F) << 6 | (octets[2] & 0x3F);\n break;\n case 4:\n codePoint = (octets[0] & 0x07) << 18 | (octets[1] & 0x3F) << 12 | (octets[2] & 0x3F) << 6 | (octets[3] & 0x3F);\n break;\n }\n\n return codePoint > 0x10FFFF ? null : codePoint;\n};\n\nvar decode = function (input) {\n input = replace(input, plus, ' ');\n var length = input.length;\n var result = '';\n var i = 0;\n\n while (i < length) {\n var decodedChar = charAt(input, i);\n\n if (decodedChar === '%') {\n if (charAt(input, i + 1) === '%' || i + 3 > length) {\n result += '%';\n i++;\n continue;\n }\n\n var octet = parseHexOctet(input, i + 1);\n\n // eslint-disable-next-line no-self-compare -- NaN check\n if (octet !== octet) {\n result += decodedChar;\n i++;\n continue;\n }\n\n i += 2;\n var byteSequenceLength = getLeadingOnes(octet);\n\n if (byteSequenceLength === 0) {\n decodedChar = fromCharCode(octet);\n } else {\n if (byteSequenceLength === 1 || byteSequenceLength > 4) {\n result += FALLBACK_REPLACER;\n i++;\n continue;\n }\n\n var octets = [octet];\n var sequenceIndex = 1;\n\n while (sequenceIndex < byteSequenceLength) {\n i++;\n if (i + 3 > length || charAt(input, i) !== '%') break;\n\n var nextByte = parseHexOctet(input, i + 1);\n\n // eslint-disable-next-line no-self-compare -- NaN check\n if (nextByte !== nextByte) {\n i += 3;\n break;\n }\n if (nextByte > 191 || nextByte < 128) break;\n\n push(octets, nextByte);\n i += 2;\n sequenceIndex++;\n }\n\n if (octets.length !== byteSequenceLength) {\n result += FALLBACK_REPLACER;\n continue;\n }\n\n var codePoint = utf8Decode(octets);\n if (codePoint === null) {\n result += FALLBACK_REPLACER;\n } else {\n decodedChar = fromCodePoint(codePoint);\n }\n }\n }\n\n result += decodedChar;\n i++;\n }\n\n return result;\n};\n\nvar find = /[!'()~]|%20/g;\n\nvar replacements = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+'\n};\n\nvar replacer = function (match) {\n return replacements[match];\n};\n\nvar serialize = function (it) {\n return replace(encodeURIComponent(it), find, replacer);\n};\n\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n setInternalState(this, {\n type: URL_SEARCH_PARAMS_ITERATOR,\n target: getInternalParamsState(params).entries,\n index: 0,\n kind: kind\n });\n}, URL_SEARCH_PARAMS, function next() {\n var state = getInternalIteratorState(this);\n var target = state.target;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = null;\n return createIterResultObject(undefined, true);\n }\n var entry = target[index];\n switch (state.kind) {\n case 'keys': return createIterResultObject(entry.key, false);\n case 'values': return createIterResultObject(entry.value, false);\n } return createIterResultObject([entry.key, entry.value], false);\n}, true);\n\nvar URLSearchParamsState = function (init) {\n this.entries = [];\n this.url = null;\n\n if (init !== undefined) {\n if (isObject(init)) this.parseObject(init);\n else this.parseQuery(typeof init == 'string' ? charAt(init, 0) === '?' ? stringSlice(init, 1) : init : $toString(init));\n }\n};\n\nURLSearchParamsState.prototype = {\n type: URL_SEARCH_PARAMS,\n bindURL: function (url) {\n this.url = url;\n this.update();\n },\n parseObject: function (object) {\n var entries = this.entries;\n var iteratorMethod = getIteratorMethod(object);\n var iterator, next, step, entryIterator, entryNext, first, second;\n\n if (iteratorMethod) {\n iterator = getIterator(object, iteratorMethod);\n next = iterator.next;\n while (!(step = call(next, iterator)).done) {\n entryIterator = getIterator(anObject(step.value));\n entryNext = entryIterator.next;\n if (\n (first = call(entryNext, entryIterator)).done ||\n (second = call(entryNext, entryIterator)).done ||\n !call(entryNext, entryIterator).done\n ) throw new TypeError('Expected sequence with length 2');\n push(entries, { key: $toString(first.value), value: $toString(second.value) });\n }\n } else for (var key in object) if (hasOwn(object, key)) {\n push(entries, { key: key, value: $toString(object[key]) });\n }\n },\n parseQuery: function (query) {\n if (query) {\n var entries = this.entries;\n var attributes = split(query, '&');\n var index = 0;\n var attribute, entry;\n while (index < attributes.length) {\n attribute = attributes[index++];\n if (attribute.length) {\n entry = split(attribute, '=');\n push(entries, {\n key: decode(shift(entry)),\n value: decode(join(entry, '='))\n });\n }\n }\n }\n },\n serialize: function () {\n var entries = this.entries;\n var result = [];\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n push(result, serialize(entry.key) + '=' + serialize(entry.value));\n } return join(result, '&');\n },\n update: function () {\n this.entries.length = 0;\n this.parseQuery(this.url.query);\n },\n updateURL: function () {\n if (this.url) this.url.update();\n }\n};\n\n// `URLSearchParams` constructor\n// https://url.spec.whatwg.org/#interface-urlsearchparams\nvar URLSearchParamsConstructor = function URLSearchParams(/* init */) {\n anInstance(this, URLSearchParamsPrototype);\n var init = arguments.length > 0 ? arguments[0] : undefined;\n var state = setInternalState(this, new URLSearchParamsState(init));\n if (!DESCRIPTORS) this.size = state.entries.length;\n};\n\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\n\ndefineBuiltIns(URLSearchParamsPrototype, {\n // `URLSearchParams.prototype.append` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-append\n append: function append(name, value) {\n var state = getInternalParamsState(this);\n validateArgumentsLength(arguments.length, 2);\n push(state.entries, { key: $toString(name), value: $toString(value) });\n if (!DESCRIPTORS) this.length++;\n state.updateURL();\n },\n // `URLSearchParams.prototype.delete` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-delete\n 'delete': function (name /* , value */) {\n var state = getInternalParamsState(this);\n var length = validateArgumentsLength(arguments.length, 1);\n var entries = state.entries;\n var key = $toString(name);\n var $value = length < 2 ? undefined : arguments[1];\n var value = $value === undefined ? $value : $toString($value);\n var index = 0;\n while (index < entries.length) {\n var entry = entries[index];\n if (entry.key === key && (value === undefined || entry.value === value)) {\n splice(entries, index, 1);\n if (value !== undefined) break;\n } else index++;\n }\n if (!DESCRIPTORS) this.size = entries.length;\n state.updateURL();\n },\n // `URLSearchParams.prototype.get` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-get\n get: function get(name) {\n var entries = getInternalParamsState(this).entries;\n validateArgumentsLength(arguments.length, 1);\n var key = $toString(name);\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) return entries[index].value;\n }\n return null;\n },\n // `URLSearchParams.prototype.getAll` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-getall\n getAll: function getAll(name) {\n var entries = getInternalParamsState(this).entries;\n validateArgumentsLength(arguments.length, 1);\n var key = $toString(name);\n var result = [];\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) push(result, entries[index].value);\n }\n return result;\n },\n // `URLSearchParams.prototype.has` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-has\n has: function has(name /* , value */) {\n var entries = getInternalParamsState(this).entries;\n var length = validateArgumentsLength(arguments.length, 1);\n var key = $toString(name);\n var $value = length < 2 ? undefined : arguments[1];\n var value = $value === undefined ? $value : $toString($value);\n var index = 0;\n while (index < entries.length) {\n var entry = entries[index++];\n if (entry.key === key && (value === undefined || entry.value === value)) return true;\n }\n return false;\n },\n // `URLSearchParams.prototype.set` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-set\n set: function set(name, value) {\n var state = getInternalParamsState(this);\n validateArgumentsLength(arguments.length, 1);\n var entries = state.entries;\n var found = false;\n var key = $toString(name);\n var val = $toString(value);\n var index = 0;\n var entry;\n for (; index < entries.length; index++) {\n entry = entries[index];\n if (entry.key === key) {\n if (found) splice(entries, index--, 1);\n else {\n found = true;\n entry.value = val;\n }\n }\n }\n if (!found) push(entries, { key: key, value: val });\n if (!DESCRIPTORS) this.size = entries.length;\n state.updateURL();\n },\n // `URLSearchParams.prototype.sort` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-sort\n sort: function sort() {\n var state = getInternalParamsState(this);\n arraySort(state.entries, function (a, b) {\n return a.key > b.key ? 1 : -1;\n });\n state.updateURL();\n },\n // `URLSearchParams.prototype.forEach` method\n forEach: function forEach(callback /* , thisArg */) {\n var entries = getInternalParamsState(this).entries;\n var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined);\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n boundFunction(entry.value, entry.key, this);\n }\n },\n // `URLSearchParams.prototype.keys` method\n keys: function keys() {\n return new URLSearchParamsIterator(this, 'keys');\n },\n // `URLSearchParams.prototype.values` method\n values: function values() {\n return new URLSearchParamsIterator(this, 'values');\n },\n // `URLSearchParams.prototype.entries` method\n entries: function entries() {\n return new URLSearchParamsIterator(this, 'entries');\n }\n}, { enumerable: true });\n\n// `URLSearchParams.prototype[@@iterator]` method\ndefineBuiltIn(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries, { name: 'entries' });\n\n// `URLSearchParams.prototype.toString` method\n// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior\ndefineBuiltIn(URLSearchParamsPrototype, 'toString', function toString() {\n return getInternalParamsState(this).serialize();\n}, { enumerable: true });\n\n// `URLSearchParams.prototype.size` getter\n// https://github.com/whatwg/url/pull/734\nif (DESCRIPTORS) defineBuiltInAccessor(URLSearchParamsPrototype, 'size', {\n get: function size() {\n return getInternalParamsState(this).entries.length;\n },\n configurable: true,\n enumerable: true\n});\n\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n\n$({ global: true, constructor: true, forced: !USE_NATIVE_URL }, {\n URLSearchParams: URLSearchParamsConstructor\n});\n\n// Wrap `fetch` and `Request` for correct work with polyfilled `URLSearchParams`\nif (!USE_NATIVE_URL && isCallable(Headers)) {\n var headersHas = uncurryThis(HeadersPrototype.has);\n var headersSet = uncurryThis(HeadersPrototype.set);\n\n var wrapRequestOptions = function (init) {\n if (isObject(init)) {\n var body = init.body;\n var headers;\n if (classof(body) === URL_SEARCH_PARAMS) {\n headers = init.headers ? new Headers(init.headers) : new Headers();\n if (!headersHas(headers, 'content-type')) {\n headersSet(headers, 'content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n return create(init, {\n body: createPropertyDescriptor(0, $toString(body)),\n headers: createPropertyDescriptor(0, headers)\n });\n }\n } return init;\n };\n\n if (isCallable(nativeFetch)) {\n $({ global: true, enumerable: true, dontCallGetSet: true, forced: true }, {\n fetch: function fetch(input /* , init */) {\n return nativeFetch(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {});\n }\n });\n }\n\n if (isCallable(NativeRequest)) {\n var RequestConstructor = function Request(input /* , init */) {\n anInstance(this, RequestPrototype);\n return new NativeRequest(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {});\n };\n\n RequestPrototype.constructor = RequestConstructor;\n RequestConstructor.prototype = RequestPrototype;\n\n $({ global: true, constructor: true, dontCallGetSet: true, forced: true }, {\n Request: RequestConstructor\n });\n }\n}\n\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\n","'use strict';\n// TODO: Remove this module from `core-js@4` since it's replaced to module below\nrequire('../modules/web.url-search-params.constructor');\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.string.iterator');\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/url-constructor-detection');\nvar globalThis = require('../internals/global-this');\nvar bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar anInstance = require('../internals/an-instance');\nvar hasOwn = require('../internals/has-own-property');\nvar assign = require('../internals/object-assign');\nvar arrayFrom = require('../internals/array-from');\nvar arraySlice = require('../internals/array-slice');\nvar codeAt = require('../internals/string-multibyte').codeAt;\nvar toASCII = require('../internals/string-punycode-to-ascii');\nvar $toString = require('../internals/to-string');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar URLSearchParamsModule = require('../modules/web.url-search-params.constructor');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\n\nvar NativeURL = globalThis.URL;\nvar TypeError = globalThis.TypeError;\nvar parseInt = globalThis.parseInt;\nvar floor = Math.floor;\nvar pow = Math.pow;\nvar charAt = uncurryThis(''.charAt);\nvar exec = uncurryThis(/./.exec);\nvar join = uncurryThis([].join);\nvar numberToString = uncurryThis(1.0.toString);\nvar pop = uncurryThis([].pop);\nvar push = uncurryThis([].push);\nvar replace = uncurryThis(''.replace);\nvar shift = uncurryThis([].shift);\nvar split = uncurryThis(''.split);\nvar stringSlice = uncurryThis(''.slice);\nvar toLowerCase = uncurryThis(''.toLowerCase);\nvar unshift = uncurryThis([].unshift);\n\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\n\nvar ALPHA = /[a-z]/i;\n// eslint-disable-next-line regexp/no-obscure-range -- safe\nvar ALPHANUMERIC = /[\\d+-.a-z]/i;\nvar DIGIT = /\\d/;\nvar HEX_START = /^0x/i;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\da-f]+$/i;\n/* eslint-disable regexp/no-control-character -- safe */\nvar FORBIDDEN_HOST_CODE_POINT = /[\\0\\t\\n\\r #%/:<>?@[\\\\\\]^|]/;\nvar FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\0\\t\\n\\r #/:<>?@[\\\\\\]^|]/;\nvar LEADING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u0020]+/;\nvar TRAILING_C0_CONTROL_OR_SPACE = /(^|[^\\u0000-\\u0020])[\\u0000-\\u0020]+$/;\nvar TAB_AND_NEW_LINE = /[\\t\\n\\r]/g;\n/* eslint-enable regexp/no-control-character -- safe */\nvar EOF;\n\n// https://url.spec.whatwg.org/#ipv4-number-parser\nvar parseIPv4 = function (input) {\n var parts = split(input, '.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n if (parts.length && parts[parts.length - 1] === '') {\n parts.length--;\n }\n partsLength = parts.length;\n if (partsLength > 4) return input;\n numbers = [];\n for (index = 0; index < partsLength; index++) {\n part = parts[index];\n if (part === '') return input;\n radix = 10;\n if (part.length > 1 && charAt(part, 0) === '0') {\n radix = exec(HEX_START, part) ? 16 : 8;\n part = stringSlice(part, radix === 8 ? 1 : 2);\n }\n if (part === '') {\n number = 0;\n } else {\n if (!exec(radix === 10 ? DEC : radix === 8 ? OCT : HEX, part)) return input;\n number = parseInt(part, radix);\n }\n push(numbers, number);\n }\n for (index = 0; index < partsLength; index++) {\n number = numbers[index];\n if (index === partsLength - 1) {\n if (number >= pow(256, 5 - partsLength)) return null;\n } else if (number > 255) return null;\n }\n ipv4 = pop(numbers);\n for (index = 0; index < numbers.length; index++) {\n ipv4 += numbers[index] * pow(256, 3 - index);\n }\n return ipv4;\n};\n\n// https://url.spec.whatwg.org/#concept-ipv6-parser\n// eslint-disable-next-line max-statements -- TODO\nvar parseIPv6 = function (input) {\n var address = [0, 0, 0, 0, 0, 0, 0, 0];\n var pieceIndex = 0;\n var compress = null;\n var pointer = 0;\n var value, length, numbersSeen, ipv4Piece, number, swaps, swap;\n\n var chr = function () {\n return charAt(input, pointer);\n };\n\n if (chr() === ':') {\n if (charAt(input, 1) !== ':') return;\n pointer += 2;\n pieceIndex++;\n compress = pieceIndex;\n }\n while (chr()) {\n if (pieceIndex === 8) return;\n if (chr() === ':') {\n if (compress !== null) return;\n pointer++;\n pieceIndex++;\n compress = pieceIndex;\n continue;\n }\n value = length = 0;\n while (length < 4 && exec(HEX, chr())) {\n value = value * 16 + parseInt(chr(), 16);\n pointer++;\n length++;\n }\n if (chr() === '.') {\n if (length === 0) return;\n pointer -= length;\n if (pieceIndex > 6) return;\n numbersSeen = 0;\n while (chr()) {\n ipv4Piece = null;\n if (numbersSeen > 0) {\n if (chr() === '.' && numbersSeen < 4) pointer++;\n else return;\n }\n if (!exec(DIGIT, chr())) return;\n while (exec(DIGIT, chr())) {\n number = parseInt(chr(), 10);\n if (ipv4Piece === null) ipv4Piece = number;\n else if (ipv4Piece === 0) return;\n else ipv4Piece = ipv4Piece * 10 + number;\n if (ipv4Piece > 255) return;\n pointer++;\n }\n address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n numbersSeen++;\n if (numbersSeen === 2 || numbersSeen === 4) pieceIndex++;\n }\n if (numbersSeen !== 4) return;\n break;\n } else if (chr() === ':') {\n pointer++;\n if (!chr()) return;\n } else if (chr()) return;\n address[pieceIndex++] = value;\n }\n if (compress !== null) {\n swaps = pieceIndex - compress;\n pieceIndex = 7;\n while (pieceIndex !== 0 && swaps > 0) {\n swap = address[pieceIndex];\n address[pieceIndex--] = address[compress + swaps - 1];\n address[compress + --swaps] = swap;\n }\n } else if (pieceIndex !== 8) return;\n return address;\n};\n\nvar findLongestZeroSequence = function (ipv6) {\n var maxIndex = null;\n var maxLength = 1;\n var currStart = null;\n var currLength = 0;\n var index = 0;\n for (; index < 8; index++) {\n if (ipv6[index] !== 0) {\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n currStart = null;\n currLength = 0;\n } else {\n if (currStart === null) currStart = index;\n ++currLength;\n }\n }\n return currLength > maxLength ? currStart : maxIndex;\n};\n\n// https://url.spec.whatwg.org/#host-serializing\nvar serializeHost = function (host) {\n var result, index, compress, ignore0;\n\n // ipv4\n if (typeof host == 'number') {\n result = [];\n for (index = 0; index < 4; index++) {\n unshift(result, host % 256);\n host = floor(host / 256);\n }\n return join(result, '.');\n }\n\n // ipv6\n if (typeof host == 'object') {\n result = '';\n compress = findLongestZeroSequence(host);\n for (index = 0; index < 8; index++) {\n if (ignore0 && host[index] === 0) continue;\n if (ignore0) ignore0 = false;\n if (compress === index) {\n result += index ? ':' : '::';\n ignore0 = true;\n } else {\n result += numberToString(host[index], 16);\n if (index < 7) result += ':';\n }\n }\n return '[' + result + ']';\n }\n\n return host;\n};\n\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1, '\"': 1, '<': 1, '>': 1, '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1, '?': 1, '{': 1, '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\\\': 1, ']': 1, '^': 1, '|': 1\n});\n\nvar percentEncode = function (chr, set) {\n var code = codeAt(chr, 0);\n return code > 0x20 && code < 0x7F && !hasOwn(set, chr) ? chr : encodeURIComponent(chr);\n};\n\n// https://url.spec.whatwg.org/#special-scheme\nvar specialSchemes = {\n ftp: 21,\n file: null,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\n\n// https://url.spec.whatwg.org/#windows-drive-letter\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length === 2 && exec(ALPHA, charAt(string, 0))\n && ((second = charAt(string, 1)) === ':' || (!normalized && second === '|'));\n};\n\n// https://url.spec.whatwg.org/#start-with-a-windows-drive-letter\nvar startsWithWindowsDriveLetter = function (string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(stringSlice(string, 0, 2)) && (\n string.length === 2 ||\n ((third = charAt(string, 2)) === '/' || third === '\\\\' || third === '?' || third === '#')\n );\n};\n\n// https://url.spec.whatwg.org/#single-dot-path-segment\nvar isSingleDot = function (segment) {\n return segment === '.' || toLowerCase(segment) === '%2e';\n};\n\n// https://url.spec.whatwg.org/#double-dot-path-segment\nvar isDoubleDot = function (segment) {\n segment = toLowerCase(segment);\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\n\n// States:\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\n\nvar URLState = function (url, isBase, base) {\n var urlString = $toString(url);\n var baseState, failure, searchParams;\n if (isBase) {\n failure = this.parse(urlString);\n if (failure) throw new TypeError(failure);\n this.searchParams = null;\n } else {\n if (base !== undefined) baseState = new URLState(base, true);\n failure = this.parse(urlString, null, baseState);\n if (failure) throw new TypeError(failure);\n searchParams = getInternalSearchParamsState(new URLSearchParams());\n searchParams.bindURL(this);\n this.searchParams = searchParams;\n }\n};\n\nURLState.prototype = {\n type: 'URL',\n // https://url.spec.whatwg.org/#url-parsing\n // eslint-disable-next-line max-statements -- TODO\n parse: function (input, stateOverride, base) {\n var url = this;\n var state = stateOverride || SCHEME_START;\n var pointer = 0;\n var buffer = '';\n var seenAt = false;\n var seenBracket = false;\n var seenPasswordToken = false;\n var codePoints, chr, bufferCodePoints, failure;\n\n input = $toString(input);\n\n if (!stateOverride) {\n url.scheme = '';\n url.username = '';\n url.password = '';\n url.host = null;\n url.port = null;\n url.path = [];\n url.query = null;\n url.fragment = null;\n url.cannotBeABaseURL = false;\n input = replace(input, LEADING_C0_CONTROL_OR_SPACE, '');\n input = replace(input, TRAILING_C0_CONTROL_OR_SPACE, '$1');\n }\n\n input = replace(input, TAB_AND_NEW_LINE, '');\n\n codePoints = arrayFrom(input);\n\n while (pointer <= codePoints.length) {\n chr = codePoints[pointer];\n switch (state) {\n case SCHEME_START:\n if (chr && exec(ALPHA, chr)) {\n buffer += toLowerCase(chr);\n state = SCHEME;\n } else if (!stateOverride) {\n state = NO_SCHEME;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case SCHEME:\n if (chr && (exec(ALPHANUMERIC, chr) || chr === '+' || chr === '-' || chr === '.')) {\n buffer += toLowerCase(chr);\n } else if (chr === ':') {\n if (stateOverride && (\n (url.isSpecial() !== hasOwn(specialSchemes, buffer)) ||\n (buffer === 'file' && (url.includesCredentials() || url.port !== null)) ||\n (url.scheme === 'file' && !url.host)\n )) return;\n url.scheme = buffer;\n if (stateOverride) {\n if (url.isSpecial() && specialSchemes[url.scheme] === url.port) url.port = null;\n return;\n }\n buffer = '';\n if (url.scheme === 'file') {\n state = FILE;\n } else if (url.isSpecial() && base && base.scheme === url.scheme) {\n state = SPECIAL_RELATIVE_OR_AUTHORITY;\n } else if (url.isSpecial()) {\n state = SPECIAL_AUTHORITY_SLASHES;\n } else if (codePoints[pointer + 1] === '/') {\n state = PATH_OR_AUTHORITY;\n pointer++;\n } else {\n url.cannotBeABaseURL = true;\n push(url.path, '');\n state = CANNOT_BE_A_BASE_URL_PATH;\n }\n } else if (!stateOverride) {\n buffer = '';\n state = NO_SCHEME;\n pointer = 0;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case NO_SCHEME:\n if (!base || (base.cannotBeABaseURL && chr !== '#')) return INVALID_SCHEME;\n if (base.cannotBeABaseURL && chr === '#') {\n url.scheme = base.scheme;\n url.path = arraySlice(base.path);\n url.query = base.query;\n url.fragment = '';\n url.cannotBeABaseURL = true;\n state = FRAGMENT;\n break;\n }\n state = base.scheme === 'file' ? FILE : RELATIVE;\n continue;\n\n case SPECIAL_RELATIVE_OR_AUTHORITY:\n if (chr === '/' && codePoints[pointer + 1] === '/') {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n pointer++;\n } else {\n state = RELATIVE;\n continue;\n } break;\n\n case PATH_OR_AUTHORITY:\n if (chr === '/') {\n state = AUTHORITY;\n break;\n } else {\n state = PATH;\n continue;\n }\n\n case RELATIVE:\n url.scheme = base.scheme;\n if (chr === EOF) {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.query = base.query;\n } else if (chr === '/' || (chr === '\\\\' && url.isSpecial())) {\n state = RELATIVE_SLASH;\n } else if (chr === '?') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.query = '';\n state = QUERY;\n } else if (chr === '#') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.path.length--;\n state = PATH;\n continue;\n } break;\n\n case RELATIVE_SLASH:\n if (url.isSpecial() && (chr === '/' || chr === '\\\\')) {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n } else if (chr === '/') {\n state = AUTHORITY;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n state = PATH;\n continue;\n } break;\n\n case SPECIAL_AUTHORITY_SLASHES:\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n if (chr !== '/' || charAt(buffer, pointer + 1) !== '/') continue;\n pointer++;\n break;\n\n case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n if (chr !== '/' && chr !== '\\\\') {\n state = AUTHORITY;\n continue;\n } break;\n\n case AUTHORITY:\n if (chr === '@') {\n if (seenAt) buffer = '%40' + buffer;\n seenAt = true;\n bufferCodePoints = arrayFrom(buffer);\n for (var i = 0; i < bufferCodePoints.length; i++) {\n var codePoint = bufferCodePoints[i];\n if (codePoint === ':' && !seenPasswordToken) {\n seenPasswordToken = true;\n continue;\n }\n var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n if (seenPasswordToken) url.password += encodedCodePoints;\n else url.username += encodedCodePoints;\n }\n buffer = '';\n } else if (\n chr === EOF || chr === '/' || chr === '?' || chr === '#' ||\n (chr === '\\\\' && url.isSpecial())\n ) {\n if (seenAt && buffer === '') return INVALID_AUTHORITY;\n pointer -= arrayFrom(buffer).length + 1;\n buffer = '';\n state = HOST;\n } else buffer += chr;\n break;\n\n case HOST:\n case HOSTNAME:\n if (stateOverride && url.scheme === 'file') {\n state = FILE_HOST;\n continue;\n } else if (chr === ':' && !seenBracket) {\n if (buffer === '') return INVALID_HOST;\n failure = url.parseHost(buffer);\n if (failure) return failure;\n buffer = '';\n state = PORT;\n if (stateOverride === HOSTNAME) return;\n } else if (\n chr === EOF || chr === '/' || chr === '?' || chr === '#' ||\n (chr === '\\\\' && url.isSpecial())\n ) {\n if (url.isSpecial() && buffer === '') return INVALID_HOST;\n if (stateOverride && buffer === '' && (url.includesCredentials() || url.port !== null)) return;\n failure = url.parseHost(buffer);\n if (failure) return failure;\n buffer = '';\n state = PATH_START;\n if (stateOverride) return;\n continue;\n } else {\n if (chr === '[') seenBracket = true;\n else if (chr === ']') seenBracket = false;\n buffer += chr;\n } break;\n\n case PORT:\n if (exec(DIGIT, chr)) {\n buffer += chr;\n } else if (\n chr === EOF || chr === '/' || chr === '?' || chr === '#' ||\n (chr === '\\\\' && url.isSpecial()) ||\n stateOverride\n ) {\n if (buffer !== '') {\n var port = parseInt(buffer, 10);\n if (port > 0xFFFF) return INVALID_PORT;\n url.port = (url.isSpecial() && port === specialSchemes[url.scheme]) ? null : port;\n buffer = '';\n }\n if (stateOverride) return;\n state = PATH_START;\n continue;\n } else return INVALID_PORT;\n break;\n\n case FILE:\n url.scheme = 'file';\n if (chr === '/' || chr === '\\\\') state = FILE_SLASH;\n else if (base && base.scheme === 'file') {\n switch (chr) {\n case EOF:\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.query = base.query;\n break;\n case '?':\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.query = '';\n state = QUERY;\n break;\n case '#':\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n break;\n default:\n if (!startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) {\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.shortenPath();\n }\n state = PATH;\n continue;\n }\n } else {\n state = PATH;\n continue;\n } break;\n\n case FILE_SLASH:\n if (chr === '/' || chr === '\\\\') {\n state = FILE_HOST;\n break;\n }\n if (base && base.scheme === 'file' && !startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) {\n if (isWindowsDriveLetter(base.path[0], true)) push(url.path, base.path[0]);\n else url.host = base.host;\n }\n state = PATH;\n continue;\n\n case FILE_HOST:\n if (chr === EOF || chr === '/' || chr === '\\\\' || chr === '?' || chr === '#') {\n if (!stateOverride && isWindowsDriveLetter(buffer)) {\n state = PATH;\n } else if (buffer === '') {\n url.host = '';\n if (stateOverride) return;\n state = PATH_START;\n } else {\n failure = url.parseHost(buffer);\n if (failure) return failure;\n if (url.host === 'localhost') url.host = '';\n if (stateOverride) return;\n buffer = '';\n state = PATH_START;\n } continue;\n } else buffer += chr;\n break;\n\n case PATH_START:\n if (url.isSpecial()) {\n state = PATH;\n if (chr !== '/' && chr !== '\\\\') continue;\n } else if (!stateOverride && chr === '?') {\n url.query = '';\n state = QUERY;\n } else if (!stateOverride && chr === '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr !== EOF) {\n state = PATH;\n if (chr !== '/') continue;\n } break;\n\n case PATH:\n if (\n chr === EOF || chr === '/' ||\n (chr === '\\\\' && url.isSpecial()) ||\n (!stateOverride && (chr === '?' || chr === '#'))\n ) {\n if (isDoubleDot(buffer)) {\n url.shortenPath();\n if (chr !== '/' && !(chr === '\\\\' && url.isSpecial())) {\n push(url.path, '');\n }\n } else if (isSingleDot(buffer)) {\n if (chr !== '/' && !(chr === '\\\\' && url.isSpecial())) {\n push(url.path, '');\n }\n } else {\n if (url.scheme === 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n if (url.host) url.host = '';\n buffer = charAt(buffer, 0) + ':'; // normalize windows drive letter\n }\n push(url.path, buffer);\n }\n buffer = '';\n if (url.scheme === 'file' && (chr === EOF || chr === '?' || chr === '#')) {\n while (url.path.length > 1 && url.path[0] === '') {\n shift(url.path);\n }\n }\n if (chr === '?') {\n url.query = '';\n state = QUERY;\n } else if (chr === '#') {\n url.fragment = '';\n state = FRAGMENT;\n }\n } else {\n buffer += percentEncode(chr, pathPercentEncodeSet);\n } break;\n\n case CANNOT_BE_A_BASE_URL_PATH:\n if (chr === '?') {\n url.query = '';\n state = QUERY;\n } else if (chr === '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr !== EOF) {\n url.path[0] += percentEncode(chr, C0ControlPercentEncodeSet);\n } break;\n\n case QUERY:\n if (!stateOverride && chr === '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr !== EOF) {\n if (chr === \"'\" && url.isSpecial()) url.query += '%27';\n else if (chr === '#') url.query += '%23';\n else url.query += percentEncode(chr, C0ControlPercentEncodeSet);\n } break;\n\n case FRAGMENT:\n if (chr !== EOF) url.fragment += percentEncode(chr, fragmentPercentEncodeSet);\n break;\n }\n\n pointer++;\n }\n },\n // https://url.spec.whatwg.org/#host-parsing\n parseHost: function (input) {\n var result, codePoints, index;\n if (charAt(input, 0) === '[') {\n if (charAt(input, input.length - 1) !== ']') return INVALID_HOST;\n result = parseIPv6(stringSlice(input, 1, -1));\n if (!result) return INVALID_HOST;\n this.host = result;\n // opaque host\n } else if (!this.isSpecial()) {\n if (exec(FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT, input)) return INVALID_HOST;\n result = '';\n codePoints = arrayFrom(input);\n for (index = 0; index < codePoints.length; index++) {\n result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n }\n this.host = result;\n } else {\n input = toASCII(input);\n if (exec(FORBIDDEN_HOST_CODE_POINT, input)) return INVALID_HOST;\n result = parseIPv4(input);\n if (result === null) return INVALID_HOST;\n this.host = result;\n }\n },\n // https://url.spec.whatwg.org/#cannot-have-a-username-password-port\n cannotHaveUsernamePasswordPort: function () {\n return !this.host || this.cannotBeABaseURL || this.scheme === 'file';\n },\n // https://url.spec.whatwg.org/#include-credentials\n includesCredentials: function () {\n return this.username !== '' || this.password !== '';\n },\n // https://url.spec.whatwg.org/#is-special\n isSpecial: function () {\n return hasOwn(specialSchemes, this.scheme);\n },\n // https://url.spec.whatwg.org/#shorten-a-urls-path\n shortenPath: function () {\n var path = this.path;\n var pathSize = path.length;\n if (pathSize && (this.scheme !== 'file' || pathSize !== 1 || !isWindowsDriveLetter(path[0], true))) {\n path.length--;\n }\n },\n // https://url.spec.whatwg.org/#concept-url-serializer\n serialize: function () {\n var url = this;\n var scheme = url.scheme;\n var username = url.username;\n var password = url.password;\n var host = url.host;\n var port = url.port;\n var path = url.path;\n var query = url.query;\n var fragment = url.fragment;\n var output = scheme + ':';\n if (host !== null) {\n output += '//';\n if (url.includesCredentials()) {\n output += username + (password ? ':' + password : '') + '@';\n }\n output += serializeHost(host);\n if (port !== null) output += ':' + port;\n } else if (scheme === 'file') output += '//';\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : '';\n if (query !== null) output += '?' + query;\n if (fragment !== null) output += '#' + fragment;\n return output;\n },\n // https://url.spec.whatwg.org/#dom-url-href\n setHref: function (href) {\n var failure = this.parse(href);\n if (failure) throw new TypeError(failure);\n this.searchParams.update();\n },\n // https://url.spec.whatwg.org/#dom-url-origin\n getOrigin: function () {\n var scheme = this.scheme;\n var port = this.port;\n if (scheme === 'blob') try {\n return new URLConstructor(scheme.path[0]).origin;\n } catch (error) {\n return 'null';\n }\n if (scheme === 'file' || !this.isSpecial()) return 'null';\n return scheme + '://' + serializeHost(this.host) + (port !== null ? ':' + port : '');\n },\n // https://url.spec.whatwg.org/#dom-url-protocol\n getProtocol: function () {\n return this.scheme + ':';\n },\n setProtocol: function (protocol) {\n this.parse($toString(protocol) + ':', SCHEME_START);\n },\n // https://url.spec.whatwg.org/#dom-url-username\n getUsername: function () {\n return this.username;\n },\n setUsername: function (username) {\n var codePoints = arrayFrom($toString(username));\n if (this.cannotHaveUsernamePasswordPort()) return;\n this.username = '';\n for (var i = 0; i < codePoints.length; i++) {\n this.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n },\n // https://url.spec.whatwg.org/#dom-url-password\n getPassword: function () {\n return this.password;\n },\n setPassword: function (password) {\n var codePoints = arrayFrom($toString(password));\n if (this.cannotHaveUsernamePasswordPort()) return;\n this.password = '';\n for (var i = 0; i < codePoints.length; i++) {\n this.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n },\n // https://url.spec.whatwg.org/#dom-url-host\n getHost: function () {\n var host = this.host;\n var port = this.port;\n return host === null ? ''\n : port === null ? serializeHost(host)\n : serializeHost(host) + ':' + port;\n },\n setHost: function (host) {\n if (this.cannotBeABaseURL) return;\n this.parse(host, HOST);\n },\n // https://url.spec.whatwg.org/#dom-url-hostname\n getHostname: function () {\n var host = this.host;\n return host === null ? '' : serializeHost(host);\n },\n setHostname: function (hostname) {\n if (this.cannotBeABaseURL) return;\n this.parse(hostname, HOSTNAME);\n },\n // https://url.spec.whatwg.org/#dom-url-port\n getPort: function () {\n var port = this.port;\n return port === null ? '' : $toString(port);\n },\n setPort: function (port) {\n if (this.cannotHaveUsernamePasswordPort()) return;\n port = $toString(port);\n if (port === '') this.port = null;\n else this.parse(port, PORT);\n },\n // https://url.spec.whatwg.org/#dom-url-pathname\n getPathname: function () {\n var path = this.path;\n return this.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : '';\n },\n setPathname: function (pathname) {\n if (this.cannotBeABaseURL) return;\n this.path = [];\n this.parse(pathname, PATH_START);\n },\n // https://url.spec.whatwg.org/#dom-url-search\n getSearch: function () {\n var query = this.query;\n return query ? '?' + query : '';\n },\n setSearch: function (search) {\n search = $toString(search);\n if (search === '') {\n this.query = null;\n } else {\n if (charAt(search, 0) === '?') search = stringSlice(search, 1);\n this.query = '';\n this.parse(search, QUERY);\n }\n this.searchParams.update();\n },\n // https://url.spec.whatwg.org/#dom-url-searchparams\n getSearchParams: function () {\n return this.searchParams.facade;\n },\n // https://url.spec.whatwg.org/#dom-url-hash\n getHash: function () {\n var fragment = this.fragment;\n return fragment ? '#' + fragment : '';\n },\n setHash: function (hash) {\n hash = $toString(hash);\n if (hash === '') {\n this.fragment = null;\n return;\n }\n if (charAt(hash, 0) === '#') hash = stringSlice(hash, 1);\n this.fragment = '';\n this.parse(hash, FRAGMENT);\n },\n update: function () {\n this.query = this.searchParams.serialize() || null;\n }\n};\n\n// `URL` constructor\n// https://url.spec.whatwg.org/#url-class\nvar URLConstructor = function URL(url /* , base */) {\n var that = anInstance(this, URLPrototype);\n var base = validateArgumentsLength(arguments.length, 1) > 1 ? arguments[1] : undefined;\n var state = setInternalState(that, new URLState(url, false, base));\n if (!DESCRIPTORS) {\n that.href = state.serialize();\n that.origin = state.getOrigin();\n that.protocol = state.getProtocol();\n that.username = state.getUsername();\n that.password = state.getPassword();\n that.host = state.getHost();\n that.hostname = state.getHostname();\n that.port = state.getPort();\n that.pathname = state.getPathname();\n that.search = state.getSearch();\n that.searchParams = state.getSearchParams();\n that.hash = state.getHash();\n }\n};\n\nvar URLPrototype = URLConstructor.prototype;\n\nvar accessorDescriptor = function (getter, setter) {\n return {\n get: function () {\n return getInternalURLState(this)[getter]();\n },\n set: setter && function (value) {\n return getInternalURLState(this)[setter](value);\n },\n configurable: true,\n enumerable: true\n };\n};\n\nif (DESCRIPTORS) {\n // `URL.prototype.href` accessors pair\n // https://url.spec.whatwg.org/#dom-url-href\n defineBuiltInAccessor(URLPrototype, 'href', accessorDescriptor('serialize', 'setHref'));\n // `URL.prototype.origin` getter\n // https://url.spec.whatwg.org/#dom-url-origin\n defineBuiltInAccessor(URLPrototype, 'origin', accessorDescriptor('getOrigin'));\n // `URL.prototype.protocol` accessors pair\n // https://url.spec.whatwg.org/#dom-url-protocol\n defineBuiltInAccessor(URLPrototype, 'protocol', accessorDescriptor('getProtocol', 'setProtocol'));\n // `URL.prototype.username` accessors pair\n // https://url.spec.whatwg.org/#dom-url-username\n defineBuiltInAccessor(URLPrototype, 'username', accessorDescriptor('getUsername', 'setUsername'));\n // `URL.prototype.password` accessors pair\n // https://url.spec.whatwg.org/#dom-url-password\n defineBuiltInAccessor(URLPrototype, 'password', accessorDescriptor('getPassword', 'setPassword'));\n // `URL.prototype.host` accessors pair\n // https://url.spec.whatwg.org/#dom-url-host\n defineBuiltInAccessor(URLPrototype, 'host', accessorDescriptor('getHost', 'setHost'));\n // `URL.prototype.hostname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hostname\n defineBuiltInAccessor(URLPrototype, 'hostname', accessorDescriptor('getHostname', 'setHostname'));\n // `URL.prototype.port` accessors pair\n // https://url.spec.whatwg.org/#dom-url-port\n defineBuiltInAccessor(URLPrototype, 'port', accessorDescriptor('getPort', 'setPort'));\n // `URL.prototype.pathname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-pathname\n defineBuiltInAccessor(URLPrototype, 'pathname', accessorDescriptor('getPathname', 'setPathname'));\n // `URL.prototype.search` accessors pair\n // https://url.spec.whatwg.org/#dom-url-search\n defineBuiltInAccessor(URLPrototype, 'search', accessorDescriptor('getSearch', 'setSearch'));\n // `URL.prototype.searchParams` getter\n // https://url.spec.whatwg.org/#dom-url-searchparams\n defineBuiltInAccessor(URLPrototype, 'searchParams', accessorDescriptor('getSearchParams'));\n // `URL.prototype.hash` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hash\n defineBuiltInAccessor(URLPrototype, 'hash', accessorDescriptor('getHash', 'setHash'));\n}\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\ndefineBuiltIn(URLPrototype, 'toJSON', function toJSON() {\n return getInternalURLState(this).serialize();\n}, { enumerable: true });\n\n// `URL.prototype.toString` method\n// https://url.spec.whatwg.org/#URL-stringification-behavior\ndefineBuiltIn(URLPrototype, 'toString', function toString() {\n return getInternalURLState(this).serialize();\n}, { enumerable: true });\n\nif (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n // `URL.createObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL\n if (nativeCreateObjectURL) defineBuiltIn(URLConstructor, 'createObjectURL', bind(nativeCreateObjectURL, NativeURL));\n // `URL.revokeObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL\n if (nativeRevokeObjectURL) defineBuiltIn(URLConstructor, 'revokeObjectURL', bind(nativeRevokeObjectURL, NativeURL));\n}\n\nsetToStringTag(URLConstructor, 'URL');\n\n$({ global: true, constructor: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {\n URL: URLConstructor\n});\n","'use strict';\n// TODO: Remove this module from `core-js@4` since it's replaced to module below\nrequire('../modules/web.url.constructor');\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\n$({ target: 'URL', proto: true, enumerable: true }, {\n toJSON: function toJSON() {\n return call(URL.prototype.toString, this);\n }\n});\n","import './webcrypto-shim.mjs'\nexport default window.crypto\n","/**\n * @file Web Cryptography API shim\n * @author Artem S Vybornov \n * @license MIT\n */\n(function (global, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define([], function () {\n return factory(global);\n });\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports\n module.exports = factory(global);\n } else {\n factory(global);\n }\n}(typeof self !== 'undefined' ? self : this, function (global) {\n 'use strict';\n\n if ( typeof Promise !== 'function' )\n throw \"Promise support required\";\n\n var _crypto = global.crypto || global.msCrypto;\n if ( !_crypto ) return;\n\n var _subtle = _crypto.subtle || _crypto.webkitSubtle;\n if ( !_subtle ) return;\n\n var _Crypto = global.Crypto || _crypto.constructor || Object,\n _SubtleCrypto = global.SubtleCrypto || _subtle.constructor || Object,\n _CryptoKey = global.CryptoKey || global.Key || Object;\n\n var isEdge = global.navigator.userAgent.indexOf('Edge/') > -1;\n var isIE = !!global.msCrypto && !isEdge;\n var isWebkit = !_crypto.subtle && !!_crypto.webkitSubtle;\n if ( !isIE && !isWebkit ) return;\n\n function s2a ( s ) {\n return btoa(s).replace(/\\=+$/, '').replace(/\\+/g, '-').replace(/\\//g, '_');\n }\n\n function a2s ( s ) {\n s += '===', s = s.slice( 0, -s.length % 4 );\n return atob( s.replace(/-/g, '+').replace(/_/g, '/') );\n }\n\n function s2b ( s ) {\n var b = new Uint8Array(s.length);\n for ( var i = 0; i < s.length; i++ ) b[i] = s.charCodeAt(i);\n return b;\n }\n\n function b2s ( b ) {\n if ( b instanceof ArrayBuffer ) b = new Uint8Array(b);\n return String.fromCharCode.apply( String, b );\n }\n\n function alg ( a ) {\n var r = { 'name': (a.name || a || '').toUpperCase().replace('V','v') };\n switch ( r.name ) {\n case 'SHA-1':\n case 'SHA-256':\n case 'SHA-384':\n case 'SHA-512':\n break;\n case 'AES-CBC':\n case 'AES-GCM':\n case 'AES-KW':\n if ( a.length ) r['length'] = a.length;\n break;\n case 'HMAC':\n if ( a.hash ) r['hash'] = alg(a.hash);\n if ( a.length ) r['length'] = a.length;\n break;\n case 'RSAES-PKCS1-v1_5':\n if ( a.publicExponent ) r['publicExponent'] = new Uint8Array(a.publicExponent);\n if ( a.modulusLength ) r['modulusLength'] = a.modulusLength;\n break;\n case 'RSASSA-PKCS1-v1_5':\n case 'RSA-OAEP':\n if ( a.hash ) r['hash'] = alg(a.hash);\n if ( a.publicExponent ) r['publicExponent'] = new Uint8Array(a.publicExponent);\n if ( a.modulusLength ) r['modulusLength'] = a.modulusLength;\n break;\n default:\n throw new SyntaxError(\"Bad algorithm name\");\n }\n return r;\n };\n\n function jwkAlg ( a ) {\n return {\n 'HMAC': {\n 'SHA-1': 'HS1',\n 'SHA-256': 'HS256',\n 'SHA-384': 'HS384',\n 'SHA-512': 'HS512',\n },\n 'RSASSA-PKCS1-v1_5': {\n 'SHA-1': 'RS1',\n 'SHA-256': 'RS256',\n 'SHA-384': 'RS384',\n 'SHA-512': 'RS512',\n },\n 'RSAES-PKCS1-v1_5': {\n '': 'RSA1_5',\n },\n 'RSA-OAEP': {\n 'SHA-1': 'RSA-OAEP',\n 'SHA-256': 'RSA-OAEP-256',\n },\n 'AES-KW': {\n '128': 'A128KW',\n '192': 'A192KW',\n '256': 'A256KW',\n },\n 'AES-GCM': {\n '128': 'A128GCM',\n '192': 'A192GCM',\n '256': 'A256GCM',\n },\n 'AES-CBC': {\n '128': 'A128CBC',\n '192': 'A192CBC',\n '256': 'A256CBC',\n },\n }[a.name][ ( a.hash || {} ).name || a.length || '' ];\n }\n\n function b2jwk ( k ) {\n if ( k instanceof ArrayBuffer || k instanceof Uint8Array ) k = JSON.parse( decodeURIComponent( escape( b2s(k) ) ) );\n var jwk = { 'kty': k.kty, 'alg': k.alg, 'ext': k.ext || k.extractable };\n switch ( jwk.kty ) {\n case 'oct':\n jwk.k = k.k;\n case 'RSA':\n [ 'n', 'e', 'd', 'p', 'q', 'dp', 'dq', 'qi', 'oth' ].forEach( function ( x ) { if ( x in k ) jwk[x] = k[x] } );\n break;\n default:\n throw new TypeError(\"Unsupported key type\");\n }\n return jwk;\n }\n\n function jwk2b ( k ) {\n var jwk = b2jwk(k);\n if ( isIE ) jwk['extractable'] = jwk.ext, delete jwk.ext;\n return s2b( unescape( encodeURIComponent( JSON.stringify(jwk) ) ) ).buffer;\n }\n\n function pkcs2jwk ( k ) {\n var info = b2der(k), prv = false;\n if ( info.length > 2 ) prv = true, info.shift(); // remove version from PKCS#8 PrivateKeyInfo structure\n var jwk = { 'ext': true };\n switch ( info[0][0] ) {\n case '1.2.840.113549.1.1.1':\n var rsaComp = [ 'n', 'e', 'd', 'p', 'q', 'dp', 'dq', 'qi' ],\n rsaKey = b2der( info[1] );\n if ( prv ) rsaKey.shift(); // remove version from PKCS#1 RSAPrivateKey structure\n for ( var i = 0; i < rsaKey.length; i++ ) {\n if ( !rsaKey[i][0] ) rsaKey[i] = rsaKey[i].subarray(1);\n jwk[ rsaComp[i] ] = s2a( b2s( rsaKey[i] ) );\n }\n jwk['kty'] = 'RSA';\n break;\n default:\n throw new TypeError(\"Unsupported key type\");\n }\n return jwk;\n }\n\n function jwk2pkcs ( k ) {\n var key, info = [ [ '', null ] ], prv = false;\n switch ( k.kty ) {\n case 'RSA':\n var rsaComp = [ 'n', 'e', 'd', 'p', 'q', 'dp', 'dq', 'qi' ],\n rsaKey = [];\n for ( var i = 0; i < rsaComp.length; i++ ) {\n if ( !( rsaComp[i] in k ) ) break;\n var b = rsaKey[i] = s2b( a2s( k[ rsaComp[i] ] ) );\n if ( b[0] & 0x80 ) rsaKey[i] = new Uint8Array(b.length + 1), rsaKey[i].set( b, 1 );\n }\n if ( rsaKey.length > 2 ) prv = true, rsaKey.unshift( new Uint8Array([0]) ); // add version to PKCS#1 RSAPrivateKey structure\n info[0][0] = '1.2.840.113549.1.1.1';\n key = rsaKey;\n break;\n default:\n throw new TypeError(\"Unsupported key type\");\n }\n info.push( new Uint8Array( der2b(key) ).buffer );\n if ( !prv ) info[1] = { 'tag': 0x03, 'value': info[1] };\n else info.unshift( new Uint8Array([0]) ); // add version to PKCS#8 PrivateKeyInfo structure\n return new Uint8Array( der2b(info) ).buffer;\n }\n\n var oid2str = { 'KoZIhvcNAQEB': '1.2.840.113549.1.1.1' },\n str2oid = { '1.2.840.113549.1.1.1': 'KoZIhvcNAQEB' };\n\n function b2der ( buf, ctx ) {\n if ( buf instanceof ArrayBuffer ) buf = new Uint8Array(buf);\n if ( !ctx ) ctx = { pos: 0, end: buf.length };\n\n if ( ctx.end - ctx.pos < 2 || ctx.end > buf.length ) throw new RangeError(\"Malformed DER\");\n\n var tag = buf[ctx.pos++],\n len = buf[ctx.pos++];\n\n if ( len >= 0x80 ) {\n len &= 0x7f;\n if ( ctx.end - ctx.pos < len ) throw new RangeError(\"Malformed DER\");\n for ( var xlen = 0; len--; ) xlen <<= 8, xlen |= buf[ctx.pos++];\n len = xlen;\n }\n\n if ( ctx.end - ctx.pos < len ) throw new RangeError(\"Malformed DER\");\n\n var rv;\n\n switch ( tag ) {\n case 0x02: // Universal Primitive INTEGER\n rv = buf.subarray( ctx.pos, ctx.pos += len );\n break;\n case 0x03: // Universal Primitive BIT STRING\n if ( buf[ctx.pos++] ) throw new Error( \"Unsupported bit string\" );\n len--;\n case 0x04: // Universal Primitive OCTET STRING\n rv = new Uint8Array( buf.subarray( ctx.pos, ctx.pos += len ) ).buffer;\n break;\n case 0x05: // Universal Primitive NULL\n rv = null;\n break;\n case 0x06: // Universal Primitive OBJECT IDENTIFIER\n var oid = btoa( b2s( buf.subarray( ctx.pos, ctx.pos += len ) ) );\n if ( !( oid in oid2str ) ) throw new Error( \"Unsupported OBJECT ID \" + oid );\n rv = oid2str[oid];\n break;\n case 0x30: // Universal Constructed SEQUENCE\n rv = [];\n for ( var end = ctx.pos + len; ctx.pos < end; ) rv.push( b2der( buf, ctx ) );\n break;\n default:\n throw new Error( \"Unsupported DER tag 0x\" + tag.toString(16) );\n }\n\n return rv;\n }\n\n function der2b ( val, buf ) {\n if ( !buf ) buf = [];\n\n var tag = 0, len = 0,\n pos = buf.length + 2;\n\n buf.push( 0, 0 ); // placeholder\n\n if ( val instanceof Uint8Array ) { // Universal Primitive INTEGER\n tag = 0x02, len = val.length;\n for ( var i = 0; i < len; i++ ) buf.push( val[i] );\n }\n else if ( val instanceof ArrayBuffer ) { // Universal Primitive OCTET STRING\n tag = 0x04, len = val.byteLength, val = new Uint8Array(val);\n for ( var i = 0; i < len; i++ ) buf.push( val[i] );\n }\n else if ( val === null ) { // Universal Primitive NULL\n tag = 0x05, len = 0;\n }\n else if ( typeof val === 'string' && val in str2oid ) { // Universal Primitive OBJECT IDENTIFIER\n var oid = s2b( atob( str2oid[val] ) );\n tag = 0x06, len = oid.length;\n for ( var i = 0; i < len; i++ ) buf.push( oid[i] );\n }\n else if ( val instanceof Array ) { // Universal Constructed SEQUENCE\n for ( var i = 0; i < val.length; i++ ) der2b( val[i], buf );\n tag = 0x30, len = buf.length - pos;\n }\n else if ( typeof val === 'object' && val.tag === 0x03 && val.value instanceof ArrayBuffer ) { // Tag hint\n val = new Uint8Array(val.value), tag = 0x03, len = val.byteLength;\n buf.push(0); for ( var i = 0; i < len; i++ ) buf.push( val[i] );\n len++;\n }\n else {\n throw new Error( \"Unsupported DER value \" + val );\n }\n\n if ( len >= 0x80 ) {\n var xlen = len, len = 4;\n buf.splice( pos, 0, (xlen >> 24) & 0xff, (xlen >> 16) & 0xff, (xlen >> 8) & 0xff, xlen & 0xff );\n while ( len > 1 && !(xlen >> 24) ) xlen <<= 8, len--;\n if ( len < 4 ) buf.splice( pos, 4 - len );\n len |= 0x80;\n }\n\n buf.splice( pos - 2, 2, tag, len );\n\n return buf;\n }\n\n function CryptoKey ( key, alg, ext, use ) {\n Object.defineProperties( this, {\n _key: {\n value: key\n },\n type: {\n value: key.type,\n enumerable: true,\n },\n extractable: {\n value: (ext === undefined) ? key.extractable : ext,\n enumerable: true,\n },\n algorithm: {\n value: (alg === undefined) ? key.algorithm : alg,\n enumerable: true,\n },\n usages: {\n value: (use === undefined) ? key.usages : use,\n enumerable: true,\n },\n });\n }\n\n function isPubKeyUse ( u ) {\n return u === 'verify' || u === 'encrypt' || u === 'wrapKey';\n }\n\n function isPrvKeyUse ( u ) {\n return u === 'sign' || u === 'decrypt' || u === 'unwrapKey';\n }\n\n [ 'generateKey', 'importKey', 'unwrapKey' ]\n .forEach( function ( m ) {\n var _fn = _subtle[m];\n\n _subtle[m] = function ( a, b, c ) {\n var args = [].slice.call(arguments),\n ka, kx, ku;\n\n switch ( m ) {\n case 'generateKey':\n ka = alg(a), kx = b, ku = c;\n break;\n case 'importKey':\n ka = alg(c), kx = args[3], ku = args[4];\n if ( a === 'jwk' ) {\n b = b2jwk(b);\n if ( !b.alg ) b.alg = jwkAlg(ka);\n if ( !b.key_ops ) b.key_ops = ( b.kty !== 'oct' ) ? ( 'd' in b ) ? ku.filter(isPrvKeyUse) : ku.filter(isPubKeyUse) : ku.slice();\n args[1] = jwk2b(b);\n }\n break;\n case 'unwrapKey':\n ka = args[4], kx = args[5], ku = args[6];\n args[2] = c._key;\n break;\n }\n\n if ( m === 'generateKey' && ka.name === 'HMAC' && ka.hash ) {\n ka.length = ka.length || { 'SHA-1': 512, 'SHA-256': 512, 'SHA-384': 1024, 'SHA-512': 1024 }[ka.hash.name];\n return _subtle.importKey( 'raw', _crypto.getRandomValues( new Uint8Array( (ka.length+7)>>3 ) ), ka, kx, ku );\n }\n\n if ( isWebkit && m === 'generateKey' && ka.name === 'RSASSA-PKCS1-v1_5' && ( !ka.modulusLength || ka.modulusLength >= 2048 ) ) {\n a = alg(a), a.name = 'RSAES-PKCS1-v1_5', delete a.hash;\n return _subtle.generateKey( a, true, [ 'encrypt', 'decrypt' ] )\n .then( function ( k ) {\n return Promise.all([\n _subtle.exportKey( 'jwk', k.publicKey ),\n _subtle.exportKey( 'jwk', k.privateKey ),\n ]);\n })\n .then( function ( keys ) {\n keys[0].alg = keys[1].alg = jwkAlg(ka);\n keys[0].key_ops = ku.filter(isPubKeyUse), keys[1].key_ops = ku.filter(isPrvKeyUse);\n return Promise.all([\n _subtle.importKey( 'jwk', keys[0], ka, true, keys[0].key_ops ),\n _subtle.importKey( 'jwk', keys[1], ka, kx, keys[1].key_ops ),\n ]);\n })\n .then( function ( keys ) {\n return {\n publicKey: keys[0],\n privateKey: keys[1],\n };\n });\n }\n\n if ( ( isWebkit || ( isIE && ( ka.hash || {} ).name === 'SHA-1' ) )\n && m === 'importKey' && a === 'jwk' && ka.name === 'HMAC' && b.kty === 'oct' ) {\n return _subtle.importKey( 'raw', s2b( a2s(b.k) ), c, args[3], args[4] );\n }\n\n if ( isWebkit && m === 'importKey' && ( a === 'spki' || a === 'pkcs8' ) ) {\n return _subtle.importKey( 'jwk', pkcs2jwk(b), c, args[3], args[4] );\n }\n\n if ( isIE && m === 'unwrapKey' ) {\n return _subtle.decrypt( args[3], c, b )\n .then( function ( k ) {\n return _subtle.importKey( a, k, args[4], args[5], args[6] );\n });\n }\n\n var op;\n try {\n op = _fn.apply( _subtle, args );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n if ( isIE ) {\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) { rej(e) };\n op.oncomplete = function ( r ) { res(r.target.result) };\n });\n }\n\n op = op.then( function ( k ) {\n if ( ka.name === 'HMAC' ) {\n if ( !ka.length ) ka.length = 8 * k.algorithm.length;\n }\n if ( ka.name.search('RSA') == 0 ) {\n if ( !ka.modulusLength ) ka.modulusLength = (k.publicKey || k).algorithm.modulusLength;\n if ( !ka.publicExponent ) ka.publicExponent = (k.publicKey || k).algorithm.publicExponent;\n }\n if ( k.publicKey && k.privateKey ) {\n k = {\n publicKey: new CryptoKey( k.publicKey, ka, kx, ku.filter(isPubKeyUse) ),\n privateKey: new CryptoKey( k.privateKey, ka, kx, ku.filter(isPrvKeyUse) ),\n };\n }\n else {\n k = new CryptoKey( k, ka, kx, ku );\n }\n return k;\n });\n\n return op;\n }\n });\n\n [ 'exportKey', 'wrapKey' ]\n .forEach( function ( m ) {\n var _fn = _subtle[m];\n\n _subtle[m] = function ( a, b, c ) {\n var args = [].slice.call(arguments);\n\n switch ( m ) {\n case 'exportKey':\n args[1] = b._key;\n break;\n case 'wrapKey':\n args[1] = b._key, args[2] = c._key;\n break;\n }\n\n if ( ( isWebkit || ( isIE && ( b.algorithm.hash || {} ).name === 'SHA-1' ) )\n && m === 'exportKey' && a === 'jwk' && b.algorithm.name === 'HMAC' ) {\n args[0] = 'raw';\n }\n\n if ( isWebkit && m === 'exportKey' && ( a === 'spki' || a === 'pkcs8' ) ) {\n args[0] = 'jwk';\n }\n\n if ( isIE && m === 'wrapKey' ) {\n return _subtle.exportKey( a, b )\n .then( function ( k ) {\n if ( a === 'jwk' ) k = s2b( unescape( encodeURIComponent( JSON.stringify( b2jwk(k) ) ) ) );\n return _subtle.encrypt( args[3], c, k );\n });\n }\n\n var op;\n try {\n op = _fn.apply( _subtle, args );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n if ( isIE ) {\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) { rej(e) };\n op.oncomplete = function ( r ) { res(r.target.result) };\n });\n }\n\n if ( m === 'exportKey' && a === 'jwk' ) {\n op = op.then( function ( k ) {\n if ( ( isWebkit || ( isIE && ( b.algorithm.hash || {} ).name === 'SHA-1' ) )\n && b.algorithm.name === 'HMAC') {\n return { 'kty': 'oct', 'alg': jwkAlg(b.algorithm), 'key_ops': b.usages.slice(), 'ext': true, 'k': s2a( b2s(k) ) };\n }\n k = b2jwk(k);\n if ( !k.alg ) k['alg'] = jwkAlg(b.algorithm);\n if ( !k.key_ops ) k['key_ops'] = ( b.type === 'public' ) ? b.usages.filter(isPubKeyUse) : ( b.type === 'private' ) ? b.usages.filter(isPrvKeyUse) : b.usages.slice();\n return k;\n });\n }\n\n if ( isWebkit && m === 'exportKey' && ( a === 'spki' || a === 'pkcs8' ) ) {\n op = op.then( function ( k ) {\n k = jwk2pkcs( b2jwk(k) );\n return k;\n });\n }\n\n return op;\n }\n });\n\n [ 'encrypt', 'decrypt', 'sign', 'verify' ]\n .forEach( function ( m ) {\n var _fn = _subtle[m];\n\n _subtle[m] = function ( a, b, c, d ) {\n if ( isIE && ( !c.byteLength || ( d && !d.byteLength ) ) )\n throw new Error(\"Empy input is not allowed\");\n\n var args = [].slice.call(arguments),\n ka = alg(a);\n\n if ( isIE && m === 'decrypt' && ka.name === 'AES-GCM' ) {\n var tl = a.tagLength >> 3;\n args[2] = (c.buffer || c).slice( 0, c.byteLength - tl ),\n a.tag = (c.buffer || c).slice( c.byteLength - tl );\n }\n\n args[1] = b._key;\n\n var op;\n try {\n op = _fn.apply( _subtle, args );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n if ( isIE ) {\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) {\n rej(e);\n };\n\n op.oncomplete = function ( r ) {\n var r = r.target.result;\n\n if ( m === 'encrypt' && r instanceof AesGcmEncryptResult ) {\n var c = r.ciphertext, t = r.tag;\n r = new Uint8Array( c.byteLength + t.byteLength );\n r.set( new Uint8Array(c), 0 );\n r.set( new Uint8Array(t), c.byteLength );\n r = r.buffer;\n }\n\n res(r);\n };\n });\n }\n\n return op;\n }\n });\n\n if ( isIE ) {\n var _digest = _subtle.digest;\n\n _subtle['digest'] = function ( a, b ) {\n if ( !b.byteLength )\n throw new Error(\"Empy input is not allowed\");\n\n var op;\n try {\n op = _digest.call( _subtle, a, b );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) { rej(e) };\n op.oncomplete = function ( r ) { res(r.target.result) };\n });\n\n return op;\n };\n\n global.crypto = Object.create( _crypto, {\n getRandomValues: { value: function ( a ) { return _crypto.getRandomValues(a) } },\n subtle: { value: _subtle },\n });\n\n global.CryptoKey = CryptoKey;\n }\n\n if ( isWebkit ) {\n _crypto.subtle = _subtle;\n\n global.Crypto = _Crypto;\n global.SubtleCrypto = _SubtleCrypto;\n global.CryptoKey = CryptoKey;\n }\n}));\n\n export default {} // section modified by isomorphic-webcrypto build \n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(8932);\n"],"names":["_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_createClass","protoProps","staticProps","prototype","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","bind","__proto__","_setPrototypeOf","p","_assertThisInitialized","self","ReferenceError","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","valueOf","call","e","_isNativeReflectConstruct","result","Super","NewTarget","this","constructor","arguments","apply","_possibleConstructorReturn","_get","get","property","receiver","base","object","hasOwnProperty","_superPropBase","desc","getOwnPropertyDescriptor","value","Emitter","type","callback","options","listeners","push","stack","l","splice","event","stackToCall","slice","listener","Promise","resolve","then","once","removeEventListener","defaultPrevented","AbortSignal","_Emitter","subClass","superClass","create","_inherits","_super","_this","undefined","aborted","onabort","AbortController","reason","Event","document","createEvent","initEvent","createEventObject","bubbles","cancelable","signalReason","Error","name","DOMException","err","signal","dispatchEvent","Symbol","toStringTag","__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL","console","log","Request","polyfillNeeded","g","warned","exports","formatArgs","args","useColors","namespace","module","humanize","diff","c","color","index","lastC","replace","match","save","namespaces","storage","setItem","removeItem","error","load","r","getItem","process","env","DEBUG","window","__nwjs","navigator","userAgent","toLowerCase","documentElement","style","WebkitAppearance","firebug","exception","table","m","parseInt","localStorage","localstorage","destroy","warn","colors","debug","require","formatters","j","v","JSON","stringify","message","createDebug","prevTime","namespacesCache","enabledCache","enableOverride","_len","Array","_key","enabled","curr","Number","Date","ms","prev","coerce","unshift","format","formatter","val","selectColor","extend","set","init","delimiter","newDebug","toNamespace","regexp","toString","substring","default","disable","concat","_toConsumableArray2","names","map","skips","join","enable","split","len","RegExp","test","keys","forEach","hash","charCodeAt","Math","abs","lib_1","strings_1","settings_1","Response","FHIRCLIENT_PURE","contextualize","_x","_x2","_contextualize","_asyncToGenerator2","_regenerator","mark","_callee9","requestOptions","client","contextualURL","_contextualURL","wrap","_context9","next","_callee8","_url","resourceType","conformance","searchParam","_context8","pathname","pop","assert","patientCompartment","indexOf","fetchConformanceStatement","state","serverUrl","sent","getPatientParam","searchParams","patient","id","abrupt","href","stop","_x9","absolute","URL","t0","url","resolveRefs","obj","fhirOptions","cache","paths","makeArray","resolveReferences","filter","path","String","trim","groups","task","sort","group","all","graph","node","getPath","isArray","item","ref","reference","refId","headers","request","res","getRef","sub","setPath","catch","ex","status","resolveRef","Client","_createClass2","environment","_classCallCheck2","units","_state","_refreshTask","getPatientId","read","_objectSpread","reject","_callee","_context","encounter","getEncounterId","user","fhirUser","getFhirUser","getUserId","getUserType","connect","fhir","fhirJs","baseUrl","accessToken","getState","auth","token","_this$state","username","password","pass","api","patientId","tokenResponse","scope","noScopeForId","authorizeUri","noIfNoAuth","noFreeContext","idToken","id_token","hasOpenid","hasProfile","hasFhirUser","jwtDecode","getIdToken","profile","_this$state2","btoa","_clearState2","_callee2","_context2","getStorage","SMART_KEY","unset","resource","method","body","_patch2","_callee3","patch","_args3","_context3","assertJsonPatch","_x3","_x4","_request","_callee7","_resolvedRefs","_a","debugRequest","job","response","_this2","_args7","_context7","flat","pageLimit","useRefreshToken","onPage","refreshIfNeeded","authHeader","getAuthorizationHeader","authorization","includeResponse","_ref3","_callee4","_context4","_clearState","expired","_x6","data","_ref4","_callee5","_data","_context5","entry","_x7","_ref5","_callee6","links","nextPage","_context6","link","find","relation","assign","references","_x8","_x5","refreshToken","expiresAt","now","refresh","_this3","debugRefresh","_b","refresh_token","tokenUri","scopes","hasOfflineAccess","search","hasOnlineAccess","encodeURIComponent","refreshTokenWithClientId","clientId","refreshRequestOptions","credentials","refreshTokenWithCredentials","mode","_this$state3","clientSecret","access_token","getAccessTokenExpiration","finally","observations","byCode","byCodes","metadata","fhirVersion","getFhirVersion","fhirVersions","HttpError","_Error","_callSuper","statusText","statusCode","_inherits2","_parse","_body","bodyUsed","json","error_description","text","_wrapNativeSuper2","smart_1","Client_1","BrowserStorage_1","security","js_base64_1","BrowserAdapter","_storage","replaceBrowserHistory","fullSessionStorageSupport","getUrl","location","to","str","atob","input","encodeURL","fromUint8Array","decode","ready","authorize","utils","_adapter$getSmartApi","getSmartApi","fetch","Headers","FHIR","oauth2","settings","_interopRequireDefault","_defineProperty2","_objectWithoutProperties2","_typeof2","_excluded","ownKeys","t","getOwnPropertySymbols","getOwnPropertyDescriptors","defineProperties","HttpError_1","_debug","ensureNumerical","code","checkResponse","_checkResponse","resp","ok","parse","responseToJSON","loweCaseKeys","out","lowerKey","accept","getAndCache","segments","shift","arg","payload","ret","handleCodeableConcept","concept","observation","coding","_ref6","_getTargetWindow","width","height","targetWindow","_error","_targetWindow","winOrFrame","_args2","parent","top","open","screen","t1","frames","condition","cm","_ref2","kg","any","pq","createEmpty","reduce","idx","arr","strLength","charSet","charAt","floor","random","secondsAhead","from","expires_in","tokenBody","exp","bank","codes","meta","x","patientParams","operation","op","crypto","globalThis","subtle","isSecureContext","ALGS","ES384","namedCurve","RS384","modulusLength","publicExponent","Uint8Array","randomBytes","count","getRandomValues","digestSha256","_digestSha","prepared","TextEncoder","encode","digest","generatePKCEChallenge","_ref","inputBytes","codeVerifier","codeChallenge","_args","_importJWK","jwk","alg","key_ops","includes","importKey","ext","_signCompactJws","privateKey","header","jwtHeader","jwtPayload","jwtAuthenticatedContent","signature","sign","algorithm","isBrowser","fetchWellKnownJson","getSecurityExtensions","authorization_endpoint","token_endpoint","registrationUri","registration_endpoint","codeChallengeMethods","code_challenge_methods_supported","getSecurityExtensionsFromWellKnownJson","extensions","extension","valueUri","getSecurityExtensionsFromConformanceStatement","_authorize","params","urlISS","cfg","fakeTokenResponse","encounterId","pkceMode","clientPublicKeySetUrl","redirect_uri","client_id","iss","launch","fhirServiceUrl","redirectUri","noRedirect","_params$scope","completeInTarget","clientPrivateJwk","stateKey","inFrame","inPopUp","oldKey","redirectUrl","redirectParams","win","issMatch","relative","isInFrame","isInPopUp","randomString","redirect","shouldIncludeChallenge","getTargetWindow","sessionStorage","addEventListener","onMessage","S256supported","opener","origin","_ready","Storage","authError","authErrorDescription","hasState","postMessage","close","delete","has","history","replaceState","buildTokenRequest","_buildTokenRequest","pk","jwtHeaders","jwtClaims","clientAssertion","importJWK","typ","kid","jku","aud","jti","base64urlencode","getTimeInFuture","signCompactJws","_init","authorizeOptions","readyOptions","cached","_set","_unset","global","__self__","F","support","Blob","viewClasses","isArrayBufferView","ArrayBuffer","isView","normalizeName","normalizeValue","iteratorFor","items","iterator","done","append","getOwnPropertyNames","consumed","fileReaderReady","reader","onload","onerror","readBlobAsArrayBuffer","blob","FileReader","promise","readAsArrayBuffer","bufferClone","buf","view","byteLength","buffer","Body","_initBody","_bodyInit","_bodyText","isPrototypeOf","_bodyBlob","FormData","_bodyFormData","URLSearchParams","DataView","_bodyArrayBuffer","rejected","arrayBuffer","readAsText","chars","fromCharCode","readArrayBufferAsText","formData","oldValue","thisArg","values","entries","methods","upcased","toUpperCase","referrer","form","bytes","decodeURIComponent","bodyInit","clone","redirectStatuses","RangeError","xhr","XMLHttpRequest","abortXhr","abort","rawHeaders","getAllResponseHeaders","line","parts","responseURL","responseText","ontimeout","withCredentials","responseType","setRequestHeader","onreadystatechange","readyState","send","polyfill","ponyfill","ctx","tab","version","VERSION","_hasBuffer","Buffer","_TD","TextDecoder","_TE","b64chs","b64tab","b64re","_fromCC","_U8Afrom","it","_mkUriSafe","src","m0","_tidyB64","s","btoaPolyfill","bin","u32","c0","c1","c2","asc","pad","_btoa","_fromUint8Array","u8a","strs","subarray","urlsafe","cb_utob","cc","re_utob","utob","u","_encode","encodeURI","re_btou","cb_btou","cccc","offset","btou","b","atobPolyfill","u24","r1","r2","_atob","_toUint8Array","a","toUint8Array","_unURI","_decode","_noEnum","extendString","_add","extendUint8Array","gBase64","fromBase64","toBase64","isValid","extendBuiltins","k","Base64","factory","h","d","w","plural","msAbs","n","isPlural","round","exec","parseFloat","isFinite","long","fmtShort","__esModule","arrayLikeToArray","asyncGeneratorStep","_next","_throw","isNativeReflectConstruct","toPropertyKey","Function","objectWithoutPropertiesLoose","propertyIsEnumerable","_typeof","assertThisInitialized","_regeneratorRuntime","asyncIterator","define","Generator","Context","makeInvokeMethod","tryCatch","f","y","GeneratorFunction","GeneratorFunctionPrototype","defineIteratorMethods","_invoke","AsyncIterator","invoke","__await","callInvokeWithMethodAndArg","delegate","maybeInvokeDelegate","_sent","dispatchException","resultName","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","awrap","async","reverse","rval","handle","complete","finish","delegateYield","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","toPrimitive","isNativeFunction","_wrapNativeSuper","Map","Wrapper","runtime","regeneratorRuntime","accidentalStrictMode","isCallable","tryToString","$TypeError","argument","isConstructor","isPossiblePrototype","$String","wellKnownSymbol","UNSCOPABLES","ArrayPrototype","S","unicode","Prototype","isObject","NAME","NATIVE_ARRAY_BUFFER","DESCRIPTORS","hasOwn","classof","createNonEnumerableProperty","defineBuiltIn","defineBuiltInAccessor","uid","InternalStateModule","enforceInternalState","enforce","getInternalState","Int8Array","Int8ArrayPrototype","Uint8ClampedArray","Uint8ClampedArrayPrototype","TypedArray","TypedArrayPrototype","ObjectPrototype","TO_STRING_TAG","TYPED_ARRAY_TAG","TYPED_ARRAY_CONSTRUCTOR","NATIVE_ARRAY_BUFFER_VIEWS","opera","TYPED_ARRAY_TAG_REQUIRED","TypedArrayConstructorsList","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigIntArrayConstructorsList","BigInt64Array","BigUint64Array","getTypedArrayConstructor","proto","isTypedArray","klass","aTypedArray","aTypedArrayConstructor","C","exportTypedArrayMethod","KEY","forced","ARRAY","TypedArrayConstructor","error2","exportTypedArrayStaticMethod","uncurryThis","FunctionName","defineBuiltIns","fails","anInstance","toIntegerOrInfinity","toLength","toIndex","fround","IEEE754","arrayFill","arraySlice","inheritIfRequired","copyConstructorProperties","setToStringTag","PROPER_FUNCTION_NAME","PROPER","CONFIGURABLE_FUNCTION_NAME","CONFIGURABLE","ARRAY_BUFFER","DATA_VIEW","PROTOTYPE","WRONG_INDEX","getInternalArrayBufferState","getterFor","getInternalDataViewState","setInternalState","NativeArrayBuffer","$ArrayBuffer","ArrayBufferPrototype","$DataView","DataViewPrototype","fill","packIEEE754","pack","unpackIEEE754","unpack","packInt8","number","packInt16","packInt32","unpackInt32","packFloat32","packFloat64","addGetter","isLittleEndian","store","intIndex","boolIsLittleEndian","start","byteOffset","conversion","INCORRECT_ARRAY_BUFFER_NAME","NaN","testView","$setInt8","setInt8","getInt8","setUint8","unsafe","detached","bufferState","bufferLength","getUint8","getInt16","getUint16","getInt32","getUint32","getFloat32","getFloat64","setInt16","setUint16","setInt32","setUint32","setFloat32","setFloat64","toObject","toAbsoluteIndex","lengthOfArrayLike","deletePropertyOrThrow","min","copyWithin","O","end","inc","argumentsLength","endPos","$forEach","STRICT_METHOD","arrayMethodIsStrict","callbackfn","list","$length","callWithSafeIterationClosing","isArrayIteratorMethod","createProperty","getIterator","getIteratorMethod","$Array","arrayLike","IS_CONSTRUCTOR","mapfn","mapping","step","iteratorMethod","toIndexedObject","createMethod","IS_INCLUDES","$this","el","fromIndex","IndexedObject","arraySpeciesCreate","TYPE","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_REJECT","NO_HOLES","that","specificCreate","boundFunction","some","every","findIndex","filterReject","$lastIndexOf","lastIndexOf","NEGATIVE_ZERO","FORCED","searchElement","V8_VERSION","SPECIES","METHOD_NAME","array","foo","aCallable","REDUCE_EMPTY","IS_RIGHT","memo","left","right","SILENT_ON_NON_WRITABLE_LENGTH_SET","comparefn","element","middle","llength","rlength","lindex","rindex","originalArray","arraySpeciesConstructor","anObject","iteratorClose","fn","ENTRIES","ITERATOR","SAFE_CLOSING","called","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","stringSlice","TO_STRING_TAG_SUPPORT","classofRaw","$Object","CORRECT_ARGUMENTS","tag","tryGet","callee","getOwnPropertyDescriptorModule","definePropertyModule","source","exceptions","MATCH","error1","requireObjectCoercible","quot","string","attribute","p1","createPropertyDescriptor","bitmap","makeBuiltIn","getter","setter","defineGlobalProperty","simple","nonConfigurable","nonWritable","P","EXISTS","createElement","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","classList","documentCreateElement","DOMTokenListPrototype","firefox","UA","Pebble","ENVIRONMENT","Deno","versions","v8","webkit","userAgentStartsWith","Bun","isForced","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","dontCallGetSet","regexpExec","RegExpPrototype","SHAM","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","re","flags","nativeRegExpMethod","nativeMethod","arg2","forceStringMethod","$exec","doesNotExceedSafeInteger","flattenIntoArray","original","sourceLen","depth","mapper","elementLen","targetIndex","sourceIndex","mapFn","NATIVE_BIND","FunctionPrototype","$Function","factories","partArgs","argsLength","getDescriptor","uncurryThisWithBind","getMethod","isNullOrUndefined","Iterators","usingIterator","replacer","rawLength","keysLength","root","V","func","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","matched","position","captures","namedCaptures","replacement","tailPos","symbols","ch","capture","check","getBuiltIn","pow","LN2","mantissaLength","exponent","mantissa","exponentLength","eMax","eBias","rt","Infinity","nBits","dummy","NewTargetPrototype","functionToString","inspectSource","NATIVE_WEAK_MAP","shared","sharedKey","hiddenKeys","OBJECT_ALREADY_INITIALIZED","WeakMap","facade","STATE","documentAll","noop","constructorRegExp","INCORRECT_TO_STRING","isConstructorModern","isConstructorLegacy","feature","detection","normalize","POLYFILL","NATIVE","isInteger","isRegExp","USE_SYMBOL_AS_UID","$Symbol","Result","stopped","ResultPrototype","iterable","unboundFunction","iterFn","AS_ENTRIES","IS_RECORD","IS_ITERATOR","INTERRUPTED","callFn","kind","innerResult","innerError","IteratorPrototype","returnThis","IteratorConstructor","ENUMERABLE_NEXT","$","IS_PURE","createIteratorConstructor","IteratorsCore","BUGGY_SAFARI_ITERATORS","KEYS","VALUES","Iterable","DEFAULT","IS_SET","CurrentIteratorPrototype","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","PrototypeOfArrayIteratorPrototype","arrayIterator","CONFIGURABLE_LENGTH","TEMPLATE","arity","EPSILON","INVERSE_EPSILON","FLOAT_EPSILON","FLOAT_MAX_VALUE","FLOAT_MIN_VALUE","roundTiesToEven","floatRound","ceil","trunc","notify","toggle","safeGetBuiltIn","macrotask","Queue","IS_IOS","IS_IOS_PEBBLE","IS_WEBOS_WEBKIT","IS_NODE","MutationObserver","WebKitMutationObserver","microtask","queue","flush","domain","exit","head","enter","nextTick","createTextNode","observe","characterData","add","PromiseCapability","$$resolve","$$reject","objectKeys","getOwnPropertySymbolsModule","propertyIsEnumerableModule","$assign","A","B","symbol","alphabet","chr","T","activeXDocument","definePropertiesModule","enumBugKeys","html","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","content","LT","NullProtoObjectViaActiveX","write","temp","parentWindow","NullProtoObject","ActiveXObject","iframeDocument","iframe","JS","display","appendChild","contentWindow","Properties","V8_PROTOTYPE_DEFINE_BUG","IE8_DOM_DEFINE","$defineProperty","$getOwnPropertyDescriptor","ENUMERABLE","WRITABLE","Attributes","current","$getOwnPropertyNames","windowNames","getWindowNames","internalObjectKeys","CORRECT_PROTOTYPE_GETTER","$propertyIsEnumerable","NASHORN_BUG","uncurryThisAccessor","aPossiblePrototype","CORRECT_SETTER","pref","getOwnPropertyNamesModule","NativePromiseConstructor","NativePromisePrototype","SUBCLASSING","NATIVE_PROMISE_REJECTION_EVENT","PromiseRejectionEvent","FORCED_PROMISE_CONSTRUCTOR","PROMISE_CONSTRUCTOR_SOURCE","GLOBAL_CORE_JS_PROMISE","FakePromise","CONSTRUCTOR","REJECTION_EVENT","newPromiseCapability","promiseCapability","checkCorrectnessOfIteration","Target","Source","tail","R","re1","re2","regexpFlags","stickyHelpers","UNSUPPORTED_DOT_ALL","UNSUPPORTED_NCG","nativeReplace","nativeExec","patchedExec","UPDATES_LAST_INDEX_WRONG","lastIndex","UNSUPPORTED_Y","BROKEN_CARET","NPCG_INCLUDED","reCopy","raw","sticky","charsAdded","strCopy","multiline","hasIndices","ignoreCase","dotAll","unicodeSets","regExpFlags","$RegExp","MISSED_STICKY","is","CONSTRUCTOR_NAME","TAG","SHARED","copyright","license","aConstructor","defaultConstructor","CONVERT_TO_STRING","pos","first","second","size","codeAt","maxInt","regexNonASCII","regexSeparators","OVERFLOW_ERROR","$RangeError","digitToBasic","digit","adapt","delta","numPoints","firstTime","baseMinusTMin","output","counter","extra","ucs2decode","currentValue","inputLength","bias","basicLength","handledCPCount","handledCPCountPlusOne","q","qMinusT","baseMinusT","label","encoded","labels","whitespaces","ltrim","rtrim","SymbolPrototype","TO_PRIMITIVE","hint","NATIVE_SYMBOL","keyFor","$location","defer","channel","port","validateArgumentsLength","setImmediate","clear","clearImmediate","Dispatch","MessageChannel","ONREADYSTATECHANGE","run","runner","eventListener","globalPostMessageDefer","protocol","host","handler","port2","port1","onmessage","importScripts","removeChild","setTimeout","max","integer","prim","BigInt","toPositiveInteger","BYTES","isSymbol","ordinaryToPrimitive","exoticToPrim","TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS","ArrayBufferViewCore","ArrayBufferModule","isIntegralNumber","toOffset","toUint8Clamped","typedArrayFrom","setSpecies","arrayFromConstructorAndList","nativeDefineProperty","nativeGetOwnPropertyDescriptor","BYTES_PER_ELEMENT","WRONG_LENGTH","isArrayBuffer","isTypedArrayIndex","wrappedGetOwnPropertyDescriptor","wrappedDefineProperty","wrapper","CLAMPED","GETTER","SETTER","NativeTypedArrayConstructor","TypedArrayConstructorPrototype","exported","addElement","typedArrayOffset","$len","typedArraySpeciesConstructor","isBigIntArray","toBigInt","thisIsBigIntArray","speciesConstructor","postfix","params2","toJSON","passed","required","wrappedWellKnownSymbolModule","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","arrayBufferModule","arrayMethodHasSpeciesSupport","IS_CONCAT_SPREADABLE","IS_CONCAT_SPREADABLE_SUPPORT","isConcatSpreadable","spreadable","E","$filter","$find","addToUnscopables","FIND","SKIPS_HOLES","depthArg","$includes","defineIterator","createIterResultObject","ARRAY_ITERATOR","iterated","Arguments","nativeJoin","separator","$map","nativeSlice","HAS_SPECIES_SUPPORT","fin","internalSort","FF","IE_OR_EDGE","V8","WEBKIT","nativeSort","FAILS_ON_UNDEFINED","FAILS_ON_NULL","STABLE_SORT","itemsLength","arrayLength","getSortCompare","setArrayLength","deleteCount","insertCount","actualDeleteCount","actualStart","FUNCTION_NAME_EXISTS","nameRE","regExpExec","getReplacerFunction","$stringify","numberToString","tester","low","hi","WRONG_SYMBOLS_CONVERSION","ILL_FORMED_UNICODE","stringifyWithSymbolsFix","$replacer","fixIllFormed","space","thisNumberValue","NUMBER","NativeNumber","PureNumberNamespace","NumberPrototype","NumberWrapper","primValue","third","radix","maxCode","digits","toNumber","toNumeric","$getOwnPropertySymbols","nativeKeys","newPromiseCapabilityModule","perform","iterate","capability","$promiseResolve","remaining","alreadyCalled","real","onRejected","Internal","OwnPromiseCapability","nativeThen","hostReportErrors","PromiseConstructorDetection","PROMISE","NATIVE_PROMISE_SUBCLASSING","getInternalPromiseState","PromiseConstructor","PromisePrototype","newGenericPromiseCapability","DISPATCH_EVENT","UNHANDLED_REJECTION","isThenable","callReaction","reaction","exited","fail","rejection","onHandleUnhandled","isReject","notified","reactions","onUnhandled","isUnhandled","emit","unwrap","internalReject","internalResolve","executor","onFulfilled","PromiseWrapper","promiseResolve","onFinally","isFunction","race","capabilityReject","PromiseConstructorWrapper","CHECK_WRAPPER","nativeConstruct","NEW_TARGET_BUG","ARGS_BUG","newTarget","$args","getRegExpFlags","proxyAccessor","NativeRegExp","SyntaxError","stringIndexOf","IS_NCG","CORRECT_NEW","RegExpWrapper","pattern","rawFlags","handled","thisIsRegExp","patternIsRegExp","flagsAreUndefined","rawPattern","named","brackets","ncg","groupid","groupname","handleNCG","handleDotAll","$toString","TO_STRING","nativeToString","NOT_GENERIC","INCORRECT_NAME","$fromCodePoint","fromCodePoint","elements","notARegExp","correctIsRegExpLogic","searchString","STRING_ITERATOR","point","createHTML","forcedStringHTMLMethod","fixRegExpWellKnownSymbolLogic","advanceStringIndex","nativeMatch","maybeCallNative","matcher","rx","fullUnicode","matchStr","getSubstitution","REPLACE","REPLACE_KEEPS_$0","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","_","UNSAFE_SUBSTITUTE","searchValue","replaceValue","functionalReplace","results","accumulatedResult","nextSourcePosition","replacerArgs","sameValue","SEARCH","nativeSearch","searcher","previousLastIndex","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","BUGGY","SPLIT","nativeSplit","internalSplit","limit","splitter","unicodeMatching","lim","z","$trim","forcedStringTrimMethod","nativeObjectCreate","getOwnPropertyNamesExternal","defineWellKnownSymbol","defineSymbolToPrimitive","HIDDEN","QObject","nativeGetOwnPropertyNames","nativePropertyIsEnumerable","AllSymbols","ObjectPrototypeSymbols","USE_SETTER","findChild","fallbackDefineProperty","ObjectPrototypeDescriptor","setSymbolDescriptor","description","$defineProperties","properties","IS_OBJECT_PROTOTYPE","useSetter","useSimple","NATIVE_SYMBOL_REGISTRY","StringToSymbolRegistry","SymbolToStringRegistry","sym","u$ArrayCopyWithin","$every","$fill","actualValue","fromSpeciesAndList","$findIndex","predicate","$indexOf","ArrayIterators","arrayValues","arrayKeys","arrayEntries","GENERIC","ITERATOR_IS_VALUES","typedArrayValues","$join","$reduceRight","$reduce","$set","WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS","TO_OBJECT_BUG","$some","ACCEPT_INCORRECT_ARGUMENTS","mod","expected","begin","beginIndex","$toLocaleString","toLocaleString","TO_LOCALE_STRING_BUG","Uint8ArrayPrototype","arrayToString","IS_NOT_ARRAY_METHOD","createTypedArrayConstructor","DOMIterables","handlePrototype","CollectionPrototype","COLLECTION_NAME","ArrayIteratorMethods","ArrayValues","USE_NATIVE_URL","arraySort","URL_SEARCH_PARAMS","URL_SEARCH_PARAMS_ITERATOR","getInternalParamsState","getInternalIteratorState","nativeFetch","NativeRequest","RequestPrototype","HeadersPrototype","$parseInt","plus","VALID_HEX","parseHexOctet","substr","getLeadingOnes","octet","mask","utf8Decode","octets","codePoint","decodedChar","byteSequenceLength","sequenceIndex","nextByte","replacements","serialize","URLSearchParamsIterator","URLSearchParamsState","parseObject","parseQuery","bindURL","update","entryIterator","entryNext","query","attributes","updateURL","URLSearchParamsConstructor","URLSearchParamsPrototype","$value","getAll","found","headersHas","headersSet","wrapRequestOptions","RequestConstructor","EOF","arrayFrom","toASCII","URLSearchParamsModule","getInternalURLState","getInternalSearchParamsState","NativeURL","INVALID_SCHEME","INVALID_HOST","INVALID_PORT","ALPHA","ALPHANUMERIC","DIGIT","HEX_START","OCT","DEC","HEX","FORBIDDEN_HOST_CODE_POINT","FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT","LEADING_C0_CONTROL_OR_SPACE","TRAILING_C0_CONTROL_OR_SPACE","TAB_AND_NEW_LINE","serializeHost","compress","ignore0","ipv6","maxIndex","maxLength","currStart","currLength","findLongestZeroSequence","C0ControlPercentEncodeSet","fragmentPercentEncodeSet","pathPercentEncodeSet","userinfoPercentEncodeSet","percentEncode","specialSchemes","ftp","file","http","https","ws","wss","isWindowsDriveLetter","normalized","startsWithWindowsDriveLetter","isSingleDot","segment","SCHEME_START","SCHEME","NO_SCHEME","SPECIAL_RELATIVE_OR_AUTHORITY","PATH_OR_AUTHORITY","RELATIVE","RELATIVE_SLASH","SPECIAL_AUTHORITY_SLASHES","SPECIAL_AUTHORITY_IGNORE_SLASHES","AUTHORITY","HOST","HOSTNAME","PORT","FILE","FILE_SLASH","FILE_HOST","PATH_START","PATH","CANNOT_BE_A_BASE_URL_PATH","QUERY","FRAGMENT","URLState","isBase","baseState","failure","urlString","stateOverride","codePoints","bufferCodePoints","pointer","seenAt","seenBracket","seenPasswordToken","scheme","fragment","cannotBeABaseURL","isSpecial","includesCredentials","encodedCodePoints","parseHost","shortenPath","numbersSeen","ipv4Piece","swaps","swap","address","pieceIndex","parseIPv6","partsLength","numbers","part","ipv4","parseIPv4","cannotHaveUsernamePasswordPort","pathSize","setHref","getOrigin","URLConstructor","getProtocol","setProtocol","getUsername","setUsername","getPassword","setPassword","getHost","setHost","getHostname","setHostname","hostname","getPort","setPort","getPathname","setPathname","getSearch","setSearch","getSearchParams","getHash","setHash","URLPrototype","accessorDescriptor","nativeCreateObjectURL","createObjectURL","nativeRevokeObjectURL","revokeObjectURL","_crypto","msCrypto","_subtle","webkitSubtle","_Crypto","Crypto","_SubtleCrypto","SubtleCrypto","isEdge","CryptoKey","Key","isIE","isWebkit","oid2str","str2oid","_fn","ka","kx","ku","b2jwk","jwkAlg","kty","isPrvKeyUse","isPubKeyUse","s2b","unescape","generateKey","exportKey","publicKey","a2s","info","b2der","prv","rsaComp","rsaKey","s2a","b2s","pkcs2jwk","decrypt","rej","oncomplete","encrypt","usages","der2b","jwk2pkcs","tl","tagLength","AesGcmEncryptResult","ciphertext","_digest","escape","extractable","rv","xlen","oid","use","amd","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"fhir-client.min.js","mappings":"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","sources":["webpack://FHIR/./node_modules/abortcontroller-polyfill/dist/abortcontroller-polyfill-only.js","webpack://FHIR/./node_modules/debug/src/browser.js","webpack://FHIR/./node_modules/debug/src/common.js","webpack://FHIR/./src/Client.ts","webpack://FHIR/./src/HttpError.ts","webpack://FHIR/./src/adapters/BrowserAdapter.ts","webpack://FHIR/./src/entry/browser.ts","webpack://FHIR/./src/lib.ts","webpack://FHIR/./src/security/browser.ts","webpack://FHIR/./src/settings.ts","webpack://FHIR/./src/smart.ts","webpack://FHIR/./src/storage/BrowserStorage.ts","webpack://FHIR/./src/strings.ts","webpack://FHIR/./node_modules/cross-fetch/dist/browser-ponyfill.js","webpack://FHIR/./node_modules/js-base64/base64.js","webpack://FHIR/./node_modules/ms/index.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/asyncToGenerator.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/classCallCheck.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/construct.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/createClass.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/defineProperty.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/getPrototypeOf.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/inherits.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/isNativeFunction.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/iterableToArray.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/objectWithoutProperties.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/toPrimitive.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/toPropertyKey.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/typeof.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack://FHIR/./node_modules/@babel/runtime/helpers/wrapNativeSuper.js","webpack://FHIR/./node_modules/@babel/runtime/regenerator/index.js","webpack://FHIR/./node_modules/core-js/internals/a-callable.js","webpack://FHIR/./node_modules/core-js/internals/a-constructor.js","webpack://FHIR/./node_modules/core-js/internals/a-possible-prototype.js","webpack://FHIR/./node_modules/core-js/internals/add-to-unscopables.js","webpack://FHIR/./node_modules/core-js/internals/advance-string-index.js","webpack://FHIR/./node_modules/core-js/internals/an-instance.js","webpack://FHIR/./node_modules/core-js/internals/an-object.js","webpack://FHIR/./node_modules/core-js/internals/array-buffer-basic-detection.js","webpack://FHIR/./node_modules/core-js/internals/array-buffer-view-core.js","webpack://FHIR/./node_modules/core-js/internals/array-buffer.js","webpack://FHIR/./node_modules/core-js/internals/array-copy-within.js","webpack://FHIR/./node_modules/core-js/internals/array-fill.js","webpack://FHIR/./node_modules/core-js/internals/array-for-each.js","webpack://FHIR/./node_modules/core-js/internals/array-from-constructor-and-list.js","webpack://FHIR/./node_modules/core-js/internals/array-from.js","webpack://FHIR/./node_modules/core-js/internals/array-includes.js","webpack://FHIR/./node_modules/core-js/internals/array-iteration.js","webpack://FHIR/./node_modules/core-js/internals/array-last-index-of.js","webpack://FHIR/./node_modules/core-js/internals/array-method-has-species-support.js","webpack://FHIR/./node_modules/core-js/internals/array-method-is-strict.js","webpack://FHIR/./node_modules/core-js/internals/array-reduce.js","webpack://FHIR/./node_modules/core-js/internals/array-set-length.js","webpack://FHIR/./node_modules/core-js/internals/array-slice.js","webpack://FHIR/./node_modules/core-js/internals/array-sort.js","webpack://FHIR/./node_modules/core-js/internals/array-species-constructor.js","webpack://FHIR/./node_modules/core-js/internals/array-species-create.js","webpack://FHIR/./node_modules/core-js/internals/call-with-safe-iteration-closing.js","webpack://FHIR/./node_modules/core-js/internals/check-correctness-of-iteration.js","webpack://FHIR/./node_modules/core-js/internals/classof-raw.js","webpack://FHIR/./node_modules/core-js/internals/classof.js","webpack://FHIR/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://FHIR/./node_modules/core-js/internals/correct-is-regexp-logic.js","webpack://FHIR/./node_modules/core-js/internals/correct-prototype-getter.js","webpack://FHIR/./node_modules/core-js/internals/create-html.js","webpack://FHIR/./node_modules/core-js/internals/create-iter-result-object.js","webpack://FHIR/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://FHIR/./node_modules/core-js/internals/create-property-descriptor.js","webpack://FHIR/./node_modules/core-js/internals/create-property.js","webpack://FHIR/./node_modules/core-js/internals/define-built-in-accessor.js","webpack://FHIR/./node_modules/core-js/internals/define-built-in.js","webpack://FHIR/./node_modules/core-js/internals/define-built-ins.js","webpack://FHIR/./node_modules/core-js/internals/define-global-property.js","webpack://FHIR/./node_modules/core-js/internals/delete-property-or-throw.js","webpack://FHIR/./node_modules/core-js/internals/descriptors.js","webpack://FHIR/./node_modules/core-js/internals/document-create-element.js","webpack://FHIR/./node_modules/core-js/internals/does-not-exceed-safe-integer.js","webpack://FHIR/./node_modules/core-js/internals/dom-iterables.js","webpack://FHIR/./node_modules/core-js/internals/dom-token-list-prototype.js","webpack://FHIR/./node_modules/core-js/internals/enum-bug-keys.js","webpack://FHIR/./node_modules/core-js/internals/environment-ff-version.js","webpack://FHIR/./node_modules/core-js/internals/environment-is-ie-or-edge.js","webpack://FHIR/./node_modules/core-js/internals/environment-is-ios-pebble.js","webpack://FHIR/./node_modules/core-js/internals/environment-is-ios.js","webpack://FHIR/./node_modules/core-js/internals/environment-is-node.js","webpack://FHIR/./node_modules/core-js/internals/environment-is-webos-webkit.js","webpack://FHIR/./node_modules/core-js/internals/environment-user-agent.js","webpack://FHIR/./node_modules/core-js/internals/environment-v8-version.js","webpack://FHIR/./node_modules/core-js/internals/environment-webkit-version.js","webpack://FHIR/./node_modules/core-js/internals/environment.js","webpack://FHIR/./node_modules/core-js/internals/export.js","webpack://FHIR/./node_modules/core-js/internals/fails.js","webpack://FHIR/./node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","webpack://FHIR/./node_modules/core-js/internals/flatten-into-array.js","webpack://FHIR/./node_modules/core-js/internals/function-apply.js","webpack://FHIR/./node_modules/core-js/internals/function-bind-context.js","webpack://FHIR/./node_modules/core-js/internals/function-bind-native.js","webpack://FHIR/./node_modules/core-js/internals/function-bind.js","webpack://FHIR/./node_modules/core-js/internals/function-call.js","webpack://FHIR/./node_modules/core-js/internals/function-name.js","webpack://FHIR/./node_modules/core-js/internals/function-uncurry-this-accessor.js","webpack://FHIR/./node_modules/core-js/internals/function-uncurry-this-clause.js","webpack://FHIR/./node_modules/core-js/internals/function-uncurry-this.js","webpack://FHIR/./node_modules/core-js/internals/get-built-in.js","webpack://FHIR/./node_modules/core-js/internals/get-iterator-method.js","webpack://FHIR/./node_modules/core-js/internals/get-iterator.js","webpack://FHIR/./node_modules/core-js/internals/get-json-replacer-function.js","webpack://FHIR/./node_modules/core-js/internals/get-method.js","webpack://FHIR/./node_modules/core-js/internals/get-substitution.js","webpack://FHIR/./node_modules/core-js/internals/global-this.js","webpack://FHIR/./node_modules/core-js/internals/has-own-property.js","webpack://FHIR/./node_modules/core-js/internals/hidden-keys.js","webpack://FHIR/./node_modules/core-js/internals/host-report-errors.js","webpack://FHIR/./node_modules/core-js/internals/html.js","webpack://FHIR/./node_modules/core-js/internals/ie8-dom-define.js","webpack://FHIR/./node_modules/core-js/internals/ieee754.js","webpack://FHIR/./node_modules/core-js/internals/indexed-object.js","webpack://FHIR/./node_modules/core-js/internals/inherit-if-required.js","webpack://FHIR/./node_modules/core-js/internals/inspect-source.js","webpack://FHIR/./node_modules/core-js/internals/internal-state.js","webpack://FHIR/./node_modules/core-js/internals/is-array-iterator-method.js","webpack://FHIR/./node_modules/core-js/internals/is-array.js","webpack://FHIR/./node_modules/core-js/internals/is-big-int-array.js","webpack://FHIR/./node_modules/core-js/internals/is-callable.js","webpack://FHIR/./node_modules/core-js/internals/is-constructor.js","webpack://FHIR/./node_modules/core-js/internals/is-forced.js","webpack://FHIR/./node_modules/core-js/internals/is-integral-number.js","webpack://FHIR/./node_modules/core-js/internals/is-null-or-undefined.js","webpack://FHIR/./node_modules/core-js/internals/is-object.js","webpack://FHIR/./node_modules/core-js/internals/is-possible-prototype.js","webpack://FHIR/./node_modules/core-js/internals/is-pure.js","webpack://FHIR/./node_modules/core-js/internals/is-regexp.js","webpack://FHIR/./node_modules/core-js/internals/is-symbol.js","webpack://FHIR/./node_modules/core-js/internals/iterate.js","webpack://FHIR/./node_modules/core-js/internals/iterator-close.js","webpack://FHIR/./node_modules/core-js/internals/iterator-create-constructor.js","webpack://FHIR/./node_modules/core-js/internals/iterator-define.js","webpack://FHIR/./node_modules/core-js/internals/iterators-core.js","webpack://FHIR/./node_modules/core-js/internals/iterators.js","webpack://FHIR/./node_modules/core-js/internals/length-of-array-like.js","webpack://FHIR/./node_modules/core-js/internals/make-built-in.js","webpack://FHIR/./node_modules/core-js/internals/math-float-round.js","webpack://FHIR/./node_modules/core-js/internals/math-fround.js","webpack://FHIR/./node_modules/core-js/internals/math-sign.js","webpack://FHIR/./node_modules/core-js/internals/math-trunc.js","webpack://FHIR/./node_modules/core-js/internals/microtask.js","webpack://FHIR/./node_modules/core-js/internals/new-promise-capability.js","webpack://FHIR/./node_modules/core-js/internals/not-a-regexp.js","webpack://FHIR/./node_modules/core-js/internals/object-assign.js","webpack://FHIR/./node_modules/core-js/internals/object-create.js","webpack://FHIR/./node_modules/core-js/internals/object-define-properties.js","webpack://FHIR/./node_modules/core-js/internals/object-define-property.js","webpack://FHIR/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://FHIR/./node_modules/core-js/internals/object-get-own-property-names-external.js","webpack://FHIR/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://FHIR/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://FHIR/./node_modules/core-js/internals/object-get-prototype-of.js","webpack://FHIR/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://FHIR/./node_modules/core-js/internals/object-keys-internal.js","webpack://FHIR/./node_modules/core-js/internals/object-keys.js","webpack://FHIR/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://FHIR/./node_modules/core-js/internals/object-set-prototype-of.js","webpack://FHIR/./node_modules/core-js/internals/object-to-string.js","webpack://FHIR/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://FHIR/./node_modules/core-js/internals/own-keys.js","webpack://FHIR/./node_modules/core-js/internals/path.js","webpack://FHIR/./node_modules/core-js/internals/perform.js","webpack://FHIR/./node_modules/core-js/internals/promise-constructor-detection.js","webpack://FHIR/./node_modules/core-js/internals/promise-native-constructor.js","webpack://FHIR/./node_modules/core-js/internals/promise-resolve.js","webpack://FHIR/./node_modules/core-js/internals/promise-statics-incorrect-iteration.js","webpack://FHIR/./node_modules/core-js/internals/proxy-accessor.js","webpack://FHIR/./node_modules/core-js/internals/queue.js","webpack://FHIR/./node_modules/core-js/internals/regexp-exec-abstract.js","webpack://FHIR/./node_modules/core-js/internals/regexp-exec.js","webpack://FHIR/./node_modules/core-js/internals/regexp-flags.js","webpack://FHIR/./node_modules/core-js/internals/regexp-get-flags.js","webpack://FHIR/./node_modules/core-js/internals/regexp-sticky-helpers.js","webpack://FHIR/./node_modules/core-js/internals/regexp-unsupported-dot-all.js","webpack://FHIR/./node_modules/core-js/internals/regexp-unsupported-ncg.js","webpack://FHIR/./node_modules/core-js/internals/require-object-coercible.js","webpack://FHIR/./node_modules/core-js/internals/safe-get-built-in.js","webpack://FHIR/./node_modules/core-js/internals/same-value.js","webpack://FHIR/./node_modules/core-js/internals/set-species.js","webpack://FHIR/./node_modules/core-js/internals/set-to-string-tag.js","webpack://FHIR/./node_modules/core-js/internals/shared-key.js","webpack://FHIR/./node_modules/core-js/internals/shared-store.js","webpack://FHIR/./node_modules/core-js/internals/shared.js","webpack://FHIR/./node_modules/core-js/internals/species-constructor.js","webpack://FHIR/./node_modules/core-js/internals/string-html-forced.js","webpack://FHIR/./node_modules/core-js/internals/string-multibyte.js","webpack://FHIR/./node_modules/core-js/internals/string-punycode-to-ascii.js","webpack://FHIR/./node_modules/core-js/internals/string-trim-forced.js","webpack://FHIR/./node_modules/core-js/internals/string-trim.js","webpack://FHIR/./node_modules/core-js/internals/symbol-constructor-detection.js","webpack://FHIR/./node_modules/core-js/internals/symbol-define-to-primitive.js","webpack://FHIR/./node_modules/core-js/internals/symbol-registry-detection.js","webpack://FHIR/./node_modules/core-js/internals/task.js","webpack://FHIR/./node_modules/core-js/internals/this-number-value.js","webpack://FHIR/./node_modules/core-js/internals/to-absolute-index.js","webpack://FHIR/./node_modules/core-js/internals/to-big-int.js","webpack://FHIR/./node_modules/core-js/internals/to-index.js","webpack://FHIR/./node_modules/core-js/internals/to-indexed-object.js","webpack://FHIR/./node_modules/core-js/internals/to-integer-or-infinity.js","webpack://FHIR/./node_modules/core-js/internals/to-length.js","webpack://FHIR/./node_modules/core-js/internals/to-object.js","webpack://FHIR/./node_modules/core-js/internals/to-offset.js","webpack://FHIR/./node_modules/core-js/internals/to-positive-integer.js","webpack://FHIR/./node_modules/core-js/internals/to-primitive.js","webpack://FHIR/./node_modules/core-js/internals/to-property-key.js","webpack://FHIR/./node_modules/core-js/internals/to-string-tag-support.js","webpack://FHIR/./node_modules/core-js/internals/to-string.js","webpack://FHIR/./node_modules/core-js/internals/to-uint8-clamped.js","webpack://FHIR/./node_modules/core-js/internals/try-to-string.js","webpack://FHIR/./node_modules/core-js/internals/typed-array-constructor.js","webpack://FHIR/./node_modules/core-js/internals/typed-array-constructors-require-wrappers.js","webpack://FHIR/./node_modules/core-js/internals/typed-array-from-species-and-list.js","webpack://FHIR/./node_modules/core-js/internals/typed-array-from.js","webpack://FHIR/./node_modules/core-js/internals/typed-array-species-constructor.js","webpack://FHIR/./node_modules/core-js/internals/uid.js","webpack://FHIR/./node_modules/core-js/internals/url-constructor-detection.js","webpack://FHIR/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://FHIR/./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://FHIR/./node_modules/core-js/internals/validate-arguments-length.js","webpack://FHIR/./node_modules/core-js/internals/weak-map-basic-detection.js","webpack://FHIR/./node_modules/core-js/internals/well-known-symbol-define.js","webpack://FHIR/./node_modules/core-js/internals/well-known-symbol-wrapped.js","webpack://FHIR/./node_modules/core-js/internals/well-known-symbol.js","webpack://FHIR/./node_modules/core-js/internals/whitespaces.js","webpack://FHIR/./node_modules/core-js/modules/es.array-buffer.constructor.js","webpack://FHIR/./node_modules/core-js/modules/es.array.concat.js","webpack://FHIR/./node_modules/core-js/modules/es.array.filter.js","webpack://FHIR/./node_modules/core-js/modules/es.array.find.js","webpack://FHIR/./node_modules/core-js/modules/es.array.flat.js","webpack://FHIR/./node_modules/core-js/modules/es.array.includes.js","webpack://FHIR/./node_modules/core-js/modules/es.array.iterator.js","webpack://FHIR/./node_modules/core-js/modules/es.array.join.js","webpack://FHIR/./node_modules/core-js/modules/es.array.map.js","webpack://FHIR/./node_modules/core-js/modules/es.array.slice.js","webpack://FHIR/./node_modules/core-js/modules/es.array.sort.js","webpack://FHIR/./node_modules/core-js/modules/es.array.splice.js","webpack://FHIR/./node_modules/core-js/modules/es.array.unscopables.flat.js","webpack://FHIR/./node_modules/core-js/modules/es.function.name.js","webpack://FHIR/./node_modules/core-js/modules/es.global-this.js","webpack://FHIR/./node_modules/core-js/modules/es.json.stringify.js","webpack://FHIR/./node_modules/core-js/modules/es.number.constructor.js","webpack://FHIR/./node_modules/core-js/modules/es.object.assign.js","webpack://FHIR/./node_modules/core-js/modules/es.object.get-own-property-descriptor.js","webpack://FHIR/./node_modules/core-js/modules/es.object.get-own-property-descriptors.js","webpack://FHIR/./node_modules/core-js/modules/es.object.get-own-property-symbols.js","webpack://FHIR/./node_modules/core-js/modules/es.object.keys.js","webpack://FHIR/./node_modules/core-js/modules/es.object.to-string.js","webpack://FHIR/./node_modules/core-js/modules/es.promise.all.js","webpack://FHIR/./node_modules/core-js/modules/es.promise.catch.js","webpack://FHIR/./node_modules/core-js/modules/es.promise.constructor.js","webpack://FHIR/./node_modules/core-js/modules/es.promise.finally.js","webpack://FHIR/./node_modules/core-js/modules/es.promise.js","webpack://FHIR/./node_modules/core-js/modules/es.promise.race.js","webpack://FHIR/./node_modules/core-js/modules/es.promise.reject.js","webpack://FHIR/./node_modules/core-js/modules/es.promise.resolve.js","webpack://FHIR/./node_modules/core-js/modules/es.reflect.construct.js","webpack://FHIR/./node_modules/core-js/modules/es.regexp.constructor.js","webpack://FHIR/./node_modules/core-js/modules/es.regexp.exec.js","webpack://FHIR/./node_modules/core-js/modules/es.regexp.to-string.js","webpack://FHIR/./node_modules/core-js/modules/es.string.from-code-point.js","webpack://FHIR/./node_modules/core-js/modules/es.string.includes.js","webpack://FHIR/./node_modules/core-js/modules/es.string.iterator.js","webpack://FHIR/./node_modules/core-js/modules/es.string.link.js","webpack://FHIR/./node_modules/core-js/modules/es.string.match.js","webpack://FHIR/./node_modules/core-js/modules/es.string.replace.js","webpack://FHIR/./node_modules/core-js/modules/es.string.search.js","webpack://FHIR/./node_modules/core-js/modules/es.string.split.js","webpack://FHIR/./node_modules/core-js/modules/es.string.trim.js","webpack://FHIR/./node_modules/core-js/modules/es.symbol.constructor.js","webpack://FHIR/./node_modules/core-js/modules/es.symbol.for.js","webpack://FHIR/./node_modules/core-js/modules/es.symbol.js","webpack://FHIR/./node_modules/core-js/modules/es.symbol.key-for.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.copy-within.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.every.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.fill.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.filter.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.find-index.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.find.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.for-each.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.includes.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.index-of.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.iterator.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.join.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.last-index-of.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.map.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.reduce-right.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.reduce.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.reverse.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.set.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.slice.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.some.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.sort.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.subarray.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.to-locale-string.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.to-string.js","webpack://FHIR/./node_modules/core-js/modules/es.typed-array.uint8-array.js","webpack://FHIR/./node_modules/core-js/modules/esnext.global-this.js","webpack://FHIR/./node_modules/core-js/modules/web.dom-collections.for-each.js","webpack://FHIR/./node_modules/core-js/modules/web.dom-collections.iterator.js","webpack://FHIR/./node_modules/core-js/modules/web.url-search-params.constructor.js","webpack://FHIR/./node_modules/core-js/modules/web.url-search-params.js","webpack://FHIR/./node_modules/core-js/modules/web.url.constructor.js","webpack://FHIR/./node_modules/core-js/modules/web.url.js","webpack://FHIR/./node_modules/core-js/modules/web.url.to-json.js","webpack://FHIR/./node_modules/isomorphic-webcrypto/src/browser.mjs","webpack://FHIR/./node_modules/isomorphic-webcrypto/src/webcrypto-shim.mjs","webpack://FHIR/webpack/bootstrap","webpack://FHIR/webpack/runtime/global","webpack://FHIR/webpack/startup"],"sourcesContent":["(function (factory) {\n typeof define === 'function' && define.amd ? define(factory) :\n factory();\n})((function () { 'use strict';\n\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n }\n\n function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) _setPrototypeOf(subClass, superClass);\n }\n\n function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n }\n\n function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n }\n\n function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n }\n\n function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n }\n\n function _possibleConstructorReturn(self, call) {\n if (call && (typeof call === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n\n return _assertThisInitialized(self);\n }\n\n function _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived),\n result;\n\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n\n return _possibleConstructorReturn(this, result);\n };\n }\n\n function _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = _getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n }\n\n function _get() {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n _get = Reflect.get.bind();\n } else {\n _get = function _get(target, property, receiver) {\n var base = _superPropBase(target, property);\n\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(arguments.length < 3 ? target : receiver);\n }\n\n return desc.value;\n };\n }\n\n return _get.apply(this, arguments);\n }\n\n var Emitter = /*#__PURE__*/function () {\n function Emitter() {\n _classCallCheck(this, Emitter);\n\n Object.defineProperty(this, 'listeners', {\n value: {},\n writable: true,\n configurable: true\n });\n }\n\n _createClass(Emitter, [{\n key: \"addEventListener\",\n value: function addEventListener(type, callback, options) {\n if (!(type in this.listeners)) {\n this.listeners[type] = [];\n }\n\n this.listeners[type].push({\n callback: callback,\n options: options\n });\n }\n }, {\n key: \"removeEventListener\",\n value: function removeEventListener(type, callback) {\n if (!(type in this.listeners)) {\n return;\n }\n\n var stack = this.listeners[type];\n\n for (var i = 0, l = stack.length; i < l; i++) {\n if (stack[i].callback === callback) {\n stack.splice(i, 1);\n return;\n }\n }\n }\n }, {\n key: \"dispatchEvent\",\n value: function dispatchEvent(event) {\n if (!(event.type in this.listeners)) {\n return;\n }\n\n var stack = this.listeners[event.type];\n var stackToCall = stack.slice();\n\n for (var i = 0, l = stackToCall.length; i < l; i++) {\n var listener = stackToCall[i];\n\n try {\n listener.callback.call(this, event);\n } catch (e) {\n Promise.resolve().then(function () {\n throw e;\n });\n }\n\n if (listener.options && listener.options.once) {\n this.removeEventListener(event.type, listener.callback);\n }\n }\n\n return !event.defaultPrevented;\n }\n }]);\n\n return Emitter;\n }();\n\n var AbortSignal = /*#__PURE__*/function (_Emitter) {\n _inherits(AbortSignal, _Emitter);\n\n var _super = _createSuper(AbortSignal);\n\n function AbortSignal() {\n var _this;\n\n _classCallCheck(this, AbortSignal);\n\n _this = _super.call(this); // Some versions of babel does not transpile super() correctly for IE <= 10, if the parent\n // constructor has failed to run, then \"this.listeners\" will still be undefined and then we call\n // the parent constructor directly instead as a workaround. For general details, see babel bug:\n // https://github.com/babel/babel/issues/3041\n // This hack was added as a fix for the issue described here:\n // https://github.com/Financial-Times/polyfill-library/pull/59#issuecomment-477558042\n\n if (!_this.listeners) {\n Emitter.call(_assertThisInitialized(_this));\n } // Compared to assignment, Object.defineProperty makes properties non-enumerable by default and\n // we want Object.keys(new AbortController().signal) to be [] for compat with the native impl\n\n\n Object.defineProperty(_assertThisInitialized(_this), 'aborted', {\n value: false,\n writable: true,\n configurable: true\n });\n Object.defineProperty(_assertThisInitialized(_this), 'onabort', {\n value: null,\n writable: true,\n configurable: true\n });\n Object.defineProperty(_assertThisInitialized(_this), 'reason', {\n value: undefined,\n writable: true,\n configurable: true\n });\n return _this;\n }\n\n _createClass(AbortSignal, [{\n key: \"toString\",\n value: function toString() {\n return '[object AbortSignal]';\n }\n }, {\n key: \"dispatchEvent\",\n value: function dispatchEvent(event) {\n if (event.type === 'abort') {\n this.aborted = true;\n\n if (typeof this.onabort === 'function') {\n this.onabort.call(this, event);\n }\n }\n\n _get(_getPrototypeOf(AbortSignal.prototype), \"dispatchEvent\", this).call(this, event);\n }\n }]);\n\n return AbortSignal;\n }(Emitter);\n var AbortController = /*#__PURE__*/function () {\n function AbortController() {\n _classCallCheck(this, AbortController);\n\n // Compared to assignment, Object.defineProperty makes properties non-enumerable by default and\n // we want Object.keys(new AbortController()) to be [] for compat with the native impl\n Object.defineProperty(this, 'signal', {\n value: new AbortSignal(),\n writable: true,\n configurable: true\n });\n }\n\n _createClass(AbortController, [{\n key: \"abort\",\n value: function abort(reason) {\n var event;\n\n try {\n event = new Event('abort');\n } catch (e) {\n if (typeof document !== 'undefined') {\n if (!document.createEvent) {\n // For Internet Explorer 8:\n event = document.createEventObject();\n event.type = 'abort';\n } else {\n // For Internet Explorer 11:\n event = document.createEvent('Event');\n event.initEvent('abort', false, false);\n }\n } else {\n // Fallback where document isn't available:\n event = {\n type: 'abort',\n bubbles: false,\n cancelable: false\n };\n }\n }\n\n var signalReason = reason;\n\n if (signalReason === undefined) {\n if (typeof document === 'undefined') {\n signalReason = new Error('This operation was aborted');\n signalReason.name = 'AbortError';\n } else {\n try {\n signalReason = new DOMException('signal is aborted without reason');\n } catch (err) {\n // IE 11 does not support calling the DOMException constructor, use a\n // regular error object on it instead.\n signalReason = new Error('This operation was aborted');\n signalReason.name = 'AbortError';\n }\n }\n }\n\n this.signal.reason = signalReason;\n this.signal.dispatchEvent(event);\n }\n }, {\n key: \"toString\",\n value: function toString() {\n return '[object AbortController]';\n }\n }]);\n\n return AbortController;\n }();\n\n if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n // These are necessary to make sure that we get correct output for:\n // Object.prototype.toString.call(new AbortController())\n AbortController.prototype[Symbol.toStringTag] = 'AbortController';\n AbortSignal.prototype[Symbol.toStringTag] = 'AbortSignal';\n }\n\n function polyfillNeeded(self) {\n if (self.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL) {\n console.log('__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL=true is set, will force install polyfill');\n return true;\n } // Note that the \"unfetch\" minimal fetch polyfill defines fetch() without\n // defining window.Request, and this polyfill need to work on top of unfetch\n // so the below feature detection needs the !self.AbortController part.\n // The Request.prototype check is also needed because Safari versions 11.1.2\n // up to and including 12.1.x has a window.AbortController present but still\n // does NOT correctly implement abortable fetch:\n // https://bugs.webkit.org/show_bug.cgi?id=174980#c2\n\n\n return typeof self.Request === 'function' && !self.Request.prototype.hasOwnProperty('signal') || !self.AbortController;\n }\n\n (function (self) {\n\n if (!polyfillNeeded(self)) {\n return;\n }\n\n self.AbortController = AbortController;\n self.AbortSignal = AbortSignal;\n })(typeof self !== 'undefined' ? self : global);\n\n}));\n","/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\nexports.destroy = (() => {\n\tlet warned = false;\n\n\treturn () => {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t\t}\n\t};\n})();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\tlet m;\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)) && parseInt(m[1], 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.debug()` when available.\n * No-op when `console.debug` is not a \"function\".\n * If `console.debug` is not available, falls back\n * to `console.log`.\n *\n * @api public\n */\nexports.log = console.debug || console.log || (() => {});\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug');\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = require('ms');\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tlet i;\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n\t\tconst len = split.length;\n\n\t\tfor (i = 0; i < len; i++) {\n\t\t\tif (!split[i]) {\n\t\t\t\t// ignore empty strings\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tnamespaces = split[i].replace(/\\*/g, '.*?');\n\n\t\t\tif (namespaces[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(new RegExp('^' + namespaces.slice(1) + '$'));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(new RegExp('^' + namespaces + '$'));\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names.map(toNamespace),\n\t\t\t...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tif (name[name.length - 1] === '*') {\n\t\t\treturn true;\n\t\t}\n\n\t\tlet i;\n\t\tlet len;\n\n\t\tfor (i = 0, len = createDebug.skips.length; i < len; i++) {\n\t\t\tif (createDebug.skips[i].test(name)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (i = 0, len = createDebug.names.length; i < len; i++) {\n\t\t\tif (createDebug.names[i].test(name)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Convert regexp to namespace\n\t*\n\t* @param {RegExp} regxep\n\t* @return {String} namespace\n\t* @api private\n\t*/\n\tfunction toNamespace(regexp) {\n\t\treturn regexp.toString()\n\t\t\t.substring(2, regexp.toString().length - 2)\n\t\t\t.replace(/\\.\\*\\?$/, '*');\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n","import {\r\n absolute,\r\n debug as _debug,\r\n getPath,\r\n setPath,\r\n jwtDecode,\r\n makeArray,\r\n request,\r\n byCode,\r\n byCodes,\r\n units,\r\n getPatientParam,\r\n fetchConformanceStatement,\r\n getAccessTokenExpiration,\r\n assertJsonPatch,\r\n assert\r\n} from \"./lib\";\r\n\r\nimport str from \"./strings\";\r\nimport { SMART_KEY, patientCompartment, fhirVersions } from \"./settings\";\r\nimport HttpError from \"./HttpError\";\r\nimport BrowserAdapter from \"./adapters/BrowserAdapter\";\r\nimport { fhirclient } from \"./types\";\r\n\r\n// $lab:coverage:off$\r\n// @ts-ignore\r\nconst { Response } = typeof FHIRCLIENT_PURE !== \"undefined\" ? window : require(\"cross-fetch\");\r\n// $lab:coverage:on$\r\n\r\nconst debug = _debug.extend(\"client\");\r\n\r\n/**\r\n * Adds patient context to requestOptions object to be used with [[Client.request]]\r\n * @param requestOptions Can be a string URL (relative to the serviceUrl), or an\r\n * object which will be passed to fetch()\r\n * @param client Current FHIR client object containing patient context\r\n * @return requestOptions object contextualized to current patient\r\n */\r\nasync function contextualize(\r\n requestOptions: string | URL | fhirclient.RequestOptions,\r\n client: Client\r\n): Promise\r\n{\r\n const base = absolute(\"/\", client.state.serverUrl);\r\n\r\n async function contextualURL(_url: URL) {\r\n const resourceType = _url.pathname.split(\"/\").pop();\r\n assert(resourceType, `Invalid url \"${_url}\"`);\r\n assert(patientCompartment.indexOf(resourceType) > -1, `Cannot filter \"${resourceType}\" resources by patient`);\r\n const conformance = await fetchConformanceStatement(client.state.serverUrl);\r\n const searchParam = getPatientParam(conformance, resourceType);\r\n _url.searchParams.set(searchParam, client.patient.id as string);\r\n return _url.href;\r\n }\r\n\r\n if (typeof requestOptions == \"string\" || requestOptions instanceof URL) {\r\n return { url: await contextualURL(new URL(requestOptions + \"\", base)) };\r\n }\r\n\r\n requestOptions.url = await contextualURL(new URL(requestOptions.url + \"\", base));\r\n return requestOptions;\r\n}\r\n\r\n/**\r\n * Gets single reference by id. Caches the result.\r\n * @param refId\r\n * @param cache A map to store the resolved refs\r\n * @param client The client instance\r\n * @param requestOptions Only signal and headers are currently used if provided\r\n * @returns The resolved reference\r\n * @private\r\n */\r\nfunction getRef(\r\n refId: string,\r\n cache: Record,\r\n client: Client,\r\n requestOptions: RequestInit\r\n): Promise {\r\n if (!cache[refId]) {\r\n\r\n const { signal, headers } = requestOptions;\r\n\r\n // Note that we set cache[refId] immediately! When the promise is\r\n // settled it will be updated. This is to avoid a ref being fetched\r\n // twice because some of these requests are executed in parallel.\r\n cache[refId] = client.request({\r\n url: refId,\r\n headers,\r\n signal\r\n }).then(res => {\r\n cache[refId] = res;\r\n return res;\r\n }, (error: Error) => {\r\n delete cache[refId];\r\n throw error;\r\n });\r\n }\r\n\r\n return Promise.resolve(cache[refId]);\r\n}\r\n\r\n/**\r\n * Resolves a reference in the given resource.\r\n * @param obj FHIR Resource\r\n */\r\nfunction resolveRef(\r\n obj: fhirclient.FHIR.Resource,\r\n path: string,\r\n graph: boolean,\r\n cache: fhirclient.JsonObject,\r\n client: Client,\r\n requestOptions: fhirclient.RequestOptions\r\n) {\r\n const node = getPath(obj, path);\r\n if (node) {\r\n const isArray = Array.isArray(node);\r\n return Promise.all(makeArray(node).filter(Boolean).map((item, i) => {\r\n const ref = item.reference;\r\n if (ref) {\r\n return getRef(ref, cache, client, requestOptions).then(sub => {\r\n if (graph) {\r\n if (isArray) {\r\n if (path.indexOf(\"..\") > -1) {\r\n setPath(obj, `${path.replace(\"..\", `.${i}.`)}`, sub); \r\n } else {\r\n setPath(obj, `${path}.${i}`, sub);\r\n }\r\n } else {\r\n setPath(obj, path, sub);\r\n }\r\n }\r\n }).catch((ex) => {\r\n /* ignore missing references */\r\n if (ex.status !== 404) {\r\n throw ex;\r\n }\r\n });\r\n }\r\n }));\r\n }\r\n}\r\n\r\n/**\r\n * Given a resource and a list of ref paths - resolves them all\r\n * @param obj FHIR Resource\r\n * @param fhirOptions The fhir options of the initiating request call\r\n * @param cache A map to store fetched refs\r\n * @param client The client instance\r\n * @private\r\n */\r\nfunction resolveRefs(\r\n obj: fhirclient.FHIR.Resource,\r\n fhirOptions: fhirclient.FhirOptions,\r\n cache: fhirclient.JsonObject,\r\n client: Client,\r\n requestOptions: fhirclient.RequestOptions\r\n) {\r\n\r\n // 1. Sanitize paths, remove any invalid ones\r\n let paths = makeArray(fhirOptions.resolveReferences)\r\n .filter(Boolean) // No false, 0, null, undefined or \"\"\r\n .map(path => String(path).trim())\r\n .filter(Boolean); // No space-only strings\r\n\r\n // 2. Remove duplicates\r\n paths = paths.filter((p, i) => {\r\n const index = paths.indexOf(p, i + 1);\r\n if (index > -1) {\r\n debug(\"Duplicated reference path \\\"%s\\\"\", p);\r\n return false;\r\n }\r\n return true;\r\n });\r\n\r\n // 3. Early exit if no valid paths are found\r\n if (!paths.length) {\r\n return Promise.resolve();\r\n }\r\n\r\n // 4. Group the paths by depth so that child refs are looked up\r\n // after their parents!\r\n const groups: Record = {};\r\n paths.forEach(path => {\r\n const len = path.split(\".\").length;\r\n if (!groups[len]) {\r\n groups[len] = [];\r\n }\r\n groups[len].push(path);\r\n });\r\n\r\n // 5. Execute groups sequentially! Paths within same group are\r\n // fetched in parallel!\r\n let task: Promise = Promise.resolve();\r\n Object.keys(groups).sort().forEach(len => {\r\n const group = groups[len];\r\n task = task.then(() => Promise.all(group.map((path: string) => {\r\n return resolveRef(obj, path, !!fhirOptions.graph, cache, client, requestOptions);\r\n })));\r\n });\r\n return task;\r\n}\r\n\r\n/**\r\n * This is a FHIR client that is returned to you from the `ready()` call of the\r\n * **SMART API**. You can also create it yourself if needed:\r\n *\r\n * ```js\r\n * // BROWSER\r\n * const client = FHIR.client(\"https://r4.smarthealthit.org\");\r\n *\r\n * // SERVER\r\n * const client = smart(req, res).client(\"https://r4.smarthealthit.org\");\r\n * ```\r\n */\r\nexport default class Client\r\n{\r\n /**\r\n * The state of the client instance is an object with various properties.\r\n * It contains some details about how the client has been authorized and\r\n * determines the behavior of the client instance. This state is persisted\r\n * in `SessionStorage` in browsers or in request session on the servers.\r\n */\r\n readonly state: fhirclient.ClientState;\r\n\r\n /**\r\n * The adapter to use to connect to the current environment. Currently we have:\r\n * - BrowserAdapter - for browsers\r\n * - NodeAdapter - for Express or vanilla NodeJS servers\r\n * - HapiAdapter - for HAPI NodeJS servers\r\n */\r\n readonly environment: fhirclient.Adapter;\r\n\r\n /**\r\n * A SMART app is typically associated with a patient. This is a namespace\r\n * for the patient-related functionality of the client.\r\n */\r\n readonly patient: {\r\n\r\n /**\r\n * The ID of the current patient or `null` if there is no current patient\r\n */\r\n id: string | null\r\n\r\n /**\r\n * A method to fetch the current patient resource from the FHIR server.\r\n * If there is no patient context, it will reject with an error.\r\n * @param {fhirclient.FetchOptions} [requestOptions] Any options to pass to the `fetch` call.\r\n * @category Request\r\n */\r\n read: fhirclient.RequestFunction\r\n \r\n /**\r\n * This is similar to [[request]] but it makes requests in the\r\n * context of the current patient. For example, instead of doing\r\n * ```js\r\n * client.request(\"Observation?patient=\" + client.patient.id)\r\n * ```\r\n * you can do\r\n * ```js\r\n * client.patient.request(\"Observation\")\r\n * ```\r\n * The return type depends on the arguments. Typically it will be the\r\n * response payload JSON object. Can also be a string or the `Response`\r\n * object itself if we have received a non-json result, which allows us\r\n * to handle even binary responses. Can also be a [[CombinedFetchResult]]\r\n * object if the `requestOptions.includeResponse`s has been set to true.\r\n * @category Request\r\n */\r\n request: (\r\n requestOptions: string|URL|fhirclient.RequestOptions,\r\n fhirOptions?: fhirclient.FhirOptions\r\n ) => Promise\r\n\r\n /**\r\n * This is the FhirJS Patient API. It will ONLY exist if the `Client`\r\n * instance is \"connected\" to FhirJS.\r\n */\r\n api?: Record\r\n };\r\n\r\n /**\r\n * The client may be associated with a specific encounter, if the scopes\r\n * permit that and if the back-end server supports that. This is a namespace\r\n * for encounter-related functionality.\r\n */\r\n readonly encounter: {\r\n\r\n /**\r\n * The ID of the current encounter or `null` if there is no current\r\n * encounter\r\n */\r\n id: string | null\r\n\r\n /**\r\n * A method to fetch the current encounter resource from the FHIR server.\r\n * If there is no encounter context, it will reject with an error.\r\n * @param [requestOptions] Any options to pass to the `fetch` call.\r\n * @category Request\r\n */\r\n read: fhirclient.RequestFunction\r\n };\r\n\r\n /**\r\n * The client may be associated with a specific user, if the scopes\r\n * permit that. This is a namespace for user-related functionality.\r\n */\r\n readonly user: {\r\n\r\n /**\r\n * The ID of the current user or `null` if there is no current user\r\n */\r\n id: string | null\r\n\r\n /**\r\n * A method to fetch the current user resource from the FHIR server.\r\n * If there is no user context, it will reject with an error.\r\n * @param [requestOptions] Any options to pass to the `fetch` call.\r\n * @category Request\r\n */\r\n read: fhirclient.RequestFunction<\r\n fhirclient.FHIR.Patient |\r\n fhirclient.FHIR.Practitioner |\r\n fhirclient.FHIR.RelatedPerson\r\n >\r\n\r\n /**\r\n * Returns the profile of the logged_in user (if any), or null if the\r\n * user is not available. This is a string having the shape\r\n * `{user type}/{user id}`. For example `Practitioner/abc` or\r\n * `Patient/xyz`.\r\n * @alias client.getFhirUser()\r\n */\r\n fhirUser: string | null\r\n\r\n /**\r\n * Returns the type of the logged-in user or null. The result can be\r\n * `Practitioner`, `Patient` or `RelatedPerson`.\r\n * @alias client.getUserType()\r\n */\r\n resourceType: string | null\r\n };\r\n\r\n /**\r\n * The [FhirJS](https://github.com/FHIR/fhir.js/blob/master/README.md) API.\r\n * **NOTE:** This will only be available if `fhir.js` is used. Otherwise it\r\n * will be `undefined`.\r\n */\r\n api: Record | undefined;\r\n\r\n /**\r\n * Refers to the refresh task while it is being performed.\r\n * @see [[refresh]]\r\n */\r\n private _refreshTask: Promise | null;\r\n\r\n /**\r\n * Validates the parameters, creates an instance and tries to connect it to\r\n * FhirJS, if one is available globally.\r\n */\r\n constructor(environment: fhirclient.Adapter, state: fhirclient.ClientState | string)\r\n {\r\n const _state = typeof state == \"string\" ? { serverUrl: state } : state;\r\n\r\n // Valid serverUrl is required!\r\n assert(\r\n _state.serverUrl && _state.serverUrl.match(/https?:\\/\\/.+/),\r\n \"A \\\"serverUrl\\\" option is required and must begin with \\\"http(s)\\\"\"\r\n );\r\n\r\n this.state = _state;\r\n this.environment = environment;\r\n this._refreshTask = null;\r\n\r\n const client = this;\r\n\r\n // patient api ---------------------------------------------------------\r\n this.patient = {\r\n get id() { return client.getPatientId(); },\r\n read: (requestOptions) => {\r\n const id = this.patient.id;\r\n return id ?\r\n this.request({ ...requestOptions, url: `Patient/${id}` }) :\r\n Promise.reject(new Error(\"Patient is not available\"));\r\n },\r\n request: (requestOptions, fhirOptions = {}) => {\r\n if (this.patient.id) {\r\n return (async () => {\r\n const options = await contextualize(requestOptions, this);\r\n return this.request(options, fhirOptions);\r\n })();\r\n } else {\r\n return Promise.reject(new Error(\"Patient is not available\"));\r\n }\r\n }\r\n };\r\n\r\n // encounter api -------------------------------------------------------\r\n this.encounter = {\r\n get id() { return client.getEncounterId(); },\r\n read: requestOptions => {\r\n const id = this.encounter.id;\r\n return id ?\r\n this.request({ ...requestOptions, url: `Encounter/${id}` }) :\r\n Promise.reject(new Error(\"Encounter is not available\"));\r\n }\r\n };\r\n\r\n // user api ------------------------------------------------------------\r\n this.user = {\r\n get fhirUser() { return client.getFhirUser(); },\r\n get id() { return client.getUserId(); },\r\n get resourceType() { return client.getUserType(); },\r\n read: requestOptions => {\r\n const fhirUser = this.user.fhirUser;\r\n return fhirUser ?\r\n this.request({ ...requestOptions, url: fhirUser }) :\r\n Promise.reject(new Error(\"User is not available\"));\r\n }\r\n };\r\n\r\n // fhir.js api (attached automatically in browser)\r\n // ---------------------------------------------------------------------\r\n this.connect((environment as BrowserAdapter).fhir);\r\n }\r\n\r\n /**\r\n * This method is used to make the \"link\" between the `fhirclient` and the\r\n * `fhir.js`, if one is available.\r\n * **Note:** This is called by the constructor. If fhir.js is available in\r\n * the global scope as `fhir`, it will automatically be linked to any [[Client]]\r\n * instance. You should only use this method to connect to `fhir.js` which\r\n * is not global.\r\n */\r\n connect(fhirJs?: (options: Record) => Record): Client\r\n {\r\n if (typeof fhirJs == \"function\") {\r\n const options: Record = {\r\n baseUrl: this.state.serverUrl.replace(/\\/$/, \"\")\r\n };\r\n\r\n const accessToken = this.getState(\"tokenResponse.access_token\");\r\n if (accessToken) {\r\n options.auth = { token: accessToken };\r\n }\r\n else {\r\n const { username, password } = this.state;\r\n if (username && password) {\r\n options.auth = {\r\n user: username,\r\n pass: password\r\n };\r\n }\r\n }\r\n this.api = fhirJs(options);\r\n\r\n const patientId = this.getState(\"tokenResponse.patient\");\r\n if (patientId) {\r\n this.patient.api = fhirJs({\r\n ...options,\r\n patient: patientId\r\n });\r\n }\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Returns the ID of the selected patient or null. You should have requested\r\n * \"launch/patient\" scope. Otherwise this will return null.\r\n */\r\n getPatientId(): string | null\r\n {\r\n const tokenResponse = this.state.tokenResponse;\r\n if (tokenResponse) {\r\n // We have been authorized against this server but we don't know\r\n // the patient. This should be a scope issue.\r\n if (!tokenResponse.patient) {\r\n if (!(this.state.scope || \"\").match(/\\blaunch(\\/patient)?\\b/)) {\r\n debug(str.noScopeForId, \"patient\", \"patient\");\r\n }\r\n else {\r\n // The server should have returned the patient!\r\n debug(\"The ID of the selected patient is not available. Please check if your server supports that.\");\r\n }\r\n return null;\r\n }\r\n return tokenResponse.patient;\r\n }\r\n\r\n if (this.state.authorizeUri) {\r\n debug(str.noIfNoAuth, \"the ID of the selected patient\");\r\n }\r\n else {\r\n debug(str.noFreeContext, \"selected patient\");\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Returns the ID of the selected encounter or null. You should have\r\n * requested \"launch/encounter\" scope. Otherwise this will return null.\r\n * Note that not all servers support the \"launch/encounter\" scope so this\r\n * will be null if they don't.\r\n */\r\n getEncounterId(): string | null\r\n {\r\n const tokenResponse = this.state.tokenResponse;\r\n if (tokenResponse) {\r\n // We have been authorized against this server but we don't know\r\n // the encounter. This should be a scope issue.\r\n if (!tokenResponse.encounter) {\r\n if (!(this.state.scope || \"\").match(/\\blaunch(\\/encounter)?\\b/)) {\r\n debug(str.noScopeForId, \"encounter\", \"encounter\");\r\n }\r\n else {\r\n // The server should have returned the encounter!\r\n debug(\"The ID of the selected encounter is not available. Please check if your server supports that, and that the selected patient has any recorded encounters.\");\r\n }\r\n return null;\r\n }\r\n return tokenResponse.encounter;\r\n }\r\n\r\n if (this.state.authorizeUri) {\r\n debug(str.noIfNoAuth, \"the ID of the selected encounter\");\r\n }\r\n else {\r\n debug(str.noFreeContext, \"selected encounter\");\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Returns the (decoded) id_token if any. You need to request \"openid\" and\r\n * \"profile\" scopes if you need to receive an id_token (if you need to know\r\n * who the logged-in user is).\r\n */\r\n getIdToken(): fhirclient.IDToken | null\r\n {\r\n const tokenResponse = this.state.tokenResponse;\r\n if (tokenResponse) {\r\n const idToken = tokenResponse.id_token;\r\n const scope = this.state.scope || \"\";\r\n\r\n // We have been authorized against this server but we don't have\r\n // the id_token. This should be a scope issue.\r\n if (!idToken) {\r\n const hasOpenid = scope.match(/\\bopenid\\b/);\r\n const hasProfile = scope.match(/\\bprofile\\b/);\r\n const hasFhirUser = scope.match(/\\bfhirUser\\b/);\r\n if (!hasOpenid || !(hasFhirUser || hasProfile)) {\r\n debug(\r\n \"You are trying to get the id_token but you are not \" +\r\n \"using the right scopes. Please add 'openid' and \" +\r\n \"'fhirUser' or 'profile' to the scopes you are \" +\r\n \"requesting.\"\r\n );\r\n }\r\n else {\r\n // The server should have returned the id_token!\r\n debug(\"The id_token is not available. Please check if your server supports that.\");\r\n }\r\n return null;\r\n }\r\n return jwtDecode(idToken, this.environment) as fhirclient.IDToken;\r\n }\r\n if (this.state.authorizeUri) {\r\n debug(str.noIfNoAuth, \"the id_token\");\r\n }\r\n else {\r\n debug(str.noFreeContext, \"id_token\");\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Returns the profile of the logged_in user (if any). This is a string\r\n * having the following shape `\"{user type}/{user id}\"`. For example:\r\n * `\"Practitioner/abc\"` or `\"Patient/xyz\"`.\r\n */\r\n getFhirUser(): string | null\r\n {\r\n const idToken = this.getIdToken();\r\n if (idToken) {\r\n // Epic may return a full url\r\n // @see https://github.com/smart-on-fhir/client-js/issues/105\r\n if (idToken.fhirUser) {\r\n return idToken.fhirUser.split(\"/\").slice(-2).join(\"/\");\r\n }\r\n return idToken.profile\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Returns the user ID or null.\r\n */\r\n getUserId(): string | null\r\n {\r\n const profile = this.getFhirUser();\r\n if (profile) {\r\n return profile.split(\"/\")[1];\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Returns the type of the logged-in user or null. The result can be\r\n * \"Practitioner\", \"Patient\" or \"RelatedPerson\".\r\n */\r\n getUserType(): string | null\r\n {\r\n const profile = this.getFhirUser();\r\n if (profile) {\r\n return profile.split(\"/\")[0];\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Builds and returns the value of the `Authorization` header that can be\r\n * sent to the FHIR server\r\n */\r\n getAuthorizationHeader(): string | null\r\n {\r\n const accessToken = this.getState(\"tokenResponse.access_token\");\r\n if (accessToken) {\r\n return \"Bearer \" + accessToken;\r\n }\r\n const { username, password } = this.state;\r\n if (username && password) {\r\n return \"Basic \" + this.environment.btoa(username + \":\" + password);\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Used internally to clear the state of the instance and the state in the\r\n * associated storage.\r\n */\r\n private async _clearState() {\r\n const storage = this.environment.getStorage();\r\n const key = await storage.get(SMART_KEY);\r\n if (key) {\r\n await storage.unset(key);\r\n }\r\n await storage.unset(SMART_KEY);\r\n this.state.tokenResponse = {};\r\n }\r\n\r\n /**\r\n * Creates a new resource in a server-assigned location\r\n * @see http://hl7.org/fhir/http.html#create\r\n * @param resource A FHIR resource to be created\r\n * @param [requestOptions] Any options to be passed to the fetch call.\r\n * Note that `method` and `body` will be ignored.\r\n * @category Request\r\n */\r\n create(\r\n resource: fhirclient.FHIR.Resource,\r\n requestOptions?: O\r\n ): Promise : R>\r\n {\r\n return this.request({\r\n ...requestOptions,\r\n url: `${resource.resourceType}`,\r\n method: \"POST\",\r\n body: JSON.stringify(resource),\r\n headers: {\r\n // TODO: Do we need to alternate with \"application/json+fhir\"?\r\n \"content-type\": \"application/json\",\r\n ...(requestOptions || {}).headers\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Creates a new current version for an existing resource or creates an\r\n * initial version if no resource already exists for the given id.\r\n * @see http://hl7.org/fhir/http.html#update\r\n * @param resource A FHIR resource to be updated\r\n * @param requestOptions Any options to be passed to the fetch call.\r\n * Note that `method` and `body` will be ignored.\r\n * @category Request\r\n */\r\n update(\r\n resource: fhirclient.FHIR.Resource,\r\n requestOptions?: O\r\n ): Promise : R>\r\n {\r\n return this.request({\r\n ...requestOptions,\r\n url: `${resource.resourceType}/${resource.id}`,\r\n method: \"PUT\",\r\n body: JSON.stringify(resource),\r\n headers: {\r\n // TODO: Do we need to alternate with \"application/json+fhir\"?\r\n \"content-type\": \"application/json\",\r\n ...(requestOptions || {}).headers\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Removes an existing resource.\r\n * @see http://hl7.org/fhir/http.html#delete\r\n * @param url Relative URI of the FHIR resource to be deleted\r\n * (format: `resourceType/id`)\r\n * @param requestOptions Any options (except `method` which will be fixed\r\n * to `DELETE`) to be passed to the fetch call.\r\n * @category Request\r\n */\r\n delete(url: string, requestOptions: fhirclient.FetchOptions = {}): Promise\r\n {\r\n return this.request({\r\n ...requestOptions,\r\n url,\r\n method: \"DELETE\"\r\n });\r\n }\r\n\r\n /**\r\n * Makes a JSON Patch to the given resource\r\n * @see http://hl7.org/fhir/http.html#patch\r\n * @param url Relative URI of the FHIR resource to be patched\r\n * (format: `resourceType/id`)\r\n * @param patch A JSON Patch array to send to the server, For details\r\n * see https://datatracker.ietf.org/doc/html/rfc6902\r\n * @param requestOptions Any options to be passed to the fetch call,\r\n * except for `method`, `url` and `body` which cannot be overridden.\r\n * @since 2.4.0\r\n * @category Request\r\n * @typeParam ResolveType This method would typically resolve with the\r\n * patched resource or reject with an OperationOutcome. However, this may\r\n * depend on the server implementation or even on the request headers.\r\n * For that reason, if the default resolve type (which is\r\n * [[fhirclient.FHIR.Resource]]) does not work for you, you can pass\r\n * in your own resolve type parameter.\r\n */\r\n async patch(url: string, patch: fhirclient.JsonPatch, requestOptions: fhirclient.FetchOptions = {}): Promise\r\n {\r\n assertJsonPatch(patch);\r\n return this.request({\r\n ...requestOptions,\r\n url,\r\n method: \"PATCH\",\r\n body: JSON.stringify(patch),\r\n headers: {\r\n \"prefer\": \"return=presentation\",\r\n \"content-type\": \"application/json-patch+json; charset=UTF-8\",\r\n ...requestOptions.headers,\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * @param requestOptions Can be a string URL (relative to the serviceUrl),\r\n * or an object which will be passed to fetch()\r\n * @param fhirOptions Additional options to control the behavior\r\n * @param _resolvedRefs DO NOT USE! Used internally.\r\n * @category Request\r\n */\r\n async request(\r\n requestOptions: string|URL|fhirclient.RequestOptions,\r\n fhirOptions: fhirclient.FhirOptions = {},\r\n _resolvedRefs: fhirclient.JsonObject = {}\r\n ): Promise\r\n {\r\n const debugRequest = _debug.extend(\"client:request\");\r\n assert(requestOptions, \"request requires an url or request options as argument\");\r\n\r\n // url -----------------------------------------------------------------\r\n let url: string;\r\n if (typeof requestOptions == \"string\" || requestOptions instanceof URL) {\r\n url = String(requestOptions);\r\n requestOptions = {} as fhirclient.RequestOptions;\r\n }\r\n else {\r\n url = String(requestOptions.url);\r\n }\r\n\r\n url = absolute(url, this.state.serverUrl);\r\n\r\n const options = {\r\n graph: fhirOptions.graph !== false,\r\n flat : !!fhirOptions.flat,\r\n pageLimit: fhirOptions.pageLimit ?? 1,\r\n resolveReferences: (fhirOptions.resolveReferences || []) as string[],\r\n useRefreshToken: fhirOptions.useRefreshToken !== false,\r\n onPage: typeof fhirOptions.onPage == \"function\" ?\r\n fhirOptions.onPage as (\r\n data: fhirclient.JsonObject | fhirclient.JsonObject[],\r\n references?: fhirclient.JsonObject | undefined) => any :\r\n undefined\r\n };\r\n\r\n const signal = (requestOptions as RequestInit).signal || undefined;\r\n\r\n // Refresh the access token if needed\r\n const job = options.useRefreshToken ?\r\n this.refreshIfNeeded({ signal }).then(() => requestOptions as fhirclient.RequestOptions) :\r\n Promise.resolve(requestOptions as fhirclient.RequestOptions);\r\n\r\n let response: Response | undefined;\r\n\r\n return job\r\n\r\n // Add the Authorization header now, after the access token might\r\n // have been updated\r\n .then(requestOptions => {\r\n const authHeader = this.getAuthorizationHeader();\r\n if (authHeader) {\r\n requestOptions.headers = {\r\n ...requestOptions.headers,\r\n authorization: authHeader\r\n };\r\n }\r\n return requestOptions;\r\n })\r\n \r\n // Make the request\r\n .then(requestOptions => {\r\n debugRequest(\r\n \"%s, options: %O, fhirOptions: %O\",\r\n url,\r\n requestOptions,\r\n options\r\n );\r\n return request(url, requestOptions).then(result => {\r\n if (requestOptions.includeResponse) {\r\n response = (result as fhirclient.CombinedFetchResult).response;\r\n return (result as fhirclient.CombinedFetchResult).body;\r\n }\r\n return result;\r\n });\r\n })\r\n\r\n // Handle 401 ------------------------------------------------------\r\n .catch(async (error: HttpError) => {\r\n if (error.status == 401) {\r\n\r\n // !accessToken -> not authorized -> No session. Need to launch.\r\n if (!this.getState(\"tokenResponse.access_token\")) {\r\n error.message += \"\\nThis app cannot be accessed directly. Please launch it as SMART app!\";\r\n throw error;\r\n }\r\n\r\n // auto-refresh not enabled and Session expired.\r\n // Need to re-launch. Clear state to start over!\r\n if (!options.useRefreshToken) {\r\n debugRequest(\"Your session has expired and the useRefreshToken option is set to false. Please re-launch the app.\");\r\n await this._clearState();\r\n error.message += \"\\n\" + str.expired;\r\n throw error;\r\n }\r\n\r\n // In rare cases we may have a valid access token and a refresh\r\n // token and the request might still fail with 401 just because\r\n // the access token has just been revoked.\r\n\r\n // otherwise -> auto-refresh failed. Session expired.\r\n // Need to re-launch. Clear state to start over!\r\n debugRequest(\"Auto-refresh failed! Please re-launch the app.\");\r\n await this._clearState();\r\n error.message += \"\\n\" + str.expired;\r\n throw error;\r\n }\r\n throw error;\r\n })\r\n\r\n // Handle 403 ------------------------------------------------------\r\n .catch((error: HttpError) => {\r\n if (error.status == 403) {\r\n debugRequest(\"Permission denied! Please make sure that you have requested the proper scopes.\");\r\n }\r\n throw error;\r\n })\r\n\r\n .then((data: any) => {\r\n\r\n // At this point we don't know what `data` actually is!\r\n\r\n // We might get an empty or falsy result. If so return it as is\r\n // Also handle raw responses\r\n if (!data || typeof data == \"string\" || data instanceof Response) {\r\n if ((requestOptions as fhirclient.FetchOptions).includeResponse) {\r\n return {\r\n body: data,\r\n response\r\n }\r\n }\r\n return data;\r\n }\r\n \r\n // Resolve References ------------------------------------------\r\n return (async (_data: fhirclient.FHIR.Resource) => {\r\n\r\n if (_data.resourceType == \"Bundle\") {\r\n await Promise.all(((_data as fhirclient.FHIR.Bundle).entry || []).map(item => resolveRefs(\r\n item.resource,\r\n options,\r\n _resolvedRefs,\r\n this,\r\n requestOptions as fhirclient.RequestOptions\r\n )));\r\n }\r\n else {\r\n await resolveRefs(\r\n _data,\r\n options,\r\n _resolvedRefs,\r\n this,\r\n requestOptions as fhirclient.RequestOptions\r\n );\r\n }\r\n\r\n return _data;\r\n })(data)\r\n\r\n // Pagination ----------------------------------------------\r\n .then(async _data => {\r\n if (_data && _data.resourceType == \"Bundle\") {\r\n const links = (_data.link || []) as fhirclient.FHIR.BundleLink[];\r\n\r\n if (options.flat) {\r\n _data = (_data.entry || []).map(\r\n (entry: fhirclient.FHIR.BundleEntry) => entry.resource\r\n );\r\n }\r\n\r\n if (options.onPage) {\r\n await options.onPage(_data, { ..._resolvedRefs });\r\n }\r\n\r\n if (--options.pageLimit) {\r\n const next = links.find(l => l.relation == \"next\");\r\n _data = makeArray(_data);\r\n if (next && next.url) {\r\n const nextPage = await this.request(\r\n {\r\n url: next.url,\r\n\r\n // Aborting the main request (even after it is complete)\r\n // must propagate to any child requests and abort them!\r\n // To do so, just pass the same AbortSignal if one is\r\n // provided.\r\n signal\r\n },\r\n options,\r\n _resolvedRefs\r\n );\r\n\r\n if (options.onPage) {\r\n return null;\r\n }\r\n\r\n if (options.resolveReferences.length) {\r\n Object.assign(_resolvedRefs, nextPage.references);\r\n return _data.concat(makeArray(nextPage.data || nextPage));\r\n }\r\n return _data.concat(makeArray(nextPage));\r\n }\r\n }\r\n }\r\n return _data;\r\n })\r\n\r\n // Finalize ------------------------------------------------\r\n .then(_data => {\r\n if (options.graph) {\r\n _resolvedRefs = {};\r\n }\r\n else if (!options.onPage && options.resolveReferences.length) {\r\n return {\r\n data: _data,\r\n references: _resolvedRefs\r\n };\r\n }\r\n return _data;\r\n })\r\n .then(_data => {\r\n if ((requestOptions as fhirclient.FetchOptions).includeResponse) {\r\n return {\r\n body: _data,\r\n response\r\n }\r\n }\r\n return _data;\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * Checks if access token and refresh token are present. If they are, and if\r\n * the access token is expired or is about to expire in the next 10 seconds,\r\n * calls `this.refresh()` to obtain new access token.\r\n * @param requestOptions Any options to pass to the fetch call. Most of them\r\n * will be overridden, bit it might still be useful for passing additional\r\n * request options or an abort signal.\r\n * @category Request\r\n */\r\n refreshIfNeeded(requestOptions: RequestInit = {}): Promise\r\n {\r\n const accessToken = this.getState(\"tokenResponse.access_token\");\r\n const refreshToken = this.getState(\"tokenResponse.refresh_token\");\r\n const expiresAt = this.state.expiresAt || 0;\r\n\r\n if (accessToken && refreshToken && expiresAt - 10 < Date.now() / 1000) {\r\n return this.refresh(requestOptions);\r\n }\r\n\r\n return Promise.resolve(this.state);\r\n }\r\n\r\n /**\r\n * Use the refresh token to obtain new access token. If the refresh token is\r\n * expired (or this fails for any other reason) it will be deleted from the\r\n * state, so that we don't enter into loops trying to re-authorize.\r\n *\r\n * This method is typically called internally from [[request]] if\r\n * certain request fails with 401.\r\n *\r\n * @param requestOptions Any options to pass to the fetch call. Most of them\r\n * will be overridden, bit it might still be useful for passing additional\r\n * request options or an abort signal.\r\n * @category Request\r\n */\r\n refresh(requestOptions: RequestInit = {}): Promise\r\n {\r\n const debugRefresh = _debug.extend(\"client:refresh\");\r\n debugRefresh(\"Attempting to refresh with refresh_token...\");\r\n\r\n const refreshToken = this.state?.tokenResponse?.refresh_token;\r\n assert(refreshToken, \"Unable to refresh. No refresh_token found.\");\r\n\r\n const tokenUri = this.state.tokenUri;\r\n assert(tokenUri, \"Unable to refresh. No tokenUri found.\");\r\n\r\n const scopes = this.getState(\"tokenResponse.scope\") || \"\";\r\n const hasOfflineAccess = scopes.search(/\\boffline_access\\b/) > -1;\r\n const hasOnlineAccess = scopes.search(/\\bonline_access\\b/) > -1;\r\n assert(hasOfflineAccess || hasOnlineAccess, \"Unable to refresh. No offline_access or online_access scope found.\");\r\n\r\n // This method is typically called internally from `request` if certain\r\n // request fails with 401. However, clients will often run multiple\r\n // requests in parallel which may result in multiple refresh calls.\r\n // To avoid that, we keep a reference to the current refresh task (if any).\r\n if (!this._refreshTask) {\r\n let body = `grant_type=refresh_token&refresh_token=${encodeURIComponent(refreshToken)}`;\r\n if (this.environment.options.refreshTokenWithClientId) {\r\n body += `&client_id=${this.state.clientId}`;\r\n }\r\n const refreshRequestOptions = {\r\n credentials: this.environment.options.refreshTokenWithCredentials || \"same-origin\",\r\n ...requestOptions,\r\n method : \"POST\",\r\n mode : \"cors\" as RequestMode,\r\n headers: {\r\n ...(requestOptions.headers || {}),\r\n \"content-type\": \"application/x-www-form-urlencoded\"\r\n },\r\n body: body\r\n };\r\n\r\n // custom authorization header can be passed on manual calls\r\n if (!(\"authorization\" in refreshRequestOptions.headers)) {\r\n const { clientSecret, clientId } = this.state;\r\n if (clientSecret) {\r\n // @ts-ignore\r\n refreshRequestOptions.headers.authorization = \"Basic \" + this.environment.btoa(\r\n clientId + \":\" + clientSecret\r\n );\r\n }\r\n }\r\n\r\n this._refreshTask = request(tokenUri, refreshRequestOptions)\r\n .then(data => {\r\n assert(data.access_token, \"No access token received\");\r\n debugRefresh(\"Received new access token response %O\", data);\r\n this.state.tokenResponse = { ...this.state.tokenResponse, ...data };\r\n this.state.expiresAt = getAccessTokenExpiration(data, this.environment);\r\n return this.state;\r\n })\r\n .catch((error: Error) => {\r\n if (this.state?.tokenResponse?.refresh_token) {\r\n debugRefresh(\"Deleting the expired or invalid refresh token.\");\r\n delete this.state.tokenResponse.refresh_token;\r\n }\r\n throw error;\r\n })\r\n .finally(() => {\r\n this._refreshTask = null;\r\n const key = this.state.key;\r\n if (key) {\r\n this.environment.getStorage().set(key, this.state);\r\n } else {\r\n debugRefresh(\"No 'key' found in Clint.state. Cannot persist the instance.\");\r\n }\r\n });\r\n }\r\n\r\n return this._refreshTask;\r\n }\r\n\r\n // utils -------------------------------------------------------------------\r\n\r\n /**\r\n * Groups the observations by code. Returns a map that will look like:\r\n * ```js\r\n * const map = client.byCodes(observations, \"code\");\r\n * // map = {\r\n * // \"55284-4\": [ observation1, observation2 ],\r\n * // \"6082-2\": [ observation3 ]\r\n * // }\r\n * ```\r\n * @param observations Array of observations\r\n * @param property The name of a CodeableConcept property to group by\r\n * @todo This should be deprecated and moved elsewhere. One should not have\r\n * to obtain an instance of [[Client]] just to use utility functions like this.\r\n * @deprecated\r\n * @category Utility\r\n */\r\n byCode(\r\n observations: fhirclient.FHIR.Observation | fhirclient.FHIR.Observation[],\r\n property: string\r\n ): fhirclient.ObservationMap\r\n {\r\n return byCode(observations, property);\r\n }\r\n\r\n /**\r\n * First groups the observations by code using `byCode`. Then returns a function\r\n * that accepts codes as arguments and will return a flat array of observations\r\n * having that codes. Example:\r\n * ```js\r\n * const filter = client.byCodes(observations, \"category\");\r\n * filter(\"laboratory\") // => [ observation1, observation2 ]\r\n * filter(\"vital-signs\") // => [ observation3 ]\r\n * filter(\"laboratory\", \"vital-signs\") // => [ observation1, observation2, observation3 ]\r\n * ```\r\n * @param observations Array of observations\r\n * @param property The name of a CodeableConcept property to group by\r\n * @todo This should be deprecated and moved elsewhere. One should not have\r\n * to obtain an instance of [[Client]] just to use utility functions like this.\r\n * @deprecated\r\n * @category Utility\r\n */\r\n byCodes(\r\n observations: fhirclient.FHIR.Observation | fhirclient.FHIR.Observation[],\r\n property: string\r\n ): (...codes: string[]) => any[]\r\n {\r\n return byCodes(observations, property);\r\n }\r\n\r\n /**\r\n * @category Utility\r\n */\r\n units = units;\r\n\r\n /**\r\n * Walks through an object (or array) and returns the value found at the\r\n * provided path. This function is very simple so it intentionally does not\r\n * support any argument polymorphism, meaning that the path can only be a\r\n * dot-separated string. If the path is invalid returns undefined.\r\n * @param obj The object (or Array) to walk through\r\n * @param path The path (eg. \"a.b.4.c\")\r\n * @returns {*} Whatever is found in the path or undefined\r\n * @todo This should be deprecated and moved elsewhere. One should not have\r\n * to obtain an instance of [[Client]] just to use utility functions like this.\r\n * @deprecated\r\n * @category Utility\r\n */\r\n getPath(obj: Record, path = \"\"): any {\r\n return getPath(obj, path);\r\n }\r\n\r\n /**\r\n * Returns a copy of the client state. Accepts a dot-separated path argument\r\n * (same as for `getPath`) to allow for selecting specific properties.\r\n * Examples:\r\n * ```js\r\n * client.getState(); // -> the entire state object\r\n * client.getState(\"serverUrl\"); // -> the URL we are connected to\r\n * client.getState(\"tokenResponse.patient\"); // -> The selected patient ID (if any)\r\n * ```\r\n * @param path The path (eg. \"a.b.4.c\")\r\n * @returns {*} Whatever is found in the path or undefined\r\n */\r\n getState(path = \"\") {\r\n return getPath({ ...this.state }, path);\r\n }\r\n\r\n /**\r\n * Returns a promise that will be resolved with the fhir version as defined\r\n * in the CapabilityStatement.\r\n */\r\n getFhirVersion(): Promise {\r\n return fetchConformanceStatement(this.state.serverUrl)\r\n .then((metadata) => metadata.fhirVersion);\r\n }\r\n\r\n /**\r\n * Returns a promise that will be resolved with the numeric fhir version\r\n * - 2 for DSTU2\r\n * - 3 for STU3\r\n * - 4 for R4\r\n * - 0 if the version is not known\r\n */\r\n getFhirRelease(): Promise {\r\n return this.getFhirVersion().then(v => (fhirVersions as any)[v] ?? 0);\r\n }\r\n}\r\n","import { fhirclient } from \"./types\";\r\n\r\n\r\nexport default class HttpError extends Error\r\n{\r\n /**\r\n * The HTTP status code for this error\r\n */\r\n statusCode: number;\r\n\r\n /**\r\n * The HTTP status code for this error.\r\n * Note that this is the same as `status`, i.e. the code is available\r\n * through any of these.\r\n */\r\n status: number;\r\n\r\n /**\r\n * The HTTP status text corresponding to this error\r\n */\r\n statusText: string;\r\n\r\n /**\r\n * Reference to the HTTP Response object\r\n */\r\n response: Response;\r\n\r\n constructor(response: Response) {\r\n super(`${response.status} ${response.statusText}\\nURL: ${response.url}`);\r\n this.name = \"HttpError\";\r\n this.response = response;\r\n this.statusCode = response.status;\r\n this.status = response.status;\r\n this.statusText = response.statusText;\r\n }\r\n\r\n async parse()\r\n {\r\n if (!this.response.bodyUsed) {\r\n try {\r\n const type = this.response.headers.get(\"content-type\") || \"text/plain\";\r\n if (type.match(/\\bjson\\b/i)) {\r\n let body = await this.response.json();\r\n if (body.error) {\r\n this.message += \"\\n\" + body.error;\r\n if (body.error_description) {\r\n this.message += \": \" + body.error_description;\r\n }\r\n }\r\n else {\r\n this.message += \"\\n\\n\" + JSON.stringify(body, null, 4);\r\n }\r\n }\r\n else if (type.match(/^text\\//i)) {\r\n let body = await this.response.text();\r\n if (body) {\r\n this.message += \"\\n\\n\" + body;\r\n }\r\n }\r\n } catch {\r\n // ignore\r\n }\r\n }\r\n\r\n return this;\r\n }\r\n\r\n toJSON() {\r\n return {\r\n name : this.name,\r\n statusCode: this.statusCode,\r\n status : this.status,\r\n statusText: this.statusText,\r\n message : this.message\r\n };\r\n }\r\n}\r\n","import { ready, authorize, init } from \"../smart\";\r\nimport Client from \"../Client\";\r\nimport BrowserStorage from \"../storage/BrowserStorage\";\r\nimport { fhirclient } from \"../types\";\r\nimport * as security from \"../security/browser\"\r\nimport { encodeURL, decode, fromUint8Array } from \"js-base64\"\r\n\r\n/**\r\n * Browser Adapter\r\n */\r\nexport default class BrowserAdapter implements fhirclient.Adapter\r\n{\r\n /**\r\n * Stores the URL instance associated with this adapter\r\n */\r\n private _url: URL | null = null;\r\n\r\n /**\r\n * Holds the Storage instance associated with this instance\r\n */\r\n private _storage: fhirclient.Storage | null = null;\r\n\r\n /**\r\n * Environment-specific options\r\n */\r\n options: fhirclient.BrowserFHIRSettings;\r\n\r\n security = security;\r\n\r\n /**\r\n * @param options Environment-specific options\r\n */\r\n constructor(options: fhirclient.BrowserFHIRSettings = {})\r\n {\r\n this.options = {\r\n // Replaces the browser's current URL\r\n // using window.history.replaceState API or by reloading.\r\n replaceBrowserHistory: true,\r\n\r\n // When set to true, this variable will fully utilize\r\n // HTML5 sessionStorage API.\r\n // This variable can be overridden to false by setting\r\n // FHIR.oauth2.settings.fullSessionStorageSupport = false.\r\n // When set to false, the sessionStorage will be keyed\r\n // by a state variable. This is to allow the embedded IE browser\r\n // instances instantiated on a single thread to continue to\r\n // function without having sessionStorage data shared\r\n // across the embedded IE instances.\r\n fullSessionStorageSupport: true,\r\n\r\n // Do we want to send cookies while making a request to the token\r\n // endpoint in order to obtain new access token using existing\r\n // refresh token. In rare cases the auth server might require the\r\n // client to send cookies along with those requests. In this case\r\n // developers will have to change this before initializing the app\r\n // like so:\r\n // `FHIR.oauth2.settings.refreshTokenWithCredentials = \"include\";`\r\n // or\r\n // `FHIR.oauth2.settings.refreshTokenWithCredentials = \"same-origin\";`\r\n // Can be one of:\r\n // \"include\" - always send cookies\r\n // \"same-origin\" - only send cookies if we are on the same domain (default)\r\n // \"omit\" - do not send cookies\r\n refreshTokenWithCredentials: \"same-origin\",\r\n\r\n ...options\r\n };\r\n }\r\n\r\n /**\r\n * Given a relative path, returns an absolute url using the instance base URL\r\n */\r\n relative(path: string): string\r\n {\r\n return new URL(path, this.getUrl().href).href;\r\n }\r\n\r\n /**\r\n * In browsers we need to be able to (dynamically) check if fhir.js is\r\n * included in the page. If it is, it should have created a \"fhir\" variable\r\n * in the global scope.\r\n */\r\n get fhir()\r\n {\r\n // @ts-ignore\r\n return typeof fhir === \"function\" ? fhir : null;\r\n }\r\n\r\n /**\r\n * Given the current environment, this method must return the current url\r\n * as URL instance\r\n */\r\n getUrl(): URL\r\n {\r\n if (!this._url) {\r\n this._url = new URL(location + \"\");\r\n }\r\n return this._url;\r\n }\r\n\r\n /**\r\n * Given the current environment, this method must redirect to the given\r\n * path\r\n */\r\n redirect(to: string): void\r\n {\r\n location.href = to;\r\n }\r\n\r\n /**\r\n * Returns a BrowserStorage object which is just a wrapper around\r\n * sessionStorage\r\n */\r\n getStorage(): BrowserStorage\r\n {\r\n if (!this._storage) {\r\n this._storage = new BrowserStorage();\r\n }\r\n return this._storage;\r\n }\r\n\r\n /**\r\n * Returns a reference to the AbortController constructor. In browsers,\r\n * AbortController will always be available as global (native or polyfilled)\r\n */\r\n getAbortController()\r\n {\r\n return AbortController;\r\n }\r\n\r\n /**\r\n * ASCII string to Base64\r\n */\r\n atob(str: string): string\r\n {\r\n return window.atob(str);\r\n }\r\n\r\n /**\r\n * Base64 to ASCII string\r\n */\r\n btoa(str: string): string\r\n {\r\n return window.btoa(str);\r\n }\r\n\r\n base64urlencode(input: string | Uint8Array)\r\n {\r\n if (typeof input == \"string\") {\r\n return encodeURL(input)\r\n }\r\n return fromUint8Array(input, true)\r\n }\r\n\r\n base64urldecode(input: string)\r\n {\r\n return decode(input)\r\n }\r\n\r\n /**\r\n * Creates and returns adapter-aware SMART api. Not that while the shape of\r\n * the returned object is well known, the arguments to this function are not.\r\n * Those who override this method are free to require any environment-specific\r\n * arguments. For example in node we will need a request, a response and\r\n * optionally a storage or storage factory function.\r\n */\r\n getSmartApi(): fhirclient.SMART\r\n {\r\n return {\r\n ready : (...args: any[]) => ready(this, ...args),\r\n authorize: options => authorize(this, options),\r\n init : options => init(this, options),\r\n client : (state: string | fhirclient.ClientState) => new Client(this, state),\r\n options : this.options,\r\n utils: {\r\n security\r\n }\r\n };\r\n }\r\n}\r\n","\r\n// Note: the following 2 imports appear as unused but they affect how tsc is\r\n// generating type definitions!\r\nimport { fhirclient } from \"../types\";\r\nimport Client from \"../Client\";\r\n\r\n// In Browsers we create an adapter, get the SMART api from it and build the\r\n// global FHIR object\r\nimport BrowserAdapter from \"../adapters/BrowserAdapter\";\r\n\r\nconst adapter = new BrowserAdapter();\r\nconst { ready, authorize, init, client, options, utils } = adapter.getSmartApi();\r\n\r\n// We have two kinds of browser builds - \"pure\" for new browsers and \"legacy\"\r\n// for old ones. In pure builds we assume that the browser supports everything\r\n// we need. In legacy mode, the library also acts as a polyfill. Babel will\r\n// automatically polyfill everything except \"fetch\", which we have to handle\r\n// manually.\r\n// @ts-ignore\r\nif (typeof FHIRCLIENT_PURE == \"undefined\") {\r\n const fetch = require(\"cross-fetch\");\r\n require(\"abortcontroller-polyfill/dist/abortcontroller-polyfill-only\");\r\n if (!window.fetch) {\r\n window.fetch = fetch.default;\r\n window.Headers = fetch.Headers;\r\n window.Request = fetch.Request;\r\n window.Response = fetch.Response;\r\n }\r\n}\r\n\r\n// $lab:coverage:off$\r\nconst FHIR = {\r\n AbortController: window.AbortController,\r\n client,\r\n utils,\r\n oauth2: {\r\n settings: options,\r\n ready,\r\n authorize,\r\n init\r\n }\r\n};\r\n\r\nexport = FHIR;\r\n// $lab:coverage:on$\r\n","/*\r\n * This file contains some shared functions. They are used by other modules, but\r\n * are defined here so that tests can import this library and test them.\r\n */\r\n\r\nimport HttpError from \"./HttpError\";\r\nimport { patientParams } from \"./settings\";\r\nimport { fhirclient } from \"./types\";\r\nconst debug = require(\"debug\");\r\n\r\n// $lab:coverage:off$\r\n// @ts-ignore\r\nconst { fetch } = typeof FHIRCLIENT_PURE !== \"undefined\" ? window : require(\"cross-fetch\");\r\n// $lab:coverage:on$\r\n\r\nconst _debug = debug(\"FHIR\");\r\nexport { _debug as debug };\r\n\r\n/**\r\n * The cache for the `getAndCache` function\r\n */\r\nconst cache: Record = {};\r\n\r\n/**\r\n * A namespace with functions for converting between different measurement units\r\n */\r\nexport const units = {\r\n cm({ code, value }: fhirclient.CodeValue) {\r\n ensureNumerical({ code, value });\r\n if (code == \"cm\" ) return value;\r\n if (code == \"m\" ) return value * 100;\r\n if (code == \"in\" ) return value * 2.54;\r\n if (code == \"[in_us]\") return value * 2.54;\r\n if (code == \"[in_i]\" ) return value * 2.54;\r\n if (code == \"ft\" ) return value * 30.48;\r\n if (code == \"[ft_us]\") return value * 30.48;\r\n throw new Error(\"Unrecognized length unit: \" + code);\r\n },\r\n kg({ code, value }: fhirclient.CodeValue){\r\n ensureNumerical({ code, value });\r\n if (code == \"kg\" ) return value;\r\n if (code == \"g\" ) return value / 1000;\r\n if (code.match(/lb/)) return value / 2.20462;\r\n if (code.match(/oz/)) return value / 35.274;\r\n throw new Error(\"Unrecognized weight unit: \" + code);\r\n },\r\n any(pq: fhirclient.CodeValue){\r\n ensureNumerical(pq);\r\n return pq.value;\r\n }\r\n};\r\n\r\n/**\r\n * Assertion function to guard arguments for `units` functions\r\n */\r\nfunction ensureNumerical({ value, code }: fhirclient.CodeValue) {\r\n if (typeof value !== \"number\") {\r\n throw new Error(\"Found a non-numerical unit: \" + value + \" \" + code);\r\n }\r\n}\r\n\r\n/**\r\n * Used in fetch Promise chains to reject if the \"ok\" property is not true\r\n */\r\nexport async function checkResponse(resp: Response): Promise {\r\n if (!resp.ok) {\r\n const error = new HttpError(resp);\r\n await error.parse();\r\n throw error;\r\n }\r\n return resp;\r\n}\r\n\r\n/**\r\n * Used in fetch Promise chains to return the JSON version of the response.\r\n * Note that `resp.json()` will throw on empty body so we use resp.text()\r\n * instead.\r\n */\r\nexport function responseToJSON(resp: Response): Promise {\r\n return resp.text().then(text => text.length ? JSON.parse(text) : \"\");\r\n}\r\n\r\nexport function loweCaseKeys | any[] | undefined>(obj: T): T {\r\n \r\n // Can be undefined to signal that this key should be removed\r\n if (!obj) {\r\n return obj as T\r\n }\r\n\r\n // Arrays are valid values in case of recursive calls\r\n if (Array.isArray(obj)) {\r\n return obj.map(v => v && typeof v === \"object\" ? loweCaseKeys(v) : v) as unknown as T;\r\n }\r\n\r\n // Plain object\r\n let out: Record = {};\r\n Object.keys(obj).forEach(key => {\r\n const lowerKey = key.toLowerCase()\r\n const v = (obj as Record)[key]\r\n out[lowerKey] = v && typeof v == \"object\" ? loweCaseKeys(v) : v;\r\n });\r\n return out as T;\r\n}\r\n\r\n/**\r\n * This is our built-in request function. It does a few things by default\r\n * (unless told otherwise):\r\n * - Makes CORS requests\r\n * - Sets accept header to \"application/json\"\r\n * - Handles errors\r\n * - If the response is json return the json object\r\n * - If the response is text return the result text\r\n * - Otherwise return the response object on which we call stuff like `.blob()`\r\n */\r\nexport function request(\r\n url: string | Request,\r\n requestOptions: fhirclient.FetchOptions = {}\r\n): Promise\r\n{\r\n const { includeResponse, ...options } = requestOptions;\r\n return fetch(url, {\r\n mode: \"cors\",\r\n ...options,\r\n headers: {\r\n accept: \"application/json\",\r\n ...loweCaseKeys(options.headers)\r\n }\r\n })\r\n .then(checkResponse)\r\n .then((res: Response) => {\r\n const type = res.headers.get(\"content-type\") + \"\";\r\n if (type.match(/\\bjson\\b/i)) {\r\n return responseToJSON(res).then(body => ({ res, body }));\r\n }\r\n if (type.match(/^text\\//i)) {\r\n return res.text().then(body => ({ res, body }));\r\n }\r\n return { res };\r\n })\r\n .then(({res, body}: {res:Response, body?:fhirclient.JsonObject|string}) => {\r\n\r\n // Some servers will reply after CREATE with json content type but with\r\n // empty body. In this case check if a location header is received and\r\n // fetch that to use it as the final result.\r\n if (!body && res.status == 201) {\r\n const location = res.headers.get(\"location\");\r\n if (location) {\r\n return request(location, { ...options, method: \"GET\", body: null, includeResponse });\r\n }\r\n }\r\n\r\n if (includeResponse) {\r\n return { body, response: res };\r\n }\r\n\r\n // For any non-text and non-json response return the Response object.\r\n // This to let users decide if they want to call text(), blob() or\r\n // something else on it\r\n if (body === undefined) {\r\n return res;\r\n }\r\n\r\n // Otherwise just return the parsed body (can also be \"\" or null)\r\n return body;\r\n });\r\n}\r\n\r\n/**\r\n * Makes a request using `fetch` and stores the result in internal memory cache.\r\n * The cache is cleared when the page is unloaded.\r\n * @param url The URL to request\r\n * @param requestOptions Request options\r\n * @param force If true, reload from source and update the cache, even if it has\r\n * already been cached.\r\n */\r\nexport function getAndCache(url: string, requestOptions?: RequestInit, force: boolean = process.env.NODE_ENV === \"test\"): Promise {\r\n if (force || !cache[url]) {\r\n cache[url] = request(url, requestOptions);\r\n return cache[url];\r\n }\r\n return Promise.resolve(cache[url]);\r\n}\r\n\r\n/**\r\n * Fetches the conformance statement from the given base URL.\r\n * Note that the result is cached in memory (until the page is reloaded in the\r\n * browser) because it might have to be re-used by the client\r\n * @param baseUrl The base URL of the FHIR server\r\n * @param [requestOptions] Any options passed to the fetch call\r\n */\r\nexport function fetchConformanceStatement(baseUrl = \"/\", requestOptions?: RequestInit): Promise\r\n{\r\n const url = String(baseUrl).replace(/\\/*$/, \"/\") + \"metadata\";\r\n return getAndCache(url, requestOptions).catch((ex: Error) => {\r\n throw new Error(\r\n `Failed to fetch the conformance statement from \"${url}\". ${ex}`\r\n );\r\n });\r\n}\r\n\r\n\r\n/**\r\n * Walks through an object (or array) and returns the value found at the\r\n * provided path. This function is very simple so it intentionally does not\r\n * support any argument polymorphism, meaning that the path can only be a\r\n * dot-separated string. If the path is invalid returns undefined.\r\n * @param obj The object (or Array) to walk through\r\n * @param path The path (eg. \"a.b.4.c\")\r\n * @returns {*} Whatever is found in the path or undefined\r\n */\r\nexport function getPath(obj: Record, path = \"\"): any {\r\n path = path.trim();\r\n if (!path) {\r\n return obj;\r\n }\r\n\r\n let segments = path.split(\".\");\r\n let result = obj;\r\n\r\n while (result && segments.length) {\r\n const key = segments.shift();\r\n if (!key && Array.isArray(result)) {\r\n return result.map(o => getPath(o, segments.join(\".\")));\r\n } else {\r\n result = result[key as string];\r\n }\r\n }\r\n\r\n return result;\r\n}\r\n\r\n/**\r\n * Like getPath, but if the node is found, its value is set to @value\r\n * @param obj The object (or Array) to walk through\r\n * @param path The path (eg. \"a.b.4.c\")\r\n * @param value The value to set\r\n * @param createEmpty If true, create missing intermediate objects or arrays\r\n * @returns The modified object\r\n */\r\nexport function setPath(obj: Record, path: string, value: any, createEmpty = false): Record {\r\n path.trim().split(\".\").reduce(\r\n (out, key, idx, arr) => {\r\n if (out && idx === arr.length - 1) {\r\n out[key] = value;\r\n }\r\n else {\r\n if (out && out[key] === undefined && createEmpty) {\r\n out[key] = arr[idx + 1].match(/^[0-9]+$/) ? [] : {};\r\n }\r\n return out ? out[key] : undefined;\r\n }\r\n },\r\n obj\r\n );\r\n return obj;\r\n}\r\n\r\n/**\r\n * If the argument is an array returns it as is. Otherwise puts it in an array\r\n * (`[arg]`) and returns the result\r\n * @param arg The element to test and possibly convert to array\r\n * @category Utility\r\n */\r\nexport function makeArray(arg: any): T[] {\r\n if (Array.isArray(arg)) {\r\n return arg;\r\n }\r\n return [arg];\r\n}\r\n\r\n/**\r\n * Given a path, converts it to absolute url based on the `baseUrl`. If baseUrl\r\n * is not provided, the result would be a rooted path (one that starts with `/`).\r\n * @param path The path to convert\r\n * @param baseUrl The base URL\r\n */\r\nexport function absolute(path: string, baseUrl?: string): string\r\n{\r\n if (path.match(/^http/)) return path;\r\n if (path.match(/^urn/)) return path;\r\n return String(baseUrl || \"\").replace(/\\/+$/, \"\") + \"/\" + path.replace(/^\\/+/, \"\");\r\n}\r\n\r\n/**\r\n * Generates random strings. By default this returns random 8 characters long\r\n * alphanumeric strings.\r\n * @param strLength The length of the output string. Defaults to 8.\r\n * @param charSet A string containing all the possible characters.\r\n * Defaults to all the upper and lower-case letters plus digits.\r\n * @category Utility\r\n */\r\nexport function randomString(\r\n strLength = 8,\r\n charSet = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\"\r\n): string\r\n{\r\n const result = [];\r\n const len = charSet.length;\r\n while (strLength--) {\r\n result.push(charSet.charAt(Math.floor(Math.random() * len)));\r\n }\r\n return result.join(\"\");\r\n}\r\n\r\n/**\r\n * Decodes a JWT token and returns it's body.\r\n * @param token The token to read\r\n * @param env An `Adapter` or any other object that has an `atob` method\r\n * @category Utility\r\n */\r\nexport function jwtDecode(token: string, env: fhirclient.Adapter): Record | null\r\n{\r\n const payload = token.split(\".\")[1];\r\n return payload ? JSON.parse(env.atob(payload)) : null;\r\n}\r\n\r\n/**\r\n * Add a supplied number of seconds to the supplied Date, returning\r\n * an integer number of seconds since the epoch\r\n * @param secondsAhead How far ahead, in seconds (defaults to 120 seconds)\r\n * @param from Initial time (defaults to current time)\r\n */\r\nexport function getTimeInFuture(secondsAhead: number = 120, from?: Date | number): number {\r\n return Math.floor(+(from || new Date()) / 1000 + secondsAhead) \r\n}\r\n\r\n/**\r\n * Given a token response, computes and returns the expiresAt timestamp.\r\n * Note that this should only be used immediately after an access token is\r\n * received, otherwise the computed timestamp will be incorrect.\r\n * @param tokenResponse \r\n * @param env \r\n */\r\nexport function getAccessTokenExpiration(tokenResponse: fhirclient.TokenResponse, env: fhirclient.Adapter): number\r\n{\r\n const now = Math.floor(Date.now() / 1000);\r\n\r\n // Option 1 - using the expires_in property of the token response\r\n if (tokenResponse.expires_in) {\r\n return now + tokenResponse.expires_in;\r\n }\r\n\r\n // Option 2 - using the exp property of JWT tokens (must not assume JWT!)\r\n if (tokenResponse.access_token) {\r\n let tokenBody = jwtDecode(tokenResponse.access_token, env);\r\n if (tokenBody && tokenBody.exp) {\r\n return tokenBody.exp;\r\n }\r\n }\r\n\r\n // Option 3 - if none of the above worked set this to 5 minutes after now\r\n return now + 300;\r\n}\r\n\r\n/**\r\n * Groups the observations by code. Returns a map that will look like:\r\n * ```js\r\n * const map = client.byCodes(observations, \"code\");\r\n * // map = {\r\n * // \"55284-4\": [ observation1, observation2 ],\r\n * // \"6082-2\": [ observation3 ]\r\n * // }\r\n * ```\r\n * @param observations Array of observations\r\n * @param property The name of a CodeableConcept property to group by\r\n */\r\nexport function byCode(\r\n observations: fhirclient.FHIR.Observation | fhirclient.FHIR.Observation[],\r\n property: string\r\n): fhirclient.ObservationMap\r\n{\r\n const ret: fhirclient.ObservationMap = {};\r\n\r\n function handleCodeableConcept(concept: fhirclient.FHIR.CodeableConcept, observation: fhirclient.FHIR.Observation) {\r\n if (concept && Array.isArray(concept.coding)) {\r\n concept.coding.forEach(({ code }) => {\r\n if (code) {\r\n ret[code] = ret[code] || [] as fhirclient.FHIR.Observation[];\r\n ret[code].push(observation);\r\n }\r\n });\r\n }\r\n }\r\n\r\n makeArray(observations).forEach(o => {\r\n if (o.resourceType === \"Observation\" && o[property]) {\r\n if (Array.isArray(o[property])) {\r\n o[property].forEach((concept: fhirclient.FHIR.CodeableConcept) => handleCodeableConcept(concept, o));\r\n } else {\r\n handleCodeableConcept(o[property], o);\r\n }\r\n }\r\n });\r\n\r\n return ret;\r\n}\r\n\r\n/**\r\n * First groups the observations by code using `byCode`. Then returns a function\r\n * that accepts codes as arguments and will return a flat array of observations\r\n * having that codes. Example:\r\n * ```js\r\n * const filter = client.byCodes(observations, \"category\");\r\n * filter(\"laboratory\") // => [ observation1, observation2 ]\r\n * filter(\"vital-signs\") // => [ observation3 ]\r\n * filter(\"laboratory\", \"vital-signs\") // => [ observation1, observation2, observation3 ]\r\n * ```\r\n * @param observations Array of observations\r\n * @param property The name of a CodeableConcept property to group by\r\n */\r\nexport function byCodes(\r\n observations: fhirclient.FHIR.Observation | fhirclient.FHIR.Observation[],\r\n property: string\r\n): (...codes: string[]) => any[]\r\n{\r\n const bank = byCode(observations, property);\r\n return (...codes) => codes\r\n .filter(code => (code + \"\") in bank)\r\n .reduce(\r\n (prev, code) => prev.concat(bank[code + \"\"]),\r\n [] as fhirclient.FHIR.Observation[]\r\n );\r\n}\r\n\r\n/**\r\n * Given a conformance statement and a resource type, returns the name of the\r\n * URL parameter that can be used to scope the resource type by patient ID.\r\n */\r\nexport function getPatientParam(conformance: fhirclient.FHIR.CapabilityStatement, resourceType: string): string\r\n{\r\n // Find what resources are supported by this server\r\n const resources = getPath(conformance, \"rest.0.resource\") || [];\r\n\r\n // Check if this resource is supported\r\n const meta = resources.find((r: any) => r.type === resourceType);\r\n if (!meta) {\r\n throw new Error(`Resource \"${resourceType}\" is not supported by this FHIR server`);\r\n }\r\n\r\n // Check if any search parameters are available for this resource\r\n if (!Array.isArray(meta.searchParam)) {\r\n throw new Error(`No search parameters supported for \"${resourceType}\" on this FHIR server`);\r\n }\r\n\r\n // This is a rare case but could happen in generic workflows\r\n if (resourceType == \"Patient\" && meta.searchParam.find((x: any) => x.name == \"_id\")) {\r\n return \"_id\";\r\n }\r\n\r\n // Now find the first possible parameter name\r\n const out = patientParams.find(p => meta.searchParam.find((x: any) => x.name == p));\r\n\r\n // If there is no match\r\n if (!out) {\r\n throw new Error(\"I don't know what param to use for \" + resourceType);\r\n }\r\n\r\n return out;\r\n}\r\n\r\n/**\r\n * Resolves a reference to target window. It may also open new window or tab if\r\n * the `target = \"popup\"` or `target = \"_blank\"`.\r\n * @param target\r\n * @param width Only used when `target = \"popup\"`\r\n * @param height Only used when `target = \"popup\"`\r\n */\r\nexport async function getTargetWindow(target: fhirclient.WindowTarget, width: number = 800, height: number = 720): Promise\r\n{\r\n // The target can be a function that returns the target. This can be\r\n // used to open a layer pop-up with an iframe and then return a reference\r\n // to that iframe (or its name)\r\n if (typeof target == \"function\") {\r\n target = await target();\r\n }\r\n\r\n // The target can be a window reference\r\n if (target && typeof target == \"object\") {\r\n return target;\r\n }\r\n\r\n // At this point target must be a string\r\n if (typeof target != \"string\") {\r\n _debug(\"Invalid target type '%s'. Failing back to '_self'.\", typeof target);\r\n return self;\r\n }\r\n\r\n // Current window\r\n if (target == \"_self\") {\r\n return self;\r\n }\r\n\r\n // The parent frame\r\n if (target == \"_parent\") {\r\n return parent;\r\n }\r\n\r\n // The top window\r\n if (target == \"_top\") {\r\n return top || self;\r\n }\r\n\r\n // New tab or window\r\n if (target == \"_blank\") {\r\n let error, targetWindow: Window | null = null;\r\n try {\r\n targetWindow = window.open(\"\", \"SMARTAuthPopup\");\r\n if (!targetWindow) {\r\n throw new Error(\"Perhaps window.open was blocked\");\r\n }\r\n } catch (e) {\r\n error = e;\r\n }\r\n\r\n if (!targetWindow) {\r\n _debug(\"Cannot open window. Failing back to '_self'. %s\", error);\r\n return self;\r\n } else {\r\n return targetWindow;\r\n }\r\n }\r\n\r\n // Popup window\r\n if (target == \"popup\") {\r\n let error, targetWindow: Window | null = null;\r\n // if (!targetWindow || targetWindow.closed) {\r\n try {\r\n targetWindow = window.open(\"\", \"SMARTAuthPopup\", [\r\n \"height=\" + height,\r\n \"width=\" + width,\r\n \"menubar=0\",\r\n \"resizable=1\",\r\n \"status=0\",\r\n \"top=\" + (screen.height - height) / 2,\r\n \"left=\" + (screen.width - width) / 2\r\n ].join(\",\"));\r\n if (!targetWindow) {\r\n throw new Error(\"Perhaps the popup window was blocked\");\r\n }\r\n } catch (e) {\r\n error = e;\r\n }\r\n\r\n if (!targetWindow) {\r\n _debug(\"Cannot open window. Failing back to '_self'. %s\", error);\r\n return self;\r\n } else {\r\n return targetWindow;\r\n }\r\n }\r\n\r\n // Frame or window by name\r\n const winOrFrame: Window = frames[target as any];\r\n if (winOrFrame) {\r\n return winOrFrame;\r\n }\r\n\r\n _debug(\"Unknown target '%s'. Failing back to '_self'.\", target);\r\n return self;\r\n}\r\n\r\nexport function assert(condition: any, message: string): asserts condition {\r\n if (!(condition)) {\r\n throw new Error(message)\r\n }\r\n}\r\n\r\nexport function assertJsonPatch(patch: fhirclient.JsonPatch): asserts patch {\r\n assert(Array.isArray(patch), \"The JSON patch must be an array\")\r\n assert(patch.length > 0, \"The JSON patch array should not be empty\")\r\n patch.forEach((operation: fhirclient.JsonPatchOperation) => {\r\n assert(\r\n [\"add\", \"replace\", \"test\", \"move\", \"copy\", \"remove\"].indexOf(operation.op) > -1,\r\n 'Each patch operation must have an \"op\" property which must be one of: \"add\", \"replace\", \"test\", \"move\", \"copy\", \"remove\"'\r\n )\r\n assert(operation.path && typeof operation.path, `Invalid \"${operation.op}\" operation. Missing \"path\" property`)\r\n \r\n if (operation.op == \"add\" || operation.op == \"replace\" || operation.op == \"test\") {\r\n assert(\"value\" in operation, `Invalid \"${operation.op}\" operation. Missing \"value\" property`)\r\n assert(Object.keys(operation).length == 3, `Invalid \"${operation.op}\" operation. Contains unknown properties`)\r\n }\r\n\r\n else if (operation.op == \"move\" || operation.op == \"copy\") {\r\n assert(typeof operation.from == \"string\", `Invalid \"${operation.op}\" operation. Requires a string \"from\" property`)\r\n assert(Object.keys(operation).length == 3, `Invalid \"${operation.op}\" operation. Contains unknown properties`)\r\n }\r\n\r\n else {\r\n assert(Object.keys(operation).length == 2, `Invalid \"${operation.op}\" operation. Contains unknown properties`)\r\n }\r\n })\r\n}\r\n","import { encodeURL, fromUint8Array } from \"js-base64\"\r\nimport { fhirclient } from \"../types\"\r\n\r\n\r\nconst crypto: Crypto = typeof globalThis === \"object\" && globalThis.crypto ?\r\n globalThis.crypto :\r\n require(\"isomorphic-webcrypto\").default;\r\n\r\nconst subtle = () => {\r\n if (!crypto.subtle) {\r\n if (!globalThis.isSecureContext) {\r\n throw new Error(\r\n \"Some of the required subtle crypto functionality is not \" +\r\n \"available unless you run this app in secure context (using \" +\r\n \"HTTPS or running locally). See \" +\r\n \"https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts\"\r\n )\r\n }\r\n throw new Error(\r\n \"Some of the required subtle crypto functionality is not \" +\r\n \"available in the current environment (no crypto.subtle)\"\r\n )\r\n }\r\n return crypto.subtle\r\n}\r\n\r\n\r\ninterface PkcePair {\r\n codeChallenge: string\r\n codeVerifier: string\r\n}\r\n\r\nconst ALGS = {\r\n ES384: {\r\n name: \"ECDSA\",\r\n namedCurve: \"P-384\"\r\n } as EcKeyGenParams,\r\n RS384: {\r\n name: \"RSASSA-PKCS1-v1_5\",\r\n modulusLength: 4096,\r\n publicExponent: new Uint8Array([1, 0, 1]),\r\n hash: {\r\n name: 'SHA-384'\r\n }\r\n } as RsaHashedKeyGenParams\r\n};\r\n\r\nexport function randomBytes(count: number): Uint8Array {\r\n return crypto.getRandomValues(new Uint8Array(count));\r\n}\r\n\r\nexport async function digestSha256(payload: string): Promise {\r\n const prepared = new TextEncoder().encode(payload);\r\n const hash = await subtle().digest('SHA-256', prepared);\r\n return new Uint8Array(hash);\r\n}\r\n\r\nexport const generatePKCEChallenge = async (entropy = 96): Promise => {\r\n const inputBytes = randomBytes(entropy)\r\n const codeVerifier = fromUint8Array(inputBytes, true)\r\n const codeChallenge = fromUint8Array(await digestSha256(codeVerifier), true)\r\n return { codeChallenge, codeVerifier }\r\n}\r\n\r\nexport async function importJWK(jwk: fhirclient.JWK): Promise {\r\n // alg is optional in JWK but we need it here!\r\n if (!jwk.alg) {\r\n throw new Error('The \"alg\" property of the JWK must be set to \"ES384\" or \"RS384\"')\r\n }\r\n\r\n // Use of the \"key_ops\" member is OPTIONAL, unless the application requires its presence.\r\n // https://www.rfc-editor.org/rfc/rfc7517.html#section-4.3\r\n // \r\n // In our case the app will only import private keys so we can assume \"sign\"\r\n if (!Array.isArray(jwk.key_ops)) {\r\n jwk.key_ops = [\"sign\"]\r\n }\r\n\r\n // In this case the JWK has a \"key_ops\" array and \"sign\" is not listed\r\n if (!jwk.key_ops.includes(\"sign\")) {\r\n throw new Error('The \"key_ops\" property of the JWK does not contain \"sign\"')\r\n }\r\n\r\n try {\r\n return await subtle().importKey(\r\n \"jwk\",\r\n jwk,\r\n ALGS[jwk.alg],\r\n jwk.ext === true,\r\n jwk.key_ops// || ['sign']\r\n )\r\n } catch (e) {\r\n throw new Error(`The ${jwk.alg} is not supported by this browser: ${e}`)\r\n }\r\n}\r\n\r\nexport async function signCompactJws(alg: keyof typeof ALGS, privateKey: CryptoKey, header: any, payload: any): Promise {\r\n\r\n const jwtHeader = JSON.stringify({ ...header, alg });\r\n const jwtPayload = JSON.stringify(payload);\r\n const jwtAuthenticatedContent = `${encodeURL(jwtHeader)}.${encodeURL(jwtPayload)}`;\r\n\r\n const signature = await subtle().sign(\r\n { ...privateKey.algorithm, hash: 'SHA-384' },\r\n privateKey,\r\n new TextEncoder().encode(jwtAuthenticatedContent)\r\n );\r\n\r\n return `${jwtAuthenticatedContent}.${fromUint8Array(new Uint8Array(signature), true)}`\r\n}\r\n","/**\r\n * Combined list of FHIR resource types accepting patient parameter in FHIR R2-R4\r\n */\r\nexport const patientCompartment = [\r\n \"Account\",\r\n \"AdverseEvent\",\r\n \"AllergyIntolerance\",\r\n \"Appointment\",\r\n \"AppointmentResponse\",\r\n \"AuditEvent\",\r\n \"Basic\",\r\n \"BodySite\",\r\n \"BodyStructure\",\r\n \"CarePlan\",\r\n \"CareTeam\",\r\n \"ChargeItem\",\r\n \"Claim\",\r\n \"ClaimResponse\",\r\n \"ClinicalImpression\",\r\n \"Communication\",\r\n \"CommunicationRequest\",\r\n \"Composition\",\r\n \"Condition\",\r\n \"Consent\",\r\n \"Coverage\",\r\n \"CoverageEligibilityRequest\",\r\n \"CoverageEligibilityResponse\",\r\n \"DetectedIssue\",\r\n \"DeviceRequest\",\r\n \"DeviceUseRequest\",\r\n \"DeviceUseStatement\",\r\n \"DiagnosticOrder\",\r\n \"DiagnosticReport\",\r\n \"DocumentManifest\",\r\n \"DocumentReference\",\r\n \"EligibilityRequest\",\r\n \"Encounter\",\r\n \"EnrollmentRequest\",\r\n \"EpisodeOfCare\",\r\n \"ExplanationOfBenefit\",\r\n \"FamilyMemberHistory\",\r\n \"Flag\",\r\n \"Goal\",\r\n \"Group\",\r\n \"ImagingManifest\",\r\n \"ImagingObjectSelection\",\r\n \"ImagingStudy\",\r\n \"Immunization\",\r\n \"ImmunizationEvaluation\",\r\n \"ImmunizationRecommendation\",\r\n \"Invoice\",\r\n \"List\",\r\n \"MeasureReport\",\r\n \"Media\",\r\n \"MedicationAdministration\",\r\n \"MedicationDispense\",\r\n \"MedicationOrder\",\r\n \"MedicationRequest\",\r\n \"MedicationStatement\",\r\n \"MolecularSequence\",\r\n \"NutritionOrder\",\r\n \"Observation\",\r\n \"Order\",\r\n \"Patient\",\r\n \"Person\",\r\n \"Procedure\",\r\n \"ProcedureRequest\",\r\n \"Provenance\",\r\n \"QuestionnaireResponse\",\r\n \"ReferralRequest\",\r\n \"RelatedPerson\",\r\n \"RequestGroup\",\r\n \"ResearchSubject\",\r\n \"RiskAssessment\",\r\n \"Schedule\",\r\n \"ServiceRequest\",\r\n \"Specimen\",\r\n \"SupplyDelivery\",\r\n \"SupplyRequest\",\r\n \"VisionPrescription\"\r\n];\r\n\r\n/**\r\n * Map of FHIR releases and their abstract version as number\r\n */\r\nexport const fhirVersions = {\r\n \"0.4.0\": 2,\r\n \"0.5.0\": 2,\r\n \"1.0.0\": 2,\r\n \"1.0.1\": 2,\r\n \"1.0.2\": 2,\r\n \"1.1.0\": 3,\r\n \"1.4.0\": 3,\r\n \"1.6.0\": 3,\r\n \"1.8.0\": 3,\r\n \"3.0.0\": 3,\r\n \"3.0.1\": 3,\r\n \"3.3.0\": 4,\r\n \"3.5.0\": 4,\r\n \"4.0.0\": 4,\r\n \"4.0.1\": 4\r\n};\r\n\r\n/**\r\n * Combined (FHIR R2-R4) list of search parameters that can be used to scope\r\n * a request by patient ID.\r\n */\r\nexport const patientParams = [\r\n \"patient\",\r\n \"subject\",\r\n \"requester\",\r\n \"member\",\r\n \"actor\",\r\n \"beneficiary\"\r\n];\r\n\r\n/**\r\n * The name of the sessionStorage entry that contains the current key\r\n */\r\nexport const SMART_KEY = \"SMART_KEY\";\r\n","/* global window */\r\nimport {\r\n debug as _debug,\r\n request,\r\n getPath,\r\n getTimeInFuture,\r\n randomString,\r\n getAndCache,\r\n fetchConformanceStatement,\r\n getAccessTokenExpiration,\r\n getTargetWindow,\r\n assert\r\n} from \"./lib\";\r\nimport Client from \"./Client\";\r\nimport { SMART_KEY } from \"./settings\";\r\nimport { fhirclient } from \"./types\";\r\n\r\nconst debug = _debug.extend(\"oauth2\");\r\n\r\nexport { SMART_KEY as KEY };\r\n\r\nfunction isBrowser() {\r\n return typeof window === \"object\";\r\n}\r\n\r\n/**\r\n * Fetches the well-known json file from the given base URL.\r\n * Note that the result is cached in memory (until the page is reloaded in the\r\n * browser) because it might have to be re-used by the client\r\n * @param baseUrl The base URL of the FHIR server\r\n */\r\nexport function fetchWellKnownJson(baseUrl = \"/\", requestOptions?: RequestInit): Promise\r\n{\r\n const url = String(baseUrl).replace(/\\/*$/, \"/\") + \".well-known/smart-configuration\";\r\n return getAndCache(url, requestOptions).catch((ex: Error) => {\r\n throw new Error(`Failed to fetch the well-known json \"${url}\". ${ex.message}`);\r\n });\r\n}\r\n\r\n/**\r\n * Fetch a \"WellKnownJson\" and extract the SMART endpoints from it\r\n */\r\nfunction getSecurityExtensionsFromWellKnownJson(baseUrl = \"/\", requestOptions?: RequestInit): Promise\r\n{\r\n return fetchWellKnownJson(baseUrl, requestOptions).then(meta => {\r\n if (!meta.authorization_endpoint || !meta.token_endpoint) {\r\n throw new Error(\"Invalid wellKnownJson\");\r\n }\r\n return {\r\n registrationUri : meta.registration_endpoint || \"\",\r\n authorizeUri : meta.authorization_endpoint,\r\n tokenUri : meta.token_endpoint,\r\n codeChallengeMethods: meta.code_challenge_methods_supported || []\r\n };\r\n });\r\n}\r\n\r\n/**\r\n * Fetch a `CapabilityStatement` and extract the SMART endpoints from it\r\n */\r\nfunction getSecurityExtensionsFromConformanceStatement(baseUrl = \"/\", requestOptions?: RequestInit): Promise\r\n{\r\n return fetchConformanceStatement(baseUrl, requestOptions).then(meta => {\r\n const nsUri = \"http://fhir-registry.smarthealthit.org/StructureDefinition/oauth-uris\";\r\n const extensions = ((getPath(meta || {}, \"rest.0.security.extension\") || []) as Array>)\r\n .filter(e => e.url === nsUri)\r\n .map(o => o.extension)[0];\r\n\r\n const out:fhirclient.OAuthSecurityExtensions = {\r\n registrationUri : \"\",\r\n authorizeUri : \"\",\r\n tokenUri : \"\",\r\n codeChallengeMethods: [],\r\n };\r\n\r\n if (extensions) {\r\n extensions.forEach(ext => {\r\n if (ext.url === \"register\") {\r\n out.registrationUri = ext.valueUri;\r\n }\r\n if (ext.url === \"authorize\") {\r\n out.authorizeUri = ext.valueUri;\r\n }\r\n if (ext.url === \"token\") {\r\n out.tokenUri = ext.valueUri;\r\n }\r\n });\r\n }\r\n\r\n return out;\r\n });\r\n}\r\n\r\n\r\n/**\r\n * Given a FHIR server, returns an object with it's Oauth security endpoints\r\n * that we are interested in. This will try to find the info in both the\r\n * `CapabilityStatement` and the `.well-known/smart-configuration`. Whatever\r\n * Arrives first will be used and the other request will be aborted.\r\n * @param [baseUrl = \"/\"] Fhir server base URL\r\n */\r\nexport function getSecurityExtensions(baseUrl = \"/\"): Promise\r\n{\r\n return getSecurityExtensionsFromWellKnownJson(baseUrl)\r\n .catch(() => getSecurityExtensionsFromConformanceStatement(baseUrl));\r\n}\r\n\r\n/**\r\n * Starts the SMART Launch Sequence.\r\n * > **IMPORTANT**:\r\n * `authorize()` will end up redirecting you to the authorization server.\r\n * This means that you should not add anything to the returned promise chain.\r\n * Any code written directly after the authorize() call might not be executed\r\n * due to that redirect!\r\n * @param env\r\n * @param [params]\r\n */\r\nexport async function authorize(\r\n env: fhirclient.Adapter,\r\n params: fhirclient.AuthorizeParams | fhirclient.AuthorizeParams[] = {}\r\n): Promise\r\n{\r\n const url = env.getUrl();\r\n\r\n // Multiple config for EHR launches ---------------------------------------\r\n if (Array.isArray(params)) {\r\n const urlISS = url.searchParams.get(\"iss\") || url.searchParams.get(\"fhirServiceUrl\");\r\n if (!urlISS) {\r\n throw new Error(\r\n 'Passing in an \"iss\" url parameter is required if authorize ' +\r\n 'uses multiple configurations'\r\n );\r\n }\r\n // pick the right config\r\n const cfg = params.find(x => {\r\n if (x.issMatch) {\r\n if (typeof x.issMatch === \"function\") {\r\n return !!x.issMatch(urlISS);\r\n }\r\n if (typeof x.issMatch === \"string\") {\r\n return x.issMatch === urlISS;\r\n }\r\n if (x.issMatch instanceof RegExp) {\r\n return x.issMatch.test(urlISS);\r\n }\r\n }\r\n return false;\r\n });\r\n assert(cfg, `No configuration found matching the current \"iss\" parameter \"${urlISS}\"`);\r\n return await authorize(env, cfg);\r\n }\r\n // ------------------------------------------------------------------------\r\n\r\n // Obtain input\r\n const {\r\n clientSecret,\r\n fakeTokenResponse,\r\n encounterId,\r\n target,\r\n width,\r\n height,\r\n pkceMode,\r\n clientPublicKeySetUrl,\r\n // Two deprecated values to use as fall-back values later\r\n redirect_uri,\r\n client_id,\r\n } = params;\r\n \r\n let {\r\n iss,\r\n launch,\r\n patientId,\r\n fhirServiceUrl,\r\n redirectUri,\r\n noRedirect,\r\n scope = \"\",\r\n clientId,\r\n completeInTarget,\r\n clientPrivateJwk,\r\n stateKey\r\n } = params;\r\n\r\n const storage = env.getStorage();\r\n\r\n // For these, a url param takes precedence over inline option\r\n iss = url.searchParams.get(\"iss\") || iss;\r\n fhirServiceUrl = url.searchParams.get(\"fhirServiceUrl\") || fhirServiceUrl;\r\n launch = url.searchParams.get(\"launch\") || launch;\r\n patientId = url.searchParams.get(\"patientId\") || patientId;\r\n clientId = url.searchParams.get(\"clientId\") || clientId;\r\n\r\n // If there's still no clientId or redirectUri, check deprecated params \r\n if (!clientId) {\r\n clientId = client_id;\r\n }\r\n if (!redirectUri) {\r\n redirectUri = redirect_uri;\r\n }\r\n\r\n if (!redirectUri) {\r\n redirectUri = env.relative(\".\");\r\n } else if (!redirectUri.match(/^https?\\:\\/\\//)) {\r\n redirectUri = env.relative(redirectUri);\r\n }\r\n\r\n const serverUrl = String(iss || fhirServiceUrl || \"\");\r\n\r\n // Validate input\r\n if (!serverUrl) {\r\n throw new Error(\r\n \"No server url found. It must be specified as `iss` or as \" +\r\n \"`fhirServiceUrl` parameter\"\r\n );\r\n }\r\n\r\n if (iss) {\r\n debug(\"Making %s launch...\", launch ? \"EHR\" : \"standalone\");\r\n }\r\n\r\n // append launch scope if needed\r\n if (launch && !scope.match(/launch/)) {\r\n scope += \" launch\";\r\n }\r\n\r\n if (isBrowser()) {\r\n const inFrame = isInFrame();\r\n const inPopUp = isInPopUp();\r\n\r\n if ((inFrame || inPopUp) && completeInTarget !== true && completeInTarget !== false) {\r\n \r\n // completeInTarget will default to true if authorize is called from\r\n // within an iframe. This is to avoid issues when the entire app\r\n // happens to be rendered in an iframe (including in some EHRs),\r\n // even though that was not how the app developer's intention.\r\n completeInTarget = inFrame;\r\n\r\n // In this case we can't always make the best decision so ask devs\r\n // to be explicit in their configuration.\r\n console.warn(\r\n 'Your app is being authorized from within an iframe or popup ' +\r\n 'window. Please be explicit and provide a \"completeInTarget\" ' +\r\n 'option. Use \"true\" to complete the authorization in the ' +\r\n 'same window, or \"false\" to try to complete it in the parent ' +\r\n 'or the opener window. See http://docs.smarthealthit.org/client-js/api.html'\r\n );\r\n }\r\n }\r\n\r\n // If `authorize` is called, make sure we clear any previous state (in case\r\n // this is a re-authorize)\r\n const oldKey = await storage.get(SMART_KEY);\r\n await storage.unset(oldKey);\r\n\r\n stateKey = stateKey ?? randomString(16);\r\n\r\n // Create initial state\r\n const state: fhirclient.ClientState = {\r\n clientId,\r\n scope,\r\n redirectUri,\r\n serverUrl,\r\n clientSecret,\r\n clientPrivateJwk,\r\n tokenResponse: {},\r\n key: stateKey,\r\n completeInTarget,\r\n clientPublicKeySetUrl\r\n };\r\n\r\n const fullSessionStorageSupport = isBrowser() ?\r\n getPath(env, \"options.fullSessionStorageSupport\") :\r\n true;\r\n\r\n if (fullSessionStorageSupport) {\r\n await storage.set(SMART_KEY, stateKey);\r\n }\r\n\r\n // fakeTokenResponse to override stuff (useful in development)\r\n if (fakeTokenResponse) {\r\n Object.assign(state.tokenResponse!, fakeTokenResponse);\r\n }\r\n\r\n // Fixed patientId (useful in development)\r\n if (patientId) {\r\n Object.assign(state.tokenResponse!, { patient: patientId });\r\n }\r\n\r\n // Fixed encounterId (useful in development)\r\n if (encounterId) {\r\n Object.assign(state.tokenResponse!, { encounter: encounterId });\r\n }\r\n\r\n let redirectUrl = redirectUri + \"?state=\" + encodeURIComponent(stateKey);\r\n\r\n // bypass oauth if fhirServiceUrl is used (but iss takes precedence)\r\n if (fhirServiceUrl && !iss) {\r\n debug(\"Making fake launch...\");\r\n await storage.set(stateKey, state);\r\n if (noRedirect) {\r\n return redirectUrl;\r\n }\r\n return await env.redirect(redirectUrl);\r\n }\r\n\r\n // Get oauth endpoints and add them to the state\r\n const extensions = await getSecurityExtensions(serverUrl);\r\n Object.assign(state, extensions);\r\n await storage.set(stateKey, state);\r\n\r\n // If this happens to be an open server and there is no authorizeUri\r\n if (!state.authorizeUri) {\r\n if (noRedirect) {\r\n return redirectUrl;\r\n }\r\n return await env.redirect(redirectUrl);\r\n }\r\n\r\n // build the redirect uri\r\n const redirectParams = [\r\n \"response_type=code\",\r\n \"client_id=\" + encodeURIComponent(clientId || \"\"),\r\n \"scope=\" + encodeURIComponent(scope),\r\n \"redirect_uri=\" + encodeURIComponent(redirectUri),\r\n \"aud=\" + encodeURIComponent(serverUrl),\r\n \"state=\" + encodeURIComponent(stateKey)\r\n ];\r\n\r\n // also pass this in case of EHR launch\r\n if (launch) {\r\n redirectParams.push(\"launch=\" + encodeURIComponent(launch));\r\n }\r\n\r\n if (shouldIncludeChallenge(extensions.codeChallengeMethods.includes('S256'), pkceMode)) {\r\n let codes = await env.security.generatePKCEChallenge()\r\n Object.assign(state, codes);\r\n await storage.set(stateKey, state);\r\n redirectParams.push(\"code_challenge=\" + state.codeChallenge);// note that the challenge is ALREADY encoded properly\r\n redirectParams.push(\"code_challenge_method=S256\");\r\n }\r\n \r\n redirectUrl = state.authorizeUri + \"?\" + redirectParams.join(\"&\");\r\n\r\n if (noRedirect) {\r\n return redirectUrl;\r\n }\r\n\r\n if (target && isBrowser()) {\r\n let win: Window;\r\n\r\n win = await getTargetWindow(target, width, height);\r\n\r\n if (win !== self) {\r\n try {\r\n // Also remove any old state from the target window and then\r\n // transfer the current state there\r\n win.sessionStorage.removeItem(oldKey);\r\n win.sessionStorage.setItem(stateKey, JSON.stringify(state));\r\n } catch (ex) {\r\n _debug(`Failed to modify window.sessionStorage. Perhaps it is from different origin?. Failing back to \"_self\". %s`, ex);\r\n win = self;\r\n }\r\n }\r\n\r\n if (win !== self) {\r\n try {\r\n win.location.href = redirectUrl;\r\n self.addEventListener(\"message\", onMessage);\r\n } catch (ex) {\r\n _debug(`Failed to modify window.location. Perhaps it is from different origin?. Failing back to \"_self\". %s`, ex);\r\n self.location.href = redirectUrl;\r\n }\r\n } else {\r\n self.location.href = redirectUrl;\r\n }\r\n\r\n return;\r\n }\r\n else {\r\n return await env.redirect(redirectUrl);\r\n }\r\n}\r\n\r\nfunction shouldIncludeChallenge(S256supported: boolean, pkceMode?: string) {\r\n if (pkceMode === \"disabled\") {\r\n return false;\r\n }\r\n if (pkceMode === \"unsafeV1\") {\r\n return true;\r\n }\r\n if (pkceMode === \"required\") {\r\n if (!S256supported) {\r\n throw new Error(\"Required PKCE code challenge method (`S256`) was not found in the server's codeChallengeMethods declaration.\");\r\n }\r\n return true;\r\n }\r\n return S256supported;\r\n}\r\n\r\n/**\r\n * Checks if called within a frame. Only works in browsers!\r\n * If the current window has a `parent` or `top` properties that refer to\r\n * another window, returns true. If trying to access `top` or `parent` throws an\r\n * error, returns true. Otherwise returns `false`.\r\n */\r\nexport function isInFrame() {\r\n try {\r\n return self !== top && parent !== self;\r\n } catch (e) {\r\n return true;\r\n }\r\n}\r\n\r\n/**\r\n * Checks if called within another window (popup or tab). Only works in browsers!\r\n * To consider itself called in a new window, this function verifies that:\r\n * 1. `self === top` (not in frame)\r\n * 2. `!!opener && opener !== self` The window has an opener\r\n * 3. `!!window.name` The window has a `name` set\r\n */\r\nexport function isInPopUp() {\r\n try {\r\n return self === top &&\r\n !!opener &&\r\n opener !== self &&\r\n !!window.name;\r\n } catch (e) {\r\n return false;\r\n }\r\n}\r\n\r\n/**\r\n * Another window can send a \"completeAuth\" message to this one, making it to\r\n * navigate to e.data.url\r\n * @param e The message event\r\n */\r\nexport function onMessage(e: MessageEvent) {\r\n if (e.data.type == \"completeAuth\" && e.origin === new URL(self.location.href).origin) {\r\n window.removeEventListener(\"message\", onMessage);\r\n window.location.href = e.data.url;\r\n }\r\n}\r\n\r\n/**\r\n * The ready function should only be called on the page that represents\r\n * the redirectUri. We typically land there after a redirect from the\r\n * authorization server, but this code will also be executed upon subsequent\r\n * navigation or page refresh.\r\n */\r\nexport async function ready(env: fhirclient.Adapter, options: fhirclient.ReadyOptions = {}): Promise\r\n{\r\n const url = env.getUrl();\r\n const Storage = env.getStorage();\r\n const params = url.searchParams;\r\n\r\n let key = params.get(\"state\") || options.stateKey;\r\n const code = params.get(\"code\") || options.code;\r\n const authError = params.get(\"error\");\r\n const authErrorDescription = params.get(\"error_description\");\r\n\r\n if (!key) {\r\n key = await Storage.get(SMART_KEY);\r\n }\r\n\r\n // Start by checking the url for `error` and `error_description` parameters.\r\n // This happens when the auth server rejects our authorization attempt. In\r\n // this case it has no other way to tell us what the error was, other than\r\n // appending these parameters to the redirect url.\r\n // From client's point of view, this is not very reliable (because we can't\r\n // know how we have landed on this page - was it a redirect or was it loaded\r\n // manually). However, if `ready()` is being called, we can assume\r\n // that the url comes from the auth server (otherwise the app won't work\r\n // anyway).\r\n if (authError || authErrorDescription) {\r\n throw new Error([\r\n authError,\r\n authErrorDescription\r\n ].filter(Boolean).join(\": \"));\r\n }\r\n\r\n debug(\"key: %s, code: %s\", key, code);\r\n\r\n // key might be coming from the page url so it might be empty or missing\r\n assert(key, \"No 'state' parameter found. Please (re)launch the app.\");\r\n\r\n // Check if we have a previous state\r\n let state = (await Storage.get(key)) as fhirclient.ClientState;\r\n\r\n const fullSessionStorageSupport = isBrowser() ?\r\n getPath(env, \"options.fullSessionStorageSupport\") :\r\n true;\r\n\r\n // If we are in a popup window or an iframe and the authorization is\r\n // complete, send the location back to our opener and exit.\r\n if (isBrowser() && state && !state.completeInTarget) {\r\n\r\n const inFrame = isInFrame();\r\n const inPopUp = isInPopUp();\r\n\r\n // we are about to return to the opener/parent where completeAuth will\r\n // be called again. In rare cases the opener or parent might also be\r\n // a frame or popup. Then inFrame or inPopUp will be true but we still\r\n // have to stop going up the chain. To guard against that weird form of\r\n // recursion we pass one additional parameter to the url which we later\r\n // remove.\r\n if ((inFrame || inPopUp) && !url.searchParams.get(\"complete\")) {\r\n url.searchParams.set(\"complete\", \"1\");\r\n const { href, origin } = url;\r\n if (inFrame) {\r\n parent.postMessage({ type: \"completeAuth\", url: href }, origin);\r\n }\r\n if (inPopUp) {\r\n opener.postMessage({ type: \"completeAuth\", url: href }, origin);\r\n window.close();\r\n }\r\n\r\n return new Promise(() => { /* leave it pending!!! */ });\r\n }\r\n }\r\n\r\n url.searchParams.delete(\"complete\");\r\n\r\n // Do we have to remove the `code` and `state` params from the URL?\r\n const hasState = params.has(\"state\") || options.stateKey ? true : false;\r\n\r\n if (isBrowser() && getPath(env, \"options.replaceBrowserHistory\") && (code || hasState)) {\r\n // `code` is the flag that tell us to request an access token.\r\n // We have to remove it, otherwise the page will authorize on\r\n // every load!\r\n if (code) {\r\n params.delete(\"code\");\r\n debug(\"Removed code parameter from the url.\");\r\n }\r\n\r\n // If we have `fullSessionStorageSupport` it means we no longer\r\n // need the `state` key. It will be stored to a well know\r\n // location - sessionStorage[SMART_KEY]. However, no\r\n // fullSessionStorageSupport means that this \"well know location\"\r\n // might be shared between windows and tabs. In this case we\r\n // MUST keep the `state` url parameter.\r\n if (hasState && fullSessionStorageSupport) {\r\n params.delete(\"state\");\r\n debug(\"Removed state parameter from the url.\");\r\n }\r\n\r\n // If the browser does not support the replaceState method for the\r\n // History Web API, the \"code\" parameter cannot be removed. As a\r\n // consequence, the page will (re)authorize on every load. The\r\n // workaround is to reload the page to new location without those\r\n // parameters. If that is not acceptable replaceBrowserHistory\r\n // should be set to false.\r\n if (window.history.replaceState) {\r\n window.history.replaceState({}, \"\", url.href);\r\n }\r\n }\r\n\r\n // If the state does not exist, it means the page has been loaded directly.\r\n assert(state, \"No state found! Please (re)launch the app.\");\r\n\r\n // Assume the client has already completed a token exchange when\r\n // there is no code (but we have a state) or access token is found in state\r\n const authorized = !code || state.tokenResponse?.access_token;\r\n\r\n // If we are authorized already, then this is just a reload.\r\n // Otherwise, we have to complete the code flow\r\n if (!authorized && state.tokenUri) {\r\n\r\n assert(code, \"'code' url parameter is required\");\r\n\r\n debug(\"Preparing to exchange the code for access token...\");\r\n const requestOptions = await buildTokenRequest(env, {\r\n code,\r\n state,\r\n clientPublicKeySetUrl: options.clientPublicKeySetUrl,\r\n privateKey: options.privateKey || state.clientPrivateJwk\r\n });\r\n debug(\"Token request options: %O\", requestOptions);\r\n\r\n // The EHR authorization server SHALL return a JSON structure that\r\n // includes an access token or a message indicating that the\r\n // authorization request has been denied.\r\n const tokenResponse = await request(state.tokenUri, requestOptions);\r\n debug(\"Token response: %O\", tokenResponse);\r\n assert(tokenResponse.access_token, \"Failed to obtain access token.\");\r\n\r\n // Now we need to determine when is this authorization going to expire\r\n state.expiresAt = getAccessTokenExpiration(tokenResponse, env);\r\n\r\n // save the tokenResponse so that we don't have to re-authorize on\r\n // every page reload\r\n state = { ...state, tokenResponse };\r\n await Storage.set(key, state);\r\n debug(\"Authorization successful!\");\r\n }\r\n else {\r\n debug(state.tokenResponse?.access_token ?\r\n \"Already authorized\" :\r\n \"No authorization needed\"\r\n );\r\n }\r\n\r\n if (fullSessionStorageSupport) {\r\n await Storage.set(SMART_KEY, key);\r\n }\r\n\r\n const client = new Client(env, state);\r\n debug(\"Created client instance: %O\", client);\r\n return client;\r\n}\r\n\r\n/**\r\n * Builds the token request options. Does not make the request, just\r\n * creates it's configuration and returns it in a Promise.\r\n */\r\nexport async function buildTokenRequest(\r\n env: fhirclient.Adapter,\r\n {\r\n code,\r\n state,\r\n clientPublicKeySetUrl,\r\n privateKey\r\n }: {\r\n /**\r\n * The `code` URL parameter received from the auth redirect\r\n */\r\n code: string,\r\n \r\n /**\r\n * The app state\r\n */\r\n state: fhirclient.ClientState\r\n\r\n /**\r\n * If provided overrides the `clientPublicKeySetUrl` from the authorize\r\n * options (if any). Used for `jku` token header in case of asymmetric auth.\r\n */\r\n clientPublicKeySetUrl?: string\r\n\r\n /**\r\n * Can be a private JWK, or an object with alg, kid and key properties,\r\n * where `key` is an un-extractable private CryptoKey object.\r\n */\r\n privateKey?: fhirclient.JWK | {\r\n key: CryptoKey\r\n alg: \"RS384\" | \"ES384\"\r\n kid: string\r\n }\r\n }\r\n): Promise\r\n{\r\n const { redirectUri, clientSecret, tokenUri, clientId, codeVerifier } = state;\r\n\r\n assert(redirectUri, \"Missing state.redirectUri\");\r\n assert(tokenUri, \"Missing state.tokenUri\");\r\n assert(clientId, \"Missing state.clientId\");\r\n\r\n const requestOptions: Record = {\r\n method: \"POST\",\r\n headers: { \"content-type\": \"application/x-www-form-urlencoded\" },\r\n body: `code=${code}&grant_type=authorization_code&redirect_uri=${\r\n encodeURIComponent(redirectUri)}`\r\n };\r\n\r\n // For public apps, authentication is not possible (and thus not required),\r\n // since a client with no secret cannot prove its identity when it issues a\r\n // call. (The end-to-end system can still be secure because the client comes\r\n // from a known, https protected endpoint specified and enforced by the\r\n // redirect uri.) For confidential apps, an Authorization header using HTTP\r\n // Basic authentication is required, where the username is the app’s\r\n // client_id and the password is the app’s client_secret (see example).\r\n if (clientSecret) {\r\n requestOptions.headers.authorization = \"Basic \" + env.btoa(\r\n clientId + \":\" + clientSecret\r\n );\r\n debug(\r\n \"Using state.clientSecret to construct the authorization header: %s\",\r\n requestOptions.headers.authorization\r\n );\r\n }\r\n \r\n // Asymmetric auth\r\n else if (privateKey) {\r\n\r\n const pk = \"key\" in privateKey ?\r\n privateKey.key as CryptoKey:\r\n await env.security.importJWK(privateKey as fhirclient.JWK)\r\n\r\n const jwtHeaders = {\r\n typ: \"JWT\",\r\n kid: privateKey.kid,\r\n jku: clientPublicKeySetUrl || state.clientPublicKeySetUrl\r\n };\r\n\r\n const jwtClaims = {\r\n iss: clientId,\r\n sub: clientId,\r\n aud: tokenUri,\r\n jti: env.base64urlencode(env.security.randomBytes(32)),\r\n exp: getTimeInFuture(120) // two minutes in the future\r\n };\r\n \r\n const clientAssertion = await env.security.signCompactJws(privateKey.alg, pk, jwtHeaders, jwtClaims);\r\n requestOptions.body += `&client_assertion_type=${encodeURIComponent(\"urn:ietf:params:oauth:client-assertion-type:jwt-bearer\")}`;\r\n requestOptions.body += `&client_assertion=${encodeURIComponent(clientAssertion)}`;\r\n debug(\"Using state.clientPrivateJwk to add a client_assertion to the POST body\")\r\n }\r\n \r\n // Public client\r\n else {\r\n debug(\"Public client detected; adding state.clientId to the POST body\");\r\n requestOptions.body += `&client_id=${encodeURIComponent(clientId)}`;\r\n }\r\n\r\n if (codeVerifier) {\r\n debug(\"Found state.codeVerifier, adding to the POST body\")\r\n // Note that the codeVerifier is ALREADY encoded properly \r\n requestOptions.body += \"&code_verifier=\" + codeVerifier;\r\n }\r\n \r\n return requestOptions as RequestInit;\r\n}\r\n\r\n/**\r\n * This function can be used when you want to handle everything in one page\r\n * (no launch endpoint needed). You can think of it as if it does:\r\n * ```js\r\n * authorize(options).then(ready)\r\n * ```\r\n *\r\n * **Be careful with init()!** There are some details you need to be aware of:\r\n *\r\n * 1. It will only work if your launch_uri is the same as your redirect_uri.\r\n * While this should be valid, we can’t promise that every EHR will allow you\r\n * to register client with such settings.\r\n * 2. Internally, `init()` will be called twice. First it will redirect to the\r\n * EHR, then the EHR will redirect back to the page where init() will be\r\n * called again to complete the authorization. This is generally fine,\r\n * because the returned promise will only be resolved once, after the second\r\n * execution, but please also consider the following:\r\n * - You should wrap all your app’s code in a function that is only executed\r\n * after `init()` resolves!\r\n * - Since the page will be loaded twice, you must be careful if your code\r\n * has global side effects that can persist between page reloads\r\n * (for example writing to localStorage).\r\n * 3. For standalone launch, only use init in combination with offline_access\r\n * scope. Once the access_token expires, if you don’t have a refresh_token\r\n * there is no way to re-authorize properly. We detect that and delete the\r\n * expired access token, but it still means that the user will have to\r\n * refresh the page twice to re-authorize.\r\n * @param env The adapter\r\n * @param authorizeOptions The authorize options\r\n */\r\nexport async function init(\r\n env: fhirclient.Adapter,\r\n authorizeOptions: fhirclient.AuthorizeParams,\r\n readyOptions?: fhirclient.ReadyOptions\r\n): Promise\r\n{\r\n const url = env.getUrl();\r\n const code = url.searchParams.get(\"code\");\r\n const state = url.searchParams.get(\"state\");\r\n\r\n // if `code` and `state` params are present we need to complete the auth flow\r\n if (code && state) {\r\n return ready(env, readyOptions);\r\n }\r\n\r\n // Check for existing client state. If state is found, it means a client\r\n // instance have already been created in this session and we should try to\r\n // \"revive\" it.\r\n const storage = env.getStorage();\r\n const key = state || await storage.get(SMART_KEY);\r\n const cached = await storage.get(key);\r\n if (cached) {\r\n return new Client(env, cached);\r\n }\r\n\r\n // Otherwise try to launch\r\n return authorize(env, authorizeOptions).then(() => {\r\n // `init` promises a Client but that cannot happen in this case. The\r\n // browser will be redirected (unload the page and be redirected back\r\n // to it later and the same init function will be called again). On\r\n // success, authorize will resolve with the redirect url but we don't\r\n // want to return that from this promise chain because it is not a\r\n // Client instance. At the same time, if authorize fails, we do want to\r\n // pass the error to those waiting for a client instance.\r\n return new Promise(() => { /* leave it pending!!! */ });\r\n });\r\n}\r\n","export default class Storage\r\n{\r\n /**\r\n * Gets the value at `key`. Returns a promise that will be resolved\r\n * with that value (or undefined for missing keys).\r\n */\r\n async get(key: string): Promise\r\n {\r\n const value = sessionStorage[key];\r\n if (value) {\r\n return JSON.parse(value);\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Sets the `value` on `key` and returns a promise that will be resolved\r\n * with the value that was set.\r\n */\r\n async set(key: string, value: any): Promise\r\n {\r\n sessionStorage[key] = JSON.stringify(value);\r\n return value;\r\n }\r\n\r\n /**\r\n * Deletes the value at `key`. Returns a promise that will be resolved\r\n * with true if the key was deleted or with false if it was not (eg. if\r\n * did not exist).\r\n */\r\n async unset(key: string): Promise\r\n {\r\n if (key in sessionStorage) {\r\n delete sessionStorage[key];\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n}\r\n","// This map contains reusable debug messages (only those used in multiple places)\r\nexport default {\r\n expired : \"Session expired! Please re-launch the app\",\r\n noScopeForId : \"Trying to get the ID of the selected %s. Please add 'launch' or 'launch/%s' to the requested scopes and try again.\",\r\n noIfNoAuth : \"You are trying to get %s but the app is not authorized yet.\",\r\n noFreeContext: \"Please don't use open fhir servers if you need to access launch context items like the %S.\"\r\n};\r\n","var global = typeof self !== 'undefined' ? self : this;\nvar __self__ = (function () {\nfunction F() {\nthis.fetch = false;\nthis.DOMException = global.DOMException\n}\nF.prototype = global;\nreturn new F();\n})();\n(function(self) {\n\nvar irrelevant = (function (exports) {\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob:\n 'FileReader' in self &&\n 'Blob' in self &&\n (function() {\n try {\n new Blob();\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n };\n\n function isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ];\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n };\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name);\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value);\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift();\n return {done: value === undefined, value: value}\n }\n };\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n };\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {};\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value);\n }, this);\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1]);\n }, this);\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name]);\n }, this);\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name);\n value = normalizeValue(value);\n var oldValue = this.map[name];\n this.map[name] = oldValue ? oldValue + ', ' + value : value;\n };\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)];\n };\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name);\n return this.has(name) ? this.map[name] : null\n };\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n };\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value);\n };\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this);\n }\n }\n };\n\n Headers.prototype.keys = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push(name);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.values = function() {\n var items = [];\n this.forEach(function(value) {\n items.push(value);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.entries = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push([name, value]);\n });\n return iteratorFor(items)\n };\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries;\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true;\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result);\n };\n reader.onerror = function() {\n reject(reader.error);\n };\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsArrayBuffer(blob);\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsText(blob);\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf);\n var chars = new Array(view.length);\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i]);\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength);\n view.set(new Uint8Array(buf));\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false;\n\n this._initBody = function(body) {\n this._bodyInit = body;\n if (!body) {\n this._bodyText = '';\n } else if (typeof body === 'string') {\n this._bodyText = body;\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body;\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body;\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString();\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer);\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer]);\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body);\n } else {\n this._bodyText = body = Object.prototype.toString.call(body);\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8');\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type);\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n }\n };\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n };\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n };\n }\n\n this.text = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n };\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n };\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n };\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'];\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase();\n return methods.indexOf(upcased) > -1 ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {};\n var body = options.body;\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url;\n this.credentials = input.credentials;\n if (!options.headers) {\n this.headers = new Headers(input.headers);\n }\n this.method = input.method;\n this.mode = input.mode;\n this.signal = input.signal;\n if (!body && input._bodyInit != null) {\n body = input._bodyInit;\n input.bodyUsed = true;\n }\n } else {\n this.url = String(input);\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin';\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers);\n }\n this.method = normalizeMethod(options.method || this.method || 'GET');\n this.mode = options.mode || this.mode || null;\n this.signal = options.signal || this.signal;\n this.referrer = null;\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body);\n }\n\n Request.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n };\n\n function decode(body) {\n var form = new FormData();\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=');\n var name = split.shift().replace(/\\+/g, ' ');\n var value = split.join('=').replace(/\\+/g, ' ');\n form.append(decodeURIComponent(name), decodeURIComponent(value));\n }\n });\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers();\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ');\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':');\n var key = parts.shift().trim();\n if (key) {\n var value = parts.join(':').trim();\n headers.append(key, value);\n }\n });\n return headers\n }\n\n Body.call(Request.prototype);\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {};\n }\n\n this.type = 'default';\n this.status = options.status === undefined ? 200 : options.status;\n this.ok = this.status >= 200 && this.status < 300;\n this.statusText = 'statusText' in options ? options.statusText : 'OK';\n this.headers = new Headers(options.headers);\n this.url = options.url || '';\n this._initBody(bodyInit);\n }\n\n Body.call(Response.prototype);\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n };\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''});\n response.type = 'error';\n return response\n };\n\n var redirectStatuses = [301, 302, 303, 307, 308];\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n };\n\n exports.DOMException = self.DOMException;\n try {\n new exports.DOMException();\n } catch (err) {\n exports.DOMException = function(message, name) {\n this.message = message;\n this.name = name;\n var error = Error(message);\n this.stack = error.stack;\n };\n exports.DOMException.prototype = Object.create(Error.prototype);\n exports.DOMException.prototype.constructor = exports.DOMException;\n }\n\n function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init);\n\n if (request.signal && request.signal.aborted) {\n return reject(new exports.DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest();\n\n function abortXhr() {\n xhr.abort();\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n };\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');\n var body = 'response' in xhr ? xhr.response : xhr.responseText;\n resolve(new Response(body, options));\n };\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.onabort = function() {\n reject(new exports.DOMException('Aborted', 'AbortError'));\n };\n\n xhr.open(request.method, request.url, true);\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true;\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false;\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob';\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value);\n });\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr);\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr);\n }\n };\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);\n })\n }\n\n fetch.polyfill = true;\n\n if (!self.fetch) {\n self.fetch = fetch;\n self.Headers = Headers;\n self.Request = Request;\n self.Response = Response;\n }\n\n exports.Headers = Headers;\n exports.Request = Request;\n exports.Response = Response;\n exports.fetch = fetch;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n return exports;\n\n})({});\n})(__self__);\n__self__.fetch.ponyfill = true;\n// Remove \"polyfill\" property added by whatwg-fetch\ndelete __self__.fetch.polyfill;\n// Choose between native implementation (global) or custom implementation (__self__)\n// var ctx = global.fetch ? global : __self__;\nvar ctx = __self__; // this line disable service worker support temporarily\nexports = ctx.fetch // To enable: import fetch from 'cross-fetch'\nexports.default = ctx.fetch // For TypeScript consumers without esModuleInterop.\nexports.fetch = ctx.fetch // To enable: import {fetch} from 'cross-fetch'\nexports.Headers = ctx.Headers\nexports.Request = ctx.Request\nexports.Response = ctx.Response\nmodule.exports = exports\n","//\n// THIS FILE IS AUTOMATICALLY GENERATED! DO NOT EDIT BY HAND!\n//\n;\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n ? module.exports = factory()\n : typeof define === 'function' && define.amd\n ? define(factory) :\n // cf. https://github.com/dankogai/js-base64/issues/119\n (function () {\n // existing version for noConflict()\n var _Base64 = global.Base64;\n var gBase64 = factory();\n gBase64.noConflict = function () {\n global.Base64 = _Base64;\n return gBase64;\n };\n if (global.Meteor) { // Meteor.js\n Base64 = gBase64;\n }\n global.Base64 = gBase64;\n })();\n}((typeof self !== 'undefined' ? self\n : typeof window !== 'undefined' ? window\n : typeof global !== 'undefined' ? global\n : this), function () {\n 'use strict';\n /**\n * base64.ts\n *\n * Licensed under the BSD 3-Clause License.\n * http://opensource.org/licenses/BSD-3-Clause\n *\n * References:\n * http://en.wikipedia.org/wiki/Base64\n *\n * @author Dan Kogai (https://github.com/dankogai)\n */\n var version = '3.7.7';\n /**\n * @deprecated use lowercase `version`.\n */\n var VERSION = version;\n var _hasBuffer = typeof Buffer === 'function';\n var _TD = typeof TextDecoder === 'function' ? new TextDecoder() : undefined;\n var _TE = typeof TextEncoder === 'function' ? new TextEncoder() : undefined;\n var b64ch = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n var b64chs = Array.prototype.slice.call(b64ch);\n var b64tab = (function (a) {\n var tab = {};\n a.forEach(function (c, i) { return tab[c] = i; });\n return tab;\n })(b64chs);\n var b64re = /^(?:[A-Za-z\\d+\\/]{4})*?(?:[A-Za-z\\d+\\/]{2}(?:==)?|[A-Za-z\\d+\\/]{3}=?)?$/;\n var _fromCC = String.fromCharCode.bind(String);\n var _U8Afrom = typeof Uint8Array.from === 'function'\n ? Uint8Array.from.bind(Uint8Array)\n : function (it) { return new Uint8Array(Array.prototype.slice.call(it, 0)); };\n var _mkUriSafe = function (src) { return src\n .replace(/=/g, '').replace(/[+\\/]/g, function (m0) { return m0 == '+' ? '-' : '_'; }); };\n var _tidyB64 = function (s) { return s.replace(/[^A-Za-z0-9\\+\\/]/g, ''); };\n /**\n * polyfill version of `btoa`\n */\n var btoaPolyfill = function (bin) {\n // console.log('polyfilled');\n var u32, c0, c1, c2, asc = '';\n var pad = bin.length % 3;\n for (var i = 0; i < bin.length;) {\n if ((c0 = bin.charCodeAt(i++)) > 255 ||\n (c1 = bin.charCodeAt(i++)) > 255 ||\n (c2 = bin.charCodeAt(i++)) > 255)\n throw new TypeError('invalid character found');\n u32 = (c0 << 16) | (c1 << 8) | c2;\n asc += b64chs[u32 >> 18 & 63]\n + b64chs[u32 >> 12 & 63]\n + b64chs[u32 >> 6 & 63]\n + b64chs[u32 & 63];\n }\n return pad ? asc.slice(0, pad - 3) + \"===\".substring(pad) : asc;\n };\n /**\n * does what `window.btoa` of web browsers do.\n * @param {String} bin binary string\n * @returns {string} Base64-encoded string\n */\n var _btoa = typeof btoa === 'function' ? function (bin) { return btoa(bin); }\n : _hasBuffer ? function (bin) { return Buffer.from(bin, 'binary').toString('base64'); }\n : btoaPolyfill;\n var _fromUint8Array = _hasBuffer\n ? function (u8a) { return Buffer.from(u8a).toString('base64'); }\n : function (u8a) {\n // cf. https://stackoverflow.com/questions/12710001/how-to-convert-uint8-array-to-base64-encoded-string/12713326#12713326\n var maxargs = 0x1000;\n var strs = [];\n for (var i = 0, l = u8a.length; i < l; i += maxargs) {\n strs.push(_fromCC.apply(null, u8a.subarray(i, i + maxargs)));\n }\n return _btoa(strs.join(''));\n };\n /**\n * converts a Uint8Array to a Base64 string.\n * @param {boolean} [urlsafe] URL-and-filename-safe a la RFC4648 §5\n * @returns {string} Base64 string\n */\n var fromUint8Array = function (u8a, urlsafe) {\n if (urlsafe === void 0) { urlsafe = false; }\n return urlsafe ? _mkUriSafe(_fromUint8Array(u8a)) : _fromUint8Array(u8a);\n };\n // This trick is found broken https://github.com/dankogai/js-base64/issues/130\n // const utob = (src: string) => unescape(encodeURIComponent(src));\n // reverting good old fationed regexp\n var cb_utob = function (c) {\n if (c.length < 2) {\n var cc = c.charCodeAt(0);\n return cc < 0x80 ? c\n : cc < 0x800 ? (_fromCC(0xc0 | (cc >>> 6))\n + _fromCC(0x80 | (cc & 0x3f)))\n : (_fromCC(0xe0 | ((cc >>> 12) & 0x0f))\n + _fromCC(0x80 | ((cc >>> 6) & 0x3f))\n + _fromCC(0x80 | (cc & 0x3f)));\n }\n else {\n var cc = 0x10000\n + (c.charCodeAt(0) - 0xD800) * 0x400\n + (c.charCodeAt(1) - 0xDC00);\n return (_fromCC(0xf0 | ((cc >>> 18) & 0x07))\n + _fromCC(0x80 | ((cc >>> 12) & 0x3f))\n + _fromCC(0x80 | ((cc >>> 6) & 0x3f))\n + _fromCC(0x80 | (cc & 0x3f)));\n }\n };\n var re_utob = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFFF]|[^\\x00-\\x7F]/g;\n /**\n * @deprecated should have been internal use only.\n * @param {string} src UTF-8 string\n * @returns {string} UTF-16 string\n */\n var utob = function (u) { return u.replace(re_utob, cb_utob); };\n //\n var _encode = _hasBuffer\n ? function (s) { return Buffer.from(s, 'utf8').toString('base64'); }\n : _TE\n ? function (s) { return _fromUint8Array(_TE.encode(s)); }\n : function (s) { return _btoa(utob(s)); };\n /**\n * converts a UTF-8-encoded string to a Base64 string.\n * @param {boolean} [urlsafe] if `true` make the result URL-safe\n * @returns {string} Base64 string\n */\n var encode = function (src, urlsafe) {\n if (urlsafe === void 0) { urlsafe = false; }\n return urlsafe\n ? _mkUriSafe(_encode(src))\n : _encode(src);\n };\n /**\n * converts a UTF-8-encoded string to URL-safe Base64 RFC4648 §5.\n * @returns {string} Base64 string\n */\n var encodeURI = function (src) { return encode(src, true); };\n // This trick is found broken https://github.com/dankogai/js-base64/issues/130\n // const btou = (src: string) => decodeURIComponent(escape(src));\n // reverting good old fationed regexp\n var re_btou = /[\\xC0-\\xDF][\\x80-\\xBF]|[\\xE0-\\xEF][\\x80-\\xBF]{2}|[\\xF0-\\xF7][\\x80-\\xBF]{3}/g;\n var cb_btou = function (cccc) {\n switch (cccc.length) {\n case 4:\n var cp = ((0x07 & cccc.charCodeAt(0)) << 18)\n | ((0x3f & cccc.charCodeAt(1)) << 12)\n | ((0x3f & cccc.charCodeAt(2)) << 6)\n | (0x3f & cccc.charCodeAt(3)), offset = cp - 0x10000;\n return (_fromCC((offset >>> 10) + 0xD800)\n + _fromCC((offset & 0x3FF) + 0xDC00));\n case 3:\n return _fromCC(((0x0f & cccc.charCodeAt(0)) << 12)\n | ((0x3f & cccc.charCodeAt(1)) << 6)\n | (0x3f & cccc.charCodeAt(2)));\n default:\n return _fromCC(((0x1f & cccc.charCodeAt(0)) << 6)\n | (0x3f & cccc.charCodeAt(1)));\n }\n };\n /**\n * @deprecated should have been internal use only.\n * @param {string} src UTF-16 string\n * @returns {string} UTF-8 string\n */\n var btou = function (b) { return b.replace(re_btou, cb_btou); };\n /**\n * polyfill version of `atob`\n */\n var atobPolyfill = function (asc) {\n // console.log('polyfilled');\n asc = asc.replace(/\\s+/g, '');\n if (!b64re.test(asc))\n throw new TypeError('malformed base64.');\n asc += '=='.slice(2 - (asc.length & 3));\n var u24, bin = '', r1, r2;\n for (var i = 0; i < asc.length;) {\n u24 = b64tab[asc.charAt(i++)] << 18\n | b64tab[asc.charAt(i++)] << 12\n | (r1 = b64tab[asc.charAt(i++)]) << 6\n | (r2 = b64tab[asc.charAt(i++)]);\n bin += r1 === 64 ? _fromCC(u24 >> 16 & 255)\n : r2 === 64 ? _fromCC(u24 >> 16 & 255, u24 >> 8 & 255)\n : _fromCC(u24 >> 16 & 255, u24 >> 8 & 255, u24 & 255);\n }\n return bin;\n };\n /**\n * does what `window.atob` of web browsers do.\n * @param {String} asc Base64-encoded string\n * @returns {string} binary string\n */\n var _atob = typeof atob === 'function' ? function (asc) { return atob(_tidyB64(asc)); }\n : _hasBuffer ? function (asc) { return Buffer.from(asc, 'base64').toString('binary'); }\n : atobPolyfill;\n //\n var _toUint8Array = _hasBuffer\n ? function (a) { return _U8Afrom(Buffer.from(a, 'base64')); }\n : function (a) { return _U8Afrom(_atob(a).split('').map(function (c) { return c.charCodeAt(0); })); };\n /**\n * converts a Base64 string to a Uint8Array.\n */\n var toUint8Array = function (a) { return _toUint8Array(_unURI(a)); };\n //\n var _decode = _hasBuffer\n ? function (a) { return Buffer.from(a, 'base64').toString('utf8'); }\n : _TD\n ? function (a) { return _TD.decode(_toUint8Array(a)); }\n : function (a) { return btou(_atob(a)); };\n var _unURI = function (a) { return _tidyB64(a.replace(/[-_]/g, function (m0) { return m0 == '-' ? '+' : '/'; })); };\n /**\n * converts a Base64 string to a UTF-8 string.\n * @param {String} src Base64 string. Both normal and URL-safe are supported\n * @returns {string} UTF-8 string\n */\n var decode = function (src) { return _decode(_unURI(src)); };\n /**\n * check if a value is a valid Base64 string\n * @param {String} src a value to check\n */\n var isValid = function (src) {\n if (typeof src !== 'string')\n return false;\n var s = src.replace(/\\s+/g, '').replace(/={0,2}$/, '');\n return !/[^\\s0-9a-zA-Z\\+/]/.test(s) || !/[^\\s0-9a-zA-Z\\-_]/.test(s);\n };\n //\n var _noEnum = function (v) {\n return {\n value: v, enumerable: false, writable: true, configurable: true\n };\n };\n /**\n * extend String.prototype with relevant methods\n */\n var extendString = function () {\n var _add = function (name, body) { return Object.defineProperty(String.prototype, name, _noEnum(body)); };\n _add('fromBase64', function () { return decode(this); });\n _add('toBase64', function (urlsafe) { return encode(this, urlsafe); });\n _add('toBase64URI', function () { return encode(this, true); });\n _add('toBase64URL', function () { return encode(this, true); });\n _add('toUint8Array', function () { return toUint8Array(this); });\n };\n /**\n * extend Uint8Array.prototype with relevant methods\n */\n var extendUint8Array = function () {\n var _add = function (name, body) { return Object.defineProperty(Uint8Array.prototype, name, _noEnum(body)); };\n _add('toBase64', function (urlsafe) { return fromUint8Array(this, urlsafe); });\n _add('toBase64URI', function () { return fromUint8Array(this, true); });\n _add('toBase64URL', function () { return fromUint8Array(this, true); });\n };\n /**\n * extend Builtin prototypes with relevant methods\n */\n var extendBuiltins = function () {\n extendString();\n extendUint8Array();\n };\n var gBase64 = {\n version: version,\n VERSION: VERSION,\n atob: _atob,\n atobPolyfill: atobPolyfill,\n btoa: _btoa,\n btoaPolyfill: btoaPolyfill,\n fromBase64: decode,\n toBase64: encode,\n encode: encode,\n encodeURI: encodeURI,\n encodeURL: encodeURI,\n utob: utob,\n btou: btou,\n decode: decode,\n isValid: isValid,\n fromUint8Array: fromUint8Array,\n toUint8Array: toUint8Array,\n extendString: extendString,\n extendUint8Array: extendUint8Array,\n extendBuiltins: extendBuiltins\n };\n //\n // export Base64 to the namespace\n //\n // ES5 is yet to have Object.assign() that may make transpilers unhappy.\n // gBase64.Base64 = Object.assign({}, gBase64);\n gBase64.Base64 = {};\n Object.keys(gBase64).forEach(function (k) { return gBase64.Base64[k] = gBase64[k]; });\n return gBase64;\n}));\n","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function(val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isFinite(val)) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'weeks':\n case 'week':\n case 'w':\n return n * w;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (msAbs >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (msAbs >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (msAbs >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return plural(ms, msAbs, d, 'day');\n }\n if (msAbs >= h) {\n return plural(ms, msAbs, h, 'hour');\n }\n if (msAbs >= m) {\n return plural(ms, msAbs, m, 'minute');\n }\n if (msAbs >= s) {\n return plural(ms, msAbs, s, 'second');\n }\n return ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, msAbs, n, name) {\n var isPlural = msAbs >= n * 1.5;\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\n","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nmodule.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\nmodule.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function asyncGeneratorStep(n, t, e, r, o, a, c) {\n try {\n var i = n[a](c),\n u = i.value;\n } catch (n) {\n return void e(n);\n }\n i.done ? t(u) : Promise.resolve(u).then(r, o);\n}\nfunction _asyncToGenerator(n) {\n return function () {\n var t = this,\n e = arguments;\n return new Promise(function (r, o) {\n var a = n.apply(t, e);\n function _next(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n);\n }\n function _throw(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n);\n }\n _next(void 0);\n });\n };\n}\nmodule.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var isNativeReflectConstruct = require(\"./isNativeReflectConstruct.js\");\nvar setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\n}\nmodule.exports = _construct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _getPrototypeOf(t) {\n return module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _getPrototypeOf(t);\n}\nmodule.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _inherits(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n t.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: t,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(t, \"prototype\", {\n writable: !1\n }), e && setPrototypeOf(t, e);\n}\nmodule.exports = _inherits, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _interopRequireDefault(e) {\n return e && e.__esModule ? e : {\n \"default\": e\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _isNativeFunction(t) {\n try {\n return -1 !== Function.toString.call(t).indexOf(\"[native code]\");\n } catch (n) {\n return \"function\" == typeof t;\n }\n}\nmodule.exports = _isNativeFunction, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (module.exports = _isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports)();\n}\nmodule.exports = _isNativeReflectConstruct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose.js\");\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var s = Object.getOwnPropertySymbols(e);\n for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nmodule.exports = _objectWithoutProperties, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (e.includes(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\nfunction _possibleConstructorReturn(t, e) {\n if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e;\n if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return assertThisInitialized(t);\n}\nmodule.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return e;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var t,\n e = {},\n r = Object.prototype,\n n = r.hasOwnProperty,\n o = Object.defineProperty || function (t, e, r) {\n t[e] = r.value;\n },\n i = \"function\" == typeof Symbol ? Symbol : {},\n a = i.iterator || \"@@iterator\",\n c = i.asyncIterator || \"@@asyncIterator\",\n u = i.toStringTag || \"@@toStringTag\";\n function define(t, e, r) {\n return Object.defineProperty(t, e, {\n value: r,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), t[e];\n }\n try {\n define({}, \"\");\n } catch (t) {\n define = function define(t, e, r) {\n return t[e] = r;\n };\n }\n function wrap(t, e, r, n) {\n var i = e && e.prototype instanceof Generator ? e : Generator,\n a = Object.create(i.prototype),\n c = new Context(n || []);\n return o(a, \"_invoke\", {\n value: makeInvokeMethod(t, r, c)\n }), a;\n }\n function tryCatch(t, e, r) {\n try {\n return {\n type: \"normal\",\n arg: t.call(e, r)\n };\n } catch (t) {\n return {\n type: \"throw\",\n arg: t\n };\n }\n }\n e.wrap = wrap;\n var h = \"suspendedStart\",\n l = \"suspendedYield\",\n f = \"executing\",\n s = \"completed\",\n y = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var p = {};\n define(p, a, function () {\n return this;\n });\n var d = Object.getPrototypeOf,\n v = d && d(d(values([])));\n v && v !== r && n.call(v, a) && (p = v);\n var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);\n function defineIteratorMethods(t) {\n [\"next\", \"throw\", \"return\"].forEach(function (e) {\n define(t, e, function (t) {\n return this._invoke(e, t);\n });\n });\n }\n function AsyncIterator(t, e) {\n function invoke(r, o, i, a) {\n var c = tryCatch(t[r], t, o);\n if (\"throw\" !== c.type) {\n var u = c.arg,\n h = u.value;\n return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) {\n invoke(\"next\", t, i, a);\n }, function (t) {\n invoke(\"throw\", t, i, a);\n }) : e.resolve(h).then(function (t) {\n u.value = t, i(u);\n }, function (t) {\n return invoke(\"throw\", t, i, a);\n });\n }\n a(c.arg);\n }\n var r;\n o(this, \"_invoke\", {\n value: function value(t, n) {\n function callInvokeWithMethodAndArg() {\n return new e(function (e, r) {\n invoke(t, n, e, r);\n });\n }\n return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(e, r, n) {\n var o = h;\n return function (i, a) {\n if (o === f) throw Error(\"Generator is already running\");\n if (o === s) {\n if (\"throw\" === i) throw a;\n return {\n value: t,\n done: !0\n };\n }\n for (n.method = i, n.arg = a;;) {\n var c = n.delegate;\n if (c) {\n var u = maybeInvokeDelegate(c, n);\n if (u) {\n if (u === y) continue;\n return u;\n }\n }\n if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) {\n if (o === h) throw o = s, n.arg;\n n.dispatchException(n.arg);\n } else \"return\" === n.method && n.abrupt(\"return\", n.arg);\n o = f;\n var p = tryCatch(e, r, n);\n if (\"normal\" === p.type) {\n if (o = n.done ? s : l, p.arg === y) continue;\n return {\n value: p.arg,\n done: n.done\n };\n }\n \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg);\n }\n };\n }\n function maybeInvokeDelegate(e, r) {\n var n = r.method,\n o = e.iterator[n];\n if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y;\n var i = tryCatch(o, e.iterator, r.arg);\n if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y;\n var a = i.arg;\n return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y);\n }\n function pushTryEntry(t) {\n var e = {\n tryLoc: t[0]\n };\n 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);\n }\n function resetTryEntry(t) {\n var e = t.completion || {};\n e.type = \"normal\", delete e.arg, t.completion = e;\n }\n function Context(t) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], t.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(e) {\n if (e || \"\" === e) {\n var r = e[a];\n if (r) return r.call(e);\n if (\"function\" == typeof e.next) return e;\n if (!isNaN(e.length)) {\n var o = -1,\n i = function next() {\n for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;\n return next.value = t, next.done = !0, next;\n };\n return i.next = i;\n }\n }\n throw new TypeError(_typeof(e) + \" is not iterable\");\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), o(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) {\n var e = \"function\" == typeof t && t.constructor;\n return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name));\n }, e.mark = function (t) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t;\n }, e.awrap = function (t) {\n return {\n __await: t\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {\n return this;\n }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {\n void 0 === i && (i = Promise);\n var a = new AsyncIterator(wrap(t, r, n, o), i);\n return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {\n return t.done ? t.value : a.next();\n });\n }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () {\n return this;\n }), define(g, \"toString\", function () {\n return \"[object Generator]\";\n }), e.keys = function (t) {\n var e = Object(t),\n r = [];\n for (var n in e) r.push(n);\n return r.reverse(), function next() {\n for (; r.length;) {\n var t = r.pop();\n if (t in e) return next.value = t, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, e.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(e) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);\n },\n stop: function stop() {\n this.done = !0;\n var t = this.tryEntries[0].completion;\n if (\"throw\" === t.type) throw t.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(e) {\n if (this.done) throw e;\n var r = this;\n function handle(n, o) {\n return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o;\n }\n for (var o = this.tryEntries.length - 1; o >= 0; --o) {\n var i = this.tryEntries[o],\n a = i.completion;\n if (\"root\" === i.tryLoc) return handle(\"end\");\n if (i.tryLoc <= this.prev) {\n var c = n.call(i, \"catchLoc\"),\n u = n.call(i, \"finallyLoc\");\n if (c && u) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n } else if (c) {\n if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);\n } else {\n if (!u) throw Error(\"try statement without catch or finally\");\n if (this.prev < i.finallyLoc) return handle(i.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(t, e) {\n for (var r = this.tryEntries.length - 1; r >= 0; --r) {\n var o = this.tryEntries[r];\n if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) {\n var i = o;\n break;\n }\n }\n i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);\n var a = i ? i.completion : {};\n return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a);\n },\n complete: function complete(t, e) {\n if (\"throw\" === t.type) throw t.arg;\n return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y;\n },\n finish: function finish(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;\n }\n },\n \"catch\": function _catch(t) {\n for (var e = this.tryEntries.length - 1; e >= 0; --e) {\n var r = this.tryEntries[e];\n if (r.tryLoc === t) {\n var n = r.completion;\n if (\"throw\" === n.type) {\n var o = n.arg;\n resetTryEntry(r);\n }\n return o;\n }\n }\n throw Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(e, r, n) {\n return this.delegate = {\n iterator: values(e),\n resultName: r,\n nextLoc: n\n }, \"next\" === this.method && (this.arg = t), y;\n }\n }, e;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(t, e) {\n return module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _setPrototypeOf(t, e);\n}\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\nvar iterableToArray = require(\"./iterableToArray.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\nfunction _toConsumableArray(r) {\n return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nmodule.exports = _toConsumableArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nmodule.exports = toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nmodule.exports = toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var getPrototypeOf = require(\"./getPrototypeOf.js\");\nvar setPrototypeOf = require(\"./setPrototypeOf.js\");\nvar isNativeFunction = require(\"./isNativeFunction.js\");\nvar construct = require(\"./construct.js\");\nfunction _wrapNativeSuper(t) {\n var r = \"function\" == typeof Map ? new Map() : void 0;\n return module.exports = _wrapNativeSuper = function _wrapNativeSuper(t) {\n if (null === t || !isNativeFunction(t)) return t;\n if (\"function\" != typeof t) throw new TypeError(\"Super expression must either be null or a function\");\n if (void 0 !== r) {\n if (r.has(t)) return r.get(t);\n r.set(t, Wrapper);\n }\n function Wrapper() {\n return construct(t, arguments, getPrototypeOf(this).constructor);\n }\n return Wrapper.prototype = Object.create(t.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: !1,\n writable: !0,\n configurable: !0\n }\n }), setPrototypeOf(Wrapper, t);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _wrapNativeSuper(t);\n}\nmodule.exports = _wrapNativeSuper, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","// TODO(Babel 8): Remove this file.\n\nvar runtime = require(\"../helpers/regeneratorRuntime\")();\nmodule.exports = runtime;\n\n// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n if (isConstructor(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a constructor');\n};\n","'use strict';\nvar isPossiblePrototype = require('../internals/is-possible-prototype');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument) {\n if (isPossiblePrototype(argument)) return argument;\n throw new $TypeError(\"Can't set \" + $String(argument) + ' as a prototype');\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] === undefined) {\n defineProperty(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.es/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n","'use strict';\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw new $TypeError('Incorrect invocation');\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw new $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\n// eslint-disable-next-line es/no-typed-arrays -- safe\nmodule.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined';\n","'use strict';\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-basic-detection');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar classof = require('../internals/classof');\nvar tryToString = require('../internals/try-to-string');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar uid = require('../internals/uid');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar Int8Array = globalThis.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar Uint8ClampedArray = globalThis.Uint8ClampedArray;\nvar Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;\nvar TypedArray = Int8Array && getPrototypeOf(Int8Array);\nvar TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);\nvar ObjectPrototype = Object.prototype;\nvar TypeError = globalThis.TypeError;\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');\nvar TYPED_ARRAY_CONSTRUCTOR = 'TypedArrayConstructor';\n// Fixing native typed arrays in Opera Presto crashes the browser, see #595\nvar NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(globalThis.opera) !== 'Opera';\nvar TYPED_ARRAY_TAG_REQUIRED = false;\nvar NAME, Constructor, Prototype;\n\nvar TypedArrayConstructorsList = {\n Int8Array: 1,\n Uint8Array: 1,\n Uint8ClampedArray: 1,\n Int16Array: 2,\n Uint16Array: 2,\n Int32Array: 4,\n Uint32Array: 4,\n Float32Array: 4,\n Float64Array: 8\n};\n\nvar BigIntArrayConstructorsList = {\n BigInt64Array: 8,\n BigUint64Array: 8\n};\n\nvar isView = function isView(it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return klass === 'DataView'\n || hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar getTypedArrayConstructor = function (it) {\n var proto = getPrototypeOf(it);\n if (!isObject(proto)) return;\n var state = getInternalState(proto);\n return (state && hasOwn(state, TYPED_ARRAY_CONSTRUCTOR)) ? state[TYPED_ARRAY_CONSTRUCTOR] : getTypedArrayConstructor(proto);\n};\n\nvar isTypedArray = function (it) {\n if (!isObject(it)) return false;\n var klass = classof(it);\n return hasOwn(TypedArrayConstructorsList, klass)\n || hasOwn(BigIntArrayConstructorsList, klass);\n};\n\nvar aTypedArray = function (it) {\n if (isTypedArray(it)) return it;\n throw new TypeError('Target is not a typed array');\n};\n\nvar aTypedArrayConstructor = function (C) {\n if (isCallable(C) && (!setPrototypeOf || isPrototypeOf(TypedArray, C))) return C;\n throw new TypeError(tryToString(C) + ' is not a typed array constructor');\n};\n\nvar exportTypedArrayMethod = function (KEY, property, forced, options) {\n if (!DESCRIPTORS) return;\n if (forced) for (var ARRAY in TypedArrayConstructorsList) {\n var TypedArrayConstructor = globalThis[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor.prototype, KEY)) try {\n delete TypedArrayConstructor.prototype[KEY];\n } catch (error) {\n // old WebKit bug - some methods are non-configurable\n try {\n TypedArrayConstructor.prototype[KEY] = property;\n } catch (error2) { /* empty */ }\n }\n }\n if (!TypedArrayPrototype[KEY] || forced) {\n defineBuiltIn(TypedArrayPrototype, KEY, forced ? property\n : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property, options);\n }\n};\n\nvar exportTypedArrayStaticMethod = function (KEY, property, forced) {\n var ARRAY, TypedArrayConstructor;\n if (!DESCRIPTORS) return;\n if (setPrototypeOf) {\n if (forced) for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = globalThis[ARRAY];\n if (TypedArrayConstructor && hasOwn(TypedArrayConstructor, KEY)) try {\n delete TypedArrayConstructor[KEY];\n } catch (error) { /* empty */ }\n }\n if (!TypedArray[KEY] || forced) {\n // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable\n try {\n return defineBuiltIn(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property);\n } catch (error) { /* empty */ }\n } else return;\n }\n for (ARRAY in TypedArrayConstructorsList) {\n TypedArrayConstructor = globalThis[ARRAY];\n if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {\n defineBuiltIn(TypedArrayConstructor, KEY, property);\n }\n }\n};\n\nfor (NAME in TypedArrayConstructorsList) {\n Constructor = globalThis[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;\n else NATIVE_ARRAY_BUFFER_VIEWS = false;\n}\n\nfor (NAME in BigIntArrayConstructorsList) {\n Constructor = globalThis[NAME];\n Prototype = Constructor && Constructor.prototype;\n if (Prototype) enforceInternalState(Prototype)[TYPED_ARRAY_CONSTRUCTOR] = Constructor;\n}\n\n// WebKit bug - typed arrays constructors prototype is Object.prototype\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !isCallable(TypedArray) || TypedArray === Function.prototype) {\n // eslint-disable-next-line no-shadow -- safe\n TypedArray = function TypedArray() {\n throw new TypeError('Incorrect invocation');\n };\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (globalThis[NAME]) setPrototypeOf(globalThis[NAME], TypedArray);\n }\n}\n\nif (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {\n TypedArrayPrototype = TypedArray.prototype;\n if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {\n if (globalThis[NAME]) setPrototypeOf(globalThis[NAME].prototype, TypedArrayPrototype);\n }\n}\n\n// WebKit bug - one more object in Uint8ClampedArray prototype chain\nif (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {\n setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);\n}\n\nif (DESCRIPTORS && !hasOwn(TypedArrayPrototype, TO_STRING_TAG)) {\n TYPED_ARRAY_TAG_REQUIRED = true;\n defineBuiltInAccessor(TypedArrayPrototype, TO_STRING_TAG, {\n configurable: true,\n get: function () {\n return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;\n }\n });\n for (NAME in TypedArrayConstructorsList) if (globalThis[NAME]) {\n createNonEnumerableProperty(globalThis[NAME], TYPED_ARRAY_TAG, NAME);\n }\n}\n\nmodule.exports = {\n NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,\n TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQUIRED && TYPED_ARRAY_TAG,\n aTypedArray: aTypedArray,\n aTypedArrayConstructor: aTypedArrayConstructor,\n exportTypedArrayMethod: exportTypedArrayMethod,\n exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,\n getTypedArrayConstructor: getTypedArrayConstructor,\n isView: isView,\n isTypedArray: isTypedArray,\n TypedArray: TypedArray,\n TypedArrayPrototype: TypedArrayPrototype\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_ARRAY_BUFFER = require('../internals/array-buffer-basic-detection');\nvar FunctionName = require('../internals/function-name');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar fails = require('../internals/fails');\nvar anInstance = require('../internals/an-instance');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar fround = require('../internals/math-fround');\nvar IEEE754 = require('../internals/ieee754');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar arrayFill = require('../internals/array-fill');\nvar arraySlice = require('../internals/array-slice');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length';\nvar WRONG_INDEX = 'Wrong index';\nvar getInternalArrayBufferState = InternalStateModule.getterFor(ARRAY_BUFFER);\nvar getInternalDataViewState = InternalStateModule.getterFor(DATA_VIEW);\nvar setInternalState = InternalStateModule.set;\nvar NativeArrayBuffer = globalThis[ARRAY_BUFFER];\nvar $ArrayBuffer = NativeArrayBuffer;\nvar ArrayBufferPrototype = $ArrayBuffer && $ArrayBuffer[PROTOTYPE];\nvar $DataView = globalThis[DATA_VIEW];\nvar DataViewPrototype = $DataView && $DataView[PROTOTYPE];\nvar ObjectPrototype = Object.prototype;\nvar Array = globalThis.Array;\nvar RangeError = globalThis.RangeError;\nvar fill = uncurryThis(arrayFill);\nvar reverse = uncurryThis([].reverse);\n\nvar packIEEE754 = IEEE754.pack;\nvar unpackIEEE754 = IEEE754.unpack;\n\nvar packInt8 = function (number) {\n return [number & 0xFF];\n};\n\nvar packInt16 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF];\n};\n\nvar packInt32 = function (number) {\n return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF];\n};\n\nvar unpackInt32 = function (buffer) {\n return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0];\n};\n\nvar packFloat32 = function (number) {\n return packIEEE754(fround(number), 23, 4);\n};\n\nvar packFloat64 = function (number) {\n return packIEEE754(number, 52, 8);\n};\n\nvar addGetter = function (Constructor, key, getInternalState) {\n defineBuiltInAccessor(Constructor[PROTOTYPE], key, {\n configurable: true,\n get: function () {\n return getInternalState(this)[key];\n }\n });\n};\n\nvar get = function (view, count, index, isLittleEndian) {\n var store = getInternalDataViewState(view);\n var intIndex = toIndex(index);\n var boolIsLittleEndian = !!isLittleEndian;\n if (intIndex + count > store.byteLength) throw new RangeError(WRONG_INDEX);\n var bytes = store.bytes;\n var start = intIndex + store.byteOffset;\n var pack = arraySlice(bytes, start, start + count);\n return boolIsLittleEndian ? pack : reverse(pack);\n};\n\nvar set = function (view, count, index, conversion, value, isLittleEndian) {\n var store = getInternalDataViewState(view);\n var intIndex = toIndex(index);\n var pack = conversion(+value);\n var boolIsLittleEndian = !!isLittleEndian;\n if (intIndex + count > store.byteLength) throw new RangeError(WRONG_INDEX);\n var bytes = store.bytes;\n var start = intIndex + store.byteOffset;\n for (var i = 0; i < count; i++) bytes[start + i] = pack[boolIsLittleEndian ? i : count - i - 1];\n};\n\nif (!NATIVE_ARRAY_BUFFER) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, ArrayBufferPrototype);\n var byteLength = toIndex(length);\n setInternalState(this, {\n type: ARRAY_BUFFER,\n bytes: fill(Array(byteLength), 0),\n byteLength: byteLength\n });\n if (!DESCRIPTORS) {\n this.byteLength = byteLength;\n this.detached = false;\n }\n };\n\n ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE];\n\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, DataViewPrototype);\n anInstance(buffer, ArrayBufferPrototype);\n var bufferState = getInternalArrayBufferState(buffer);\n var bufferLength = bufferState.byteLength;\n var offset = toIntegerOrInfinity(byteOffset);\n if (offset < 0 || offset > bufferLength) throw new RangeError('Wrong offset');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw new RangeError(WRONG_LENGTH);\n setInternalState(this, {\n type: DATA_VIEW,\n buffer: buffer,\n byteLength: byteLength,\n byteOffset: offset,\n bytes: bufferState.bytes\n });\n if (!DESCRIPTORS) {\n this.buffer = buffer;\n this.byteLength = byteLength;\n this.byteOffset = offset;\n }\n };\n\n DataViewPrototype = $DataView[PROTOTYPE];\n\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, 'byteLength', getInternalArrayBufferState);\n addGetter($DataView, 'buffer', getInternalDataViewState);\n addGetter($DataView, 'byteLength', getInternalDataViewState);\n addGetter($DataView, 'byteOffset', getInternalDataViewState);\n }\n\n defineBuiltIns(DataViewPrototype, {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : false);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : false);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : false));\n },\n getUint32: function getUint32(byteOffset /* , littleEndian */) {\n return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : false)) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : false), 23);\n },\n getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : false), 52);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packInt8, value);\n },\n setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : false);\n },\n setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : false);\n },\n setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : false);\n },\n setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : false);\n },\n setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : false);\n },\n setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n set(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : false);\n }\n });\n} else {\n var INCORRECT_ARRAY_BUFFER_NAME = PROPER_FUNCTION_NAME && NativeArrayBuffer.name !== ARRAY_BUFFER;\n /* eslint-disable no-new, sonar/inconsistent-function-call -- required for testing */\n if (!fails(function () {\n NativeArrayBuffer(1);\n }) || !fails(function () {\n new NativeArrayBuffer(-1);\n }) || fails(function () {\n new NativeArrayBuffer();\n new NativeArrayBuffer(1.5);\n new NativeArrayBuffer(NaN);\n return NativeArrayBuffer.length !== 1 || INCORRECT_ARRAY_BUFFER_NAME && !CONFIGURABLE_FUNCTION_NAME;\n })) {\n /* eslint-enable no-new, sonar/inconsistent-function-call -- required for testing */\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, ArrayBufferPrototype);\n return inheritIfRequired(new NativeArrayBuffer(toIndex(length)), this, $ArrayBuffer);\n };\n\n $ArrayBuffer[PROTOTYPE] = ArrayBufferPrototype;\n\n ArrayBufferPrototype.constructor = $ArrayBuffer;\n\n copyConstructorProperties($ArrayBuffer, NativeArrayBuffer);\n } else if (INCORRECT_ARRAY_BUFFER_NAME && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(NativeArrayBuffer, 'name', ARRAY_BUFFER);\n }\n\n // WebKit bug - the same parent prototype for typed arrays and data view\n if (setPrototypeOf && getPrototypeOf(DataViewPrototype) !== ObjectPrototype) {\n setPrototypeOf(DataViewPrototype, ObjectPrototype);\n }\n\n // iOS Safari 7.x bug\n var testView = new $DataView(new $ArrayBuffer(2));\n var $setInt8 = uncurryThis(DataViewPrototype.setInt8);\n testView.setInt8(0, 2147483648);\n testView.setInt8(1, 2147483649);\n if (testView.getInt8(0) || !testView.getInt8(1)) defineBuiltIns(DataViewPrototype, {\n setInt8: function setInt8(byteOffset, value) {\n $setInt8(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n $setInt8(this, byteOffset, value << 24 >> 24);\n }\n }, { unsafe: true });\n}\n\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\n\nmodule.exports = {\n ArrayBuffer: $ArrayBuffer,\n DataView: $DataView\n};\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar deletePropertyOrThrow = require('../internals/delete-property-or-throw');\n\nvar min = Math.min;\n\n// `Array.prototype.copyWithin` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.copywithin\n// eslint-disable-next-line es/no-array-prototype-copywithin -- safe\nmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var to = toAbsoluteIndex(target, len);\n var from = toAbsoluteIndex(start, len);\n var end = arguments.length > 2 ? arguments[2] : undefined;\n var count = min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n var inc = 1;\n if (from < to && to < from + count) {\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count-- > 0) {\n if (from in O) O[to] = O[from];\n else deletePropertyOrThrow(O, to);\n to += inc;\n from += inc;\n } return O;\n};\n","'use strict';\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.fill` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.fill\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = lengthOfArrayLike(O);\n var argumentsLength = arguments.length;\n var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);\n var end = argumentsLength > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","'use strict';\nvar $forEach = require('../internals/array-iteration').forEach;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar STRICT_METHOD = arrayMethodIsStrict('forEach');\n\n// `Array.prototype.forEach` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.foreach\nmodule.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {\n return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n// eslint-disable-next-line es/no-array-prototype-foreach -- safe\n} : [].forEach;\n","'use strict';\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\nmodule.exports = function (Constructor, list, $length) {\n var index = 0;\n var length = arguments.length > 2 ? $length : lengthOfArrayLike(list);\n var result = new Constructor(length);\n while (length > index) result[index] = list[index++];\n return result;\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar toObject = require('../internals/to-object');\nvar callWithSafeIterationClosing = require('../internals/call-with-safe-iteration-closing');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar isConstructor = require('../internals/is-constructor');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $Array = Array;\n\n// `Array.from` method implementation\n// https://tc39.es/ecma262/#sec-array.from\nmodule.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var IS_CONSTRUCTOR = isConstructor(this);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined);\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n // if the target is not iterable or it's an array with the default iterator - use a simple case\n if (iteratorMethod && !(this === $Array && isArrayIteratorMethod(iteratorMethod))) {\n result = IS_CONSTRUCTOR ? new this() : [];\n iterator = getIterator(O, iteratorMethod);\n next = iterator.next;\n for (;!(step = call(next, iterator)).done; index++) {\n value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;\n createProperty(result, index, value);\n }\n } else {\n length = lengthOfArrayLike(O);\n result = IS_CONSTRUCTOR ? new this(length) : $Array(length);\n for (;length > index; index++) {\n value = mapping ? mapfn(O[index], index) : O[index];\n createProperty(result, index, value);\n }\n }\n result.length = index;\n return result;\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n if (length === 0) return !IS_INCLUDES && -1;\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el !== el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value !== value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = uncurryThis([].push);\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE === 1;\n var IS_FILTER = TYPE === 2;\n var IS_SOME = TYPE === 3;\n var IS_EVERY = TYPE === 4;\n var IS_FIND_INDEX = TYPE === 6;\n var IS_FILTER_REJECT = TYPE === 7;\n var NO_HOLES = TYPE === 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var length = lengthOfArrayLike(self);\n var boundFunction = bind(callbackfn, that);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push(target, value); // filterReject\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterReject` method\n // https://github.com/tc39/proposal-array-filtering\n filterReject: createMethod(7)\n};\n","'use strict';\n/* eslint-disable es/no-array-prototype-lastindexof -- safe */\nvar apply = require('../internals/function-apply');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar min = Math.min;\nvar $lastIndexOf = [].lastIndexOf;\nvar NEGATIVE_ZERO = !!$lastIndexOf && 1 / [1].lastIndexOf(1, -0) < 0;\nvar STRICT_METHOD = arrayMethodIsStrict('lastIndexOf');\nvar FORCED = NEGATIVE_ZERO || !STRICT_METHOD;\n\n// `Array.prototype.lastIndexOf` method implementation\n// https://tc39.es/ecma262/#sec-array.prototype.lastindexof\nmodule.exports = FORCED ? function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {\n // convert -0 to +0\n if (NEGATIVE_ZERO) return apply($lastIndexOf, this, arguments) || 0;\n var O = toIndexedObject(this);\n var length = lengthOfArrayLike(O);\n if (length === 0) return -1;\n var index = length - 1;\n if (arguments.length > 1) index = min(index, toIntegerOrInfinity(arguments[1]));\n if (index < 0) index = length + index;\n for (;index >= 0; index--) if (index in O && O[index] === searchElement) return index || 0;\n return -1;\n} : $lastIndexOf;\n","'use strict';\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/environment-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call -- required for testing\n method.call(null, argument || function () { return 1; }, 1);\n });\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\nvar $TypeError = TypeError;\n\nvar REDUCE_EMPTY = 'Reduce of empty array with no initial value';\n\n// `Array.prototype.{ reduce, reduceRight }` methods implementation\nvar createMethod = function (IS_RIGHT) {\n return function (that, callbackfn, argumentsLength, memo) {\n var O = toObject(that);\n var self = IndexedObject(O);\n var length = lengthOfArrayLike(O);\n aCallable(callbackfn);\n if (length === 0 && argumentsLength < 2) throw new $TypeError(REDUCE_EMPTY);\n var index = IS_RIGHT ? length - 1 : 0;\n var i = IS_RIGHT ? -1 : 1;\n if (argumentsLength < 2) while (true) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (IS_RIGHT ? index < 0 : length <= index) {\n throw new $TypeError(REDUCE_EMPTY);\n }\n }\n for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.reduce` method\n // https://tc39.es/ecma262/#sec-array.prototype.reduce\n left: createMethod(false),\n // `Array.prototype.reduceRight` method\n // https://tc39.es/ecma262/#sec-array.prototype.reduceright\n right: createMethod(true)\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar isArray = require('../internals/is-array');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Safari < 13 does not throw an error in this case\nvar SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function () {\n // makes no sense without proper strict mode support\n if (this !== undefined) return true;\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).length = 1;\n } catch (error) {\n return error instanceof TypeError;\n }\n}();\n\nmodule.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) {\n if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) {\n throw new $TypeError('Cannot set read only .length');\n } return O.length = length;\n} : function (O, length) {\n return O.length = length;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","'use strict';\nvar arraySlice = require('../internals/array-slice');\n\nvar floor = Math.floor;\n\nvar sort = function (array, comparefn) {\n var length = array.length;\n\n if (length < 8) {\n // insertion sort\n var i = 1;\n var element, j;\n\n while (i < length) {\n j = i;\n element = array[i];\n while (j && comparefn(array[j - 1], element) > 0) {\n array[j] = array[--j];\n }\n if (j !== i++) array[j] = element;\n }\n } else {\n // merge sort\n var middle = floor(length / 2);\n var left = sort(arraySlice(array, 0, middle), comparefn);\n var right = sort(arraySlice(array, middle), comparefn);\n var llength = left.length;\n var rlength = right.length;\n var lindex = 0;\n var rindex = 0;\n\n while (lindex < llength || rindex < rlength) {\n array[lindex + rindex] = (lindex < llength && rindex < rlength)\n ? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++]\n : lindex < llength ? left[lindex++] : right[rindex++];\n }\n }\n\n return array;\n};\n\nmodule.exports = sort;\n","'use strict';\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar $Array = Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (isConstructor(C) && (C === $Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? $Array : C;\n};\n","'use strict';\nvar arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar iteratorClose = require('../internals/iterator-close');\n\n// call something on iterator step with safe closing on error\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n try {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n } catch (error) { return false; } // workaround of old WebKit + `eval` bug\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) === 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) === 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\nmodule.exports = function (METHOD_NAME) {\n var regexp = /./;\n try {\n '/./'[METHOD_NAME](regexp);\n } catch (error1) {\n try {\n regexp[MATCH] = false;\n return '/./'[METHOD_NAME](regexp);\n } catch (error2) { /* empty */ }\n } return false;\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\n\nvar quot = /\"/g;\nvar replace = uncurryThis(''.replace);\n\n// `CreateHTML` abstract operation\n// https://tc39.es/ecma262/#sec-createhtml\nmodule.exports = function (string, tag, attribute, value) {\n var S = toString(requireObjectCoercible(string));\n var p1 = '<' + tag;\n if (attribute !== '') p1 += ' ' + attribute + '=\"' + replace(toString(value), quot, '"') + '\"';\n return p1 + '>' + S + '';\n};\n","'use strict';\n// `CreateIterResultObject` abstract operation\n// https://tc39.es/ecma262/#sec-createiterresultobject\nmodule.exports = function (value, done) {\n return { value: value, done: done };\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n if (DESCRIPTORS) definePropertyModule.f(object, key, createPropertyDescriptor(0, value));\n else object[key] = value;\n};\n","'use strict';\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n return defineProperty.f(target, name, descriptor);\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","'use strict';\nvar defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) defineBuiltIn(target, key, src[key], options);\n return target;\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(globalThis, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n globalThis[key] = value;\n } return value;\n};\n","'use strict';\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (O, P) {\n if (!delete O[P]) throw new $TypeError('Cannot delete property ' + tryToString(P) + ' of ' + tryToString(O));\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isObject = require('../internals/is-object');\n\nvar document = globalThis.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nvar $TypeError = TypeError;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991\n\nmodule.exports = function (it) {\n if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded');\n return it;\n};\n","'use strict';\n// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","'use strict';\n// in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList`\nvar documentCreateElement = require('../internals/document-create-element');\n\nvar classList = documentCreateElement('span').classList;\nvar DOMTokenListPrototype = classList && classList.constructor && classList.constructor.prototype;\n\nmodule.exports = DOMTokenListPrototype === Object.prototype ? undefined : DOMTokenListPrototype;\n","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","'use strict';\nvar userAgent = require('../internals/environment-user-agent');\n\nvar firefox = userAgent.match(/firefox\\/(\\d+)/i);\n\nmodule.exports = !!firefox && +firefox[1];\n","'use strict';\nvar UA = require('../internals/environment-user-agent');\n\nmodule.exports = /MSIE|Trident/.test(UA);\n","'use strict';\nvar userAgent = require('../internals/environment-user-agent');\n\nmodule.exports = /ipad|iphone|ipod/i.test(userAgent) && typeof Pebble != 'undefined';\n","'use strict';\nvar userAgent = require('../internals/environment-user-agent');\n\n// eslint-disable-next-line redos/no-vulnerable -- safe\nmodule.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent);\n","'use strict';\nvar ENVIRONMENT = require('../internals/environment');\n\nmodule.exports = ENVIRONMENT === 'NODE';\n","'use strict';\nvar userAgent = require('../internals/environment-user-agent');\n\nmodule.exports = /web0s(?!.*chrome)/i.test(userAgent);\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\nvar navigator = globalThis.navigator;\nvar userAgent = navigator && navigator.userAgent;\n\nmodule.exports = userAgent ? String(userAgent) : '';\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar userAgent = require('../internals/environment-user-agent');\n\nvar process = globalThis.process;\nvar Deno = globalThis.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\nvar userAgent = require('../internals/environment-user-agent');\n\nvar webkit = userAgent.match(/AppleWebKit\\/(\\d+)\\./);\n\nmodule.exports = !!webkit && +webkit[1];\n","'use strict';\n/* global Bun, Deno -- detection */\nvar globalThis = require('../internals/global-this');\nvar userAgent = require('../internals/environment-user-agent');\nvar classof = require('../internals/classof-raw');\n\nvar userAgentStartsWith = function (string) {\n return userAgent.slice(0, string.length) === string;\n};\n\nmodule.exports = (function () {\n if (userAgentStartsWith('Bun/')) return 'BUN';\n if (userAgentStartsWith('Cloudflare-Workers')) return 'CLOUDFLARE';\n if (userAgentStartsWith('Deno/')) return 'DENO';\n if (userAgentStartsWith('Node.js/')) return 'NODE';\n if (globalThis.Bun && typeof Bun.version == 'string') return 'BUN';\n if (globalThis.Deno && typeof Deno.version == 'object') return 'DENO';\n if (classof(globalThis.process) === 'process') return 'NODE';\n if (globalThis.window && globalThis.document) return 'BROWSER';\n return 'REST';\n})();\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = globalThis;\n } else if (STATIC) {\n target = globalThis[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = globalThis[TARGET] && globalThis[TARGET].prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar call = require('../internals/function-call');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar regexpExec = require('../internals/regexp-exec');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\nvar RegExpPrototype = RegExp.prototype;\n\nmodule.exports = function (KEY, exec, FORCED, SHAM) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegExp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) !== 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n re = {};\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n re.flags = '';\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () {\n execCalled = true;\n return null;\n };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n FORCED\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n var $exec = regexp.exec;\n if ($exec === regexpExec || $exec === RegExpPrototype.exec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: call(nativeRegExpMethod, regexp, str, arg2) };\n }\n return { done: true, value: call(nativeMethod, str, regexp, arg2) };\n }\n return { done: false };\n });\n\n defineBuiltIn(String.prototype, KEY, methods[0]);\n defineBuiltIn(RegExpPrototype, SYMBOL, methods[1]);\n }\n\n if (SHAM) createNonEnumerableProperty(RegExpPrototype[SYMBOL], 'sham', true);\n};\n","'use strict';\nvar isArray = require('../internals/is-array');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar bind = require('../internals/function-bind-context');\n\n// `FlattenIntoArray` abstract operation\n// https://tc39.github.io/proposal-flatMap/#sec-FlattenIntoArray\nvar flattenIntoArray = function (target, original, source, sourceLen, start, depth, mapper, thisArg) {\n var targetIndex = start;\n var sourceIndex = 0;\n var mapFn = mapper ? bind(mapper, thisArg) : false;\n var element, elementLen;\n\n while (sourceIndex < sourceLen) {\n if (sourceIndex in source) {\n element = mapFn ? mapFn(source[sourceIndex], sourceIndex, original) : source[sourceIndex];\n\n if (depth > 0 && isArray(element)) {\n elementLen = lengthOfArrayLike(element);\n targetIndex = flattenIntoArray(target, original, element, elementLen, targetIndex, depth - 1) - 1;\n } else {\n doesNotExceedSafeInteger(targetIndex + 1);\n target[targetIndex] = element;\n }\n\n targetIndex++;\n }\n sourceIndex++;\n }\n return targetIndex;\n};\n\nmodule.exports = flattenIntoArray;\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar arraySlice = require('../internals/array-slice');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar $Function = Function;\nvar concat = uncurryThis([].concat);\nvar join = uncurryThis([].join);\nvar factories = {};\n\nvar construct = function (C, argsLength, args) {\n if (!hasOwn(factories, argsLength)) {\n var list = [];\n var i = 0;\n for (; i < argsLength; i++) list[i] = 'a[' + i + ']';\n factories[argsLength] = $Function('C,a', 'return new C(' + join(list, ',') + ')');\n } return factories[argsLength](C, args);\n};\n\n// `Function.prototype.bind` method implementation\n// https://tc39.es/ecma262/#sec-function.prototype.bind\n// eslint-disable-next-line es/no-function-prototype-bind -- detection\nmodule.exports = NATIVE_BIND ? $Function.bind : function bind(that /* , ...args */) {\n var F = aCallable(this);\n var Prototype = F.prototype;\n var partArgs = arraySlice(arguments, 1);\n var boundFunction = function bound(/* args... */) {\n var args = concat(partArgs, arraySlice(arguments));\n return this instanceof boundFunction ? construct(F, args.length, args) : F.apply(that, args);\n };\n if (isObject(Prototype)) boundFunction.prototype = Prototype;\n return boundFunction;\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\n\nmodule.exports = function (object, key, method) {\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n return uncurryThis(aCallable(Object.getOwnPropertyDescriptor(object, key)[method]));\n } catch (error) { /* empty */ }\n};\n","'use strict';\nvar classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(globalThis[namespace]) : globalThis[namespace] && globalThis[namespace][method];\n};\n","'use strict';\nvar classof = require('../internals/classof');\nvar getMethod = require('../internals/get-method');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (!isNullOrUndefined(it)) return getMethod(it, ITERATOR)\n || getMethod(it, '@@iterator')\n || Iterators[classof(it)];\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar getIteratorMethod = require('../internals/get-iterator-method');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (argument, usingIterator) {\n var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;\n if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));\n throw new $TypeError(tryToString(argument) + ' is not iterable');\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isArray = require('../internals/is-array');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof-raw');\nvar toString = require('../internals/to-string');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (replacer) {\n if (isCallable(replacer)) return replacer;\n if (!isArray(replacer)) return;\n var rawLength = replacer.length;\n var keys = [];\n for (var i = 0; i < rawLength; i++) {\n var element = replacer[i];\n if (typeof element == 'string') push(keys, element);\n else if (typeof element == 'number' || classof(element) === 'Number' || classof(element) === 'String') push(keys, toString(element));\n }\n var keysLength = keys.length;\n var root = true;\n return function (key, value) {\n if (root) {\n root = false;\n return value;\n }\n if (isArray(this)) return value;\n for (var j = 0; j < keysLength; j++) if (keys[j] === key) return value;\n };\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar floor = Math.floor;\nvar charAt = uncurryThis(''.charAt);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\n// eslint-disable-next-line redos/no-vulnerable -- safe\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d{1,2}|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d{1,2})/g;\n\n// `GetSubstitution` abstract operation\n// https://tc39.es/ecma262/#sec-getsubstitution\nmodule.exports = function (matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return replace(replacement, symbols, function (match, ch) {\n var capture;\n switch (charAt(ch, 0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return stringSlice(str, 0, position);\n case \"'\": return stringSlice(str, tailPos);\n case '<':\n capture = namedCaptures[stringSlice(ch, 1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? charAt(ch, 1) : captures[f - 1] + charAt(ch, 1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n};\n","'use strict';\nvar check = function (it) {\n return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n check(typeof this == 'object' && this) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nmodule.exports = function (a, b) {\n try {\n // eslint-disable-next-line no-console -- safe\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n } catch (error) { /* empty */ }\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\n// IEEE754 conversions based on https://github.com/feross/ieee754\nvar $Array = Array;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\n\nvar pack = function (number, mantissaLength, bytes) {\n var buffer = $Array(bytes);\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0;\n var index = 0;\n var exponent, mantissa, c;\n number = abs(number);\n // eslint-disable-next-line no-self-compare -- NaN check\n if (number !== number || number === Infinity) {\n // eslint-disable-next-line no-self-compare -- NaN check\n mantissa = number !== number ? 1 : 0;\n exponent = eMax;\n } else {\n exponent = floor(log(number) / LN2);\n c = pow(2, -exponent);\n if (number * c < 1) {\n exponent--;\n c *= 2;\n }\n if (exponent + eBias >= 1) {\n number += rt / c;\n } else {\n number += rt * pow(2, 1 - eBias);\n }\n if (number * c >= 2) {\n exponent++;\n c /= 2;\n }\n if (exponent + eBias >= eMax) {\n mantissa = 0;\n exponent = eMax;\n } else if (exponent + eBias >= 1) {\n mantissa = (number * c - 1) * pow(2, mantissaLength);\n exponent += eBias;\n } else {\n mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength);\n exponent = 0;\n }\n }\n while (mantissaLength >= 8) {\n buffer[index++] = mantissa & 255;\n mantissa /= 256;\n mantissaLength -= 8;\n }\n exponent = exponent << mantissaLength | mantissa;\n exponentLength += mantissaLength;\n while (exponentLength > 0) {\n buffer[index++] = exponent & 255;\n exponent /= 256;\n exponentLength -= 8;\n }\n buffer[index - 1] |= sign * 128;\n return buffer;\n};\n\nvar unpack = function (buffer, mantissaLength) {\n var bytes = buffer.length;\n var exponentLength = bytes * 8 - mantissaLength - 1;\n var eMax = (1 << exponentLength) - 1;\n var eBias = eMax >> 1;\n var nBits = exponentLength - 7;\n var index = bytes - 1;\n var sign = buffer[index--];\n var exponent = sign & 127;\n var mantissa;\n sign >>= 7;\n while (nBits > 0) {\n exponent = exponent * 256 + buffer[index--];\n nBits -= 8;\n }\n mantissa = exponent & (1 << -nBits) - 1;\n exponent >>= -nBits;\n nBits += mantissaLength;\n while (nBits > 0) {\n mantissa = mantissa * 256 + buffer[index--];\n nBits -= 8;\n }\n if (exponent === 0) {\n exponent = 1 - eBias;\n } else if (exponent === eMax) {\n return mantissa ? NaN : sign ? -Infinity : Infinity;\n } else {\n mantissa += pow(2, mantissaLength);\n exponent -= eBias;\n } return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength);\n};\n\nmodule.exports = {\n pack: pack,\n unpack: unpack\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar globalThis = require('../internals/global-this');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = globalThis.TypeError;\nvar WeakMap = globalThis.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw new TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","'use strict';\nvar classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) === 'Array';\n};\n","'use strict';\nvar classof = require('../internals/classof');\n\nmodule.exports = function (it) {\n var klass = classof(it);\n return klass === 'BigInt64Array' || klass === 'BigUint64Array';\n};\n","'use strict';\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\nvar documentAll = typeof document == 'object' && document.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nmodule.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.test(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, [], argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value === POLYFILL ? true\n : value === NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar floor = Math.floor;\n\n// `IsIntegralNumber` abstract operation\n// https://tc39.es/ecma262/#sec-isintegralnumber\n// eslint-disable-next-line es/no-number-isinteger -- safe\nmodule.exports = Number.isInteger || function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nmodule.exports = function (argument) {\n return isObject(argument) || argument === null;\n};\n","'use strict';\nmodule.exports = false;\n","'use strict';\nvar isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.es/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) === 'RegExp');\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar tryToString = require('../internals/try-to-string');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar $TypeError = TypeError;\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nvar ResultPrototype = Result.prototype;\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_RECORD = !!(options && options.IS_RECORD);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator, 'normal', condition);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_RECORD) {\n iterator = iterable.iterator;\n } else if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (!iterFn) throw new $TypeError(tryToString(iterable) + ' is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n }\n iterator = getIterator(iterable, iterFn);\n }\n\n next = IS_RECORD ? iterable.next : iterator.next;\n while (!(step = call(next, iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator, 'throw', error);\n }\n if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;\n } return new Result(false);\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar getMethod = require('../internals/get-method');\n\nmodule.exports = function (iterator, kind, value) {\n var innerResult, innerError;\n anObject(iterator);\n try {\n innerResult = getMethod(iterator, 'return');\n if (!innerResult) {\n if (kind === 'throw') throw value;\n return value;\n }\n innerResult = call(innerResult, iterator);\n } catch (error) {\n innerError = true;\n innerResult = error;\n }\n if (kind === 'throw') throw value;\n if (innerError) throw innerResult;\n anObject(innerResult);\n return value;\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar IS_PURE = require('../internals/is-pure');\nvar FunctionName = require('../internals/function-name');\nvar isCallable = require('../internals/is-callable');\nvar createIteratorConstructor = require('../internals/iterator-create-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar PROPER_FUNCTION_NAME = FunctionName.PROPER;\nvar CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND && KIND in IterablePrototype) return IterablePrototype[KIND];\n\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n }\n\n return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME === 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {\n defineBuiltIn(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array.prototype.{ values, @@iterator }.name in V8 / FF\n if (PROPER_FUNCTION_NAME && DEFAULT === VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {\n createNonEnumerableProperty(IterablePrototype, 'name', VALUES);\n } else {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return call(nativeIterator, this); };\n }\n }\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n defineBuiltIn(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n defineBuiltIn(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });\n }\n Iterators[NAME] = defaultIterator;\n\n return methods;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = !isObject(IteratorPrototype) || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\nelse if (IS_PURE) IteratorPrototype = create(IteratorPrototype);\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif (!isCallable(IteratorPrototype[ITERATOR])) {\n defineBuiltIn(IteratorPrototype, ITERATOR, function () {\n return this;\n });\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\).*$/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","'use strict';\nvar sign = require('../internals/math-sign');\n\nvar abs = Math.abs;\n\nvar EPSILON = 2.220446049250313e-16; // Number.EPSILON\nvar INVERSE_EPSILON = 1 / EPSILON;\n\nvar roundTiesToEven = function (n) {\n return n + INVERSE_EPSILON - INVERSE_EPSILON;\n};\n\nmodule.exports = function (x, FLOAT_EPSILON, FLOAT_MAX_VALUE, FLOAT_MIN_VALUE) {\n var n = +x;\n var absolute = abs(n);\n var s = sign(n);\n if (absolute < FLOAT_MIN_VALUE) return s * roundTiesToEven(absolute / FLOAT_MIN_VALUE / FLOAT_EPSILON) * FLOAT_MIN_VALUE * FLOAT_EPSILON;\n var a = (1 + FLOAT_EPSILON / EPSILON) * absolute;\n var result = a - (a - absolute);\n // eslint-disable-next-line no-self-compare -- NaN check\n if (result > FLOAT_MAX_VALUE || result !== result) return s * Infinity;\n return s * result;\n};\n","'use strict';\nvar floatRound = require('../internals/math-float-round');\n\nvar FLOAT32_EPSILON = 1.1920928955078125e-7; // 2 ** -23;\nvar FLOAT32_MAX_VALUE = 3.4028234663852886e+38; // 2 ** 128 - 2 ** 104\nvar FLOAT32_MIN_VALUE = 1.1754943508222875e-38; // 2 ** -126;\n\n// `Math.fround` method implementation\n// https://tc39.es/ecma262/#sec-math.fround\n// eslint-disable-next-line es/no-math-fround -- safe\nmodule.exports = Math.fround || function fround(x) {\n return floatRound(x, FLOAT32_EPSILON, FLOAT32_MAX_VALUE, FLOAT32_MIN_VALUE);\n};\n","'use strict';\n// `Math.sign` method implementation\n// https://tc39.es/ecma262/#sec-math.sign\n// eslint-disable-next-line es/no-math-sign -- safe\nmodule.exports = Math.sign || function sign(x) {\n var n = +x;\n // eslint-disable-next-line no-self-compare -- NaN check\n return n === 0 || n !== n ? n : n < 0 ? -1 : 1;\n};\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar safeGetBuiltIn = require('../internals/safe-get-built-in');\nvar bind = require('../internals/function-bind-context');\nvar macrotask = require('../internals/task').set;\nvar Queue = require('../internals/queue');\nvar IS_IOS = require('../internals/environment-is-ios');\nvar IS_IOS_PEBBLE = require('../internals/environment-is-ios-pebble');\nvar IS_WEBOS_WEBKIT = require('../internals/environment-is-webos-webkit');\nvar IS_NODE = require('../internals/environment-is-node');\n\nvar MutationObserver = globalThis.MutationObserver || globalThis.WebKitMutationObserver;\nvar document = globalThis.document;\nvar process = globalThis.process;\nvar Promise = globalThis.Promise;\nvar microtask = safeGetBuiltIn('queueMicrotask');\nvar notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!microtask) {\n var queue = new Queue();\n\n var flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (fn = queue.get()) try {\n fn();\n } catch (error) {\n if (queue.head) notify();\n throw error;\n }\n if (parent) parent.enter();\n };\n\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898\n if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (!IS_IOS_PEBBLE && Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n // workaround of WebKit ~ iOS Safari 10.1 bug\n promise.constructor = Promise;\n then = bind(promise.then, promise);\n notify = function () {\n then(flush);\n };\n // Node.js without promises\n } else if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessage\n // - onreadystatechange\n // - setTimeout\n } else {\n // `webpack` dev server bug on IE global methods - use bind(fn, global)\n macrotask = bind(macrotask, globalThis);\n notify = function () {\n macrotask(flush);\n };\n }\n\n microtask = function (fn) {\n if (!queue.head) notify();\n queue.add(fn);\n };\n}\n\nmodule.exports = microtask;\n","'use strict';\nvar aCallable = require('../internals/a-callable');\n\nvar $TypeError = TypeError;\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw new $TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aCallable(resolve);\n this.reject = aCallable(reject);\n};\n\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","'use strict';\nvar isRegExp = require('../internals/is-regexp');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it) {\n if (isRegExp(it)) {\n throw new $TypeError(\"The method doesn't accept regular expressions\");\n } return it;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar call = require('../internals/function-call');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\n// eslint-disable-next-line es/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\nvar concat = uncurryThis([].concat);\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line es/no-symbol -- safe\n var symbol = Symbol('assign detection');\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return $assign({}, A)[symbol] !== 7 || objectKeys($assign({}, B)).join('') !== alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","'use strict';\n/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n // eslint-disable-next-line no-useless-assignment -- avoid memory leak\n activeXDocument = null;\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw new $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\n/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar classof = require('../internals/classof-raw');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar arraySlice = require('../internals/array-slice');\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return $getOwnPropertyNames(it);\n } catch (error) {\n return arraySlice(windowNames);\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && classof(it) === 'Window'\n ? getWindowNames(it)\n : $getOwnPropertyNames(toIndexedObject(it));\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar isCallable = require('../internals/is-callable');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar $Object = Object;\nvar ObjectPrototype = $Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : function (O) {\n var object = toObject(O);\n if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];\n var constructor = object.constructor;\n if (isCallable(constructor) && object instanceof constructor) {\n return constructor.prototype;\n } return object instanceof $Object ? ObjectPrototype : null;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\n/* eslint-disable no-proto -- safe */\nvar uncurryThisAccessor = require('../internals/function-uncurry-this-accessor');\nvar isObject = require('../internals/is-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n setter = uncurryThisAccessor(Object.prototype, '__proto__', 'set');\n setter(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n requireObjectCoercible(O);\n aPossiblePrototype(proto);\n if (!isObject(O)) return O;\n if (CORRECT_SETTER) setter(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw new $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\nmodule.exports = globalThis;\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar isCallable = require('../internals/is-callable');\nvar isForced = require('../internals/is-forced');\nvar inspectSource = require('../internals/inspect-source');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar ENVIRONMENT = require('../internals/environment');\nvar IS_PURE = require('../internals/is-pure');\nvar V8_VERSION = require('../internals/environment-v8-version');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar SPECIES = wellKnownSymbol('species');\nvar SUBCLASSING = false;\nvar NATIVE_PROMISE_REJECTION_EVENT = isCallable(globalThis.PromiseRejectionEvent);\n\nvar FORCED_PROMISE_CONSTRUCTOR = isForced('Promise', function () {\n var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(NativePromiseConstructor);\n var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(NativePromiseConstructor);\n // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // We can't detect it synchronously, so just check versions\n if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true;\n // We need Promise#{ catch, finally } in the pure version for preventing prototype pollution\n if (IS_PURE && !(NativePromisePrototype['catch'] && NativePromisePrototype['finally'])) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (!V8_VERSION || V8_VERSION < 51 || !/native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) {\n // Detect correctness of subclassing with @@species support\n var promise = new NativePromiseConstructor(function (resolve) { resolve(1); });\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;\n if (!SUBCLASSING) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n } return !GLOBAL_CORE_JS_PROMISE && (ENVIRONMENT === 'BROWSER' || ENVIRONMENT === 'DENO') && !NATIVE_PROMISE_REJECTION_EVENT;\n});\n\nmodule.exports = {\n CONSTRUCTOR: FORCED_PROMISE_CONSTRUCTOR,\n REJECTION_EVENT: NATIVE_PROMISE_REJECTION_EVENT,\n SUBCLASSING: SUBCLASSING\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\n\nmodule.exports = globalThis.Promise;\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","'use strict';\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\nmodule.exports = FORCED_PROMISE_CONSTRUCTOR || !checkCorrectnessOfIteration(function (iterable) {\n NativePromiseConstructor.all(iterable).then(undefined, function () { /* empty */ });\n});\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (Target, Source, key) {\n key in Target || defineProperty(Target, key, {\n configurable: true,\n get: function () { return Source[key]; },\n set: function (it) { Source[key] = it; }\n });\n};\n","'use strict';\nvar Queue = function () {\n this.head = null;\n this.tail = null;\n};\n\nQueue.prototype = {\n add: function (item) {\n var entry = { item: item, next: null };\n var tail = this.tail;\n if (tail) tail.next = entry;\n else this.head = entry;\n this.tail = entry;\n },\n get: function () {\n var entry = this.head;\n if (entry) {\n var next = this.head = entry.next;\n if (next === null) this.tail = null;\n return entry.item;\n }\n }\n};\n\nmodule.exports = Queue;\n","'use strict';\nvar call = require('../internals/function-call');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof-raw');\nvar regexpExec = require('../internals/regexp-exec');\n\nvar $TypeError = TypeError;\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (isCallable(exec)) {\n var result = call(exec, R, S);\n if (result !== null) anObject(result);\n return result;\n }\n if (classof(R) === 'RegExp') return call(regexpExec, R, S);\n throw new $TypeError('RegExp#exec called on incompatible receiver');\n};\n","'use strict';\n/* eslint-disable regexp/no-empty-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */\n/* eslint-disable regexp/no-useless-quantifier -- testing */\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar regexpFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar shared = require('../internals/shared');\nvar create = require('../internals/object-create');\nvar getInternalState = require('../internals/internal-state').get;\nvar UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');\nvar UNSUPPORTED_NCG = require('../internals/regexp-unsupported-ncg');\n\nvar nativeReplace = shared('native-string-replace', String.prototype.replace);\nvar nativeExec = RegExp.prototype.exec;\nvar patchedExec = nativeExec;\nvar charAt = uncurryThis(''.charAt);\nvar indexOf = uncurryThis(''.indexOf);\nvar replace = uncurryThis(''.replace);\nvar stringSlice = uncurryThis(''.slice);\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n call(nativeExec, re1, 'a');\n call(nativeExec, re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG;\n\nif (PATCH) {\n patchedExec = function exec(string) {\n var re = this;\n var state = getInternalState(re);\n var str = toString(string);\n var raw = state.raw;\n var result, reCopy, lastIndex, match, i, object, group;\n\n if (raw) {\n raw.lastIndex = re.lastIndex;\n result = call(patchedExec, raw, str);\n re.lastIndex = raw.lastIndex;\n return result;\n }\n\n var groups = state.groups;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = call(regexpFlags, re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = replace(flags, 'y', '');\n if (indexOf(flags, 'g') === -1) {\n flags += 'g';\n }\n\n strCopy = stringSlice(str, re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && charAt(str, re.lastIndex - 1) !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = call(nativeExec, sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = stringSlice(match.input, charsAdded);\n match[0] = stringSlice(match[0], charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn't work for /(.?)?/\n call(nativeReplace, match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n if (match && groups) {\n match.groups = object = create(null);\n for (i = 0; i < groups.length; i++) {\n group = groups[i];\n object[group[0]] = match[group[1]];\n }\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.hasIndices) result += 'd';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.unicodeSets) result += 'v';\n if (that.sticky) result += 'y';\n return result;\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar hasOwn = require('../internals/has-own-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar regExpFlags = require('../internals/regexp-flags');\n\nvar RegExpPrototype = RegExp.prototype;\n\nmodule.exports = function (R) {\n var flags = R.flags;\n return flags === undefined && !('flags' in RegExpPrototype) && !hasOwn(R, 'flags') && isPrototypeOf(RegExpPrototype, R)\n ? call(regExpFlags, R) : flags;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\n\n// babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\nvar $RegExp = globalThis.RegExp;\n\nvar UNSUPPORTED_Y = fails(function () {\n var re = $RegExp('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') !== null;\n});\n\n// UC Browser bug\n// https://github.com/zloirock/core-js/issues/1008\nvar MISSED_STICKY = UNSUPPORTED_Y || fails(function () {\n return !$RegExp('a', 'y').sticky;\n});\n\nvar BROKEN_CARET = UNSUPPORTED_Y || fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = $RegExp('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') !== null;\n});\n\nmodule.exports = {\n BROKEN_CARET: BROKEN_CARET,\n MISSED_STICKY: MISSED_STICKY,\n UNSUPPORTED_Y: UNSUPPORTED_Y\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\n\n// babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError\nvar $RegExp = globalThis.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('.', 's');\n return !(re.dotAll && re.test('\\n') && re.flags === 's');\n});\n","'use strict';\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\n\n// babel-minify and Closure Compiler transpiles RegExp('(?b)', 'g') -> /(?b)/g and it causes SyntaxError\nvar $RegExp = globalThis.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('(?b)', 'g');\n return re.exec('b').groups.a !== 'b' ||\n 'b'.replace(re, '$c') !== 'bc';\n});\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar DESCRIPTORS = require('../internals/descriptors');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Avoid NodeJS experimental warning\nmodule.exports = function (name) {\n if (!DESCRIPTORS) return globalThis[name];\n var descriptor = getOwnPropertyDescriptor(globalThis, name);\n return descriptor && descriptor.value;\n};\n","'use strict';\n// `SameValue` abstract operation\n// https://tc39.es/ecma262/#sec-samevalue\n// eslint-disable-next-line es/no-object-is -- safe\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare -- NaN check\n return x === y ? x !== 0 || 1 / x === 1 / y : x !== x && y !== y;\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineBuiltInAccessor(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","'use strict';\nvar defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (target, TAG, STATIC) {\n if (target && !STATIC) target = target.prototype;\n if (target && !hasOwn(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar globalThis = require('../internals/global-this');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});\n\n(store.versions || (store.versions = [])).push({\n version: '3.38.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2024 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.38.1/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\nvar store = require('../internals/shared-store');\n\nmodule.exports = function (key, value) {\n return store[key] || (store[key] = value || {});\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\nvar aConstructor = require('../internals/a-constructor');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || isNullOrUndefined(S = anObject(C)[SPECIES]) ? defaultConstructor : aConstructor(S);\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// check the existence of a method, lowercase\n// of a tag and escaping quotes in arguments\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n var test = ''[METHOD_NAME]('\"');\n return test !== test.toLowerCase() || test.split('\"').length > 3;\n });\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar stringSlice = uncurryThis(''.slice);\n\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = toString(requireObjectCoercible($this));\n var position = toIntegerOrInfinity(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = charCodeAt(S, position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING\n ? charAt(S, position)\n : first\n : CONVERT_TO_STRING\n ? stringSlice(S, position, position + 2)\n : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","'use strict';\n// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128; // 0x80\nvar delimiter = '-'; // '\\x2D'\nvar regexNonASCII = /[^\\0-\\u007E]/; // non-ASCII chars\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\n\nvar $RangeError = RangeError;\nvar exec = uncurryThis(regexSeparators.exec);\nvar floor = Math.floor;\nvar fromCharCode = String.fromCharCode;\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar join = uncurryThis([].join);\nvar push = uncurryThis([].push);\nvar replace = uncurryThis(''.replace);\nvar split = uncurryThis(''.split);\nvar toLowerCase = uncurryThis(''.toLowerCase);\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n */\nvar ucs2decode = function (string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n while (counter < length) {\n var value = charCodeAt(string, counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n // It's a high surrogate, and there is a next character.\n var extra = charCodeAt(string, counter++);\n if ((extra & 0xFC00) === 0xDC00) { // Low surrogate.\n push(output, ((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n // It's an unmatched surrogate; only append this code unit, in case the\n // next code unit is the high surrogate of a surrogate pair.\n push(output, value);\n counter--;\n }\n } else {\n push(output, value);\n }\n }\n return output;\n};\n\n/**\n * Converts a digit/integer into a basic code point.\n */\nvar digitToBasic = function (digit) {\n // 0..25 map to ASCII a..z or A..Z\n // 26..35 map to ASCII 0..9\n return digit + 22 + 75 * (digit < 26);\n};\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n */\nvar adapt = function (delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n while (delta > baseMinusTMin * tMax >> 1) {\n delta = floor(delta / baseMinusTMin);\n k += base;\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n */\nvar encode = function (input) {\n var output = [];\n\n // Convert the input in UCS-2 to an array of Unicode code points.\n input = ucs2decode(input);\n\n // Cache the length.\n var inputLength = input.length;\n\n // Initialize the state.\n var n = initialN;\n var delta = 0;\n var bias = initialBias;\n var i, currentValue;\n\n // Handle the basic code points.\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < 0x80) {\n push(output, fromCharCode(currentValue));\n }\n }\n\n var basicLength = output.length; // number of basic code points.\n var handledCPCount = basicLength; // number of code points that have been handled;\n\n // Finish the basic string with a delimiter unless it's empty.\n if (basicLength) {\n push(output, delimiter);\n }\n\n // Main encoding loop:\n while (handledCPCount < inputLength) {\n // All non-basic code points < n have been handled already. Find the next larger one:\n var m = maxInt;\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n\n // Increase `delta` enough to advance the decoder's state to , but guard against overflow.\n var handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n throw new $RangeError(OVERFLOW_ERROR);\n }\n\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n\n for (i = 0; i < input.length; i++) {\n currentValue = input[i];\n if (currentValue < n && ++delta > maxInt) {\n throw new $RangeError(OVERFLOW_ERROR);\n }\n if (currentValue === n) {\n // Represent delta as a generalized variable-length integer.\n var q = delta;\n var k = base;\n while (true) {\n var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;\n if (q < t) break;\n var qMinusT = q - t;\n var baseMinusT = base - t;\n push(output, fromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n q = floor(qMinusT / baseMinusT);\n k += base;\n }\n\n push(output, fromCharCode(digitToBasic(q)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount === basicLength);\n delta = 0;\n handledCPCount++;\n }\n }\n\n delta++;\n n++;\n }\n return join(output, '');\n};\n\nmodule.exports = function (input) {\n var encoded = [];\n var labels = split(replace(toLowerCase(input), regexSeparators, '\\u002E'), '.');\n var i, label;\n for (i = 0; i < labels.length; i++) {\n label = labels[i];\n push(encoded, exec(regexNonASCII, label) ? 'xn--' + encode(label) : label);\n }\n return join(encoded, '.');\n};\n","'use strict';\nvar PROPER_FUNCTION_NAME = require('../internals/function-name').PROPER;\nvar fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]()\n || non[METHOD_NAME]() !== non\n || (PROPER_FUNCTION_NAME && whitespaces[METHOD_NAME].name !== METHOD_NAME);\n });\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar whitespaces = require('../internals/whitespaces');\n\nvar replace = uncurryThis(''.replace);\nvar ltrim = RegExp('^[' + whitespaces + ']+');\nvar rtrim = RegExp('(^|[^' + whitespaces + '])[' + whitespaces + ']+$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = toString(requireObjectCoercible($this));\n if (TYPE & 1) string = replace(string, ltrim, '');\n if (TYPE & 2) string = replace(string, rtrim, '$1');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.es/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/environment-v8-version');\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\n\nvar $String = globalThis.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\nvar call = require('../internals/function-call');\nvar getBuiltIn = require('../internals/get-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function () {\n var Symbol = getBuiltIn('Symbol');\n var SymbolPrototype = Symbol && Symbol.prototype;\n var valueOf = SymbolPrototype && SymbolPrototype.valueOf;\n var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n if (SymbolPrototype && !SymbolPrototype[TO_PRIMITIVE]) {\n // `Symbol.prototype[@@toPrimitive]` method\n // https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\n // eslint-disable-next-line no-unused-vars -- required for .length\n defineBuiltIn(SymbolPrototype, TO_PRIMITIVE, function (hint) {\n return call(valueOf, this);\n }, { arity: 1 });\n }\n};\n","'use strict';\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\n/* eslint-disable es/no-symbol -- safe */\nmodule.exports = NATIVE_SYMBOL && !!Symbol['for'] && !!Symbol.keyFor;\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind-context');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar fails = require('../internals/fails');\nvar html = require('../internals/html');\nvar arraySlice = require('../internals/array-slice');\nvar createElement = require('../internals/document-create-element');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar IS_IOS = require('../internals/environment-is-ios');\nvar IS_NODE = require('../internals/environment-is-node');\n\nvar set = globalThis.setImmediate;\nvar clear = globalThis.clearImmediate;\nvar process = globalThis.process;\nvar Dispatch = globalThis.Dispatch;\nvar Function = globalThis.Function;\nvar MessageChannel = globalThis.MessageChannel;\nvar String = globalThis.String;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar $location, defer, channel, port;\n\nfails(function () {\n // Deno throws a ReferenceError on `location` access without `--location` flag\n $location = globalThis.location;\n});\n\nvar run = function (id) {\n if (hasOwn(queue, id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar eventListener = function (event) {\n run(event.data);\n};\n\nvar globalPostMessageDefer = function (id) {\n // old engines have not location.origin\n globalThis.postMessage(String(id), $location.protocol + '//' + $location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(handler) {\n validateArgumentsLength(arguments.length, 1);\n var fn = isCallable(handler) ? handler : Function(handler);\n var args = arraySlice(arguments, 1);\n queue[++counter] = function () {\n apply(fn, undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (IS_NODE) {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = eventListener;\n defer = bind(port.postMessage, port);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n globalThis.addEventListener &&\n isCallable(globalThis.postMessage) &&\n !globalThis.importScripts &&\n $location && $location.protocol !== 'file:' &&\n !fails(globalPostMessageDefer)\n ) {\n defer = globalPostMessageDefer;\n globalThis.addEventListener('message', eventListener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\n// `thisNumberValue` abstract operation\n// https://tc39.es/ecma262/#sec-thisnumbervalue\nmodule.exports = uncurryThis(1.0.valueOf);\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\n\nvar $TypeError = TypeError;\n\n// `ToBigInt` abstract operation\n// https://tc39.es/ecma262/#sec-tobigint\nmodule.exports = function (argument) {\n var prim = toPrimitive(argument, 'number');\n if (typeof prim == 'number') throw new $TypeError(\"Can't convert number to bigint\");\n // eslint-disable-next-line es/no-bigint -- safe\n return BigInt(prim);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\n\nvar $RangeError = RangeError;\n\n// `ToIndex` abstract operation\n// https://tc39.es/ecma262/#sec-toindex\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toIntegerOrInfinity(it);\n var length = toLength(number);\n if (number !== length) throw new $RangeError('Wrong length or index');\n return length;\n};\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n var len = toIntegerOrInfinity(argument);\n return len > 0 ? min(len, 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar toPositiveInteger = require('../internals/to-positive-integer');\n\nvar $RangeError = RangeError;\n\nmodule.exports = function (it, BYTES) {\n var offset = toPositiveInteger(it);\n if (offset % BYTES) throw new $RangeError('Wrong offset');\n return offset;\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar $RangeError = RangeError;\n\nmodule.exports = function (it) {\n var result = toIntegerOrInfinity(it);\n if (result < 0) throw new $RangeError(\"The argument can't be less than 0\");\n return result;\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw new $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","'use strict';\nvar classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","'use strict';\nvar round = Math.round;\n\nmodule.exports = function (it) {\n var value = round(it);\n return value < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF;\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar globalThis = require('../internals/global-this');\nvar call = require('../internals/function-call');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = require('../internals/typed-array-constructors-require-wrappers');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayBufferModule = require('../internals/array-buffer');\nvar anInstance = require('../internals/an-instance');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar isIntegralNumber = require('../internals/is-integral-number');\nvar toLength = require('../internals/to-length');\nvar toIndex = require('../internals/to-index');\nvar toOffset = require('../internals/to-offset');\nvar toUint8Clamped = require('../internals/to-uint8-clamped');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar classof = require('../internals/classof');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar create = require('../internals/object-create');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar typedArrayFrom = require('../internals/typed-array-from');\nvar forEach = require('../internals/array-iteration').forEach;\nvar setSpecies = require('../internals/set-species');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar arrayFromConstructorAndList = require('../internals/array-from-constructor-and-list');\nvar InternalStateModule = require('../internals/internal-state');\nvar inheritIfRequired = require('../internals/inherit-if-required');\n\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar enforceInternalState = InternalStateModule.enforce;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar RangeError = globalThis.RangeError;\nvar ArrayBuffer = ArrayBufferModule.ArrayBuffer;\nvar ArrayBufferPrototype = ArrayBuffer.prototype;\nvar DataView = ArrayBufferModule.DataView;\nvar NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS;\nvar TYPED_ARRAY_TAG = ArrayBufferViewCore.TYPED_ARRAY_TAG;\nvar TypedArray = ArrayBufferViewCore.TypedArray;\nvar TypedArrayPrototype = ArrayBufferViewCore.TypedArrayPrototype;\nvar isTypedArray = ArrayBufferViewCore.isTypedArray;\nvar BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\nvar WRONG_LENGTH = 'Wrong length';\n\nvar addGetter = function (it, key) {\n defineBuiltInAccessor(it, key, {\n configurable: true,\n get: function () {\n return getInternalState(this)[key];\n }\n });\n};\n\nvar isArrayBuffer = function (it) {\n var klass;\n return isPrototypeOf(ArrayBufferPrototype, it) || (klass = classof(it)) === 'ArrayBuffer' || klass === 'SharedArrayBuffer';\n};\n\nvar isTypedArrayIndex = function (target, key) {\n return isTypedArray(target)\n && !isSymbol(key)\n && key in target\n && isIntegralNumber(+key)\n && key >= 0;\n};\n\nvar wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) {\n key = toPropertyKey(key);\n return isTypedArrayIndex(target, key)\n ? createPropertyDescriptor(2, target[key])\n : nativeGetOwnPropertyDescriptor(target, key);\n};\n\nvar wrappedDefineProperty = function defineProperty(target, key, descriptor) {\n key = toPropertyKey(key);\n if (isTypedArrayIndex(target, key)\n && isObject(descriptor)\n && hasOwn(descriptor, 'value')\n && !hasOwn(descriptor, 'get')\n && !hasOwn(descriptor, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !descriptor.configurable\n && (!hasOwn(descriptor, 'writable') || descriptor.writable)\n && (!hasOwn(descriptor, 'enumerable') || descriptor.enumerable)\n ) {\n target[key] = descriptor.value;\n return target;\n } return nativeDefineProperty(target, key, descriptor);\n};\n\nif (DESCRIPTORS) {\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n getOwnPropertyDescriptorModule.f = wrappedGetOwnPropertyDescriptor;\n definePropertyModule.f = wrappedDefineProperty;\n addGetter(TypedArrayPrototype, 'buffer');\n addGetter(TypedArrayPrototype, 'byteOffset');\n addGetter(TypedArrayPrototype, 'byteLength');\n addGetter(TypedArrayPrototype, 'length');\n }\n\n $({ target: 'Object', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, {\n getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor,\n defineProperty: wrappedDefineProperty\n });\n\n module.exports = function (TYPE, wrapper, CLAMPED) {\n var BYTES = TYPE.match(/\\d+/)[0] / 8;\n var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + TYPE;\n var SETTER = 'set' + TYPE;\n var NativeTypedArrayConstructor = globalThis[CONSTRUCTOR_NAME];\n var TypedArrayConstructor = NativeTypedArrayConstructor;\n var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype;\n var exported = {};\n\n var getter = function (that, index) {\n var data = getInternalState(that);\n return data.view[GETTER](index * BYTES + data.byteOffset, true);\n };\n\n var setter = function (that, index, value) {\n var data = getInternalState(that);\n data.view[SETTER](index * BYTES + data.byteOffset, CLAMPED ? toUint8Clamped(value) : value, true);\n };\n\n var addElement = function (that, index) {\n nativeDefineProperty(that, index, {\n get: function () {\n return getter(this, index);\n },\n set: function (value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n\n if (!NATIVE_ARRAY_BUFFER_VIEWS) {\n TypedArrayConstructor = wrapper(function (that, data, offset, $length) {\n anInstance(that, TypedArrayConstructorPrototype);\n var index = 0;\n var byteOffset = 0;\n var buffer, byteLength, length;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new ArrayBuffer(byteLength);\n } else if (isArrayBuffer(data)) {\n buffer = data;\n byteOffset = toOffset(offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw new RangeError(WRONG_LENGTH);\n byteLength = $len - byteOffset;\n if (byteLength < 0) throw new RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + byteOffset > $len) throw new RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (isTypedArray(data)) {\n return arrayFromConstructorAndList(TypedArrayConstructor, data);\n } else {\n return call(typedArrayFrom, TypedArrayConstructor, data);\n }\n setInternalState(that, {\n buffer: buffer,\n byteOffset: byteOffset,\n byteLength: byteLength,\n length: length,\n view: new DataView(buffer)\n });\n while (index < length) addElement(that, index++);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype);\n } else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) {\n TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) {\n anInstance(dummy, TypedArrayConstructorPrototype);\n return inheritIfRequired(function () {\n if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data));\n if (isArrayBuffer(data)) return $length !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length)\n : typedArrayOffset !== undefined\n ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES))\n : new NativeTypedArrayConstructor(data);\n if (isTypedArray(data)) return arrayFromConstructorAndList(TypedArrayConstructor, data);\n return call(typedArrayFrom, TypedArrayConstructor, data);\n }(), dummy, TypedArrayConstructor);\n });\n\n if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);\n forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) {\n if (!(key in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]);\n }\n });\n TypedArrayConstructor.prototype = TypedArrayConstructorPrototype;\n }\n\n if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor);\n }\n\n enforceInternalState(TypedArrayConstructorPrototype).TypedArrayConstructor = TypedArrayConstructor;\n\n if (TYPED_ARRAY_TAG) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME);\n }\n\n var FORCED = TypedArrayConstructor !== NativeTypedArrayConstructor;\n\n exported[CONSTRUCTOR_NAME] = TypedArrayConstructor;\n\n $({ global: true, constructor: true, forced: FORCED, sham: !NATIVE_ARRAY_BUFFER_VIEWS }, exported);\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) {\n createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES);\n }\n\n if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) {\n createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES);\n }\n\n setSpecies(CONSTRUCTOR_NAME);\n };\n} else module.exports = function () { /* empty */ };\n","'use strict';\n/* eslint-disable no-new, sonar/inconsistent-function-call -- required for testing */\nvar globalThis = require('../internals/global-this');\nvar fails = require('../internals/fails');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar NATIVE_ARRAY_BUFFER_VIEWS = require('../internals/array-buffer-view-core').NATIVE_ARRAY_BUFFER_VIEWS;\n\nvar ArrayBuffer = globalThis.ArrayBuffer;\nvar Int8Array = globalThis.Int8Array;\n\nmodule.exports = !NATIVE_ARRAY_BUFFER_VIEWS || !fails(function () {\n Int8Array(1);\n}) || !fails(function () {\n new Int8Array(-1);\n}) || !checkCorrectnessOfIteration(function (iterable) {\n new Int8Array();\n new Int8Array(null);\n new Int8Array(1.5);\n new Int8Array(iterable);\n}, true) || fails(function () {\n // Safari (11+) bug - a reason why even Safari 13 should load a typed array polyfill\n return new Int8Array(new ArrayBuffer(2), 1, undefined).length !== 1;\n});\n","'use strict';\nvar arrayFromConstructorAndList = require('../internals/array-from-constructor-and-list');\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\n\nmodule.exports = function (instance, list) {\n return arrayFromConstructorAndList(typedArraySpeciesConstructor(instance), list);\n};\n","'use strict';\nvar bind = require('../internals/function-bind-context');\nvar call = require('../internals/function-call');\nvar aConstructor = require('../internals/a-constructor');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar isBigIntArray = require('../internals/is-big-int-array');\nvar aTypedArrayConstructor = require('../internals/array-buffer-view-core').aTypedArrayConstructor;\nvar toBigInt = require('../internals/to-big-int');\n\nmodule.exports = function from(source /* , mapfn, thisArg */) {\n var C = aConstructor(this);\n var O = toObject(source);\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var i, length, result, thisIsBigIntArray, value, step, iterator, next;\n if (iteratorMethod && !isArrayIteratorMethod(iteratorMethod)) {\n iterator = getIterator(O, iteratorMethod);\n next = iterator.next;\n O = [];\n while (!(step = call(next, iterator)).done) {\n O.push(step.value);\n }\n }\n if (mapping && argumentsLength > 2) {\n mapfn = bind(mapfn, arguments[2]);\n }\n length = lengthOfArrayLike(O);\n result = new (aTypedArrayConstructor(C))(length);\n thisIsBigIntArray = isBigIntArray(result);\n for (i = 0; length > i; i++) {\n value = mapping ? mapfn(O[i], i) : O[i];\n // FF30- typed arrays doesn't properly convert objects to typed array values\n result[i] = thisIsBigIntArray ? toBigInt(value) : +value;\n }\n return result;\n};\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar speciesConstructor = require('../internals/species-constructor');\n\nvar aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;\nvar getTypedArrayConstructor = ArrayBufferViewCore.getTypedArrayConstructor;\n\n// a part of `TypedArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#typedarray-species-create\nmodule.exports = function (originalArray) {\n return aTypedArrayConstructor(speciesConstructor(originalArray, getTypedArrayConstructor(originalArray)));\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line unicorn/relative-url-style -- required for testing\n var url = new URL('b?a=1&b=2&c=3', 'https://a');\n var params = url.searchParams;\n var params2 = new URLSearchParams('a=1&a=2&b=3');\n var result = '';\n url.pathname = 'c%20d';\n params.forEach(function (value, key) {\n params['delete']('b');\n result += key + value;\n });\n params2['delete']('a', 2);\n // `undefined` case is a Chromium 117 bug\n // https://bugs.chromium.org/p/v8/issues/detail?id=14222\n params2['delete']('b', undefined);\n return (IS_PURE && (!url.toJSON || !params2.has('a', 1) || params2.has('a', 2) || !params2.has('a', undefined) || params2.has('b')))\n || (!params.size && (IS_PURE || !DESCRIPTORS))\n || !params.sort\n || url.href !== 'https://a/c%20d?a=1&c=3'\n || params.get('c') !== '3'\n || String(new URLSearchParams('?a=1')) !== 'a=1'\n || !params[ITERATOR]\n // throws in Edge\n || new URL('https://a@b').username !== 'a'\n || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'\n // not punycoded in Edge\n || new URL('https://тест').host !== 'xn--e1aybc'\n // not escaped in Chrome 62-\n || new URL('https://a#б').hash !== '#%D0%B1'\n // fails in Chrome 66-\n || result !== 'a1c3'\n // throws in Safari\n || new URL('https://x', undefined).host !== 'x';\n});\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\nvar $TypeError = TypeError;\n\nmodule.exports = function (passed, required) {\n if (passed < required) throw new $TypeError('Not enough arguments');\n return passed;\n};\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = globalThis.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nvar path = require('../internals/path');\nvar hasOwn = require('../internals/has-own-property');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!hasOwn(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","'use strict';\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = globalThis.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\n// a string of all valid unicode whitespaces\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002' +\n '\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","'use strict';\nvar $ = require('../internals/export');\nvar globalThis = require('../internals/global-this');\nvar arrayBufferModule = require('../internals/array-buffer');\nvar setSpecies = require('../internals/set-species');\n\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar ArrayBuffer = arrayBufferModule[ARRAY_BUFFER];\nvar NativeArrayBuffer = globalThis[ARRAY_BUFFER];\n\n// `ArrayBuffer` constructor\n// https://tc39.es/ecma262/#sec-arraybuffer-constructor\n$({ global: true, constructor: true, forced: NativeArrayBuffer !== ArrayBuffer }, {\n ArrayBuffer: ArrayBuffer\n});\n\nsetSpecies(ARRAY_BUFFER);\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/environment-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !arrayMethodHasSpeciesSupport('concat');\n\n// `Array.prototype.concat` method\n// https://tc39.es/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n concat: function concat(arg) {\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = lengthOfArrayLike(E);\n doesNotExceedSafeInteger(n + len);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n doesNotExceedSafeInteger(n + 1);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $find = require('../internals/array-iteration').find;\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\nvar FIND = 'find';\nvar SKIPS_HOLES = true;\n\n// Shouldn't skip holes\n// eslint-disable-next-line es/no-array-prototype-find -- testing\nif (FIND in []) Array(1)[FIND](function () { SKIPS_HOLES = false; });\n\n// `Array.prototype.find` method\n// https://tc39.es/ecma262/#sec-array.prototype.find\n$({ target: 'Array', proto: true, forced: SKIPS_HOLES }, {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables(FIND);\n","'use strict';\nvar $ = require('../internals/export');\nvar flattenIntoArray = require('../internals/flatten-into-array');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\n// `Array.prototype.flat` method\n// https://tc39.es/ecma262/#sec-array.prototype.flat\n$({ target: 'Array', proto: true }, {\n flat: function flat(/* depthArg = 1 */) {\n var depthArg = arguments.length ? arguments[0] : undefined;\n var O = toObject(this);\n var sourceLen = lengthOfArrayLike(O);\n var A = arraySpeciesCreate(O, 0);\n A.length = flattenIntoArray(A, O, O, sourceLen, 0, depthArg === undefined ? 1 : toIntegerOrInfinity(depthArg));\n return A;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $includes = require('../internals/array-includes').includes;\nvar fails = require('../internals/fails');\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// FF99+ bug\nvar BROKEN_ON_SPARSE = fails(function () {\n // eslint-disable-next-line es/no-array-prototype-includes -- detection\n return !Array(1).includes();\n});\n\n// `Array.prototype.includes` method\n// https://tc39.es/ecma262/#sec-array.prototype.includes\n$({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE }, {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('includes');\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineProperty = require('../internals/object-define-property').f;\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = null;\n return createIterResultObject(undefined, true);\n }\n switch (state.kind) {\n case 'keys': return createIterResultObject(index, false);\n case 'values': return createIterResultObject(target[index], false);\n } return createIterResultObject([index, target[index]], false);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nvar values = Iterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n// V8 ~ Chrome 45- bug\nif (!IS_PURE && DESCRIPTORS && values.name !== 'values') try {\n defineProperty(values, 'name', { value: 'values' });\n} catch (error) { /* empty */ }\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeJoin = uncurryThis([].join);\n\nvar ES3_STRINGS = IndexedObject !== Object;\nvar FORCED = ES3_STRINGS || !arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.es/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: FORCED }, {\n join: function join(separator) {\n return nativeJoin(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n\n// `Array.prototype.map` method\n// https://tc39.es/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar nativeSlice = require('../internals/array-slice');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar $Array = Array;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.es/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (isConstructor(Constructor) && (Constructor === $Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === $Array || Constructor === undefined) {\n return nativeSlice(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? $Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar deletePropertyOrThrow = require('../internals/delete-property-or-throw');\nvar toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar internalSort = require('../internals/array-sort');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar FF = require('../internals/environment-ff-version');\nvar IE_OR_EDGE = require('../internals/environment-is-ie-or-edge');\nvar V8 = require('../internals/environment-v8-version');\nvar WEBKIT = require('../internals/environment-webkit-version');\n\nvar test = [];\nvar nativeSort = uncurryThis(test.sort);\nvar push = uncurryThis(test.push);\n\n// IE8-\nvar FAILS_ON_UNDEFINED = fails(function () {\n test.sort(undefined);\n});\n// V8 bug\nvar FAILS_ON_NULL = fails(function () {\n test.sort(null);\n});\n// Old WebKit\nvar STRICT_METHOD = arrayMethodIsStrict('sort');\n\nvar STABLE_SORT = !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 70;\n if (FF && FF > 3) return;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 603;\n\n var result = '';\n var code, chr, value, index;\n\n // generate an array with more 512 elements (Chakra and old V8 fails only in this case)\n for (code = 65; code < 76; code++) {\n chr = String.fromCharCode(code);\n\n switch (code) {\n case 66: case 69: case 70: case 72: value = 3; break;\n case 68: case 71: value = 4; break;\n default: value = 2;\n }\n\n for (index = 0; index < 47; index++) {\n test.push({ k: chr + index, v: value });\n }\n }\n\n test.sort(function (a, b) { return b.v - a.v; });\n\n for (index = 0; index < test.length; index++) {\n chr = test[index].k.charAt(0);\n if (result.charAt(result.length - 1) !== chr) result += chr;\n }\n\n return result !== 'DGBEFHACIJK';\n});\n\nvar FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT;\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (y === undefined) return -1;\n if (x === undefined) return 1;\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n return toString(x) > toString(y) ? 1 : -1;\n };\n};\n\n// `Array.prototype.sort` method\n// https://tc39.es/ecma262/#sec-array.prototype.sort\n$({ target: 'Array', proto: true, forced: FORCED }, {\n sort: function sort(comparefn) {\n if (comparefn !== undefined) aCallable(comparefn);\n\n var array = toObject(this);\n\n if (STABLE_SORT) return comparefn === undefined ? nativeSort(array) : nativeSort(array, comparefn);\n\n var items = [];\n var arrayLength = lengthOfArrayLike(array);\n var itemsLength, index;\n\n for (index = 0; index < arrayLength; index++) {\n if (index in array) push(items, array[index]);\n }\n\n internalSort(items, getSortCompare(comparefn));\n\n itemsLength = lengthOfArrayLike(items);\n index = 0;\n\n while (index < itemsLength) array[index] = items[index++];\n while (index < arrayLength) deletePropertyOrThrow(array, index++);\n\n return array;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar setArrayLength = require('../internals/array-set-length');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar createProperty = require('../internals/create-property');\nvar deletePropertyOrThrow = require('../internals/delete-property-or-throw');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// `Array.prototype.splice` method\n// https://tc39.es/ecma262/#sec-array.prototype.splice\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n splice: function splice(start, deleteCount /* , ...items */) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var actualStart = toAbsoluteIndex(start, len);\n var argumentsLength = arguments.length;\n var insertCount, actualDeleteCount, A, k, from, to;\n if (argumentsLength === 0) {\n insertCount = actualDeleteCount = 0;\n } else if (argumentsLength === 1) {\n insertCount = 0;\n actualDeleteCount = len - actualStart;\n } else {\n insertCount = argumentsLength - 2;\n actualDeleteCount = min(max(toIntegerOrInfinity(deleteCount), 0), len - actualStart);\n }\n doesNotExceedSafeInteger(len + insertCount - actualDeleteCount);\n A = arraySpeciesCreate(O, actualDeleteCount);\n for (k = 0; k < actualDeleteCount; k++) {\n from = actualStart + k;\n if (from in O) createProperty(A, k, O[from]);\n }\n A.length = actualDeleteCount;\n if (insertCount < actualDeleteCount) {\n for (k = actualStart; k < len - actualDeleteCount; k++) {\n from = k + actualDeleteCount;\n to = k + insertCount;\n if (from in O) O[to] = O[from];\n else deletePropertyOrThrow(O, to);\n }\n for (k = len; k > len - actualDeleteCount + insertCount; k--) deletePropertyOrThrow(O, k - 1);\n } else if (insertCount > actualDeleteCount) {\n for (k = len - actualDeleteCount; k > actualStart; k--) {\n from = k + actualDeleteCount - 1;\n to = k + insertCount - 1;\n if (from in O) O[to] = O[from];\n else deletePropertyOrThrow(O, to);\n }\n }\n for (k = 0; k < insertCount; k++) {\n O[k + actualStart] = arguments[k + 2];\n }\n setArrayLength(O, len - actualDeleteCount + insertCount);\n return A;\n }\n});\n","'use strict';\n// this method was added to unscopables after implementation\n// in popular engines, so it's moved to a separate module\nvar addToUnscopables = require('../internals/add-to-unscopables');\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('flat');\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar FUNCTION_NAME_EXISTS = require('../internals/function-name').EXISTS;\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\n\nvar FunctionPrototype = Function.prototype;\nvar functionToString = uncurryThis(FunctionPrototype.toString);\nvar nameRE = /function\\b(?:\\s|\\/\\*[\\S\\s]*?\\*\\/|\\/\\/[^\\n\\r]*[\\n\\r]+)*([^\\s(/]*)/;\nvar regExpExec = uncurryThis(nameRE.exec);\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.es/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !FUNCTION_NAME_EXISTS) {\n defineBuiltInAccessor(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return regExpExec(nameRE, functionToString(this))[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar globalThis = require('../internals/global-this');\n\n// `globalThis` object\n// https://tc39.es/ecma262/#sec-globalthis\n$({ global: true, forced: globalThis.globalThis !== globalThis }, {\n globalThis: globalThis\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar isSymbol = require('../internals/is-symbol');\nvar arraySlice = require('../internals/array-slice');\nvar getReplacerFunction = require('../internals/get-json-replacer-function');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nvar $String = String;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar exec = uncurryThis(/./.exec);\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar replace = uncurryThis(''.replace);\nvar numberToString = uncurryThis(1.0.toString);\n\nvar tester = /[\\uD800-\\uDFFF]/g;\nvar low = /^[\\uD800-\\uDBFF]$/;\nvar hi = /^[\\uDC00-\\uDFFF]$/;\n\nvar WRONG_SYMBOLS_CONVERSION = !NATIVE_SYMBOL || fails(function () {\n var symbol = getBuiltIn('Symbol')('stringify detection');\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) !== '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) !== '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) !== '{}';\n});\n\n// https://github.com/tc39/proposal-well-formed-stringify\nvar ILL_FORMED_UNICODE = fails(function () {\n return $stringify('\\uDF06\\uD834') !== '\"\\\\udf06\\\\ud834\"'\n || $stringify('\\uDEAD') !== '\"\\\\udead\"';\n});\n\nvar stringifyWithSymbolsFix = function (it, replacer) {\n var args = arraySlice(arguments);\n var $replacer = getReplacerFunction(replacer);\n if (!isCallable($replacer) && (it === undefined || isSymbol(it))) return; // IE8 returns string on undefined\n args[1] = function (key, value) {\n // some old implementations (like WebKit) could pass numbers as keys\n if (isCallable($replacer)) value = call($replacer, this, $String(key), value);\n if (!isSymbol(value)) return value;\n };\n return apply($stringify, null, args);\n};\n\nvar fixIllFormed = function (match, offset, string) {\n var prev = charAt(string, offset - 1);\n var next = charAt(string, offset + 1);\n if ((exec(low, match) && !exec(hi, next)) || (exec(hi, match) && !exec(low, prev))) {\n return '\\\\u' + numberToString(charCodeAt(match, 0), 16);\n } return match;\n};\n\nif ($stringify) {\n // `JSON.stringify` method\n // https://tc39.es/ecma262/#sec-json.stringify\n $({ target: 'JSON', stat: true, arity: 3, forced: WRONG_SYMBOLS_CONVERSION || ILL_FORMED_UNICODE }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n stringify: function stringify(it, replacer, space) {\n var args = arraySlice(arguments);\n var result = apply(WRONG_SYMBOLS_CONVERSION ? stringifyWithSymbolsFix : $stringify, null, args);\n return ILL_FORMED_UNICODE && typeof result == 'string' ? replace(result, tester, fixIllFormed) : result;\n }\n });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar globalThis = require('../internals/global-this');\nvar path = require('../internals/path');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar hasOwn = require('../internals/has-own-property');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar isSymbol = require('../internals/is-symbol');\nvar toPrimitive = require('../internals/to-primitive');\nvar fails = require('../internals/fails');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar thisNumberValue = require('../internals/this-number-value');\nvar trim = require('../internals/string-trim').trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = globalThis[NUMBER];\nvar PureNumberNamespace = path[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\nvar TypeError = globalThis.TypeError;\nvar stringSlice = uncurryThis(''.slice);\nvar charCodeAt = uncurryThis(''.charCodeAt);\n\n// `ToNumeric` abstract operation\n// https://tc39.es/ecma262/#sec-tonumeric\nvar toNumeric = function (value) {\n var primValue = toPrimitive(value, 'number');\n return typeof primValue == 'bigint' ? primValue : toNumber(primValue);\n};\n\n// `ToNumber` abstract operation\n// https://tc39.es/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, 'number');\n var first, third, radix, maxCode, digits, length, index, code;\n if (isSymbol(it)) throw new TypeError('Cannot convert a Symbol value to a number');\n if (typeof it == 'string' && it.length > 2) {\n it = trim(it);\n first = charCodeAt(it, 0);\n if (first === 43 || first === 45) {\n third = charCodeAt(it, 2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (charCodeAt(it, 1)) {\n // fast equal of /^0b[01]+$/i\n case 66:\n case 98:\n radix = 2;\n maxCode = 49;\n break;\n // fast equal of /^0o[0-7]+$/i\n case 79:\n case 111:\n radix = 8;\n maxCode = 55;\n break;\n default:\n return +it;\n }\n digits = stringSlice(it, 2);\n length = digits.length;\n for (index = 0; index < length; index++) {\n code = charCodeAt(digits, index);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\nvar FORCED = isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'));\n\nvar calledWithNew = function (dummy) {\n // includes check on 1..constructor(foo) case\n return isPrototypeOf(NumberPrototype, dummy) && fails(function () { thisNumberValue(dummy); });\n};\n\n// `Number` constructor\n// https://tc39.es/ecma262/#sec-number-constructor\nvar NumberWrapper = function Number(value) {\n var n = arguments.length < 1 ? 0 : NativeNumber(toNumeric(value));\n return calledWithNew(this) ? inheritIfRequired(Object(n), this, NumberWrapper) : n;\n};\n\nNumberWrapper.prototype = NumberPrototype;\nif (FORCED && !IS_PURE) NumberPrototype.constructor = NumberWrapper;\n\n$({ global: true, constructor: true, wrap: true, forced: FORCED }, {\n Number: NumberWrapper\n});\n\n// Use `internal/copy-constructor-properties` helper in `core-js@4`\nvar copyConstructorProperties = function (target, source) {\n for (var keys = DESCRIPTORS ? getOwnPropertyNames(source) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES2015 (in case, if modules with ES2015 Number statics required before):\n 'EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,' +\n // ESNext\n 'fromString,range'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (hasOwn(source, key = keys[j]) && !hasOwn(target, key)) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n\nif (IS_PURE && PureNumberNamespace) copyConstructorProperties(path[NUMBER], PureNumberNamespace);\nif (FORCED || IS_PURE) copyConstructorProperties(path[NUMBER], NativeNumber);\n","'use strict';\nvar $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\n// eslint-disable-next-line es/no-object-assign -- required for testing\n$({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, {\n assign: assign\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar FORCED = !DESCRIPTORS || fails(function () { nativeGetOwnPropertyDescriptor(1); });\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\n$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {\n return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar ownKeys = require('../internals/own-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar createProperty = require('../internals/create-property');\n\n// `Object.getOwnPropertyDescriptors` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIndexedObject(object);\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n var keys = ownKeys(O);\n var result = {};\n var index = 0;\n var key, descriptor;\n while (keys.length > index) {\n descriptor = getOwnPropertyDescriptor(O, key = keys[index++]);\n if (descriptor !== undefined) createProperty(result, key, descriptor);\n }\n return result;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar fails = require('../internals/fails');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar toObject = require('../internals/to-object');\n\n// V8 ~ Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FORCED = !NATIVE_SYMBOL || fails(function () { getOwnPropertySymbolsModule.f(1); });\n\n// `Object.getOwnPropertySymbols` method\n// https://tc39.es/ecma262/#sec-object.getownpropertysymbols\n$({ target: 'Object', stat: true, forced: FORCED }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n var $getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return $getOwnPropertySymbols ? $getOwnPropertySymbols(toObject(it)) : [];\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n defineBuiltIn(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.all` method\n// https://tc39.es/ecma262/#sec-promise.all\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n remaining++;\n call($promiseResolve, C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\n\n// `Promise.prototype.catch` method\n// https://tc39.es/ecma262/#sec-promise.prototype.catch\n$({ target: 'Promise', proto: true, forced: FORCED_PROMISE_CONSTRUCTOR, real: true }, {\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n});\n\n// makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromiseConstructor)) {\n var method = getBuiltIn('Promise').prototype['catch'];\n if (NativePromisePrototype['catch'] !== method) {\n defineBuiltIn(NativePromisePrototype, 'catch', method, { unsafe: true });\n }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar IS_NODE = require('../internals/environment-is-node');\nvar globalThis = require('../internals/global-this');\nvar call = require('../internals/function-call');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar aCallable = require('../internals/a-callable');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar anInstance = require('../internals/an-instance');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar perform = require('../internals/perform');\nvar Queue = require('../internals/queue');\nvar InternalStateModule = require('../internals/internal-state');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar PromiseConstructorDetection = require('../internals/promise-constructor-detection');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\n\nvar PROMISE = 'Promise';\nvar FORCED_PROMISE_CONSTRUCTOR = PromiseConstructorDetection.CONSTRUCTOR;\nvar NATIVE_PROMISE_REJECTION_EVENT = PromiseConstructorDetection.REJECTION_EVENT;\nvar NATIVE_PROMISE_SUBCLASSING = PromiseConstructorDetection.SUBCLASSING;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar setInternalState = InternalStateModule.set;\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\nvar PromiseConstructor = NativePromiseConstructor;\nvar PromisePrototype = NativePromisePrototype;\nvar TypeError = globalThis.TypeError;\nvar document = globalThis.document;\nvar process = globalThis.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\n\nvar DISPATCH_EVENT = !!(document && document.createEvent && globalThis.dispatchEvent);\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\n\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && isCallable(then = it.then) ? then : false;\n};\n\nvar callReaction = function (reaction, state) {\n var value = state.value;\n var ok = state.state === FULFILLED;\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(new TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n call(then, result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n};\n\nvar notify = function (state, isReject) {\n if (state.notified) return;\n state.notified = true;\n microtask(function () {\n var reactions = state.reactions;\n var reaction;\n while (reaction = reactions.get()) {\n callReaction(reaction, state);\n }\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(state);\n });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n globalThis.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (!NATIVE_PROMISE_REJECTION_EVENT && (handler = globalThis['on' + name])) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (state) {\n call(task, globalThis, function () {\n var promise = state.facade;\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\n\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (state) {\n call(task, globalThis, function () {\n var promise = state.facade;\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, state, unwrap) {\n return function (value) {\n fn(state, value, unwrap);\n };\n};\n\nvar internalReject = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(state, true);\n};\n\nvar internalResolve = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (state.facade === value) throw new TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n call(then, value,\n bind(internalResolve, wrapper, state),\n bind(internalReject, wrapper, state)\n );\n } catch (error) {\n internalReject(wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(state, false);\n }\n } catch (error) {\n internalReject({ done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED_PROMISE_CONSTRUCTOR) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromisePrototype);\n aCallable(executor);\n call(Internal, this);\n var state = getInternalPromiseState(this);\n try {\n executor(bind(internalResolve, state), bind(internalReject, state));\n } catch (error) {\n internalReject(state, error);\n }\n };\n\n PromisePrototype = PromiseConstructor.prototype;\n\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: new Queue(),\n rejection: false,\n state: PENDING,\n value: null\n });\n };\n\n // `Promise.prototype.then` method\n // https://tc39.es/ecma262/#sec-promise.prototype.then\n Internal.prototype = defineBuiltIn(PromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n state.parent = true;\n reaction.ok = isCallable(onFulfilled) ? onFulfilled : true;\n reaction.fail = isCallable(onRejected) && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n if (state.state === PENDING) state.reactions.add(reaction);\n else microtask(function () {\n callReaction(reaction, state);\n });\n return reaction.promise;\n });\n\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalPromiseState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, state);\n this.reject = bind(internalReject, state);\n };\n\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && isCallable(NativePromiseConstructor) && NativePromisePrototype !== Object.prototype) {\n nativeThen = NativePromisePrototype.then;\n\n if (!NATIVE_PROMISE_SUBCLASSING) {\n // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n defineBuiltIn(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n call(nativeThen, that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n }\n\n // make `.constructor === Promise` work for native promise-based APIs\n try {\n delete NativePromisePrototype.constructor;\n } catch (error) { /* empty */ }\n\n // make `instanceof Promise` work for native promise-based APIs\n if (setPrototypeOf) {\n setPrototypeOf(NativePromisePrototype, PromisePrototype);\n }\n }\n}\n\n$({ global: true, constructor: true, wrap: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar fails = require('../internals/fails');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar speciesConstructor = require('../internals/species-constructor');\nvar promiseResolve = require('../internals/promise-resolve');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\n\n// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829\nvar NON_GENERIC = !!NativePromiseConstructor && fails(function () {\n // eslint-disable-next-line unicorn/no-thenable -- required for testing\n NativePromisePrototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ });\n});\n\n// `Promise.prototype.finally` method\n// https://tc39.es/ecma262/#sec-promise.prototype.finally\n$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, {\n 'finally': function (onFinally) {\n var C = speciesConstructor(this, getBuiltIn('Promise'));\n var isFunction = isCallable(onFinally);\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n }\n});\n\n// makes sure that native promise-based APIs `Promise#finally` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromiseConstructor)) {\n var method = getBuiltIn('Promise').prototype['finally'];\n if (NativePromisePrototype['finally'] !== method) {\n defineBuiltIn(NativePromisePrototype, 'finally', method, { unsafe: true });\n }\n}\n","'use strict';\n// TODO: Remove this module from `core-js@4` since it's split to modules listed below\nrequire('../modules/es.promise.constructor');\nrequire('../modules/es.promise.all');\nrequire('../modules/es.promise.catch');\nrequire('../modules/es.promise.race');\nrequire('../modules/es.promise.reject');\nrequire('../modules/es.promise.resolve');\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\nvar aCallable = require('../internals/a-callable');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\nvar PROMISE_STATICS_INCORRECT_ITERATION = require('../internals/promise-statics-incorrect-iteration');\n\n// `Promise.race` method\n// https://tc39.es/ecma262/#sec-promise.race\n$({ target: 'Promise', stat: true, forced: PROMISE_STATICS_INCORRECT_ITERATION }, {\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aCallable(C.resolve);\n iterate(iterable, function (promise) {\n call($promiseResolve, C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\n\n// `Promise.reject` method\n// https://tc39.es/ecma262/#sec-promise.reject\n$({ target: 'Promise', stat: true, forced: FORCED_PROMISE_CONSTRUCTOR }, {\n reject: function reject(r) {\n var capability = newPromiseCapabilityModule.f(this);\n var capabilityReject = capability.reject;\n capabilityReject(r);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar FORCED_PROMISE_CONSTRUCTOR = require('../internals/promise-constructor-detection').CONSTRUCTOR;\nvar promiseResolve = require('../internals/promise-resolve');\n\nvar PromiseConstructorWrapper = getBuiltIn('Promise');\nvar CHECK_WRAPPER = IS_PURE && !FORCED_PROMISE_CONSTRUCTOR;\n\n// `Promise.resolve` method\n// https://tc39.es/ecma262/#sec-promise.resolve\n$({ target: 'Promise', stat: true, forced: IS_PURE || FORCED_PROMISE_CONSTRUCTOR }, {\n resolve: function resolve(x) {\n return promiseResolve(CHECK_WRAPPER && this === PromiseConstructorWrapper ? NativePromiseConstructor : this, x);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind');\nvar aConstructor = require('../internals/a-constructor');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar fails = require('../internals/fails');\n\nvar nativeConstruct = getBuiltIn('Reflect', 'construct');\nvar ObjectPrototype = Object.prototype;\nvar push = [].push;\n\n// `Reflect.construct` method\n// https://tc39.es/ecma262/#sec-reflect.construct\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n function F() { /* empty */ }\n return !(nativeConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\n\nvar ARGS_BUG = !fails(function () {\n nativeConstruct(function () { /* empty */ });\n});\n\nvar FORCED = NEW_TARGET_BUG || ARGS_BUG;\n\n$({ target: 'Reflect', stat: true, forced: FORCED, sham: FORCED }, {\n construct: function construct(Target, args /* , newTarget */) {\n aConstructor(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aConstructor(arguments[2]);\n if (ARGS_BUG && !NEW_TARGET_BUG) return nativeConstruct(Target, args, newTarget);\n if (Target === newTarget) {\n // w/o altered newTarget, optimization for 0-4 arguments\n switch (args.length) {\n case 0: return new Target();\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n apply(push, $args, args);\n return new (apply(bind, Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : ObjectPrototype);\n var result = apply(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar globalThis = require('../internals/global-this');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isForced = require('../internals/is-forced');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar create = require('../internals/object-create');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar isRegExp = require('../internals/is-regexp');\nvar toString = require('../internals/to-string');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar proxyAccessor = require('../internals/proxy-accessor');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar fails = require('../internals/fails');\nvar hasOwn = require('../internals/has-own-property');\nvar enforceInternalState = require('../internals/internal-state').enforce;\nvar setSpecies = require('../internals/set-species');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');\nvar UNSUPPORTED_NCG = require('../internals/regexp-unsupported-ncg');\n\nvar MATCH = wellKnownSymbol('match');\nvar NativeRegExp = globalThis.RegExp;\nvar RegExpPrototype = NativeRegExp.prototype;\nvar SyntaxError = globalThis.SyntaxError;\nvar exec = uncurryThis(RegExpPrototype.exec);\nvar charAt = uncurryThis(''.charAt);\nvar replace = uncurryThis(''.replace);\nvar stringIndexOf = uncurryThis(''.indexOf);\nvar stringSlice = uncurryThis(''.slice);\n// TODO: Use only proper RegExpIdentifierName\nvar IS_NCG = /^\\?<[^\\s\\d!#%&*+<=>@^][^\\s!#%&*+<=>@^]*>/;\nvar re1 = /a/g;\nvar re2 = /a/g;\n\n// \"new\" should create a new object, old webkit bug\nvar CORRECT_NEW = new NativeRegExp(re1) !== re1;\n\nvar MISSED_STICKY = stickyHelpers.MISSED_STICKY;\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\n\nvar BASE_FORCED = DESCRIPTORS &&\n (!CORRECT_NEW || MISSED_STICKY || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG || fails(function () {\n re2[MATCH] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n // eslint-disable-next-line sonar/inconsistent-function-call -- required for testing\n return NativeRegExp(re1) !== re1 || NativeRegExp(re2) === re2 || String(NativeRegExp(re1, 'i')) !== '/a/i';\n }));\n\nvar handleDotAll = function (string) {\n var length = string.length;\n var index = 0;\n var result = '';\n var brackets = false;\n var chr;\n for (; index <= length; index++) {\n chr = charAt(string, index);\n if (chr === '\\\\') {\n result += chr + charAt(string, ++index);\n continue;\n }\n if (!brackets && chr === '.') {\n result += '[\\\\s\\\\S]';\n } else {\n if (chr === '[') {\n brackets = true;\n } else if (chr === ']') {\n brackets = false;\n } result += chr;\n }\n } return result;\n};\n\nvar handleNCG = function (string) {\n var length = string.length;\n var index = 0;\n var result = '';\n var named = [];\n var names = create(null);\n var brackets = false;\n var ncg = false;\n var groupid = 0;\n var groupname = '';\n var chr;\n for (; index <= length; index++) {\n chr = charAt(string, index);\n if (chr === '\\\\') {\n chr += charAt(string, ++index);\n } else if (chr === ']') {\n brackets = false;\n } else if (!brackets) switch (true) {\n case chr === '[':\n brackets = true;\n break;\n case chr === '(':\n result += chr;\n // ignore non-capturing groups\n if (stringSlice(string, index + 1, index + 3) === '?:') {\n continue;\n }\n if (exec(IS_NCG, stringSlice(string, index + 1))) {\n index += 2;\n ncg = true;\n }\n groupid++;\n continue;\n case chr === '>' && ncg:\n if (groupname === '' || hasOwn(names, groupname)) {\n throw new SyntaxError('Invalid capture group name');\n }\n names[groupname] = true;\n named[named.length] = [groupname, groupid];\n ncg = false;\n groupname = '';\n continue;\n }\n if (ncg) groupname += chr;\n else result += chr;\n } return [result, named];\n};\n\n// `RegExp` constructor\n// https://tc39.es/ecma262/#sec-regexp-constructor\nif (isForced('RegExp', BASE_FORCED)) {\n var RegExpWrapper = function RegExp(pattern, flags) {\n var thisIsRegExp = isPrototypeOf(RegExpPrototype, this);\n var patternIsRegExp = isRegExp(pattern);\n var flagsAreUndefined = flags === undefined;\n var groups = [];\n var rawPattern = pattern;\n var rawFlags, dotAll, sticky, handled, result, state;\n\n if (!thisIsRegExp && patternIsRegExp && flagsAreUndefined && pattern.constructor === RegExpWrapper) {\n return pattern;\n }\n\n if (patternIsRegExp || isPrototypeOf(RegExpPrototype, pattern)) {\n pattern = pattern.source;\n if (flagsAreUndefined) flags = getRegExpFlags(rawPattern);\n }\n\n pattern = pattern === undefined ? '' : toString(pattern);\n flags = flags === undefined ? '' : toString(flags);\n rawPattern = pattern;\n\n if (UNSUPPORTED_DOT_ALL && 'dotAll' in re1) {\n dotAll = !!flags && stringIndexOf(flags, 's') > -1;\n if (dotAll) flags = replace(flags, /s/g, '');\n }\n\n rawFlags = flags;\n\n if (MISSED_STICKY && 'sticky' in re1) {\n sticky = !!flags && stringIndexOf(flags, 'y') > -1;\n if (sticky && UNSUPPORTED_Y) flags = replace(flags, /y/g, '');\n }\n\n if (UNSUPPORTED_NCG) {\n handled = handleNCG(pattern);\n pattern = handled[0];\n groups = handled[1];\n }\n\n result = inheritIfRequired(NativeRegExp(pattern, flags), thisIsRegExp ? this : RegExpPrototype, RegExpWrapper);\n\n if (dotAll || sticky || groups.length) {\n state = enforceInternalState(result);\n if (dotAll) {\n state.dotAll = true;\n state.raw = RegExpWrapper(handleDotAll(pattern), rawFlags);\n }\n if (sticky) state.sticky = true;\n if (groups.length) state.groups = groups;\n }\n\n if (pattern !== rawPattern) try {\n // fails in old engines, but we have no alternatives for unsupported regex syntax\n createNonEnumerableProperty(result, 'source', rawPattern === '' ? '(?:)' : rawPattern);\n } catch (error) { /* empty */ }\n\n return result;\n };\n\n for (var keys = getOwnPropertyNames(NativeRegExp), index = 0; keys.length > index;) {\n proxyAccessor(RegExpWrapper, NativeRegExp, keys[index++]);\n }\n\n RegExpPrototype.constructor = RegExpWrapper;\n RegExpWrapper.prototype = RegExpPrototype;\n defineBuiltIn(globalThis, 'RegExp', RegExpWrapper, { constructor: true });\n}\n\n// https://tc39.es/ecma262/#sec-get-regexp-@@species\nsetSpecies('RegExp');\n","'use strict';\nvar $ = require('../internals/export');\nvar exec = require('../internals/regexp-exec');\n\n// `RegExp.prototype.exec` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.exec\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n exec: exec\n});\n","'use strict';\nvar PROPER_FUNCTION_NAME = require('../internals/function-name').PROPER;\nvar defineBuiltIn = require('../internals/define-built-in');\nvar anObject = require('../internals/an-object');\nvar $toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar getRegExpFlags = require('../internals/regexp-get-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) !== '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = PROPER_FUNCTION_NAME && nativeToString.name !== TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n defineBuiltIn(RegExpPrototype, TO_STRING, function toString() {\n var R = anObject(this);\n var pattern = $toString(R.source);\n var flags = $toString(getRegExpFlags(R));\n return '/' + pattern + '/' + flags;\n }, { unsafe: true });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\nvar $RangeError = RangeError;\nvar fromCharCode = String.fromCharCode;\n// eslint-disable-next-line es/no-string-fromcodepoint -- required for testing\nvar $fromCodePoint = String.fromCodePoint;\nvar join = uncurryThis([].join);\n\n// length should be 1, old FF problem\nvar INCORRECT_LENGTH = !!$fromCodePoint && $fromCodePoint.length !== 1;\n\n// `String.fromCodePoint` method\n// https://tc39.es/ecma262/#sec-string.fromcodepoint\n$({ target: 'String', stat: true, arity: 1, forced: INCORRECT_LENGTH }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n fromCodePoint: function fromCodePoint(x) {\n var elements = [];\n var length = arguments.length;\n var i = 0;\n var code;\n while (length > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10FFFF) !== code) throw new $RangeError(code + ' is not a valid code point');\n elements[i] = code < 0x10000\n ? fromCharCode(code)\n : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00);\n } return join(elements, '');\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar notARegExp = require('../internals/not-a-regexp');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar correctIsRegExpLogic = require('../internals/correct-is-regexp-logic');\n\nvar stringIndexOf = uncurryThis(''.indexOf);\n\n// `String.prototype.includes` method\n// https://tc39.es/ecma262/#sec-string.prototype.includes\n$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~stringIndexOf(\n toString(requireObjectCoercible(this)),\n toString(notARegExp(searchString)),\n arguments.length > 1 ? arguments[1] : undefined\n );\n }\n});\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar toString = require('../internals/to-string');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/iterator-define');\nvar createIterResultObject = require('../internals/create-iter-result-object');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: toString(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return createIterResultObject(undefined, true);\n point = charAt(string, index);\n state.index += point.length;\n return createIterResultObject(point, false);\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar createHTML = require('../internals/create-html');\nvar forcedStringHTMLMethod = require('../internals/string-html-forced');\n\n// `String.prototype.link` method\n// https://tc39.es/ecma262/#sec-string.prototype.link\n$({ target: 'String', proto: true, forced: forcedStringHTMLMethod('link') }, {\n link: function link(url) {\n return createHTML(this, 'a', 'href', url);\n }\n});\n","'use strict';\nvar call = require('../internals/function-call');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar getMethod = require('../internals/get-method');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@match logic\nfixRegExpWellKnownSymbolLogic('match', function (MATCH, nativeMatch, maybeCallNative) {\n return [\n // `String.prototype.match` method\n // https://tc39.es/ecma262/#sec-string.prototype.match\n function match(regexp) {\n var O = requireObjectCoercible(this);\n var matcher = isNullOrUndefined(regexp) ? undefined : getMethod(regexp, MATCH);\n return matcher ? call(matcher, regexp, O) : new RegExp(regexp)[MATCH](toString(O));\n },\n // `RegExp.prototype[@@match]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@match\n function (string) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(nativeMatch, rx, S);\n\n if (res.done) return res.value;\n\n if (!rx.global) return regExpExec(rx, S);\n\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n var A = [];\n var n = 0;\n var result;\n while ((result = regExpExec(rx, S)) !== null) {\n var matchStr = toString(result[0]);\n A[n] = matchStr;\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n n++;\n }\n return n === 0 ? null : A;\n }\n ];\n});\n","'use strict';\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar fails = require('../internals/fails');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar getMethod = require('../internals/get-method');\nvar getSubstitution = require('../internals/get-substitution');\nvar regExpExec = require('../internals/regexp-exec-abstract');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar max = Math.max;\nvar min = Math.min;\nvar concat = uncurryThis([].concat);\nvar push = uncurryThis([].push);\nvar stringIndexOf = uncurryThis(''.indexOf);\nvar stringSlice = uncurryThis(''.slice);\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n if (/./[REPLACE]) {\n return /./[REPLACE]('a', '$0') === '';\n }\n return false;\n})();\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n // eslint-disable-next-line regexp/no-useless-dollar-replacements -- false positive\n return ''.replace(re, '$') !== '7';\n});\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNative) {\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.es/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = isNullOrUndefined(searchValue) ? undefined : getMethod(searchValue, REPLACE);\n return replacer\n ? call(replacer, searchValue, O, replaceValue)\n : call(nativeReplace, toString(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace\n function (string, replaceValue) {\n var rx = anObject(this);\n var S = toString(string);\n\n if (\n typeof replaceValue == 'string' &&\n stringIndexOf(replaceValue, UNSAFE_SUBSTITUTE) === -1 &&\n stringIndexOf(replaceValue, '$<') === -1\n ) {\n var res = maybeCallNative(nativeReplace, rx, S, replaceValue);\n if (res.done) return res.value;\n }\n\n var functionalReplace = isCallable(replaceValue);\n if (!functionalReplace) replaceValue = toString(replaceValue);\n\n var global = rx.global;\n var fullUnicode;\n if (global) {\n fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n\n var results = [];\n var result;\n while (true) {\n result = regExpExec(rx, S);\n if (result === null) break;\n\n push(results, result);\n if (!global) break;\n\n var matchStr = toString(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = toString(result[0]);\n var position = max(min(toIntegerOrInfinity(result.index), S.length), 0);\n var captures = [];\n var replacement;\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) push(captures, maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = concat([matched], captures, position, S);\n if (namedCaptures !== undefined) push(replacerArgs, namedCaptures);\n replacement = toString(apply(replaceValue, undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += stringSlice(S, nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n\n return accumulatedResult + stringSlice(S, nextSourcePosition);\n }\n ];\n}, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE);\n","'use strict';\nvar call = require('../internals/function-call');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar sameValue = require('../internals/same-value');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\n// @@search logic\nfixRegExpWellKnownSymbolLogic('search', function (SEARCH, nativeSearch, maybeCallNative) {\n return [\n // `String.prototype.search` method\n // https://tc39.es/ecma262/#sec-string.prototype.search\n function search(regexp) {\n var O = requireObjectCoercible(this);\n var searcher = isNullOrUndefined(regexp) ? undefined : getMethod(regexp, SEARCH);\n return searcher ? call(searcher, regexp, O) : new RegExp(regexp)[SEARCH](toString(O));\n },\n // `RegExp.prototype[@@search]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@search\n function (string) {\n var rx = anObject(this);\n var S = toString(string);\n var res = maybeCallNative(nativeSearch, rx, S);\n\n if (res.done) return res.value;\n\n var previousLastIndex = rx.lastIndex;\n if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;\n var result = regExpExec(rx, S);\n if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;\n return result === null ? -1 : result.index;\n }\n ];\n});\n","'use strict';\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar speciesConstructor = require('../internals/species-constructor');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar getMethod = require('../internals/get-method');\nvar regExpExec = require('../internals/regexp-exec-abstract');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar fails = require('../internals/fails');\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\nvar MAX_UINT32 = 0xFFFFFFFF;\nvar min = Math.min;\nvar push = uncurryThis([].push);\nvar stringSlice = uncurryThis(''.slice);\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n // eslint-disable-next-line regexp/no-empty-group -- required for testing\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';\n});\n\nvar BUGGY = 'abbc'.split(/(b)*/)[1] === 'c' ||\n // eslint-disable-next-line regexp/no-empty-group -- required for testing\n 'test'.split(/(?:)/, -1).length !== 4 ||\n 'ab'.split(/(?:ab)*/).length !== 2 ||\n '.'.split(/(.?)(.?)/).length !== 4 ||\n // eslint-disable-next-line regexp/no-empty-capturing-group, regexp/no-empty-group -- required for testing\n '.'.split(/()()/).length > 1 ||\n ''.split(/.?/).length;\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', function (SPLIT, nativeSplit, maybeCallNative) {\n var internalSplit = '0'.split(undefined, 0).length ? function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : call(nativeSplit, this, separator, limit);\n } : nativeSplit;\n\n return [\n // `String.prototype.split` method\n // https://tc39.es/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = requireObjectCoercible(this);\n var splitter = isNullOrUndefined(separator) ? undefined : getMethod(separator, SPLIT);\n return splitter\n ? call(splitter, separator, O, limit)\n : call(internalSplit, toString(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (string, limit) {\n var rx = anObject(this);\n var S = toString(string);\n\n if (!BUGGY) {\n var res = maybeCallNative(internalSplit, rx, S, limit, internalSplit !== nativeSplit);\n if (res.done) return res.value;\n }\n\n var C = speciesConstructor(rx, RegExp);\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (UNSUPPORTED_Y ? 'g' : 'y');\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(UNSUPPORTED_Y ? '^(?:' + rx.source + ')' : rx, flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return regExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = UNSUPPORTED_Y ? 0 : q;\n var z = regExpExec(splitter, UNSUPPORTED_Y ? stringSlice(S, q) : S);\n var e;\n if (\n z === null ||\n (e = min(toLength(splitter.lastIndex + (UNSUPPORTED_Y ? q : 0)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n push(A, stringSlice(S, p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n push(A, z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n push(A, stringSlice(S, p));\n return A;\n }\n ];\n}, BUGGY || !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC, UNSUPPORTED_Y);\n","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.es/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar globalThis = require('../internals/global-this');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar fails = require('../internals/fails');\nvar hasOwn = require('../internals/has-own-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar $toString = require('../internals/to-string');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\nvar defineSymbolToPrimitive = require('../internals/symbol-define-to-primitive');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\n\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\n\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = globalThis.Symbol;\nvar SymbolPrototype = $Symbol && $Symbol[PROTOTYPE];\nvar RangeError = globalThis.RangeError;\nvar TypeError = globalThis.TypeError;\nvar QObject = globalThis.QObject;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar push = uncurryThis([].push);\n\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar WellKnownSymbolsStore = shared('wks');\n\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar fallbackDefineProperty = function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n};\n\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a !== 7;\n}) ? fallbackDefineProperty : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate(SymbolPrototype);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPropertyKey(P);\n anObject(Attributes);\n if (hasOwn(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!hasOwn(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, nativeObjectCreate(null)));\n O[HIDDEN][key] = true;\n } else {\n if (hasOwn(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || call($propertyIsEnumerable, properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPropertyKey(V);\n var enumerable = call(nativePropertyIsEnumerable, this, P);\n if (this === ObjectPrototype && hasOwn(AllSymbols, P) && !hasOwn(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !hasOwn(this, P) || !hasOwn(AllSymbols, P) || hasOwn(this, HIDDEN) && this[HIDDEN][P]\n ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPropertyKey(P);\n if (it === ObjectPrototype && hasOwn(AllSymbols, key) && !hasOwn(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && hasOwn(AllSymbols, key) && !(hasOwn(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!hasOwn(AllSymbols, key) && !hasOwn(hiddenKeys, key)) push(result, key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function (O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (hasOwn(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || hasOwn(ObjectPrototype, key))) {\n push(result, AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.es/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (isPrototypeOf(SymbolPrototype, this)) throw new TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n var $this = this === undefined ? globalThis : this;\n if ($this === ObjectPrototype) call(setter, ObjectPrototypeSymbols, value);\n if (hasOwn($this, HIDDEN) && hasOwn($this[HIDDEN], tag)) $this[HIDDEN][tag] = false;\n var descriptor = createPropertyDescriptor(1, value);\n try {\n setSymbolDescriptor($this, tag, descriptor);\n } catch (error) {\n if (!(error instanceof RangeError)) throw error;\n fallbackDefineProperty($this, tag, descriptor);\n }\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n SymbolPrototype = $Symbol[PROTOTYPE];\n\n defineBuiltIn(SymbolPrototype, 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n defineBuiltIn($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n definePropertiesModule.f = $defineProperties;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n defineBuiltInAccessor(SymbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n defineBuiltIn(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, constructor: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.es/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.es/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.es/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.es/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames\n});\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\ndefineSymbolToPrimitive();\n\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","'use strict';\nvar $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar hasOwn = require('../internals/has-own-property');\nvar toString = require('../internals/to-string');\nvar shared = require('../internals/shared');\nvar NATIVE_SYMBOL_REGISTRY = require('../internals/symbol-registry-detection');\n\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\n\n// `Symbol.for` method\n// https://tc39.es/ecma262/#sec-symbol.for\n$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, {\n 'for': function (key) {\n var string = toString(key);\n if (hasOwn(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = getBuiltIn('Symbol')(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n }\n});\n","'use strict';\n// TODO: Remove this module from `core-js@4` since it's split to modules listed below\nrequire('../modules/es.symbol.constructor');\nrequire('../modules/es.symbol.for');\nrequire('../modules/es.symbol.key-for');\nrequire('../modules/es.json.stringify');\nrequire('../modules/es.object.get-own-property-symbols');\n","'use strict';\nvar $ = require('../internals/export');\nvar hasOwn = require('../internals/has-own-property');\nvar isSymbol = require('../internals/is-symbol');\nvar tryToString = require('../internals/try-to-string');\nvar shared = require('../internals/shared');\nvar NATIVE_SYMBOL_REGISTRY = require('../internals/symbol-registry-detection');\n\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\n\n// `Symbol.keyFor` method\n// https://tc39.es/ecma262/#sec-symbol.keyfor\n$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, {\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw new TypeError(tryToString(sym) + ' is not a symbol');\n if (hasOwn(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n }\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $ArrayCopyWithin = require('../internals/array-copy-within');\n\nvar u$ArrayCopyWithin = uncurryThis($ArrayCopyWithin);\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.copyWithin` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.copywithin\nexportTypedArrayMethod('copyWithin', function copyWithin(target, start /* , end */) {\n return u$ArrayCopyWithin(aTypedArray(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $every = require('../internals/array-iteration').every;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.every` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.every\nexportTypedArrayMethod('every', function every(callbackfn /* , thisArg */) {\n return $every(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $fill = require('../internals/array-fill');\nvar toBigInt = require('../internals/to-big-int');\nvar classof = require('../internals/classof');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar slice = uncurryThis(''.slice);\n\n// V8 ~ Chrome < 59, Safari < 14.1, FF < 55, Edge <=18\nvar CONVERSION_BUG = fails(function () {\n var count = 0;\n // eslint-disable-next-line es/no-typed-arrays -- safe\n new Int8Array(2).fill({ valueOf: function () { return count++; } });\n return count !== 1;\n});\n\n// `%TypedArray%.prototype.fill` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.fill\nexportTypedArrayMethod('fill', function fill(value /* , start, end */) {\n var length = arguments.length;\n aTypedArray(this);\n var actualValue = slice(classof(this), 0, 3) === 'Big' ? toBigInt(value) : +value;\n return call($fill, this, actualValue, length > 1 ? arguments[1] : undefined, length > 2 ? arguments[2] : undefined);\n}, CONVERSION_BUG);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $filter = require('../internals/array-iteration').filter;\nvar fromSpeciesAndList = require('../internals/typed-array-from-species-and-list');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.filter` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.filter\nexportTypedArrayMethod('filter', function filter(callbackfn /* , thisArg */) {\n var list = $filter(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n return fromSpeciesAndList(this, list);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $findIndex = require('../internals/array-iteration').findIndex;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.findIndex` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findindex\nexportTypedArrayMethod('findIndex', function findIndex(predicate /* , thisArg */) {\n return $findIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $find = require('../internals/array-iteration').find;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.find` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.find\nexportTypedArrayMethod('find', function find(predicate /* , thisArg */) {\n return $find(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.forEach` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.foreach\nexportTypedArrayMethod('forEach', function forEach(callbackfn /* , thisArg */) {\n $forEach(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $includes = require('../internals/array-includes').includes;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.includes` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.includes\nexportTypedArrayMethod('includes', function includes(searchElement /* , fromIndex */) {\n return $includes(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $indexOf = require('../internals/array-includes').indexOf;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.indexOf` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.indexof\nexportTypedArrayMethod('indexOf', function indexOf(searchElement /* , fromIndex */) {\n return $indexOf(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar fails = require('../internals/fails');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar ArrayIterators = require('../modules/es.array.iterator');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar Uint8Array = globalThis.Uint8Array;\nvar arrayValues = uncurryThis(ArrayIterators.values);\nvar arrayKeys = uncurryThis(ArrayIterators.keys);\nvar arrayEntries = uncurryThis(ArrayIterators.entries);\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar TypedArrayPrototype = Uint8Array && Uint8Array.prototype;\n\nvar GENERIC = !fails(function () {\n TypedArrayPrototype[ITERATOR].call([1]);\n});\n\nvar ITERATOR_IS_VALUES = !!TypedArrayPrototype\n && TypedArrayPrototype.values\n && TypedArrayPrototype[ITERATOR] === TypedArrayPrototype.values\n && TypedArrayPrototype.values.name === 'values';\n\nvar typedArrayValues = function values() {\n return arrayValues(aTypedArray(this));\n};\n\n// `%TypedArray%.prototype.entries` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.entries\nexportTypedArrayMethod('entries', function entries() {\n return arrayEntries(aTypedArray(this));\n}, GENERIC);\n// `%TypedArray%.prototype.keys` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.keys\nexportTypedArrayMethod('keys', function keys() {\n return arrayKeys(aTypedArray(this));\n}, GENERIC);\n// `%TypedArray%.prototype.values` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.values\nexportTypedArrayMethod('values', typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' });\n// `%TypedArray%.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype-@@iterator\nexportTypedArrayMethod(ITERATOR, typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' });\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $join = uncurryThis([].join);\n\n// `%TypedArray%.prototype.join` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.join\nexportTypedArrayMethod('join', function join(separator) {\n return $join(aTypedArray(this), separator);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar apply = require('../internals/function-apply');\nvar $lastIndexOf = require('../internals/array-last-index-of');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.lastIndexOf` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.lastindexof\nexportTypedArrayMethod('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) {\n var length = arguments.length;\n return apply($lastIndexOf, aTypedArray(this), length > 1 ? [searchElement, arguments[1]] : [searchElement]);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $map = require('../internals/array-iteration').map;\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.map` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.map\nexportTypedArrayMethod('map', function map(mapfn /* , thisArg */) {\n return $map(aTypedArray(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) {\n return new (typedArraySpeciesConstructor(O))(length);\n });\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $reduceRight = require('../internals/array-reduce').right;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.reduceRight` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduceright\nexportTypedArrayMethod('reduceRight', function reduceRight(callbackfn /* , initialValue */) {\n var length = arguments.length;\n return $reduceRight(aTypedArray(this), callbackfn, length, length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $reduce = require('../internals/array-reduce').left;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.reduce` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduce\nexportTypedArrayMethod('reduce', function reduce(callbackfn /* , initialValue */) {\n var length = arguments.length;\n return $reduce(aTypedArray(this), callbackfn, length, length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar floor = Math.floor;\n\n// `%TypedArray%.prototype.reverse` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reverse\nexportTypedArrayMethod('reverse', function reverse() {\n var that = this;\n var length = aTypedArray(that).length;\n var middle = floor(length / 2);\n var index = 0;\n var value;\n while (index < middle) {\n value = that[index];\n that[index++] = that[--length];\n that[length] = value;\n } return that;\n});\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar call = require('../internals/function-call');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toOffset = require('../internals/to-offset');\nvar toIndexedObject = require('../internals/to-object');\nvar fails = require('../internals/fails');\n\nvar RangeError = globalThis.RangeError;\nvar Int8Array = globalThis.Int8Array;\nvar Int8ArrayPrototype = Int8Array && Int8Array.prototype;\nvar $set = Int8ArrayPrototype && Int8ArrayPrototype.set;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS = !fails(function () {\n // eslint-disable-next-line es/no-typed-arrays -- required for testing\n var array = new Uint8ClampedArray(2);\n call($set, array, { length: 1, 0: 3 }, 1);\n return array[1] !== 3;\n});\n\n// https://bugs.chromium.org/p/v8/issues/detail?id=11294 and other\nvar TO_OBJECT_BUG = WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS && ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS && fails(function () {\n var array = new Int8Array(2);\n array.set(1);\n array.set('2', 1);\n return array[0] !== 0 || array[1] !== 2;\n});\n\n// `%TypedArray%.prototype.set` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set\nexportTypedArrayMethod('set', function set(arrayLike /* , offset */) {\n aTypedArray(this);\n var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1);\n var src = toIndexedObject(arrayLike);\n if (WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS) return call($set, this, src, offset);\n var length = this.length;\n var len = lengthOfArrayLike(src);\n var index = 0;\n if (len + offset > length) throw new RangeError('Wrong length');\n while (index < len) this[offset + index] = src[index++];\n}, !WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS || TO_OBJECT_BUG);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\nvar fails = require('../internals/fails');\nvar arraySlice = require('../internals/array-slice');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\nvar FORCED = fails(function () {\n // eslint-disable-next-line es/no-typed-arrays -- required for testing\n new Int8Array(1).slice();\n});\n\n// `%TypedArray%.prototype.slice` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.slice\nexportTypedArrayMethod('slice', function slice(start, end) {\n var list = arraySlice(aTypedArray(this), start, end);\n var C = typedArraySpeciesConstructor(this);\n var index = 0;\n var length = list.length;\n var result = new C(length);\n while (length > index) result[index] = list[index++];\n return result;\n}, FORCED);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar $some = require('../internals/array-iteration').some;\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.some` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.some\nexportTypedArrayMethod('some', function some(callbackfn /* , thisArg */) {\n return $some(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n});\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar fails = require('../internals/fails');\nvar aCallable = require('../internals/a-callable');\nvar internalSort = require('../internals/array-sort');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar FF = require('../internals/environment-ff-version');\nvar IE_OR_EDGE = require('../internals/environment-is-ie-or-edge');\nvar V8 = require('../internals/environment-v8-version');\nvar WEBKIT = require('../internals/environment-webkit-version');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar Uint16Array = globalThis.Uint16Array;\nvar nativeSort = Uint16Array && uncurryThis(Uint16Array.prototype.sort);\n\n// WebKit\nvar ACCEPT_INCORRECT_ARGUMENTS = !!nativeSort && !(fails(function () {\n nativeSort(new Uint16Array(2), null);\n}) && fails(function () {\n nativeSort(new Uint16Array(2), {});\n}));\n\nvar STABLE_SORT = !!nativeSort && !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 74;\n if (FF) return FF < 67;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 602;\n\n var array = new Uint16Array(516);\n var expected = Array(516);\n var index, mod;\n\n for (index = 0; index < 516; index++) {\n mod = index % 4;\n array[index] = 515 - index;\n expected[index] = index - 2 * mod + 3;\n }\n\n nativeSort(array, function (a, b) {\n return (a / 4 | 0) - (b / 4 | 0);\n });\n\n for (index = 0; index < 516; index++) {\n if (array[index] !== expected[index]) return true;\n }\n});\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n // eslint-disable-next-line no-self-compare -- NaN check\n if (y !== y) return -1;\n // eslint-disable-next-line no-self-compare -- NaN check\n if (x !== x) return 1;\n if (x === 0 && y === 0) return 1 / x > 0 && 1 / y < 0 ? 1 : -1;\n return x > y;\n };\n};\n\n// `%TypedArray%.prototype.sort` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.sort\nexportTypedArrayMethod('sort', function sort(comparefn) {\n if (comparefn !== undefined) aCallable(comparefn);\n if (STABLE_SORT) return nativeSort(this, comparefn);\n\n return internalSort(aTypedArray(this), getSortCompare(comparefn));\n}, !STABLE_SORT || ACCEPT_INCORRECT_ARGUMENTS);\n","'use strict';\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar typedArraySpeciesConstructor = require('../internals/typed-array-species-constructor');\n\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\n\n// `%TypedArray%.prototype.subarray` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.subarray\nexportTypedArrayMethod('subarray', function subarray(begin, end) {\n var O = aTypedArray(this);\n var length = O.length;\n var beginIndex = toAbsoluteIndex(begin, length);\n var C = typedArraySpeciesConstructor(O);\n return new C(\n O.buffer,\n O.byteOffset + beginIndex * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - beginIndex)\n );\n});\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar apply = require('../internals/function-apply');\nvar ArrayBufferViewCore = require('../internals/array-buffer-view-core');\nvar fails = require('../internals/fails');\nvar arraySlice = require('../internals/array-slice');\n\nvar Int8Array = globalThis.Int8Array;\nvar aTypedArray = ArrayBufferViewCore.aTypedArray;\nvar exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;\nvar $toLocaleString = [].toLocaleString;\n\n// iOS Safari 6.x fails here\nvar TO_LOCALE_STRING_BUG = !!Int8Array && fails(function () {\n $toLocaleString.call(new Int8Array(1));\n});\n\nvar FORCED = fails(function () {\n return [1, 2].toLocaleString() !== new Int8Array([1, 2]).toLocaleString();\n}) || !fails(function () {\n Int8Array.prototype.toLocaleString.call([1, 2]);\n});\n\n// `%TypedArray%.prototype.toLocaleString` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tolocalestring\nexportTypedArrayMethod('toLocaleString', function toLocaleString() {\n return apply(\n $toLocaleString,\n TO_LOCALE_STRING_BUG ? arraySlice(aTypedArray(this)) : aTypedArray(this),\n arraySlice(arguments)\n );\n}, FORCED);\n","'use strict';\nvar exportTypedArrayMethod = require('../internals/array-buffer-view-core').exportTypedArrayMethod;\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar Uint8Array = globalThis.Uint8Array;\nvar Uint8ArrayPrototype = Uint8Array && Uint8Array.prototype || {};\nvar arrayToString = [].toString;\nvar join = uncurryThis([].join);\n\nif (fails(function () { arrayToString.call({}); })) {\n arrayToString = function toString() {\n return join(this);\n };\n}\n\nvar IS_NOT_ARRAY_METHOD = Uint8ArrayPrototype.toString !== arrayToString;\n\n// `%TypedArray%.prototype.toString` method\n// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tostring\nexportTypedArrayMethod('toString', arrayToString, IS_NOT_ARRAY_METHOD);\n","'use strict';\nvar createTypedArrayConstructor = require('../internals/typed-array-constructor');\n\n// `Uint8Array` constructor\n// https://tc39.es/ecma262/#sec-typedarray-objects\ncreateTypedArrayConstructor('Uint8', function (init) {\n return function Uint8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","'use strict';\n// TODO: Remove from `core-js@4`\nrequire('../modules/es.global-this');\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar forEach = require('../internals/array-for-each');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar handlePrototype = function (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {\n createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);\n } catch (error) {\n CollectionPrototype.forEach = forEach;\n }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n if (DOMIterables[COLLECTION_NAME]) {\n handlePrototype(globalThis[COLLECTION_NAME] && globalThis[COLLECTION_NAME].prototype);\n }\n}\n\nhandlePrototype(DOMTokenListPrototype);\n","'use strict';\nvar globalThis = require('../internals/global-this');\nvar DOMIterables = require('../internals/dom-iterables');\nvar DOMTokenListPrototype = require('../internals/dom-token-list-prototype');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nvar handlePrototype = function (CollectionPrototype, COLLECTION_NAME) {\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n setToStringTag(CollectionPrototype, COLLECTION_NAME, true);\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n};\n\nfor (var COLLECTION_NAME in DOMIterables) {\n handlePrototype(globalThis[COLLECTION_NAME] && globalThis[COLLECTION_NAME].prototype, COLLECTION_NAME);\n}\n\nhandlePrototype(DOMTokenListPrototype, 'DOMTokenList');\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.array.iterator');\nrequire('../modules/es.string.from-code-point');\nvar $ = require('../internals/export');\nvar globalThis = require('../internals/global-this');\nvar safeGetBuiltIn = require('../internals/safe-get-built-in');\nvar getBuiltIn = require('../internals/get-built-in');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/url-constructor-detection');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar defineBuiltIns = require('../internals/define-built-ins');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createIteratorConstructor = require('../internals/iterator-create-constructor');\nvar InternalStateModule = require('../internals/internal-state');\nvar anInstance = require('../internals/an-instance');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar bind = require('../internals/function-bind-context');\nvar classof = require('../internals/classof');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar $toString = require('../internals/to-string');\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar getIterator = require('../internals/get-iterator');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar createIterResultObject = require('../internals/create-iter-result-object');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arraySort = require('../internals/array-sort');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\n\nvar nativeFetch = safeGetBuiltIn('fetch');\nvar NativeRequest = safeGetBuiltIn('Request');\nvar Headers = safeGetBuiltIn('Headers');\nvar RequestPrototype = NativeRequest && NativeRequest.prototype;\nvar HeadersPrototype = Headers && Headers.prototype;\nvar TypeError = globalThis.TypeError;\nvar encodeURIComponent = globalThis.encodeURIComponent;\nvar fromCharCode = String.fromCharCode;\nvar fromCodePoint = getBuiltIn('String', 'fromCodePoint');\nvar $parseInt = parseInt;\nvar charAt = uncurryThis(''.charAt);\nvar join = uncurryThis([].join);\nvar push = uncurryThis([].push);\nvar replace = uncurryThis(''.replace);\nvar shift = uncurryThis([].shift);\nvar splice = uncurryThis([].splice);\nvar split = uncurryThis(''.split);\nvar stringSlice = uncurryThis(''.slice);\nvar exec = uncurryThis(/./.exec);\n\nvar plus = /\\+/g;\nvar FALLBACK_REPLACER = '\\uFFFD';\nvar VALID_HEX = /^[0-9a-f]+$/i;\n\nvar parseHexOctet = function (string, start) {\n var substr = stringSlice(string, start, start + 2);\n if (!exec(VALID_HEX, substr)) return NaN;\n\n return $parseInt(substr, 16);\n};\n\nvar getLeadingOnes = function (octet) {\n var count = 0;\n for (var mask = 0x80; mask > 0 && (octet & mask) !== 0; mask >>= 1) {\n count++;\n }\n return count;\n};\n\nvar utf8Decode = function (octets) {\n var codePoint = null;\n\n switch (octets.length) {\n case 1:\n codePoint = octets[0];\n break;\n case 2:\n codePoint = (octets[0] & 0x1F) << 6 | (octets[1] & 0x3F);\n break;\n case 3:\n codePoint = (octets[0] & 0x0F) << 12 | (octets[1] & 0x3F) << 6 | (octets[2] & 0x3F);\n break;\n case 4:\n codePoint = (octets[0] & 0x07) << 18 | (octets[1] & 0x3F) << 12 | (octets[2] & 0x3F) << 6 | (octets[3] & 0x3F);\n break;\n }\n\n return codePoint > 0x10FFFF ? null : codePoint;\n};\n\nvar decode = function (input) {\n input = replace(input, plus, ' ');\n var length = input.length;\n var result = '';\n var i = 0;\n\n while (i < length) {\n var decodedChar = charAt(input, i);\n\n if (decodedChar === '%') {\n if (charAt(input, i + 1) === '%' || i + 3 > length) {\n result += '%';\n i++;\n continue;\n }\n\n var octet = parseHexOctet(input, i + 1);\n\n // eslint-disable-next-line no-self-compare -- NaN check\n if (octet !== octet) {\n result += decodedChar;\n i++;\n continue;\n }\n\n i += 2;\n var byteSequenceLength = getLeadingOnes(octet);\n\n if (byteSequenceLength === 0) {\n decodedChar = fromCharCode(octet);\n } else {\n if (byteSequenceLength === 1 || byteSequenceLength > 4) {\n result += FALLBACK_REPLACER;\n i++;\n continue;\n }\n\n var octets = [octet];\n var sequenceIndex = 1;\n\n while (sequenceIndex < byteSequenceLength) {\n i++;\n if (i + 3 > length || charAt(input, i) !== '%') break;\n\n var nextByte = parseHexOctet(input, i + 1);\n\n // eslint-disable-next-line no-self-compare -- NaN check\n if (nextByte !== nextByte) {\n i += 3;\n break;\n }\n if (nextByte > 191 || nextByte < 128) break;\n\n push(octets, nextByte);\n i += 2;\n sequenceIndex++;\n }\n\n if (octets.length !== byteSequenceLength) {\n result += FALLBACK_REPLACER;\n continue;\n }\n\n var codePoint = utf8Decode(octets);\n if (codePoint === null) {\n result += FALLBACK_REPLACER;\n } else {\n decodedChar = fromCodePoint(codePoint);\n }\n }\n }\n\n result += decodedChar;\n i++;\n }\n\n return result;\n};\n\nvar find = /[!'()~]|%20/g;\n\nvar replacements = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+'\n};\n\nvar replacer = function (match) {\n return replacements[match];\n};\n\nvar serialize = function (it) {\n return replace(encodeURIComponent(it), find, replacer);\n};\n\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n setInternalState(this, {\n type: URL_SEARCH_PARAMS_ITERATOR,\n target: getInternalParamsState(params).entries,\n index: 0,\n kind: kind\n });\n}, URL_SEARCH_PARAMS, function next() {\n var state = getInternalIteratorState(this);\n var target = state.target;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = null;\n return createIterResultObject(undefined, true);\n }\n var entry = target[index];\n switch (state.kind) {\n case 'keys': return createIterResultObject(entry.key, false);\n case 'values': return createIterResultObject(entry.value, false);\n } return createIterResultObject([entry.key, entry.value], false);\n}, true);\n\nvar URLSearchParamsState = function (init) {\n this.entries = [];\n this.url = null;\n\n if (init !== undefined) {\n if (isObject(init)) this.parseObject(init);\n else this.parseQuery(typeof init == 'string' ? charAt(init, 0) === '?' ? stringSlice(init, 1) : init : $toString(init));\n }\n};\n\nURLSearchParamsState.prototype = {\n type: URL_SEARCH_PARAMS,\n bindURL: function (url) {\n this.url = url;\n this.update();\n },\n parseObject: function (object) {\n var entries = this.entries;\n var iteratorMethod = getIteratorMethod(object);\n var iterator, next, step, entryIterator, entryNext, first, second;\n\n if (iteratorMethod) {\n iterator = getIterator(object, iteratorMethod);\n next = iterator.next;\n while (!(step = call(next, iterator)).done) {\n entryIterator = getIterator(anObject(step.value));\n entryNext = entryIterator.next;\n if (\n (first = call(entryNext, entryIterator)).done ||\n (second = call(entryNext, entryIterator)).done ||\n !call(entryNext, entryIterator).done\n ) throw new TypeError('Expected sequence with length 2');\n push(entries, { key: $toString(first.value), value: $toString(second.value) });\n }\n } else for (var key in object) if (hasOwn(object, key)) {\n push(entries, { key: key, value: $toString(object[key]) });\n }\n },\n parseQuery: function (query) {\n if (query) {\n var entries = this.entries;\n var attributes = split(query, '&');\n var index = 0;\n var attribute, entry;\n while (index < attributes.length) {\n attribute = attributes[index++];\n if (attribute.length) {\n entry = split(attribute, '=');\n push(entries, {\n key: decode(shift(entry)),\n value: decode(join(entry, '='))\n });\n }\n }\n }\n },\n serialize: function () {\n var entries = this.entries;\n var result = [];\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n push(result, serialize(entry.key) + '=' + serialize(entry.value));\n } return join(result, '&');\n },\n update: function () {\n this.entries.length = 0;\n this.parseQuery(this.url.query);\n },\n updateURL: function () {\n if (this.url) this.url.update();\n }\n};\n\n// `URLSearchParams` constructor\n// https://url.spec.whatwg.org/#interface-urlsearchparams\nvar URLSearchParamsConstructor = function URLSearchParams(/* init */) {\n anInstance(this, URLSearchParamsPrototype);\n var init = arguments.length > 0 ? arguments[0] : undefined;\n var state = setInternalState(this, new URLSearchParamsState(init));\n if (!DESCRIPTORS) this.size = state.entries.length;\n};\n\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\n\ndefineBuiltIns(URLSearchParamsPrototype, {\n // `URLSearchParams.prototype.append` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-append\n append: function append(name, value) {\n var state = getInternalParamsState(this);\n validateArgumentsLength(arguments.length, 2);\n push(state.entries, { key: $toString(name), value: $toString(value) });\n if (!DESCRIPTORS) this.length++;\n state.updateURL();\n },\n // `URLSearchParams.prototype.delete` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-delete\n 'delete': function (name /* , value */) {\n var state = getInternalParamsState(this);\n var length = validateArgumentsLength(arguments.length, 1);\n var entries = state.entries;\n var key = $toString(name);\n var $value = length < 2 ? undefined : arguments[1];\n var value = $value === undefined ? $value : $toString($value);\n var index = 0;\n while (index < entries.length) {\n var entry = entries[index];\n if (entry.key === key && (value === undefined || entry.value === value)) {\n splice(entries, index, 1);\n if (value !== undefined) break;\n } else index++;\n }\n if (!DESCRIPTORS) this.size = entries.length;\n state.updateURL();\n },\n // `URLSearchParams.prototype.get` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-get\n get: function get(name) {\n var entries = getInternalParamsState(this).entries;\n validateArgumentsLength(arguments.length, 1);\n var key = $toString(name);\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) return entries[index].value;\n }\n return null;\n },\n // `URLSearchParams.prototype.getAll` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-getall\n getAll: function getAll(name) {\n var entries = getInternalParamsState(this).entries;\n validateArgumentsLength(arguments.length, 1);\n var key = $toString(name);\n var result = [];\n var index = 0;\n for (; index < entries.length; index++) {\n if (entries[index].key === key) push(result, entries[index].value);\n }\n return result;\n },\n // `URLSearchParams.prototype.has` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-has\n has: function has(name /* , value */) {\n var entries = getInternalParamsState(this).entries;\n var length = validateArgumentsLength(arguments.length, 1);\n var key = $toString(name);\n var $value = length < 2 ? undefined : arguments[1];\n var value = $value === undefined ? $value : $toString($value);\n var index = 0;\n while (index < entries.length) {\n var entry = entries[index++];\n if (entry.key === key && (value === undefined || entry.value === value)) return true;\n }\n return false;\n },\n // `URLSearchParams.prototype.set` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-set\n set: function set(name, value) {\n var state = getInternalParamsState(this);\n validateArgumentsLength(arguments.length, 1);\n var entries = state.entries;\n var found = false;\n var key = $toString(name);\n var val = $toString(value);\n var index = 0;\n var entry;\n for (; index < entries.length; index++) {\n entry = entries[index];\n if (entry.key === key) {\n if (found) splice(entries, index--, 1);\n else {\n found = true;\n entry.value = val;\n }\n }\n }\n if (!found) push(entries, { key: key, value: val });\n if (!DESCRIPTORS) this.size = entries.length;\n state.updateURL();\n },\n // `URLSearchParams.prototype.sort` method\n // https://url.spec.whatwg.org/#dom-urlsearchparams-sort\n sort: function sort() {\n var state = getInternalParamsState(this);\n arraySort(state.entries, function (a, b) {\n return a.key > b.key ? 1 : -1;\n });\n state.updateURL();\n },\n // `URLSearchParams.prototype.forEach` method\n forEach: function forEach(callback /* , thisArg */) {\n var entries = getInternalParamsState(this).entries;\n var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined);\n var index = 0;\n var entry;\n while (index < entries.length) {\n entry = entries[index++];\n boundFunction(entry.value, entry.key, this);\n }\n },\n // `URLSearchParams.prototype.keys` method\n keys: function keys() {\n return new URLSearchParamsIterator(this, 'keys');\n },\n // `URLSearchParams.prototype.values` method\n values: function values() {\n return new URLSearchParamsIterator(this, 'values');\n },\n // `URLSearchParams.prototype.entries` method\n entries: function entries() {\n return new URLSearchParamsIterator(this, 'entries');\n }\n}, { enumerable: true });\n\n// `URLSearchParams.prototype[@@iterator]` method\ndefineBuiltIn(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries, { name: 'entries' });\n\n// `URLSearchParams.prototype.toString` method\n// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior\ndefineBuiltIn(URLSearchParamsPrototype, 'toString', function toString() {\n return getInternalParamsState(this).serialize();\n}, { enumerable: true });\n\n// `URLSearchParams.prototype.size` getter\n// https://github.com/whatwg/url/pull/734\nif (DESCRIPTORS) defineBuiltInAccessor(URLSearchParamsPrototype, 'size', {\n get: function size() {\n return getInternalParamsState(this).entries.length;\n },\n configurable: true,\n enumerable: true\n});\n\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n\n$({ global: true, constructor: true, forced: !USE_NATIVE_URL }, {\n URLSearchParams: URLSearchParamsConstructor\n});\n\n// Wrap `fetch` and `Request` for correct work with polyfilled `URLSearchParams`\nif (!USE_NATIVE_URL && isCallable(Headers)) {\n var headersHas = uncurryThis(HeadersPrototype.has);\n var headersSet = uncurryThis(HeadersPrototype.set);\n\n var wrapRequestOptions = function (init) {\n if (isObject(init)) {\n var body = init.body;\n var headers;\n if (classof(body) === URL_SEARCH_PARAMS) {\n headers = init.headers ? new Headers(init.headers) : new Headers();\n if (!headersHas(headers, 'content-type')) {\n headersSet(headers, 'content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n return create(init, {\n body: createPropertyDescriptor(0, $toString(body)),\n headers: createPropertyDescriptor(0, headers)\n });\n }\n } return init;\n };\n\n if (isCallable(nativeFetch)) {\n $({ global: true, enumerable: true, dontCallGetSet: true, forced: true }, {\n fetch: function fetch(input /* , init */) {\n return nativeFetch(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {});\n }\n });\n }\n\n if (isCallable(NativeRequest)) {\n var RequestConstructor = function Request(input /* , init */) {\n anInstance(this, RequestPrototype);\n return new NativeRequest(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {});\n };\n\n RequestPrototype.constructor = RequestConstructor;\n RequestConstructor.prototype = RequestPrototype;\n\n $({ global: true, constructor: true, dontCallGetSet: true, forced: true }, {\n Request: RequestConstructor\n });\n }\n}\n\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\n","'use strict';\n// TODO: Remove this module from `core-js@4` since it's replaced to module below\nrequire('../modules/web.url-search-params.constructor');\n","'use strict';\n// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`\nrequire('../modules/es.string.iterator');\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar USE_NATIVE_URL = require('../internals/url-constructor-detection');\nvar globalThis = require('../internals/global-this');\nvar bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar anInstance = require('../internals/an-instance');\nvar hasOwn = require('../internals/has-own-property');\nvar assign = require('../internals/object-assign');\nvar arrayFrom = require('../internals/array-from');\nvar arraySlice = require('../internals/array-slice');\nvar codeAt = require('../internals/string-multibyte').codeAt;\nvar toASCII = require('../internals/string-punycode-to-ascii');\nvar $toString = require('../internals/to-string');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar validateArgumentsLength = require('../internals/validate-arguments-length');\nvar URLSearchParamsModule = require('../modules/web.url-search-params.constructor');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\n\nvar NativeURL = globalThis.URL;\nvar TypeError = globalThis.TypeError;\nvar parseInt = globalThis.parseInt;\nvar floor = Math.floor;\nvar pow = Math.pow;\nvar charAt = uncurryThis(''.charAt);\nvar exec = uncurryThis(/./.exec);\nvar join = uncurryThis([].join);\nvar numberToString = uncurryThis(1.0.toString);\nvar pop = uncurryThis([].pop);\nvar push = uncurryThis([].push);\nvar replace = uncurryThis(''.replace);\nvar shift = uncurryThis([].shift);\nvar split = uncurryThis(''.split);\nvar stringSlice = uncurryThis(''.slice);\nvar toLowerCase = uncurryThis(''.toLowerCase);\nvar unshift = uncurryThis([].unshift);\n\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\n\nvar ALPHA = /[a-z]/i;\n// eslint-disable-next-line regexp/no-obscure-range -- safe\nvar ALPHANUMERIC = /[\\d+-.a-z]/i;\nvar DIGIT = /\\d/;\nvar HEX_START = /^0x/i;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\da-f]+$/i;\n/* eslint-disable regexp/no-control-character -- safe */\nvar FORBIDDEN_HOST_CODE_POINT = /[\\0\\t\\n\\r #%/:<>?@[\\\\\\]^|]/;\nvar FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\0\\t\\n\\r #/:<>?@[\\\\\\]^|]/;\nvar LEADING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u0020]+/;\nvar TRAILING_C0_CONTROL_OR_SPACE = /(^|[^\\u0000-\\u0020])[\\u0000-\\u0020]+$/;\nvar TAB_AND_NEW_LINE = /[\\t\\n\\r]/g;\n/* eslint-enable regexp/no-control-character -- safe */\nvar EOF;\n\n// https://url.spec.whatwg.org/#ipv4-number-parser\nvar parseIPv4 = function (input) {\n var parts = split(input, '.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n if (parts.length && parts[parts.length - 1] === '') {\n parts.length--;\n }\n partsLength = parts.length;\n if (partsLength > 4) return input;\n numbers = [];\n for (index = 0; index < partsLength; index++) {\n part = parts[index];\n if (part === '') return input;\n radix = 10;\n if (part.length > 1 && charAt(part, 0) === '0') {\n radix = exec(HEX_START, part) ? 16 : 8;\n part = stringSlice(part, radix === 8 ? 1 : 2);\n }\n if (part === '') {\n number = 0;\n } else {\n if (!exec(radix === 10 ? DEC : radix === 8 ? OCT : HEX, part)) return input;\n number = parseInt(part, radix);\n }\n push(numbers, number);\n }\n for (index = 0; index < partsLength; index++) {\n number = numbers[index];\n if (index === partsLength - 1) {\n if (number >= pow(256, 5 - partsLength)) return null;\n } else if (number > 255) return null;\n }\n ipv4 = pop(numbers);\n for (index = 0; index < numbers.length; index++) {\n ipv4 += numbers[index] * pow(256, 3 - index);\n }\n return ipv4;\n};\n\n// https://url.spec.whatwg.org/#concept-ipv6-parser\n// eslint-disable-next-line max-statements -- TODO\nvar parseIPv6 = function (input) {\n var address = [0, 0, 0, 0, 0, 0, 0, 0];\n var pieceIndex = 0;\n var compress = null;\n var pointer = 0;\n var value, length, numbersSeen, ipv4Piece, number, swaps, swap;\n\n var chr = function () {\n return charAt(input, pointer);\n };\n\n if (chr() === ':') {\n if (charAt(input, 1) !== ':') return;\n pointer += 2;\n pieceIndex++;\n compress = pieceIndex;\n }\n while (chr()) {\n if (pieceIndex === 8) return;\n if (chr() === ':') {\n if (compress !== null) return;\n pointer++;\n pieceIndex++;\n compress = pieceIndex;\n continue;\n }\n value = length = 0;\n while (length < 4 && exec(HEX, chr())) {\n value = value * 16 + parseInt(chr(), 16);\n pointer++;\n length++;\n }\n if (chr() === '.') {\n if (length === 0) return;\n pointer -= length;\n if (pieceIndex > 6) return;\n numbersSeen = 0;\n while (chr()) {\n ipv4Piece = null;\n if (numbersSeen > 0) {\n if (chr() === '.' && numbersSeen < 4) pointer++;\n else return;\n }\n if (!exec(DIGIT, chr())) return;\n while (exec(DIGIT, chr())) {\n number = parseInt(chr(), 10);\n if (ipv4Piece === null) ipv4Piece = number;\n else if (ipv4Piece === 0) return;\n else ipv4Piece = ipv4Piece * 10 + number;\n if (ipv4Piece > 255) return;\n pointer++;\n }\n address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n numbersSeen++;\n if (numbersSeen === 2 || numbersSeen === 4) pieceIndex++;\n }\n if (numbersSeen !== 4) return;\n break;\n } else if (chr() === ':') {\n pointer++;\n if (!chr()) return;\n } else if (chr()) return;\n address[pieceIndex++] = value;\n }\n if (compress !== null) {\n swaps = pieceIndex - compress;\n pieceIndex = 7;\n while (pieceIndex !== 0 && swaps > 0) {\n swap = address[pieceIndex];\n address[pieceIndex--] = address[compress + swaps - 1];\n address[compress + --swaps] = swap;\n }\n } else if (pieceIndex !== 8) return;\n return address;\n};\n\nvar findLongestZeroSequence = function (ipv6) {\n var maxIndex = null;\n var maxLength = 1;\n var currStart = null;\n var currLength = 0;\n var index = 0;\n for (; index < 8; index++) {\n if (ipv6[index] !== 0) {\n if (currLength > maxLength) {\n maxIndex = currStart;\n maxLength = currLength;\n }\n currStart = null;\n currLength = 0;\n } else {\n if (currStart === null) currStart = index;\n ++currLength;\n }\n }\n return currLength > maxLength ? currStart : maxIndex;\n};\n\n// https://url.spec.whatwg.org/#host-serializing\nvar serializeHost = function (host) {\n var result, index, compress, ignore0;\n\n // ipv4\n if (typeof host == 'number') {\n result = [];\n for (index = 0; index < 4; index++) {\n unshift(result, host % 256);\n host = floor(host / 256);\n }\n return join(result, '.');\n }\n\n // ipv6\n if (typeof host == 'object') {\n result = '';\n compress = findLongestZeroSequence(host);\n for (index = 0; index < 8; index++) {\n if (ignore0 && host[index] === 0) continue;\n if (ignore0) ignore0 = false;\n if (compress === index) {\n result += index ? ':' : '::';\n ignore0 = true;\n } else {\n result += numberToString(host[index], 16);\n if (index < 7) result += ':';\n }\n }\n return '[' + result + ']';\n }\n\n return host;\n};\n\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1, '\"': 1, '<': 1, '>': 1, '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1, '?': 1, '{': 1, '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\\\': 1, ']': 1, '^': 1, '|': 1\n});\n\nvar percentEncode = function (chr, set) {\n var code = codeAt(chr, 0);\n return code > 0x20 && code < 0x7F && !hasOwn(set, chr) ? chr : encodeURIComponent(chr);\n};\n\n// https://url.spec.whatwg.org/#special-scheme\nvar specialSchemes = {\n ftp: 21,\n file: null,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\n\n// https://url.spec.whatwg.org/#windows-drive-letter\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length === 2 && exec(ALPHA, charAt(string, 0))\n && ((second = charAt(string, 1)) === ':' || (!normalized && second === '|'));\n};\n\n// https://url.spec.whatwg.org/#start-with-a-windows-drive-letter\nvar startsWithWindowsDriveLetter = function (string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(stringSlice(string, 0, 2)) && (\n string.length === 2 ||\n ((third = charAt(string, 2)) === '/' || third === '\\\\' || third === '?' || third === '#')\n );\n};\n\n// https://url.spec.whatwg.org/#single-dot-path-segment\nvar isSingleDot = function (segment) {\n return segment === '.' || toLowerCase(segment) === '%2e';\n};\n\n// https://url.spec.whatwg.org/#double-dot-path-segment\nvar isDoubleDot = function (segment) {\n segment = toLowerCase(segment);\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\n\n// States:\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\n\nvar URLState = function (url, isBase, base) {\n var urlString = $toString(url);\n var baseState, failure, searchParams;\n if (isBase) {\n failure = this.parse(urlString);\n if (failure) throw new TypeError(failure);\n this.searchParams = null;\n } else {\n if (base !== undefined) baseState = new URLState(base, true);\n failure = this.parse(urlString, null, baseState);\n if (failure) throw new TypeError(failure);\n searchParams = getInternalSearchParamsState(new URLSearchParams());\n searchParams.bindURL(this);\n this.searchParams = searchParams;\n }\n};\n\nURLState.prototype = {\n type: 'URL',\n // https://url.spec.whatwg.org/#url-parsing\n // eslint-disable-next-line max-statements -- TODO\n parse: function (input, stateOverride, base) {\n var url = this;\n var state = stateOverride || SCHEME_START;\n var pointer = 0;\n var buffer = '';\n var seenAt = false;\n var seenBracket = false;\n var seenPasswordToken = false;\n var codePoints, chr, bufferCodePoints, failure;\n\n input = $toString(input);\n\n if (!stateOverride) {\n url.scheme = '';\n url.username = '';\n url.password = '';\n url.host = null;\n url.port = null;\n url.path = [];\n url.query = null;\n url.fragment = null;\n url.cannotBeABaseURL = false;\n input = replace(input, LEADING_C0_CONTROL_OR_SPACE, '');\n input = replace(input, TRAILING_C0_CONTROL_OR_SPACE, '$1');\n }\n\n input = replace(input, TAB_AND_NEW_LINE, '');\n\n codePoints = arrayFrom(input);\n\n while (pointer <= codePoints.length) {\n chr = codePoints[pointer];\n switch (state) {\n case SCHEME_START:\n if (chr && exec(ALPHA, chr)) {\n buffer += toLowerCase(chr);\n state = SCHEME;\n } else if (!stateOverride) {\n state = NO_SCHEME;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case SCHEME:\n if (chr && (exec(ALPHANUMERIC, chr) || chr === '+' || chr === '-' || chr === '.')) {\n buffer += toLowerCase(chr);\n } else if (chr === ':') {\n if (stateOverride && (\n (url.isSpecial() !== hasOwn(specialSchemes, buffer)) ||\n (buffer === 'file' && (url.includesCredentials() || url.port !== null)) ||\n (url.scheme === 'file' && !url.host)\n )) return;\n url.scheme = buffer;\n if (stateOverride) {\n if (url.isSpecial() && specialSchemes[url.scheme] === url.port) url.port = null;\n return;\n }\n buffer = '';\n if (url.scheme === 'file') {\n state = FILE;\n } else if (url.isSpecial() && base && base.scheme === url.scheme) {\n state = SPECIAL_RELATIVE_OR_AUTHORITY;\n } else if (url.isSpecial()) {\n state = SPECIAL_AUTHORITY_SLASHES;\n } else if (codePoints[pointer + 1] === '/') {\n state = PATH_OR_AUTHORITY;\n pointer++;\n } else {\n url.cannotBeABaseURL = true;\n push(url.path, '');\n state = CANNOT_BE_A_BASE_URL_PATH;\n }\n } else if (!stateOverride) {\n buffer = '';\n state = NO_SCHEME;\n pointer = 0;\n continue;\n } else return INVALID_SCHEME;\n break;\n\n case NO_SCHEME:\n if (!base || (base.cannotBeABaseURL && chr !== '#')) return INVALID_SCHEME;\n if (base.cannotBeABaseURL && chr === '#') {\n url.scheme = base.scheme;\n url.path = arraySlice(base.path);\n url.query = base.query;\n url.fragment = '';\n url.cannotBeABaseURL = true;\n state = FRAGMENT;\n break;\n }\n state = base.scheme === 'file' ? FILE : RELATIVE;\n continue;\n\n case SPECIAL_RELATIVE_OR_AUTHORITY:\n if (chr === '/' && codePoints[pointer + 1] === '/') {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n pointer++;\n } else {\n state = RELATIVE;\n continue;\n } break;\n\n case PATH_OR_AUTHORITY:\n if (chr === '/') {\n state = AUTHORITY;\n break;\n } else {\n state = PATH;\n continue;\n }\n\n case RELATIVE:\n url.scheme = base.scheme;\n if (chr === EOF) {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.query = base.query;\n } else if (chr === '/' || (chr === '\\\\' && url.isSpecial())) {\n state = RELATIVE_SLASH;\n } else if (chr === '?') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.query = '';\n state = QUERY;\n } else if (chr === '#') {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n url.path = arraySlice(base.path);\n url.path.length--;\n state = PATH;\n continue;\n } break;\n\n case RELATIVE_SLASH:\n if (url.isSpecial() && (chr === '/' || chr === '\\\\')) {\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n } else if (chr === '/') {\n state = AUTHORITY;\n } else {\n url.username = base.username;\n url.password = base.password;\n url.host = base.host;\n url.port = base.port;\n state = PATH;\n continue;\n } break;\n\n case SPECIAL_AUTHORITY_SLASHES:\n state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n if (chr !== '/' || charAt(buffer, pointer + 1) !== '/') continue;\n pointer++;\n break;\n\n case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n if (chr !== '/' && chr !== '\\\\') {\n state = AUTHORITY;\n continue;\n } break;\n\n case AUTHORITY:\n if (chr === '@') {\n if (seenAt) buffer = '%40' + buffer;\n seenAt = true;\n bufferCodePoints = arrayFrom(buffer);\n for (var i = 0; i < bufferCodePoints.length; i++) {\n var codePoint = bufferCodePoints[i];\n if (codePoint === ':' && !seenPasswordToken) {\n seenPasswordToken = true;\n continue;\n }\n var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n if (seenPasswordToken) url.password += encodedCodePoints;\n else url.username += encodedCodePoints;\n }\n buffer = '';\n } else if (\n chr === EOF || chr === '/' || chr === '?' || chr === '#' ||\n (chr === '\\\\' && url.isSpecial())\n ) {\n if (seenAt && buffer === '') return INVALID_AUTHORITY;\n pointer -= arrayFrom(buffer).length + 1;\n buffer = '';\n state = HOST;\n } else buffer += chr;\n break;\n\n case HOST:\n case HOSTNAME:\n if (stateOverride && url.scheme === 'file') {\n state = FILE_HOST;\n continue;\n } else if (chr === ':' && !seenBracket) {\n if (buffer === '') return INVALID_HOST;\n failure = url.parseHost(buffer);\n if (failure) return failure;\n buffer = '';\n state = PORT;\n if (stateOverride === HOSTNAME) return;\n } else if (\n chr === EOF || chr === '/' || chr === '?' || chr === '#' ||\n (chr === '\\\\' && url.isSpecial())\n ) {\n if (url.isSpecial() && buffer === '') return INVALID_HOST;\n if (stateOverride && buffer === '' && (url.includesCredentials() || url.port !== null)) return;\n failure = url.parseHost(buffer);\n if (failure) return failure;\n buffer = '';\n state = PATH_START;\n if (stateOverride) return;\n continue;\n } else {\n if (chr === '[') seenBracket = true;\n else if (chr === ']') seenBracket = false;\n buffer += chr;\n } break;\n\n case PORT:\n if (exec(DIGIT, chr)) {\n buffer += chr;\n } else if (\n chr === EOF || chr === '/' || chr === '?' || chr === '#' ||\n (chr === '\\\\' && url.isSpecial()) ||\n stateOverride\n ) {\n if (buffer !== '') {\n var port = parseInt(buffer, 10);\n if (port > 0xFFFF) return INVALID_PORT;\n url.port = (url.isSpecial() && port === specialSchemes[url.scheme]) ? null : port;\n buffer = '';\n }\n if (stateOverride) return;\n state = PATH_START;\n continue;\n } else return INVALID_PORT;\n break;\n\n case FILE:\n url.scheme = 'file';\n if (chr === '/' || chr === '\\\\') state = FILE_SLASH;\n else if (base && base.scheme === 'file') {\n switch (chr) {\n case EOF:\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.query = base.query;\n break;\n case '?':\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.query = '';\n state = QUERY;\n break;\n case '#':\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.query = base.query;\n url.fragment = '';\n state = FRAGMENT;\n break;\n default:\n if (!startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) {\n url.host = base.host;\n url.path = arraySlice(base.path);\n url.shortenPath();\n }\n state = PATH;\n continue;\n }\n } else {\n state = PATH;\n continue;\n } break;\n\n case FILE_SLASH:\n if (chr === '/' || chr === '\\\\') {\n state = FILE_HOST;\n break;\n }\n if (base && base.scheme === 'file' && !startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) {\n if (isWindowsDriveLetter(base.path[0], true)) push(url.path, base.path[0]);\n else url.host = base.host;\n }\n state = PATH;\n continue;\n\n case FILE_HOST:\n if (chr === EOF || chr === '/' || chr === '\\\\' || chr === '?' || chr === '#') {\n if (!stateOverride && isWindowsDriveLetter(buffer)) {\n state = PATH;\n } else if (buffer === '') {\n url.host = '';\n if (stateOverride) return;\n state = PATH_START;\n } else {\n failure = url.parseHost(buffer);\n if (failure) return failure;\n if (url.host === 'localhost') url.host = '';\n if (stateOverride) return;\n buffer = '';\n state = PATH_START;\n } continue;\n } else buffer += chr;\n break;\n\n case PATH_START:\n if (url.isSpecial()) {\n state = PATH;\n if (chr !== '/' && chr !== '\\\\') continue;\n } else if (!stateOverride && chr === '?') {\n url.query = '';\n state = QUERY;\n } else if (!stateOverride && chr === '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr !== EOF) {\n state = PATH;\n if (chr !== '/') continue;\n } break;\n\n case PATH:\n if (\n chr === EOF || chr === '/' ||\n (chr === '\\\\' && url.isSpecial()) ||\n (!stateOverride && (chr === '?' || chr === '#'))\n ) {\n if (isDoubleDot(buffer)) {\n url.shortenPath();\n if (chr !== '/' && !(chr === '\\\\' && url.isSpecial())) {\n push(url.path, '');\n }\n } else if (isSingleDot(buffer)) {\n if (chr !== '/' && !(chr === '\\\\' && url.isSpecial())) {\n push(url.path, '');\n }\n } else {\n if (url.scheme === 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n if (url.host) url.host = '';\n buffer = charAt(buffer, 0) + ':'; // normalize windows drive letter\n }\n push(url.path, buffer);\n }\n buffer = '';\n if (url.scheme === 'file' && (chr === EOF || chr === '?' || chr === '#')) {\n while (url.path.length > 1 && url.path[0] === '') {\n shift(url.path);\n }\n }\n if (chr === '?') {\n url.query = '';\n state = QUERY;\n } else if (chr === '#') {\n url.fragment = '';\n state = FRAGMENT;\n }\n } else {\n buffer += percentEncode(chr, pathPercentEncodeSet);\n } break;\n\n case CANNOT_BE_A_BASE_URL_PATH:\n if (chr === '?') {\n url.query = '';\n state = QUERY;\n } else if (chr === '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr !== EOF) {\n url.path[0] += percentEncode(chr, C0ControlPercentEncodeSet);\n } break;\n\n case QUERY:\n if (!stateOverride && chr === '#') {\n url.fragment = '';\n state = FRAGMENT;\n } else if (chr !== EOF) {\n if (chr === \"'\" && url.isSpecial()) url.query += '%27';\n else if (chr === '#') url.query += '%23';\n else url.query += percentEncode(chr, C0ControlPercentEncodeSet);\n } break;\n\n case FRAGMENT:\n if (chr !== EOF) url.fragment += percentEncode(chr, fragmentPercentEncodeSet);\n break;\n }\n\n pointer++;\n }\n },\n // https://url.spec.whatwg.org/#host-parsing\n parseHost: function (input) {\n var result, codePoints, index;\n if (charAt(input, 0) === '[') {\n if (charAt(input, input.length - 1) !== ']') return INVALID_HOST;\n result = parseIPv6(stringSlice(input, 1, -1));\n if (!result) return INVALID_HOST;\n this.host = result;\n // opaque host\n } else if (!this.isSpecial()) {\n if (exec(FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT, input)) return INVALID_HOST;\n result = '';\n codePoints = arrayFrom(input);\n for (index = 0; index < codePoints.length; index++) {\n result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n }\n this.host = result;\n } else {\n input = toASCII(input);\n if (exec(FORBIDDEN_HOST_CODE_POINT, input)) return INVALID_HOST;\n result = parseIPv4(input);\n if (result === null) return INVALID_HOST;\n this.host = result;\n }\n },\n // https://url.spec.whatwg.org/#cannot-have-a-username-password-port\n cannotHaveUsernamePasswordPort: function () {\n return !this.host || this.cannotBeABaseURL || this.scheme === 'file';\n },\n // https://url.spec.whatwg.org/#include-credentials\n includesCredentials: function () {\n return this.username !== '' || this.password !== '';\n },\n // https://url.spec.whatwg.org/#is-special\n isSpecial: function () {\n return hasOwn(specialSchemes, this.scheme);\n },\n // https://url.spec.whatwg.org/#shorten-a-urls-path\n shortenPath: function () {\n var path = this.path;\n var pathSize = path.length;\n if (pathSize && (this.scheme !== 'file' || pathSize !== 1 || !isWindowsDriveLetter(path[0], true))) {\n path.length--;\n }\n },\n // https://url.spec.whatwg.org/#concept-url-serializer\n serialize: function () {\n var url = this;\n var scheme = url.scheme;\n var username = url.username;\n var password = url.password;\n var host = url.host;\n var port = url.port;\n var path = url.path;\n var query = url.query;\n var fragment = url.fragment;\n var output = scheme + ':';\n if (host !== null) {\n output += '//';\n if (url.includesCredentials()) {\n output += username + (password ? ':' + password : '') + '@';\n }\n output += serializeHost(host);\n if (port !== null) output += ':' + port;\n } else if (scheme === 'file') output += '//';\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : '';\n if (query !== null) output += '?' + query;\n if (fragment !== null) output += '#' + fragment;\n return output;\n },\n // https://url.spec.whatwg.org/#dom-url-href\n setHref: function (href) {\n var failure = this.parse(href);\n if (failure) throw new TypeError(failure);\n this.searchParams.update();\n },\n // https://url.spec.whatwg.org/#dom-url-origin\n getOrigin: function () {\n var scheme = this.scheme;\n var port = this.port;\n if (scheme === 'blob') try {\n return new URLConstructor(scheme.path[0]).origin;\n } catch (error) {\n return 'null';\n }\n if (scheme === 'file' || !this.isSpecial()) return 'null';\n return scheme + '://' + serializeHost(this.host) + (port !== null ? ':' + port : '');\n },\n // https://url.spec.whatwg.org/#dom-url-protocol\n getProtocol: function () {\n return this.scheme + ':';\n },\n setProtocol: function (protocol) {\n this.parse($toString(protocol) + ':', SCHEME_START);\n },\n // https://url.spec.whatwg.org/#dom-url-username\n getUsername: function () {\n return this.username;\n },\n setUsername: function (username) {\n var codePoints = arrayFrom($toString(username));\n if (this.cannotHaveUsernamePasswordPort()) return;\n this.username = '';\n for (var i = 0; i < codePoints.length; i++) {\n this.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n },\n // https://url.spec.whatwg.org/#dom-url-password\n getPassword: function () {\n return this.password;\n },\n setPassword: function (password) {\n var codePoints = arrayFrom($toString(password));\n if (this.cannotHaveUsernamePasswordPort()) return;\n this.password = '';\n for (var i = 0; i < codePoints.length; i++) {\n this.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n }\n },\n // https://url.spec.whatwg.org/#dom-url-host\n getHost: function () {\n var host = this.host;\n var port = this.port;\n return host === null ? ''\n : port === null ? serializeHost(host)\n : serializeHost(host) + ':' + port;\n },\n setHost: function (host) {\n if (this.cannotBeABaseURL) return;\n this.parse(host, HOST);\n },\n // https://url.spec.whatwg.org/#dom-url-hostname\n getHostname: function () {\n var host = this.host;\n return host === null ? '' : serializeHost(host);\n },\n setHostname: function (hostname) {\n if (this.cannotBeABaseURL) return;\n this.parse(hostname, HOSTNAME);\n },\n // https://url.spec.whatwg.org/#dom-url-port\n getPort: function () {\n var port = this.port;\n return port === null ? '' : $toString(port);\n },\n setPort: function (port) {\n if (this.cannotHaveUsernamePasswordPort()) return;\n port = $toString(port);\n if (port === '') this.port = null;\n else this.parse(port, PORT);\n },\n // https://url.spec.whatwg.org/#dom-url-pathname\n getPathname: function () {\n var path = this.path;\n return this.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : '';\n },\n setPathname: function (pathname) {\n if (this.cannotBeABaseURL) return;\n this.path = [];\n this.parse(pathname, PATH_START);\n },\n // https://url.spec.whatwg.org/#dom-url-search\n getSearch: function () {\n var query = this.query;\n return query ? '?' + query : '';\n },\n setSearch: function (search) {\n search = $toString(search);\n if (search === '') {\n this.query = null;\n } else {\n if (charAt(search, 0) === '?') search = stringSlice(search, 1);\n this.query = '';\n this.parse(search, QUERY);\n }\n this.searchParams.update();\n },\n // https://url.spec.whatwg.org/#dom-url-searchparams\n getSearchParams: function () {\n return this.searchParams.facade;\n },\n // https://url.spec.whatwg.org/#dom-url-hash\n getHash: function () {\n var fragment = this.fragment;\n return fragment ? '#' + fragment : '';\n },\n setHash: function (hash) {\n hash = $toString(hash);\n if (hash === '') {\n this.fragment = null;\n return;\n }\n if (charAt(hash, 0) === '#') hash = stringSlice(hash, 1);\n this.fragment = '';\n this.parse(hash, FRAGMENT);\n },\n update: function () {\n this.query = this.searchParams.serialize() || null;\n }\n};\n\n// `URL` constructor\n// https://url.spec.whatwg.org/#url-class\nvar URLConstructor = function URL(url /* , base */) {\n var that = anInstance(this, URLPrototype);\n var base = validateArgumentsLength(arguments.length, 1) > 1 ? arguments[1] : undefined;\n var state = setInternalState(that, new URLState(url, false, base));\n if (!DESCRIPTORS) {\n that.href = state.serialize();\n that.origin = state.getOrigin();\n that.protocol = state.getProtocol();\n that.username = state.getUsername();\n that.password = state.getPassword();\n that.host = state.getHost();\n that.hostname = state.getHostname();\n that.port = state.getPort();\n that.pathname = state.getPathname();\n that.search = state.getSearch();\n that.searchParams = state.getSearchParams();\n that.hash = state.getHash();\n }\n};\n\nvar URLPrototype = URLConstructor.prototype;\n\nvar accessorDescriptor = function (getter, setter) {\n return {\n get: function () {\n return getInternalURLState(this)[getter]();\n },\n set: setter && function (value) {\n return getInternalURLState(this)[setter](value);\n },\n configurable: true,\n enumerable: true\n };\n};\n\nif (DESCRIPTORS) {\n // `URL.prototype.href` accessors pair\n // https://url.spec.whatwg.org/#dom-url-href\n defineBuiltInAccessor(URLPrototype, 'href', accessorDescriptor('serialize', 'setHref'));\n // `URL.prototype.origin` getter\n // https://url.spec.whatwg.org/#dom-url-origin\n defineBuiltInAccessor(URLPrototype, 'origin', accessorDescriptor('getOrigin'));\n // `URL.prototype.protocol` accessors pair\n // https://url.spec.whatwg.org/#dom-url-protocol\n defineBuiltInAccessor(URLPrototype, 'protocol', accessorDescriptor('getProtocol', 'setProtocol'));\n // `URL.prototype.username` accessors pair\n // https://url.spec.whatwg.org/#dom-url-username\n defineBuiltInAccessor(URLPrototype, 'username', accessorDescriptor('getUsername', 'setUsername'));\n // `URL.prototype.password` accessors pair\n // https://url.spec.whatwg.org/#dom-url-password\n defineBuiltInAccessor(URLPrototype, 'password', accessorDescriptor('getPassword', 'setPassword'));\n // `URL.prototype.host` accessors pair\n // https://url.spec.whatwg.org/#dom-url-host\n defineBuiltInAccessor(URLPrototype, 'host', accessorDescriptor('getHost', 'setHost'));\n // `URL.prototype.hostname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hostname\n defineBuiltInAccessor(URLPrototype, 'hostname', accessorDescriptor('getHostname', 'setHostname'));\n // `URL.prototype.port` accessors pair\n // https://url.spec.whatwg.org/#dom-url-port\n defineBuiltInAccessor(URLPrototype, 'port', accessorDescriptor('getPort', 'setPort'));\n // `URL.prototype.pathname` accessors pair\n // https://url.spec.whatwg.org/#dom-url-pathname\n defineBuiltInAccessor(URLPrototype, 'pathname', accessorDescriptor('getPathname', 'setPathname'));\n // `URL.prototype.search` accessors pair\n // https://url.spec.whatwg.org/#dom-url-search\n defineBuiltInAccessor(URLPrototype, 'search', accessorDescriptor('getSearch', 'setSearch'));\n // `URL.prototype.searchParams` getter\n // https://url.spec.whatwg.org/#dom-url-searchparams\n defineBuiltInAccessor(URLPrototype, 'searchParams', accessorDescriptor('getSearchParams'));\n // `URL.prototype.hash` accessors pair\n // https://url.spec.whatwg.org/#dom-url-hash\n defineBuiltInAccessor(URLPrototype, 'hash', accessorDescriptor('getHash', 'setHash'));\n}\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\ndefineBuiltIn(URLPrototype, 'toJSON', function toJSON() {\n return getInternalURLState(this).serialize();\n}, { enumerable: true });\n\n// `URL.prototype.toString` method\n// https://url.spec.whatwg.org/#URL-stringification-behavior\ndefineBuiltIn(URLPrototype, 'toString', function toString() {\n return getInternalURLState(this).serialize();\n}, { enumerable: true });\n\nif (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n // `URL.createObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL\n if (nativeCreateObjectURL) defineBuiltIn(URLConstructor, 'createObjectURL', bind(nativeCreateObjectURL, NativeURL));\n // `URL.revokeObjectURL` method\n // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL\n if (nativeRevokeObjectURL) defineBuiltIn(URLConstructor, 'revokeObjectURL', bind(nativeRevokeObjectURL, NativeURL));\n}\n\nsetToStringTag(URLConstructor, 'URL');\n\n$({ global: true, constructor: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {\n URL: URLConstructor\n});\n","'use strict';\n// TODO: Remove this module from `core-js@4` since it's replaced to module below\nrequire('../modules/web.url.constructor');\n","'use strict';\nvar $ = require('../internals/export');\nvar call = require('../internals/function-call');\n\n// `URL.prototype.toJSON` method\n// https://url.spec.whatwg.org/#dom-url-tojson\n$({ target: 'URL', proto: true, enumerable: true }, {\n toJSON: function toJSON() {\n return call(URL.prototype.toString, this);\n }\n});\n","import './webcrypto-shim.mjs'\nexport default window.crypto\n","/**\n * @file Web Cryptography API shim\n * @author Artem S Vybornov \n * @license MIT\n */\n(function (global, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define([], function () {\n return factory(global);\n });\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports\n module.exports = factory(global);\n } else {\n factory(global);\n }\n}(typeof self !== 'undefined' ? self : this, function (global) {\n 'use strict';\n\n if ( typeof Promise !== 'function' )\n throw \"Promise support required\";\n\n var _crypto = global.crypto || global.msCrypto;\n if ( !_crypto ) return;\n\n var _subtle = _crypto.subtle || _crypto.webkitSubtle;\n if ( !_subtle ) return;\n\n var _Crypto = global.Crypto || _crypto.constructor || Object,\n _SubtleCrypto = global.SubtleCrypto || _subtle.constructor || Object,\n _CryptoKey = global.CryptoKey || global.Key || Object;\n\n var isEdge = global.navigator.userAgent.indexOf('Edge/') > -1;\n var isIE = !!global.msCrypto && !isEdge;\n var isWebkit = !_crypto.subtle && !!_crypto.webkitSubtle;\n if ( !isIE && !isWebkit ) return;\n\n function s2a ( s ) {\n return btoa(s).replace(/\\=+$/, '').replace(/\\+/g, '-').replace(/\\//g, '_');\n }\n\n function a2s ( s ) {\n s += '===', s = s.slice( 0, -s.length % 4 );\n return atob( s.replace(/-/g, '+').replace(/_/g, '/') );\n }\n\n function s2b ( s ) {\n var b = new Uint8Array(s.length);\n for ( var i = 0; i < s.length; i++ ) b[i] = s.charCodeAt(i);\n return b;\n }\n\n function b2s ( b ) {\n if ( b instanceof ArrayBuffer ) b = new Uint8Array(b);\n return String.fromCharCode.apply( String, b );\n }\n\n function alg ( a ) {\n var r = { 'name': (a.name || a || '').toUpperCase().replace('V','v') };\n switch ( r.name ) {\n case 'SHA-1':\n case 'SHA-256':\n case 'SHA-384':\n case 'SHA-512':\n break;\n case 'AES-CBC':\n case 'AES-GCM':\n case 'AES-KW':\n if ( a.length ) r['length'] = a.length;\n break;\n case 'HMAC':\n if ( a.hash ) r['hash'] = alg(a.hash);\n if ( a.length ) r['length'] = a.length;\n break;\n case 'RSAES-PKCS1-v1_5':\n if ( a.publicExponent ) r['publicExponent'] = new Uint8Array(a.publicExponent);\n if ( a.modulusLength ) r['modulusLength'] = a.modulusLength;\n break;\n case 'RSASSA-PKCS1-v1_5':\n case 'RSA-OAEP':\n if ( a.hash ) r['hash'] = alg(a.hash);\n if ( a.publicExponent ) r['publicExponent'] = new Uint8Array(a.publicExponent);\n if ( a.modulusLength ) r['modulusLength'] = a.modulusLength;\n break;\n default:\n throw new SyntaxError(\"Bad algorithm name\");\n }\n return r;\n };\n\n function jwkAlg ( a ) {\n return {\n 'HMAC': {\n 'SHA-1': 'HS1',\n 'SHA-256': 'HS256',\n 'SHA-384': 'HS384',\n 'SHA-512': 'HS512',\n },\n 'RSASSA-PKCS1-v1_5': {\n 'SHA-1': 'RS1',\n 'SHA-256': 'RS256',\n 'SHA-384': 'RS384',\n 'SHA-512': 'RS512',\n },\n 'RSAES-PKCS1-v1_5': {\n '': 'RSA1_5',\n },\n 'RSA-OAEP': {\n 'SHA-1': 'RSA-OAEP',\n 'SHA-256': 'RSA-OAEP-256',\n },\n 'AES-KW': {\n '128': 'A128KW',\n '192': 'A192KW',\n '256': 'A256KW',\n },\n 'AES-GCM': {\n '128': 'A128GCM',\n '192': 'A192GCM',\n '256': 'A256GCM',\n },\n 'AES-CBC': {\n '128': 'A128CBC',\n '192': 'A192CBC',\n '256': 'A256CBC',\n },\n }[a.name][ ( a.hash || {} ).name || a.length || '' ];\n }\n\n function b2jwk ( k ) {\n if ( k instanceof ArrayBuffer || k instanceof Uint8Array ) k = JSON.parse( decodeURIComponent( escape( b2s(k) ) ) );\n var jwk = { 'kty': k.kty, 'alg': k.alg, 'ext': k.ext || k.extractable };\n switch ( jwk.kty ) {\n case 'oct':\n jwk.k = k.k;\n case 'RSA':\n [ 'n', 'e', 'd', 'p', 'q', 'dp', 'dq', 'qi', 'oth' ].forEach( function ( x ) { if ( x in k ) jwk[x] = k[x] } );\n break;\n default:\n throw new TypeError(\"Unsupported key type\");\n }\n return jwk;\n }\n\n function jwk2b ( k ) {\n var jwk = b2jwk(k);\n if ( isIE ) jwk['extractable'] = jwk.ext, delete jwk.ext;\n return s2b( unescape( encodeURIComponent( JSON.stringify(jwk) ) ) ).buffer;\n }\n\n function pkcs2jwk ( k ) {\n var info = b2der(k), prv = false;\n if ( info.length > 2 ) prv = true, info.shift(); // remove version from PKCS#8 PrivateKeyInfo structure\n var jwk = { 'ext': true };\n switch ( info[0][0] ) {\n case '1.2.840.113549.1.1.1':\n var rsaComp = [ 'n', 'e', 'd', 'p', 'q', 'dp', 'dq', 'qi' ],\n rsaKey = b2der( info[1] );\n if ( prv ) rsaKey.shift(); // remove version from PKCS#1 RSAPrivateKey structure\n for ( var i = 0; i < rsaKey.length; i++ ) {\n if ( !rsaKey[i][0] ) rsaKey[i] = rsaKey[i].subarray(1);\n jwk[ rsaComp[i] ] = s2a( b2s( rsaKey[i] ) );\n }\n jwk['kty'] = 'RSA';\n break;\n default:\n throw new TypeError(\"Unsupported key type\");\n }\n return jwk;\n }\n\n function jwk2pkcs ( k ) {\n var key, info = [ [ '', null ] ], prv = false;\n switch ( k.kty ) {\n case 'RSA':\n var rsaComp = [ 'n', 'e', 'd', 'p', 'q', 'dp', 'dq', 'qi' ],\n rsaKey = [];\n for ( var i = 0; i < rsaComp.length; i++ ) {\n if ( !( rsaComp[i] in k ) ) break;\n var b = rsaKey[i] = s2b( a2s( k[ rsaComp[i] ] ) );\n if ( b[0] & 0x80 ) rsaKey[i] = new Uint8Array(b.length + 1), rsaKey[i].set( b, 1 );\n }\n if ( rsaKey.length > 2 ) prv = true, rsaKey.unshift( new Uint8Array([0]) ); // add version to PKCS#1 RSAPrivateKey structure\n info[0][0] = '1.2.840.113549.1.1.1';\n key = rsaKey;\n break;\n default:\n throw new TypeError(\"Unsupported key type\");\n }\n info.push( new Uint8Array( der2b(key) ).buffer );\n if ( !prv ) info[1] = { 'tag': 0x03, 'value': info[1] };\n else info.unshift( new Uint8Array([0]) ); // add version to PKCS#8 PrivateKeyInfo structure\n return new Uint8Array( der2b(info) ).buffer;\n }\n\n var oid2str = { 'KoZIhvcNAQEB': '1.2.840.113549.1.1.1' },\n str2oid = { '1.2.840.113549.1.1.1': 'KoZIhvcNAQEB' };\n\n function b2der ( buf, ctx ) {\n if ( buf instanceof ArrayBuffer ) buf = new Uint8Array(buf);\n if ( !ctx ) ctx = { pos: 0, end: buf.length };\n\n if ( ctx.end - ctx.pos < 2 || ctx.end > buf.length ) throw new RangeError(\"Malformed DER\");\n\n var tag = buf[ctx.pos++],\n len = buf[ctx.pos++];\n\n if ( len >= 0x80 ) {\n len &= 0x7f;\n if ( ctx.end - ctx.pos < len ) throw new RangeError(\"Malformed DER\");\n for ( var xlen = 0; len--; ) xlen <<= 8, xlen |= buf[ctx.pos++];\n len = xlen;\n }\n\n if ( ctx.end - ctx.pos < len ) throw new RangeError(\"Malformed DER\");\n\n var rv;\n\n switch ( tag ) {\n case 0x02: // Universal Primitive INTEGER\n rv = buf.subarray( ctx.pos, ctx.pos += len );\n break;\n case 0x03: // Universal Primitive BIT STRING\n if ( buf[ctx.pos++] ) throw new Error( \"Unsupported bit string\" );\n len--;\n case 0x04: // Universal Primitive OCTET STRING\n rv = new Uint8Array( buf.subarray( ctx.pos, ctx.pos += len ) ).buffer;\n break;\n case 0x05: // Universal Primitive NULL\n rv = null;\n break;\n case 0x06: // Universal Primitive OBJECT IDENTIFIER\n var oid = btoa( b2s( buf.subarray( ctx.pos, ctx.pos += len ) ) );\n if ( !( oid in oid2str ) ) throw new Error( \"Unsupported OBJECT ID \" + oid );\n rv = oid2str[oid];\n break;\n case 0x30: // Universal Constructed SEQUENCE\n rv = [];\n for ( var end = ctx.pos + len; ctx.pos < end; ) rv.push( b2der( buf, ctx ) );\n break;\n default:\n throw new Error( \"Unsupported DER tag 0x\" + tag.toString(16) );\n }\n\n return rv;\n }\n\n function der2b ( val, buf ) {\n if ( !buf ) buf = [];\n\n var tag = 0, len = 0,\n pos = buf.length + 2;\n\n buf.push( 0, 0 ); // placeholder\n\n if ( val instanceof Uint8Array ) { // Universal Primitive INTEGER\n tag = 0x02, len = val.length;\n for ( var i = 0; i < len; i++ ) buf.push( val[i] );\n }\n else if ( val instanceof ArrayBuffer ) { // Universal Primitive OCTET STRING\n tag = 0x04, len = val.byteLength, val = new Uint8Array(val);\n for ( var i = 0; i < len; i++ ) buf.push( val[i] );\n }\n else if ( val === null ) { // Universal Primitive NULL\n tag = 0x05, len = 0;\n }\n else if ( typeof val === 'string' && val in str2oid ) { // Universal Primitive OBJECT IDENTIFIER\n var oid = s2b( atob( str2oid[val] ) );\n tag = 0x06, len = oid.length;\n for ( var i = 0; i < len; i++ ) buf.push( oid[i] );\n }\n else if ( val instanceof Array ) { // Universal Constructed SEQUENCE\n for ( var i = 0; i < val.length; i++ ) der2b( val[i], buf );\n tag = 0x30, len = buf.length - pos;\n }\n else if ( typeof val === 'object' && val.tag === 0x03 && val.value instanceof ArrayBuffer ) { // Tag hint\n val = new Uint8Array(val.value), tag = 0x03, len = val.byteLength;\n buf.push(0); for ( var i = 0; i < len; i++ ) buf.push( val[i] );\n len++;\n }\n else {\n throw new Error( \"Unsupported DER value \" + val );\n }\n\n if ( len >= 0x80 ) {\n var xlen = len, len = 4;\n buf.splice( pos, 0, (xlen >> 24) & 0xff, (xlen >> 16) & 0xff, (xlen >> 8) & 0xff, xlen & 0xff );\n while ( len > 1 && !(xlen >> 24) ) xlen <<= 8, len--;\n if ( len < 4 ) buf.splice( pos, 4 - len );\n len |= 0x80;\n }\n\n buf.splice( pos - 2, 2, tag, len );\n\n return buf;\n }\n\n function CryptoKey ( key, alg, ext, use ) {\n Object.defineProperties( this, {\n _key: {\n value: key\n },\n type: {\n value: key.type,\n enumerable: true,\n },\n extractable: {\n value: (ext === undefined) ? key.extractable : ext,\n enumerable: true,\n },\n algorithm: {\n value: (alg === undefined) ? key.algorithm : alg,\n enumerable: true,\n },\n usages: {\n value: (use === undefined) ? key.usages : use,\n enumerable: true,\n },\n });\n }\n\n function isPubKeyUse ( u ) {\n return u === 'verify' || u === 'encrypt' || u === 'wrapKey';\n }\n\n function isPrvKeyUse ( u ) {\n return u === 'sign' || u === 'decrypt' || u === 'unwrapKey';\n }\n\n [ 'generateKey', 'importKey', 'unwrapKey' ]\n .forEach( function ( m ) {\n var _fn = _subtle[m];\n\n _subtle[m] = function ( a, b, c ) {\n var args = [].slice.call(arguments),\n ka, kx, ku;\n\n switch ( m ) {\n case 'generateKey':\n ka = alg(a), kx = b, ku = c;\n break;\n case 'importKey':\n ka = alg(c), kx = args[3], ku = args[4];\n if ( a === 'jwk' ) {\n b = b2jwk(b);\n if ( !b.alg ) b.alg = jwkAlg(ka);\n if ( !b.key_ops ) b.key_ops = ( b.kty !== 'oct' ) ? ( 'd' in b ) ? ku.filter(isPrvKeyUse) : ku.filter(isPubKeyUse) : ku.slice();\n args[1] = jwk2b(b);\n }\n break;\n case 'unwrapKey':\n ka = args[4], kx = args[5], ku = args[6];\n args[2] = c._key;\n break;\n }\n\n if ( m === 'generateKey' && ka.name === 'HMAC' && ka.hash ) {\n ka.length = ka.length || { 'SHA-1': 512, 'SHA-256': 512, 'SHA-384': 1024, 'SHA-512': 1024 }[ka.hash.name];\n return _subtle.importKey( 'raw', _crypto.getRandomValues( new Uint8Array( (ka.length+7)>>3 ) ), ka, kx, ku );\n }\n\n if ( isWebkit && m === 'generateKey' && ka.name === 'RSASSA-PKCS1-v1_5' && ( !ka.modulusLength || ka.modulusLength >= 2048 ) ) {\n a = alg(a), a.name = 'RSAES-PKCS1-v1_5', delete a.hash;\n return _subtle.generateKey( a, true, [ 'encrypt', 'decrypt' ] )\n .then( function ( k ) {\n return Promise.all([\n _subtle.exportKey( 'jwk', k.publicKey ),\n _subtle.exportKey( 'jwk', k.privateKey ),\n ]);\n })\n .then( function ( keys ) {\n keys[0].alg = keys[1].alg = jwkAlg(ka);\n keys[0].key_ops = ku.filter(isPubKeyUse), keys[1].key_ops = ku.filter(isPrvKeyUse);\n return Promise.all([\n _subtle.importKey( 'jwk', keys[0], ka, true, keys[0].key_ops ),\n _subtle.importKey( 'jwk', keys[1], ka, kx, keys[1].key_ops ),\n ]);\n })\n .then( function ( keys ) {\n return {\n publicKey: keys[0],\n privateKey: keys[1],\n };\n });\n }\n\n if ( ( isWebkit || ( isIE && ( ka.hash || {} ).name === 'SHA-1' ) )\n && m === 'importKey' && a === 'jwk' && ka.name === 'HMAC' && b.kty === 'oct' ) {\n return _subtle.importKey( 'raw', s2b( a2s(b.k) ), c, args[3], args[4] );\n }\n\n if ( isWebkit && m === 'importKey' && ( a === 'spki' || a === 'pkcs8' ) ) {\n return _subtle.importKey( 'jwk', pkcs2jwk(b), c, args[3], args[4] );\n }\n\n if ( isIE && m === 'unwrapKey' ) {\n return _subtle.decrypt( args[3], c, b )\n .then( function ( k ) {\n return _subtle.importKey( a, k, args[4], args[5], args[6] );\n });\n }\n\n var op;\n try {\n op = _fn.apply( _subtle, args );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n if ( isIE ) {\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) { rej(e) };\n op.oncomplete = function ( r ) { res(r.target.result) };\n });\n }\n\n op = op.then( function ( k ) {\n if ( ka.name === 'HMAC' ) {\n if ( !ka.length ) ka.length = 8 * k.algorithm.length;\n }\n if ( ka.name.search('RSA') == 0 ) {\n if ( !ka.modulusLength ) ka.modulusLength = (k.publicKey || k).algorithm.modulusLength;\n if ( !ka.publicExponent ) ka.publicExponent = (k.publicKey || k).algorithm.publicExponent;\n }\n if ( k.publicKey && k.privateKey ) {\n k = {\n publicKey: new CryptoKey( k.publicKey, ka, kx, ku.filter(isPubKeyUse) ),\n privateKey: new CryptoKey( k.privateKey, ka, kx, ku.filter(isPrvKeyUse) ),\n };\n }\n else {\n k = new CryptoKey( k, ka, kx, ku );\n }\n return k;\n });\n\n return op;\n }\n });\n\n [ 'exportKey', 'wrapKey' ]\n .forEach( function ( m ) {\n var _fn = _subtle[m];\n\n _subtle[m] = function ( a, b, c ) {\n var args = [].slice.call(arguments);\n\n switch ( m ) {\n case 'exportKey':\n args[1] = b._key;\n break;\n case 'wrapKey':\n args[1] = b._key, args[2] = c._key;\n break;\n }\n\n if ( ( isWebkit || ( isIE && ( b.algorithm.hash || {} ).name === 'SHA-1' ) )\n && m === 'exportKey' && a === 'jwk' && b.algorithm.name === 'HMAC' ) {\n args[0] = 'raw';\n }\n\n if ( isWebkit && m === 'exportKey' && ( a === 'spki' || a === 'pkcs8' ) ) {\n args[0] = 'jwk';\n }\n\n if ( isIE && m === 'wrapKey' ) {\n return _subtle.exportKey( a, b )\n .then( function ( k ) {\n if ( a === 'jwk' ) k = s2b( unescape( encodeURIComponent( JSON.stringify( b2jwk(k) ) ) ) );\n return _subtle.encrypt( args[3], c, k );\n });\n }\n\n var op;\n try {\n op = _fn.apply( _subtle, args );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n if ( isIE ) {\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) { rej(e) };\n op.oncomplete = function ( r ) { res(r.target.result) };\n });\n }\n\n if ( m === 'exportKey' && a === 'jwk' ) {\n op = op.then( function ( k ) {\n if ( ( isWebkit || ( isIE && ( b.algorithm.hash || {} ).name === 'SHA-1' ) )\n && b.algorithm.name === 'HMAC') {\n return { 'kty': 'oct', 'alg': jwkAlg(b.algorithm), 'key_ops': b.usages.slice(), 'ext': true, 'k': s2a( b2s(k) ) };\n }\n k = b2jwk(k);\n if ( !k.alg ) k['alg'] = jwkAlg(b.algorithm);\n if ( !k.key_ops ) k['key_ops'] = ( b.type === 'public' ) ? b.usages.filter(isPubKeyUse) : ( b.type === 'private' ) ? b.usages.filter(isPrvKeyUse) : b.usages.slice();\n return k;\n });\n }\n\n if ( isWebkit && m === 'exportKey' && ( a === 'spki' || a === 'pkcs8' ) ) {\n op = op.then( function ( k ) {\n k = jwk2pkcs( b2jwk(k) );\n return k;\n });\n }\n\n return op;\n }\n });\n\n [ 'encrypt', 'decrypt', 'sign', 'verify' ]\n .forEach( function ( m ) {\n var _fn = _subtle[m];\n\n _subtle[m] = function ( a, b, c, d ) {\n if ( isIE && ( !c.byteLength || ( d && !d.byteLength ) ) )\n throw new Error(\"Empy input is not allowed\");\n\n var args = [].slice.call(arguments),\n ka = alg(a);\n\n if ( isIE && m === 'decrypt' && ka.name === 'AES-GCM' ) {\n var tl = a.tagLength >> 3;\n args[2] = (c.buffer || c).slice( 0, c.byteLength - tl ),\n a.tag = (c.buffer || c).slice( c.byteLength - tl );\n }\n\n args[1] = b._key;\n\n var op;\n try {\n op = _fn.apply( _subtle, args );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n if ( isIE ) {\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) {\n rej(e);\n };\n\n op.oncomplete = function ( r ) {\n var r = r.target.result;\n\n if ( m === 'encrypt' && r instanceof AesGcmEncryptResult ) {\n var c = r.ciphertext, t = r.tag;\n r = new Uint8Array( c.byteLength + t.byteLength );\n r.set( new Uint8Array(c), 0 );\n r.set( new Uint8Array(t), c.byteLength );\n r = r.buffer;\n }\n\n res(r);\n };\n });\n }\n\n return op;\n }\n });\n\n if ( isIE ) {\n var _digest = _subtle.digest;\n\n _subtle['digest'] = function ( a, b ) {\n if ( !b.byteLength )\n throw new Error(\"Empy input is not allowed\");\n\n var op;\n try {\n op = _digest.call( _subtle, a, b );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) { rej(e) };\n op.oncomplete = function ( r ) { res(r.target.result) };\n });\n\n return op;\n };\n\n global.crypto = Object.create( _crypto, {\n getRandomValues: { value: function ( a ) { return _crypto.getRandomValues(a) } },\n subtle: { value: _subtle },\n });\n\n global.CryptoKey = CryptoKey;\n }\n\n if ( isWebkit ) {\n _crypto.subtle = _subtle;\n\n global.Crypto = _Crypto;\n global.SubtleCrypto = _SubtleCrypto;\n global.CryptoKey = CryptoKey;\n }\n}));\n\n export default {} // section modified by isomorphic-webcrypto build \n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(8932);\n"],"names":["_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","_createClass","protoProps","staticProps","prototype","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","bind","__proto__","_setPrototypeOf","p","_assertThisInitialized","self","ReferenceError","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","valueOf","call","e","_isNativeReflectConstruct","result","Super","NewTarget","this","constructor","arguments","apply","_possibleConstructorReturn","_get","get","property","receiver","base","object","hasOwnProperty","_superPropBase","desc","getOwnPropertyDescriptor","value","Emitter","type","callback","options","listeners","push","stack","l","splice","event","stackToCall","slice","listener","Promise","resolve","then","once","removeEventListener","defaultPrevented","AbortSignal","_Emitter","subClass","superClass","create","_inherits","_super","_this","undefined","aborted","onabort","AbortController","reason","Event","document","createEvent","initEvent","createEventObject","bubbles","cancelable","signalReason","Error","name","DOMException","err","signal","dispatchEvent","Symbol","toStringTag","__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL","console","log","Request","polyfillNeeded","g","warned","exports","formatArgs","args","useColors","namespace","module","humanize","diff","c","color","index","lastC","replace","match","save","namespaces","storage","setItem","removeItem","error","load","r","getItem","process","env","DEBUG","window","__nwjs","navigator","userAgent","toLowerCase","documentElement","style","WebkitAppearance","firebug","exception","table","m","parseInt","localStorage","localstorage","destroy","warn","colors","debug","require","formatters","j","v","JSON","stringify","message","createDebug","prevTime","namespacesCache","enabledCache","enableOverride","_len","Array","_key","enabled","curr","Number","Date","ms","prev","coerce","unshift","format","formatter","val","selectColor","extend","set","init","delimiter","newDebug","toNamespace","regexp","toString","substring","default","disable","concat","_toConsumableArray2","names","map","skips","join","enable","split","len","RegExp","test","keys","forEach","hash","charCodeAt","Math","abs","lib_1","strings_1","settings_1","Response","FHIRCLIENT_PURE","contextualize","_x","_x2","_contextualize","_asyncToGenerator2","_regenerator","mark","_callee9","requestOptions","client","contextualURL","_contextualURL","wrap","_context9","next","_callee8","_url","resourceType","conformance","searchParam","_context8","pathname","pop","assert","patientCompartment","indexOf","fetchConformanceStatement","state","serverUrl","sent","getPatientParam","searchParams","patient","id","abrupt","href","stop","_x9","absolute","URL","t0","url","resolveRefs","obj","fhirOptions","cache","paths","makeArray","resolveReferences","filter","path","String","trim","groups","task","sort","group","all","graph","node","getPath","isArray","item","ref","reference","refId","headers","request","res","getRef","sub","setPath","catch","ex","status","resolveRef","Client","_createClass2","environment","_classCallCheck2","units","_state","_refreshTask","getPatientId","read","_objectSpread","reject","_callee","_context","encounter","getEncounterId","user","fhirUser","getFhirUser","getUserId","getUserType","connect","fhir","fhirJs","baseUrl","accessToken","getState","auth","token","_this$state","username","password","pass","api","patientId","tokenResponse","scope","noScopeForId","authorizeUri","noIfNoAuth","noFreeContext","idToken","id_token","hasOpenid","hasProfile","hasFhirUser","jwtDecode","getIdToken","profile","_this$state2","btoa","_clearState2","_callee2","_context2","getStorage","SMART_KEY","unset","resource","method","body","_patch2","_callee3","patch","_args3","_context3","assertJsonPatch","_x3","_x4","_request","_callee7","_resolvedRefs","_a","debugRequest","job","response","_this2","_args7","_context7","flat","pageLimit","useRefreshToken","onPage","refreshIfNeeded","authHeader","getAuthorizationHeader","authorization","includeResponse","_ref3","_callee4","_context4","_clearState","expired","_x6","data","_ref4","_callee5","_data","_context5","entry","_x7","_ref5","_callee6","links","nextPage","_context6","link","find","relation","assign","references","_x8","_x5","refreshToken","expiresAt","now","refresh","_this3","debugRefresh","_b","refresh_token","tokenUri","scopes","hasOfflineAccess","search","hasOnlineAccess","encodeURIComponent","refreshTokenWithClientId","clientId","refreshRequestOptions","credentials","refreshTokenWithCredentials","mode","_this$state3","clientSecret","access_token","getAccessTokenExpiration","finally","observations","byCode","byCodes","metadata","fhirVersion","getFhirVersion","fhirVersions","HttpError","_Error","_callSuper","statusText","statusCode","_inherits2","_parse","_body","bodyUsed","json","error_description","text","_wrapNativeSuper2","smart_1","Client_1","BrowserStorage_1","security","js_base64_1","BrowserAdapter","_storage","replaceBrowserHistory","fullSessionStorageSupport","getUrl","location","to","str","atob","input","encodeURL","fromUint8Array","decode","ready","authorize","utils","_adapter$getSmartApi","getSmartApi","fetch","Headers","FHIR","oauth2","settings","_interopRequireDefault","_defineProperty2","_objectWithoutProperties2","_typeof2","_excluded","ownKeys","t","getOwnPropertySymbols","getOwnPropertyDescriptors","defineProperties","HttpError_1","_debug","ensureNumerical","code","checkResponse","_checkResponse","resp","ok","parse","responseToJSON","loweCaseKeys","out","lowerKey","accept","getAndCache","segments","shift","arg","payload","ret","handleCodeableConcept","concept","observation","coding","_ref6","_getTargetWindow","width","height","targetWindow","_error","_targetWindow","winOrFrame","_args2","parent","top","open","screen","t1","frames","condition","cm","_ref2","kg","any","pq","createEmpty","reduce","idx","arr","strLength","charSet","charAt","floor","random","secondsAhead","from","expires_in","tokenBody","exp","bank","codes","meta","x","patientParams","operation","op","crypto","globalThis","subtle","isSecureContext","ALGS","ES384","namedCurve","RS384","modulusLength","publicExponent","Uint8Array","randomBytes","count","getRandomValues","digestSha256","_digestSha","prepared","TextEncoder","encode","digest","generatePKCEChallenge","_ref","inputBytes","codeVerifier","codeChallenge","_args","_importJWK","jwk","alg","key_ops","includes","importKey","ext","_signCompactJws","privateKey","header","jwtHeader","jwtPayload","jwtAuthenticatedContent","signature","sign","algorithm","isBrowser","fetchWellKnownJson","getSecurityExtensions","authorization_endpoint","token_endpoint","registrationUri","registration_endpoint","codeChallengeMethods","code_challenge_methods_supported","getSecurityExtensionsFromWellKnownJson","extensions","extension","valueUri","getSecurityExtensionsFromConformanceStatement","_authorize","params","urlISS","cfg","fakeTokenResponse","encounterId","pkceMode","clientPublicKeySetUrl","redirect_uri","client_id","iss","launch","fhirServiceUrl","redirectUri","noRedirect","_params$scope","completeInTarget","clientPrivateJwk","stateKey","inFrame","inPopUp","oldKey","redirectUrl","redirectParams","win","issMatch","relative","isInFrame","isInPopUp","randomString","redirect","shouldIncludeChallenge","getTargetWindow","sessionStorage","addEventListener","onMessage","S256supported","opener","origin","_ready","Storage","authError","authErrorDescription","hasState","postMessage","close","delete","has","history","replaceState","buildTokenRequest","_buildTokenRequest","pk","jwtHeaders","jwtClaims","clientAssertion","importJWK","typ","kid","jku","aud","jti","base64urlencode","getTimeInFuture","signCompactJws","_init","authorizeOptions","readyOptions","cached","_set","_unset","global","__self__","F","support","Blob","viewClasses","isArrayBufferView","ArrayBuffer","isView","normalizeName","normalizeValue","iteratorFor","items","iterator","done","append","getOwnPropertyNames","consumed","fileReaderReady","reader","onload","onerror","readBlobAsArrayBuffer","blob","FileReader","promise","readAsArrayBuffer","bufferClone","buf","view","byteLength","buffer","Body","_initBody","_bodyInit","_bodyText","isPrototypeOf","_bodyBlob","FormData","_bodyFormData","URLSearchParams","DataView","_bodyArrayBuffer","rejected","arrayBuffer","readAsText","chars","fromCharCode","readArrayBufferAsText","formData","oldValue","thisArg","values","entries","methods","upcased","toUpperCase","referrer","form","bytes","decodeURIComponent","bodyInit","clone","redirectStatuses","RangeError","xhr","XMLHttpRequest","abortXhr","abort","rawHeaders","getAllResponseHeaders","line","parts","responseURL","responseText","ontimeout","withCredentials","responseType","setRequestHeader","onreadystatechange","readyState","send","polyfill","ponyfill","ctx","tab","version","VERSION","_hasBuffer","Buffer","_TD","TextDecoder","_TE","b64chs","b64tab","b64re","_fromCC","_U8Afrom","it","_mkUriSafe","src","m0","_tidyB64","s","btoaPolyfill","bin","u32","c0","c1","c2","asc","pad","_btoa","_fromUint8Array","u8a","strs","subarray","urlsafe","cb_utob","cc","re_utob","utob","u","_encode","encodeURI","re_btou","cb_btou","cccc","offset","btou","b","atobPolyfill","u24","r1","r2","_atob","_toUint8Array","a","toUint8Array","_unURI","_decode","_noEnum","extendString","_add","extendUint8Array","gBase64","fromBase64","toBase64","isValid","extendBuiltins","k","Base64","factory","h","d","w","plural","msAbs","n","isPlural","round","exec","parseFloat","isFinite","long","fmtShort","__esModule","arrayLikeToArray","asyncGeneratorStep","_next","_throw","isNativeReflectConstruct","toPropertyKey","Function","objectWithoutPropertiesLoose","propertyIsEnumerable","_typeof","assertThisInitialized","_regeneratorRuntime","asyncIterator","define","Generator","Context","makeInvokeMethod","tryCatch","f","y","GeneratorFunction","GeneratorFunctionPrototype","defineIteratorMethods","_invoke","AsyncIterator","invoke","__await","callInvokeWithMethodAndArg","delegate","maybeInvokeDelegate","_sent","dispatchException","resultName","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","awrap","async","reverse","rval","handle","complete","finish","delegateYield","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","toPrimitive","isNativeFunction","_wrapNativeSuper","Map","Wrapper","runtime","regeneratorRuntime","accidentalStrictMode","isCallable","tryToString","$TypeError","argument","isConstructor","isPossiblePrototype","$String","wellKnownSymbol","UNSCOPABLES","ArrayPrototype","S","unicode","Prototype","isObject","NAME","NATIVE_ARRAY_BUFFER","DESCRIPTORS","hasOwn","classof","createNonEnumerableProperty","defineBuiltIn","defineBuiltInAccessor","uid","InternalStateModule","enforceInternalState","enforce","getInternalState","Int8Array","Int8ArrayPrototype","Uint8ClampedArray","Uint8ClampedArrayPrototype","TypedArray","TypedArrayPrototype","ObjectPrototype","TO_STRING_TAG","TYPED_ARRAY_TAG","TYPED_ARRAY_CONSTRUCTOR","NATIVE_ARRAY_BUFFER_VIEWS","opera","TYPED_ARRAY_TAG_REQUIRED","TypedArrayConstructorsList","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigIntArrayConstructorsList","BigInt64Array","BigUint64Array","getTypedArrayConstructor","proto","isTypedArray","klass","aTypedArray","aTypedArrayConstructor","C","exportTypedArrayMethod","KEY","forced","ARRAY","TypedArrayConstructor","error2","exportTypedArrayStaticMethod","uncurryThis","FunctionName","defineBuiltIns","fails","anInstance","toIntegerOrInfinity","toLength","toIndex","fround","IEEE754","arrayFill","arraySlice","inheritIfRequired","copyConstructorProperties","setToStringTag","PROPER_FUNCTION_NAME","PROPER","CONFIGURABLE_FUNCTION_NAME","CONFIGURABLE","ARRAY_BUFFER","DATA_VIEW","PROTOTYPE","WRONG_INDEX","getInternalArrayBufferState","getterFor","getInternalDataViewState","setInternalState","NativeArrayBuffer","$ArrayBuffer","ArrayBufferPrototype","$DataView","DataViewPrototype","fill","packIEEE754","pack","unpackIEEE754","unpack","packInt8","number","packInt16","packInt32","unpackInt32","packFloat32","packFloat64","addGetter","isLittleEndian","store","intIndex","boolIsLittleEndian","start","byteOffset","conversion","INCORRECT_ARRAY_BUFFER_NAME","NaN","testView","$setInt8","setInt8","getInt8","setUint8","unsafe","detached","bufferState","bufferLength","getUint8","getInt16","getUint16","getInt32","getUint32","getFloat32","getFloat64","setInt16","setUint16","setInt32","setUint32","setFloat32","setFloat64","toObject","toAbsoluteIndex","lengthOfArrayLike","deletePropertyOrThrow","min","copyWithin","O","end","inc","argumentsLength","endPos","$forEach","STRICT_METHOD","arrayMethodIsStrict","callbackfn","list","$length","callWithSafeIterationClosing","isArrayIteratorMethod","createProperty","getIterator","getIteratorMethod","$Array","arrayLike","IS_CONSTRUCTOR","mapfn","mapping","step","iteratorMethod","toIndexedObject","createMethod","IS_INCLUDES","$this","el","fromIndex","IndexedObject","arraySpeciesCreate","TYPE","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_REJECT","NO_HOLES","that","specificCreate","boundFunction","some","every","findIndex","filterReject","$lastIndexOf","lastIndexOf","NEGATIVE_ZERO","FORCED","searchElement","V8_VERSION","SPECIES","METHOD_NAME","array","foo","aCallable","REDUCE_EMPTY","IS_RIGHT","memo","left","right","SILENT_ON_NON_WRITABLE_LENGTH_SET","comparefn","element","middle","llength","rlength","lindex","rindex","originalArray","arraySpeciesConstructor","anObject","iteratorClose","fn","ENTRIES","ITERATOR","SAFE_CLOSING","called","iteratorWithReturn","SKIP_CLOSING","ITERATION_SUPPORT","stringSlice","TO_STRING_TAG_SUPPORT","classofRaw","$Object","CORRECT_ARGUMENTS","tag","tryGet","callee","getOwnPropertyDescriptorModule","definePropertyModule","source","exceptions","MATCH","error1","requireObjectCoercible","quot","string","attribute","p1","createPropertyDescriptor","bitmap","makeBuiltIn","getter","setter","defineGlobalProperty","simple","nonConfigurable","nonWritable","P","EXISTS","createElement","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","classList","documentCreateElement","DOMTokenListPrototype","firefox","UA","Pebble","ENVIRONMENT","Deno","versions","v8","webkit","userAgentStartsWith","Bun","isForced","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","dontCallGetSet","regexpExec","RegExpPrototype","SHAM","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","re","flags","nativeRegExpMethod","nativeMethod","arg2","forceStringMethod","$exec","doesNotExceedSafeInteger","flattenIntoArray","original","sourceLen","depth","mapper","elementLen","targetIndex","sourceIndex","mapFn","NATIVE_BIND","FunctionPrototype","$Function","factories","partArgs","argsLength","getDescriptor","uncurryThisWithBind","getMethod","isNullOrUndefined","Iterators","usingIterator","replacer","rawLength","keysLength","root","V","func","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","matched","position","captures","namedCaptures","replacement","tailPos","symbols","ch","capture","check","getBuiltIn","pow","LN2","mantissaLength","exponent","mantissa","exponentLength","eMax","eBias","rt","Infinity","nBits","dummy","NewTargetPrototype","functionToString","inspectSource","NATIVE_WEAK_MAP","shared","sharedKey","hiddenKeys","OBJECT_ALREADY_INITIALIZED","WeakMap","facade","STATE","documentAll","noop","constructorRegExp","INCORRECT_TO_STRING","isConstructorModern","isConstructorLegacy","feature","detection","normalize","POLYFILL","NATIVE","isInteger","isRegExp","USE_SYMBOL_AS_UID","$Symbol","Result","stopped","ResultPrototype","iterable","unboundFunction","iterFn","AS_ENTRIES","IS_RECORD","IS_ITERATOR","INTERRUPTED","callFn","kind","innerResult","innerError","IteratorPrototype","returnThis","IteratorConstructor","ENUMERABLE_NEXT","$","IS_PURE","createIteratorConstructor","IteratorsCore","BUGGY_SAFARI_ITERATORS","KEYS","VALUES","Iterable","DEFAULT","IS_SET","CurrentIteratorPrototype","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","PrototypeOfArrayIteratorPrototype","arrayIterator","CONFIGURABLE_LENGTH","TEMPLATE","arity","EPSILON","INVERSE_EPSILON","FLOAT_EPSILON","FLOAT_MAX_VALUE","FLOAT_MIN_VALUE","roundTiesToEven","floatRound","ceil","trunc","notify","toggle","safeGetBuiltIn","macrotask","Queue","IS_IOS","IS_IOS_PEBBLE","IS_WEBOS_WEBKIT","IS_NODE","MutationObserver","WebKitMutationObserver","microtask","queue","flush","domain","exit","head","enter","nextTick","createTextNode","observe","characterData","add","PromiseCapability","$$resolve","$$reject","objectKeys","getOwnPropertySymbolsModule","propertyIsEnumerableModule","$assign","A","B","symbol","alphabet","chr","T","activeXDocument","definePropertiesModule","enumBugKeys","html","SCRIPT","IE_PROTO","EmptyConstructor","scriptTag","content","LT","NullProtoObjectViaActiveX","write","temp","parentWindow","NullProtoObject","ActiveXObject","iframeDocument","iframe","JS","display","appendChild","contentWindow","Properties","V8_PROTOTYPE_DEFINE_BUG","IE8_DOM_DEFINE","$defineProperty","$getOwnPropertyDescriptor","ENUMERABLE","WRITABLE","Attributes","current","$getOwnPropertyNames","windowNames","getWindowNames","internalObjectKeys","CORRECT_PROTOTYPE_GETTER","$propertyIsEnumerable","NASHORN_BUG","uncurryThisAccessor","aPossiblePrototype","CORRECT_SETTER","pref","getOwnPropertyNamesModule","NativePromiseConstructor","NativePromisePrototype","SUBCLASSING","NATIVE_PROMISE_REJECTION_EVENT","PromiseRejectionEvent","FORCED_PROMISE_CONSTRUCTOR","PROMISE_CONSTRUCTOR_SOURCE","GLOBAL_CORE_JS_PROMISE","FakePromise","CONSTRUCTOR","REJECTION_EVENT","newPromiseCapability","promiseCapability","checkCorrectnessOfIteration","Target","Source","tail","R","re1","re2","regexpFlags","stickyHelpers","UNSUPPORTED_DOT_ALL","UNSUPPORTED_NCG","nativeReplace","nativeExec","patchedExec","UPDATES_LAST_INDEX_WRONG","lastIndex","UNSUPPORTED_Y","BROKEN_CARET","NPCG_INCLUDED","reCopy","raw","sticky","charsAdded","strCopy","multiline","hasIndices","ignoreCase","dotAll","unicodeSets","regExpFlags","$RegExp","MISSED_STICKY","is","CONSTRUCTOR_NAME","TAG","SHARED","copyright","license","aConstructor","defaultConstructor","CONVERT_TO_STRING","pos","first","second","size","codeAt","maxInt","regexNonASCII","regexSeparators","OVERFLOW_ERROR","$RangeError","digitToBasic","digit","adapt","delta","numPoints","firstTime","baseMinusTMin","output","counter","extra","ucs2decode","currentValue","inputLength","bias","basicLength","handledCPCount","handledCPCountPlusOne","q","qMinusT","baseMinusT","label","encoded","labels","whitespaces","ltrim","rtrim","SymbolPrototype","TO_PRIMITIVE","hint","NATIVE_SYMBOL","keyFor","$location","defer","channel","port","validateArgumentsLength","setImmediate","clear","clearImmediate","Dispatch","MessageChannel","ONREADYSTATECHANGE","run","runner","eventListener","globalPostMessageDefer","protocol","host","handler","port2","port1","onmessage","importScripts","removeChild","setTimeout","max","integer","prim","BigInt","toPositiveInteger","BYTES","isSymbol","ordinaryToPrimitive","exoticToPrim","TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS","ArrayBufferViewCore","ArrayBufferModule","isIntegralNumber","toOffset","toUint8Clamped","typedArrayFrom","setSpecies","arrayFromConstructorAndList","nativeDefineProperty","nativeGetOwnPropertyDescriptor","BYTES_PER_ELEMENT","WRONG_LENGTH","isArrayBuffer","isTypedArrayIndex","wrappedGetOwnPropertyDescriptor","wrappedDefineProperty","wrapper","CLAMPED","GETTER","SETTER","NativeTypedArrayConstructor","TypedArrayConstructorPrototype","exported","addElement","typedArrayOffset","$len","typedArraySpeciesConstructor","isBigIntArray","toBigInt","thisIsBigIntArray","speciesConstructor","postfix","params2","toJSON","passed","required","wrappedWellKnownSymbolModule","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","arrayBufferModule","arrayMethodHasSpeciesSupport","IS_CONCAT_SPREADABLE","IS_CONCAT_SPREADABLE_SUPPORT","isConcatSpreadable","spreadable","E","$filter","$find","addToUnscopables","FIND","SKIPS_HOLES","depthArg","$includes","defineIterator","createIterResultObject","ARRAY_ITERATOR","iterated","Arguments","nativeJoin","separator","$map","nativeSlice","HAS_SPECIES_SUPPORT","fin","internalSort","FF","IE_OR_EDGE","V8","WEBKIT","nativeSort","FAILS_ON_UNDEFINED","FAILS_ON_NULL","STABLE_SORT","itemsLength","arrayLength","getSortCompare","setArrayLength","deleteCount","insertCount","actualDeleteCount","actualStart","FUNCTION_NAME_EXISTS","nameRE","regExpExec","getReplacerFunction","$stringify","numberToString","tester","low","hi","WRONG_SYMBOLS_CONVERSION","ILL_FORMED_UNICODE","stringifyWithSymbolsFix","$replacer","fixIllFormed","space","thisNumberValue","NUMBER","NativeNumber","PureNumberNamespace","NumberPrototype","NumberWrapper","primValue","third","radix","maxCode","digits","toNumber","toNumeric","$getOwnPropertySymbols","nativeKeys","newPromiseCapabilityModule","perform","iterate","capability","$promiseResolve","remaining","alreadyCalled","real","onRejected","Internal","OwnPromiseCapability","nativeThen","hostReportErrors","PromiseConstructorDetection","PROMISE","NATIVE_PROMISE_SUBCLASSING","getInternalPromiseState","PromiseConstructor","PromisePrototype","newGenericPromiseCapability","DISPATCH_EVENT","UNHANDLED_REJECTION","isThenable","callReaction","reaction","exited","fail","rejection","onHandleUnhandled","isReject","notified","reactions","onUnhandled","isUnhandled","emit","unwrap","internalReject","internalResolve","executor","onFulfilled","PromiseWrapper","promiseResolve","onFinally","isFunction","race","capabilityReject","PromiseConstructorWrapper","CHECK_WRAPPER","nativeConstruct","NEW_TARGET_BUG","ARGS_BUG","newTarget","$args","getRegExpFlags","proxyAccessor","NativeRegExp","SyntaxError","stringIndexOf","IS_NCG","CORRECT_NEW","RegExpWrapper","pattern","rawFlags","handled","thisIsRegExp","patternIsRegExp","flagsAreUndefined","rawPattern","named","brackets","ncg","groupid","groupname","handleNCG","handleDotAll","$toString","TO_STRING","nativeToString","NOT_GENERIC","INCORRECT_NAME","$fromCodePoint","fromCodePoint","elements","notARegExp","correctIsRegExpLogic","searchString","STRING_ITERATOR","point","createHTML","forcedStringHTMLMethod","fixRegExpWellKnownSymbolLogic","advanceStringIndex","nativeMatch","maybeCallNative","matcher","rx","fullUnicode","matchStr","getSubstitution","REPLACE","REPLACE_KEEPS_$0","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","_","UNSAFE_SUBSTITUTE","searchValue","replaceValue","functionalReplace","results","accumulatedResult","nextSourcePosition","replacerArgs","sameValue","SEARCH","nativeSearch","searcher","previousLastIndex","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","BUGGY","SPLIT","nativeSplit","internalSplit","limit","splitter","unicodeMatching","lim","z","$trim","forcedStringTrimMethod","nativeObjectCreate","getOwnPropertyNamesExternal","defineWellKnownSymbol","defineSymbolToPrimitive","HIDDEN","QObject","nativeGetOwnPropertyNames","nativePropertyIsEnumerable","AllSymbols","ObjectPrototypeSymbols","USE_SETTER","findChild","fallbackDefineProperty","ObjectPrototypeDescriptor","setSymbolDescriptor","description","$defineProperties","properties","IS_OBJECT_PROTOTYPE","useSetter","useSimple","NATIVE_SYMBOL_REGISTRY","StringToSymbolRegistry","SymbolToStringRegistry","sym","u$ArrayCopyWithin","$every","$fill","actualValue","fromSpeciesAndList","$findIndex","predicate","$indexOf","ArrayIterators","arrayValues","arrayKeys","arrayEntries","GENERIC","ITERATOR_IS_VALUES","typedArrayValues","$join","$reduceRight","$reduce","$set","WORKS_WITH_OBJECTS_AND_GENERIC_ON_TYPED_ARRAYS","TO_OBJECT_BUG","$some","ACCEPT_INCORRECT_ARGUMENTS","mod","expected","begin","beginIndex","$toLocaleString","toLocaleString","TO_LOCALE_STRING_BUG","Uint8ArrayPrototype","arrayToString","IS_NOT_ARRAY_METHOD","createTypedArrayConstructor","DOMIterables","handlePrototype","CollectionPrototype","COLLECTION_NAME","ArrayIteratorMethods","ArrayValues","USE_NATIVE_URL","arraySort","URL_SEARCH_PARAMS","URL_SEARCH_PARAMS_ITERATOR","getInternalParamsState","getInternalIteratorState","nativeFetch","NativeRequest","RequestPrototype","HeadersPrototype","$parseInt","plus","VALID_HEX","parseHexOctet","substr","getLeadingOnes","octet","mask","utf8Decode","octets","codePoint","decodedChar","byteSequenceLength","sequenceIndex","nextByte","replacements","serialize","URLSearchParamsIterator","URLSearchParamsState","parseObject","parseQuery","bindURL","update","entryIterator","entryNext","query","attributes","updateURL","URLSearchParamsConstructor","URLSearchParamsPrototype","$value","getAll","found","headersHas","headersSet","wrapRequestOptions","RequestConstructor","EOF","arrayFrom","toASCII","URLSearchParamsModule","getInternalURLState","getInternalSearchParamsState","NativeURL","INVALID_SCHEME","INVALID_HOST","INVALID_PORT","ALPHA","ALPHANUMERIC","DIGIT","HEX_START","OCT","DEC","HEX","FORBIDDEN_HOST_CODE_POINT","FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT","LEADING_C0_CONTROL_OR_SPACE","TRAILING_C0_CONTROL_OR_SPACE","TAB_AND_NEW_LINE","serializeHost","compress","ignore0","ipv6","maxIndex","maxLength","currStart","currLength","findLongestZeroSequence","C0ControlPercentEncodeSet","fragmentPercentEncodeSet","pathPercentEncodeSet","userinfoPercentEncodeSet","percentEncode","specialSchemes","ftp","file","http","https","ws","wss","isWindowsDriveLetter","normalized","startsWithWindowsDriveLetter","isSingleDot","segment","SCHEME_START","SCHEME","NO_SCHEME","SPECIAL_RELATIVE_OR_AUTHORITY","PATH_OR_AUTHORITY","RELATIVE","RELATIVE_SLASH","SPECIAL_AUTHORITY_SLASHES","SPECIAL_AUTHORITY_IGNORE_SLASHES","AUTHORITY","HOST","HOSTNAME","PORT","FILE","FILE_SLASH","FILE_HOST","PATH_START","PATH","CANNOT_BE_A_BASE_URL_PATH","QUERY","FRAGMENT","URLState","isBase","baseState","failure","urlString","stateOverride","codePoints","bufferCodePoints","pointer","seenAt","seenBracket","seenPasswordToken","scheme","fragment","cannotBeABaseURL","isSpecial","includesCredentials","encodedCodePoints","parseHost","shortenPath","numbersSeen","ipv4Piece","swaps","swap","address","pieceIndex","parseIPv6","partsLength","numbers","part","ipv4","parseIPv4","cannotHaveUsernamePasswordPort","pathSize","setHref","getOrigin","URLConstructor","getProtocol","setProtocol","getUsername","setUsername","getPassword","setPassword","getHost","setHost","getHostname","setHostname","hostname","getPort","setPort","getPathname","setPathname","getSearch","setSearch","getSearchParams","getHash","setHash","URLPrototype","accessorDescriptor","nativeCreateObjectURL","createObjectURL","nativeRevokeObjectURL","revokeObjectURL","_crypto","msCrypto","_subtle","webkitSubtle","_Crypto","Crypto","_SubtleCrypto","SubtleCrypto","isEdge","CryptoKey","Key","isIE","isWebkit","oid2str","str2oid","_fn","ka","kx","ku","b2jwk","jwkAlg","kty","isPrvKeyUse","isPubKeyUse","s2b","unescape","generateKey","exportKey","publicKey","a2s","info","b2der","prv","rsaComp","rsaKey","s2a","b2s","pkcs2jwk","decrypt","rej","oncomplete","encrypt","usages","der2b","jwk2pkcs","tl","tagLength","AesGcmEncryptResult","ciphertext","_digest","escape","extractable","rv","xlen","oid","use","amd","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/build/fhir-client.pure.js b/dist/build/fhir-client.pure.js index 99cbd7c6..d9608140 100644 --- a/dist/build/fhir-client.pure.js +++ b/dist/build/fhir-client.pure.js @@ -2263,8 +2263,8 @@ async function ready(env, options = {}) { const url = env.getUrl(); const Storage = env.getStorage(); const params = url.searchParams; - let key = params.get("state"); - const code = params.get("code"); + let key = params.get("state") || options.stateKey; + const code = params.get("code") || options.code; const authError = params.get("error"); const authErrorDescription = params.get("error_description"); if (!key) { @@ -2323,7 +2323,7 @@ async function ready(env, options = {}) { } url.searchParams.delete("complete"); // Do we have to remove the `code` and `state` params from the URL? - const hasState = params.has("state"); + const hasState = params.has("state") || options.stateKey ? true : false; if (isBrowser() && (0, lib_1.getPath)(env, "options.replaceBrowserHistory") && (code || hasState)) { // `code` is the flag that tell us to request an access token. // We have to remove it, otherwise the page will authorize on diff --git a/dist/build/fhir-client.pure.js.map b/dist/build/fhir-client.pure.js.map index 2c37fbae..9a801745 100644 --- a/dist/build/fhir-client.pure.js.map +++ b/dist/build/fhir-client.pure.js.map @@ -1 +1 @@ -{"version":3,"file":"fhir-client.pure.js","mappings":"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AAA;;;;;;;;;;;;;;;;ACAA;AACA/N,kBAAA,GAAe;EACXhD,OAAO,EAAQ,2CAA2C;EAC1DjD,YAAY,EAAG,oHAAoH;EACnIE,UAAU,EAAK,6DAA6D;EAC5EC,aAAa,EAAE;CAClB;;;;;;;;;;ACND;;AAEA;AACA;AACA;;AAEA,kBAAkB;AAClB,YAAY;AACZ,YAAY;AACZ,iBAAiB;AACjB,eAAe;AACf,eAAe;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,4CAA4C;;AAEvD;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA,iBAAiB,mBAAO,CAAC,oDAAU;;AAEnC,OAAO,YAAY;;AAEnB;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;;;;;AC7QA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,mBAAO,CAAC,sCAAI;AACpC;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,eAAe;AAC3B;AACA;AACA;AACA;;AAEA,kBAAkB,sBAAsB;AACxC;AACA,cAAc;AACd;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uCAAuC;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,cAAc,SAAS;AACvB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,8CAA8C,SAAS;AACvD;AACA;AACA;AACA;;AAEA,8CAA8C,SAAS;AACvD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;;;;;;;;;;ACjRA;AACA;AACA;AACA;AACA;AACA,IAAI,KAA4D;AAChE;AACA,UAAU,CAeM;AAChB,CAAC;AACD;AACA,iBAAiB,qBAAM,mBAAmB,qBAAM;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA,KAAK;AACL,mCAAmC,EAAE,oBAAoB,EAAE,sBAAsB,EAAE;AACnF;AACA;AACA;AACA,0BAA0B;AAC1B,sCAAsC;AACtC,6DAA6D,+BAA+B;AAC5F,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,eAAe;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,QAAQ;AACzB;AACA,8DAA8D;AAC9D,wCAAwC;AACxC;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA,4CAA4C,OAAO;AACnD;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,QAAQ;AACzB;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,QAAQ;AACzB;AACA,8BAA8B;AAC9B;AACA;AACA,yBAAyB;AACzB;AACA,6BAA6B;AAC7B,6BAA6B;AAC7B;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,QAAQ;AACzB;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA,qCAAqC;AACrC;AACA;AACA;AACA,iEAAiE,EAAE,wBAAwB,EAAE;AAC7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,QAAQ;AACzB;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,eAAe;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,QAAQ;AACzB;AACA,8DAA8D;AAC9D,wCAAwC;AACxC;AACA;AACA;AACA,yBAAyB;AACzB,yBAAyB,sDAAsD,yBAAyB;AACxG;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA,yBAAyB;AACzB;AACA,6BAA6B;AAC7B,6BAA6B;AAC7B,gCAAgC,mDAAmD,+BAA+B;AAClH;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,QAAQ;AACzB;AACA,kCAAkC;AAClC;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA,mDAAmD,IAAI;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C,yCAAyC,sBAAsB;AAC/D,8CAA8C,+BAA+B;AAC7E,0CAA0C,4BAA4B;AACtE,0CAA0C,4BAA4B;AACtE,2CAA2C,4BAA4B;AACvE;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C,8CAA8C,uCAAuC;AACrF,0CAA0C,oCAAoC;AAC9E,0CAA0C,oCAAoC;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA,gDAAgD,wCAAwC;AACxF;AACA,CAAC;;;;;;;;;;;ACzTD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B,WAAW,QAAQ;AACnB,YAAY,OAAO;AACnB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACjK6B;AAC7B,iEAAe,aAAa;;;;;;;;;;;;ACD5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,MAAM;AACN;AACA;AACA,MAAM;AACN;AACA;AACA,CAAC,sCAAsC,SAAI;AAC3C;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,yBAAyB,cAAc;AACvC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS,yBAAyB;AAClC;;AAEA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA,+FAA+F,8BAA8B;AAC7H;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,yDAAyD;AACzD,oBAAoB;AACpB;AACA;AACA;AACA;AACA,2CAA2C;AAC3C,iCAAiC,mBAAmB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,oBAAoB;AACrD;AACA;AACA;AACA;AACA,4FAA4F;AAC5F;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,kDAAkD;AAClD;AACA;;AAEA,oBAAoB,wCAAwC;AAC5D,oBAAoB;;AAEpB;AACA;AACA,4BAA4B;;AAE5B;;AAEA;AACA;;AAEA;AACA;AACA;AACA,gCAAgC,OAAO;AACvC;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,eAAe;AAC9D;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,0BAA0B;;AAE1B,4CAA4C;AAC5C;AACA,6BAA6B,SAAS;AACtC;AACA,iDAAiD;AACjD;AACA,6BAA6B,SAAS;AACtC;AACA,mCAAmC;AACnC;AACA;AACA,gEAAgE;AAChE;AACA;AACA,6BAA6B,SAAS;AACtC;AACA,2CAA2C;AAC3C,6BAA6B,gBAAgB;AAC7C;AACA;AACA,sGAAsG;AACtG;AACA,yBAAyB,iBAAiB,SAAS;AACnD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,+CAA+C,gEAAgE;AAC/G;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;;AAEA,6DAA6D;AAC7D;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yDAAyD;AACzD,yDAAyD;AACzD,qBAAqB;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,SAAS;;AAET;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,sEAAsE;AACtE;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yDAAyD;AACzD,yDAAyD;AACzD,qBAAqB;AACrB;;AAEA;AACA;AACA,8EAA8E;AAC9E;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;AACA;AACA,SAAS;;AAET;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB;AACrB;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iDAAiD;AACjD,iDAAiD;AACjD,aAAa;;AAEb;AACA;;AAEA;AACA,+BAA+B,wBAAwB,qCAAqC;AAC5F,+BAA+B,gBAAgB;AAC/C,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED,CAAC,sEAAe,EAAE,GAAC;;;;;;;UCnmBnB;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,GAAG;WACH;WACA;WACA,CAAC;;;;;WCPD;;;;;UEAA;UACA;UACA;UACA","sources":["webpack://FHIR/./src/Client.ts","webpack://FHIR/./src/HttpError.ts","webpack://FHIR/./src/adapters/BrowserAdapter.ts","webpack://FHIR/./src/entry/browser.ts","webpack://FHIR/./src/lib.ts","webpack://FHIR/./src/security/browser.ts","webpack://FHIR/./src/settings.ts","webpack://FHIR/./src/smart.ts","webpack://FHIR/./src/storage/BrowserStorage.ts","webpack://FHIR/./src/strings.ts","webpack://FHIR/./node_modules/debug/src/browser.js","webpack://FHIR/./node_modules/debug/src/common.js","webpack://FHIR/./node_modules/js-base64/base64.js","webpack://FHIR/./node_modules/ms/index.js","webpack://FHIR/./node_modules/isomorphic-webcrypto/src/browser.mjs","webpack://FHIR/./node_modules/isomorphic-webcrypto/src/webcrypto-shim.mjs","webpack://FHIR/webpack/bootstrap","webpack://FHIR/webpack/runtime/define property getters","webpack://FHIR/webpack/runtime/global","webpack://FHIR/webpack/runtime/hasOwnProperty shorthand","webpack://FHIR/webpack/before-startup","webpack://FHIR/webpack/startup","webpack://FHIR/webpack/after-startup"],"sourcesContent":["import {\n absolute,\n debug as _debug,\n getPath,\n setPath,\n jwtDecode,\n makeArray,\n request,\n byCode,\n byCodes,\n units,\n getPatientParam,\n fetchConformanceStatement,\n getAccessTokenExpiration,\n assertJsonPatch,\n assert\n} from \"./lib\";\n\nimport str from \"./strings\";\nimport { SMART_KEY, patientCompartment, fhirVersions } from \"./settings\";\nimport HttpError from \"./HttpError\";\nimport BrowserAdapter from \"./adapters/BrowserAdapter\";\nimport { fhirclient } from \"./types\";\n\n// $lab:coverage:off$\n// @ts-ignore\nconst { Response } = typeof FHIRCLIENT_PURE !== \"undefined\" ? window : require(\"cross-fetch\");\n// $lab:coverage:on$\n\nconst debug = _debug.extend(\"client\");\n\n/**\n * Adds patient context to requestOptions object to be used with [[Client.request]]\n * @param requestOptions Can be a string URL (relative to the serviceUrl), or an\n * object which will be passed to fetch()\n * @param client Current FHIR client object containing patient context\n * @return requestOptions object contextualized to current patient\n */\nasync function contextualize(\n requestOptions: string | URL | fhirclient.RequestOptions,\n client: Client\n): Promise\n{\n const base = absolute(\"/\", client.state.serverUrl);\n\n async function contextualURL(_url: URL) {\n const resourceType = _url.pathname.split(\"/\").pop();\n assert(resourceType, `Invalid url \"${_url}\"`);\n assert(patientCompartment.indexOf(resourceType) > -1, `Cannot filter \"${resourceType}\" resources by patient`);\n const conformance = await fetchConformanceStatement(client.state.serverUrl);\n const searchParam = getPatientParam(conformance, resourceType);\n _url.searchParams.set(searchParam, client.patient.id as string);\n return _url.href;\n }\n\n if (typeof requestOptions == \"string\" || requestOptions instanceof URL) {\n return { url: await contextualURL(new URL(requestOptions + \"\", base)) };\n }\n\n requestOptions.url = await contextualURL(new URL(requestOptions.url + \"\", base));\n return requestOptions;\n}\n\n/**\n * Gets single reference by id. Caches the result.\n * @param refId\n * @param cache A map to store the resolved refs\n * @param client The client instance\n * @param requestOptions Only signal and headers are currently used if provided\n * @returns The resolved reference\n * @private\n */\nfunction getRef(\n refId: string,\n cache: Record,\n client: Client,\n requestOptions: RequestInit\n): Promise {\n if (!cache[refId]) {\n\n const { signal, headers } = requestOptions;\n\n // Note that we set cache[refId] immediately! When the promise is\n // settled it will be updated. This is to avoid a ref being fetched\n // twice because some of these requests are executed in parallel.\n cache[refId] = client.request({\n url: refId,\n headers,\n signal\n }).then(res => {\n cache[refId] = res;\n return res;\n }, (error: Error) => {\n delete cache[refId];\n throw error;\n });\n }\n\n return Promise.resolve(cache[refId]);\n}\n\n/**\n * Resolves a reference in the given resource.\n * @param obj FHIR Resource\n */\nfunction resolveRef(\n obj: fhirclient.FHIR.Resource,\n path: string,\n graph: boolean,\n cache: fhirclient.JsonObject,\n client: Client,\n requestOptions: fhirclient.RequestOptions\n) {\n const node = getPath(obj, path);\n if (node) {\n const isArray = Array.isArray(node);\n return Promise.all(makeArray(node).filter(Boolean).map((item, i) => {\n const ref = item.reference;\n if (ref) {\n return getRef(ref, cache, client, requestOptions).then(sub => {\n if (graph) {\n if (isArray) {\n if (path.indexOf(\"..\") > -1) {\n setPath(obj, `${path.replace(\"..\", `.${i}.`)}`, sub); \n } else {\n setPath(obj, `${path}.${i}`, sub);\n }\n } else {\n setPath(obj, path, sub);\n }\n }\n }).catch((ex) => {\n /* ignore missing references */\n if (ex.status !== 404) {\n throw ex;\n }\n });\n }\n }));\n }\n}\n\n/**\n * Given a resource and a list of ref paths - resolves them all\n * @param obj FHIR Resource\n * @param fhirOptions The fhir options of the initiating request call\n * @param cache A map to store fetched refs\n * @param client The client instance\n * @private\n */\nfunction resolveRefs(\n obj: fhirclient.FHIR.Resource,\n fhirOptions: fhirclient.FhirOptions,\n cache: fhirclient.JsonObject,\n client: Client,\n requestOptions: fhirclient.RequestOptions\n) {\n\n // 1. Sanitize paths, remove any invalid ones\n let paths = makeArray(fhirOptions.resolveReferences)\n .filter(Boolean) // No false, 0, null, undefined or \"\"\n .map(path => String(path).trim())\n .filter(Boolean); // No space-only strings\n\n // 2. Remove duplicates\n paths = paths.filter((p, i) => {\n const index = paths.indexOf(p, i + 1);\n if (index > -1) {\n debug(\"Duplicated reference path \\\"%s\\\"\", p);\n return false;\n }\n return true;\n });\n\n // 3. Early exit if no valid paths are found\n if (!paths.length) {\n return Promise.resolve();\n }\n\n // 4. Group the paths by depth so that child refs are looked up\n // after their parents!\n const groups: Record = {};\n paths.forEach(path => {\n const len = path.split(\".\").length;\n if (!groups[len]) {\n groups[len] = [];\n }\n groups[len].push(path);\n });\n\n // 5. Execute groups sequentially! Paths within same group are\n // fetched in parallel!\n let task: Promise = Promise.resolve();\n Object.keys(groups).sort().forEach(len => {\n const group = groups[len];\n task = task.then(() => Promise.all(group.map((path: string) => {\n return resolveRef(obj, path, !!fhirOptions.graph, cache, client, requestOptions);\n })));\n });\n return task;\n}\n\n/**\n * This is a FHIR client that is returned to you from the `ready()` call of the\n * **SMART API**. You can also create it yourself if needed:\n *\n * ```js\n * // BROWSER\n * const client = FHIR.client(\"https://r4.smarthealthit.org\");\n *\n * // SERVER\n * const client = smart(req, res).client(\"https://r4.smarthealthit.org\");\n * ```\n */\nexport default class Client\n{\n /**\n * The state of the client instance is an object with various properties.\n * It contains some details about how the client has been authorized and\n * determines the behavior of the client instance. This state is persisted\n * in `SessionStorage` in browsers or in request session on the servers.\n */\n readonly state: fhirclient.ClientState;\n\n /**\n * The adapter to use to connect to the current environment. Currently we have:\n * - BrowserAdapter - for browsers\n * - NodeAdapter - for Express or vanilla NodeJS servers\n * - HapiAdapter - for HAPI NodeJS servers\n */\n readonly environment: fhirclient.Adapter;\n\n /**\n * A SMART app is typically associated with a patient. This is a namespace\n * for the patient-related functionality of the client.\n */\n readonly patient: {\n\n /**\n * The ID of the current patient or `null` if there is no current patient\n */\n id: string | null\n\n /**\n * A method to fetch the current patient resource from the FHIR server.\n * If there is no patient context, it will reject with an error.\n * @param {fhirclient.FetchOptions} [requestOptions] Any options to pass to the `fetch` call.\n * @category Request\n */\n read: fhirclient.RequestFunction\n \n /**\n * This is similar to [[request]] but it makes requests in the\n * context of the current patient. For example, instead of doing\n * ```js\n * client.request(\"Observation?patient=\" + client.patient.id)\n * ```\n * you can do\n * ```js\n * client.patient.request(\"Observation\")\n * ```\n * The return type depends on the arguments. Typically it will be the\n * response payload JSON object. Can also be a string or the `Response`\n * object itself if we have received a non-json result, which allows us\n * to handle even binary responses. Can also be a [[CombinedFetchResult]]\n * object if the `requestOptions.includeResponse`s has been set to true.\n * @category Request\n */\n request: (\n requestOptions: string|URL|fhirclient.RequestOptions,\n fhirOptions?: fhirclient.FhirOptions\n ) => Promise\n\n /**\n * This is the FhirJS Patient API. It will ONLY exist if the `Client`\n * instance is \"connected\" to FhirJS.\n */\n api?: Record\n };\n\n /**\n * The client may be associated with a specific encounter, if the scopes\n * permit that and if the back-end server supports that. This is a namespace\n * for encounter-related functionality.\n */\n readonly encounter: {\n\n /**\n * The ID of the current encounter or `null` if there is no current\n * encounter\n */\n id: string | null\n\n /**\n * A method to fetch the current encounter resource from the FHIR server.\n * If there is no encounter context, it will reject with an error.\n * @param [requestOptions] Any options to pass to the `fetch` call.\n * @category Request\n */\n read: fhirclient.RequestFunction\n };\n\n /**\n * The client may be associated with a specific user, if the scopes\n * permit that. This is a namespace for user-related functionality.\n */\n readonly user: {\n\n /**\n * The ID of the current user or `null` if there is no current user\n */\n id: string | null\n\n /**\n * A method to fetch the current user resource from the FHIR server.\n * If there is no user context, it will reject with an error.\n * @param [requestOptions] Any options to pass to the `fetch` call.\n * @category Request\n */\n read: fhirclient.RequestFunction<\n fhirclient.FHIR.Patient |\n fhirclient.FHIR.Practitioner |\n fhirclient.FHIR.RelatedPerson\n >\n\n /**\n * Returns the profile of the logged_in user (if any), or null if the\n * user is not available. This is a string having the shape\n * `{user type}/{user id}`. For example `Practitioner/abc` or\n * `Patient/xyz`.\n * @alias client.getFhirUser()\n */\n fhirUser: string | null\n\n /**\n * Returns the type of the logged-in user or null. The result can be\n * `Practitioner`, `Patient` or `RelatedPerson`.\n * @alias client.getUserType()\n */\n resourceType: string | null\n };\n\n /**\n * The [FhirJS](https://github.com/FHIR/fhir.js/blob/master/README.md) API.\n * **NOTE:** This will only be available if `fhir.js` is used. Otherwise it\n * will be `undefined`.\n */\n api: Record | undefined;\n\n /**\n * Refers to the refresh task while it is being performed.\n * @see [[refresh]]\n */\n private _refreshTask: Promise | null;\n\n /**\n * Validates the parameters, creates an instance and tries to connect it to\n * FhirJS, if one is available globally.\n */\n constructor(environment: fhirclient.Adapter, state: fhirclient.ClientState | string)\n {\n const _state = typeof state == \"string\" ? { serverUrl: state } : state;\n\n // Valid serverUrl is required!\n assert(\n _state.serverUrl && _state.serverUrl.match(/https?:\\/\\/.+/),\n \"A \\\"serverUrl\\\" option is required and must begin with \\\"http(s)\\\"\"\n );\n\n this.state = _state;\n this.environment = environment;\n this._refreshTask = null;\n\n const client = this;\n\n // patient api ---------------------------------------------------------\n this.patient = {\n get id() { return client.getPatientId(); },\n read: (requestOptions) => {\n const id = this.patient.id;\n return id ?\n this.request({ ...requestOptions, url: `Patient/${id}` }) :\n Promise.reject(new Error(\"Patient is not available\"));\n },\n request: (requestOptions, fhirOptions = {}) => {\n if (this.patient.id) {\n return (async () => {\n const options = await contextualize(requestOptions, this);\n return this.request(options, fhirOptions);\n })();\n } else {\n return Promise.reject(new Error(\"Patient is not available\"));\n }\n }\n };\n\n // encounter api -------------------------------------------------------\n this.encounter = {\n get id() { return client.getEncounterId(); },\n read: requestOptions => {\n const id = this.encounter.id;\n return id ?\n this.request({ ...requestOptions, url: `Encounter/${id}` }) :\n Promise.reject(new Error(\"Encounter is not available\"));\n }\n };\n\n // user api ------------------------------------------------------------\n this.user = {\n get fhirUser() { return client.getFhirUser(); },\n get id() { return client.getUserId(); },\n get resourceType() { return client.getUserType(); },\n read: requestOptions => {\n const fhirUser = this.user.fhirUser;\n return fhirUser ?\n this.request({ ...requestOptions, url: fhirUser }) :\n Promise.reject(new Error(\"User is not available\"));\n }\n };\n\n // fhir.js api (attached automatically in browser)\n // ---------------------------------------------------------------------\n this.connect((environment as BrowserAdapter).fhir);\n }\n\n /**\n * This method is used to make the \"link\" between the `fhirclient` and the\n * `fhir.js`, if one is available.\n * **Note:** This is called by the constructor. If fhir.js is available in\n * the global scope as `fhir`, it will automatically be linked to any [[Client]]\n * instance. You should only use this method to connect to `fhir.js` which\n * is not global.\n */\n connect(fhirJs?: (options: Record) => Record): Client\n {\n if (typeof fhirJs == \"function\") {\n const options: Record = {\n baseUrl: this.state.serverUrl.replace(/\\/$/, \"\")\n };\n\n const accessToken = this.getState(\"tokenResponse.access_token\");\n if (accessToken) {\n options.auth = { token: accessToken };\n }\n else {\n const { username, password } = this.state;\n if (username && password) {\n options.auth = {\n user: username,\n pass: password\n };\n }\n }\n this.api = fhirJs(options);\n\n const patientId = this.getState(\"tokenResponse.patient\");\n if (patientId) {\n this.patient.api = fhirJs({\n ...options,\n patient: patientId\n });\n }\n }\n return this;\n }\n\n /**\n * Returns the ID of the selected patient or null. You should have requested\n * \"launch/patient\" scope. Otherwise this will return null.\n */\n getPatientId(): string | null\n {\n const tokenResponse = this.state.tokenResponse;\n if (tokenResponse) {\n // We have been authorized against this server but we don't know\n // the patient. This should be a scope issue.\n if (!tokenResponse.patient) {\n if (!(this.state.scope || \"\").match(/\\blaunch(\\/patient)?\\b/)) {\n debug(str.noScopeForId, \"patient\", \"patient\");\n }\n else {\n // The server should have returned the patient!\n debug(\"The ID of the selected patient is not available. Please check if your server supports that.\");\n }\n return null;\n }\n return tokenResponse.patient;\n }\n\n if (this.state.authorizeUri) {\n debug(str.noIfNoAuth, \"the ID of the selected patient\");\n }\n else {\n debug(str.noFreeContext, \"selected patient\");\n }\n return null;\n }\n\n /**\n * Returns the ID of the selected encounter or null. You should have\n * requested \"launch/encounter\" scope. Otherwise this will return null.\n * Note that not all servers support the \"launch/encounter\" scope so this\n * will be null if they don't.\n */\n getEncounterId(): string | null\n {\n const tokenResponse = this.state.tokenResponse;\n if (tokenResponse) {\n // We have been authorized against this server but we don't know\n // the encounter. This should be a scope issue.\n if (!tokenResponse.encounter) {\n if (!(this.state.scope || \"\").match(/\\blaunch(\\/encounter)?\\b/)) {\n debug(str.noScopeForId, \"encounter\", \"encounter\");\n }\n else {\n // The server should have returned the encounter!\n debug(\"The ID of the selected encounter is not available. Please check if your server supports that, and that the selected patient has any recorded encounters.\");\n }\n return null;\n }\n return tokenResponse.encounter;\n }\n\n if (this.state.authorizeUri) {\n debug(str.noIfNoAuth, \"the ID of the selected encounter\");\n }\n else {\n debug(str.noFreeContext, \"selected encounter\");\n }\n return null;\n }\n\n /**\n * Returns the (decoded) id_token if any. You need to request \"openid\" and\n * \"profile\" scopes if you need to receive an id_token (if you need to know\n * who the logged-in user is).\n */\n getIdToken(): fhirclient.IDToken | null\n {\n const tokenResponse = this.state.tokenResponse;\n if (tokenResponse) {\n const idToken = tokenResponse.id_token;\n const scope = this.state.scope || \"\";\n\n // We have been authorized against this server but we don't have\n // the id_token. This should be a scope issue.\n if (!idToken) {\n const hasOpenid = scope.match(/\\bopenid\\b/);\n const hasProfile = scope.match(/\\bprofile\\b/);\n const hasFhirUser = scope.match(/\\bfhirUser\\b/);\n if (!hasOpenid || !(hasFhirUser || hasProfile)) {\n debug(\n \"You are trying to get the id_token but you are not \" +\n \"using the right scopes. Please add 'openid' and \" +\n \"'fhirUser' or 'profile' to the scopes you are \" +\n \"requesting.\"\n );\n }\n else {\n // The server should have returned the id_token!\n debug(\"The id_token is not available. Please check if your server supports that.\");\n }\n return null;\n }\n return jwtDecode(idToken, this.environment) as fhirclient.IDToken;\n }\n if (this.state.authorizeUri) {\n debug(str.noIfNoAuth, \"the id_token\");\n }\n else {\n debug(str.noFreeContext, \"id_token\");\n }\n return null;\n }\n\n /**\n * Returns the profile of the logged_in user (if any). This is a string\n * having the following shape `\"{user type}/{user id}\"`. For example:\n * `\"Practitioner/abc\"` or `\"Patient/xyz\"`.\n */\n getFhirUser(): string | null\n {\n const idToken = this.getIdToken();\n if (idToken) {\n // Epic may return a full url\n // @see https://github.com/smart-on-fhir/client-js/issues/105\n if (idToken.fhirUser) {\n return idToken.fhirUser.split(\"/\").slice(-2).join(\"/\");\n }\n return idToken.profile\n }\n return null;\n }\n\n /**\n * Returns the user ID or null.\n */\n getUserId(): string | null\n {\n const profile = this.getFhirUser();\n if (profile) {\n return profile.split(\"/\")[1];\n }\n return null;\n }\n\n /**\n * Returns the type of the logged-in user or null. The result can be\n * \"Practitioner\", \"Patient\" or \"RelatedPerson\".\n */\n getUserType(): string | null\n {\n const profile = this.getFhirUser();\n if (profile) {\n return profile.split(\"/\")[0];\n }\n return null;\n }\n\n /**\n * Builds and returns the value of the `Authorization` header that can be\n * sent to the FHIR server\n */\n getAuthorizationHeader(): string | null\n {\n const accessToken = this.getState(\"tokenResponse.access_token\");\n if (accessToken) {\n return \"Bearer \" + accessToken;\n }\n const { username, password } = this.state;\n if (username && password) {\n return \"Basic \" + this.environment.btoa(username + \":\" + password);\n }\n return null;\n }\n\n /**\n * Used internally to clear the state of the instance and the state in the\n * associated storage.\n */\n private async _clearState() {\n const storage = this.environment.getStorage();\n const key = await storage.get(SMART_KEY);\n if (key) {\n await storage.unset(key);\n }\n await storage.unset(SMART_KEY);\n this.state.tokenResponse = {};\n }\n\n /**\n * Creates a new resource in a server-assigned location\n * @see http://hl7.org/fhir/http.html#create\n * @param resource A FHIR resource to be created\n * @param [requestOptions] Any options to be passed to the fetch call.\n * Note that `method` and `body` will be ignored.\n * @category Request\n */\n create(\n resource: fhirclient.FHIR.Resource,\n requestOptions?: O\n ): Promise : R>\n {\n return this.request({\n ...requestOptions,\n url: `${resource.resourceType}`,\n method: \"POST\",\n body: JSON.stringify(resource),\n headers: {\n // TODO: Do we need to alternate with \"application/json+fhir\"?\n \"content-type\": \"application/json\",\n ...(requestOptions || {}).headers\n }\n });\n }\n\n /**\n * Creates a new current version for an existing resource or creates an\n * initial version if no resource already exists for the given id.\n * @see http://hl7.org/fhir/http.html#update\n * @param resource A FHIR resource to be updated\n * @param requestOptions Any options to be passed to the fetch call.\n * Note that `method` and `body` will be ignored.\n * @category Request\n */\n update(\n resource: fhirclient.FHIR.Resource,\n requestOptions?: O\n ): Promise : R>\n {\n return this.request({\n ...requestOptions,\n url: `${resource.resourceType}/${resource.id}`,\n method: \"PUT\",\n body: JSON.stringify(resource),\n headers: {\n // TODO: Do we need to alternate with \"application/json+fhir\"?\n \"content-type\": \"application/json\",\n ...(requestOptions || {}).headers\n }\n });\n }\n\n /**\n * Removes an existing resource.\n * @see http://hl7.org/fhir/http.html#delete\n * @param url Relative URI of the FHIR resource to be deleted\n * (format: `resourceType/id`)\n * @param requestOptions Any options (except `method` which will be fixed\n * to `DELETE`) to be passed to the fetch call.\n * @category Request\n */\n delete(url: string, requestOptions: fhirclient.FetchOptions = {}): Promise\n {\n return this.request({\n ...requestOptions,\n url,\n method: \"DELETE\"\n });\n }\n\n /**\n * Makes a JSON Patch to the given resource\n * @see http://hl7.org/fhir/http.html#patch\n * @param url Relative URI of the FHIR resource to be patched\n * (format: `resourceType/id`)\n * @param patch A JSON Patch array to send to the server, For details\n * see https://datatracker.ietf.org/doc/html/rfc6902\n * @param requestOptions Any options to be passed to the fetch call,\n * except for `method`, `url` and `body` which cannot be overridden.\n * @since 2.4.0\n * @category Request\n * @typeParam ResolveType This method would typically resolve with the\n * patched resource or reject with an OperationOutcome. However, this may\n * depend on the server implementation or even on the request headers.\n * For that reason, if the default resolve type (which is\n * [[fhirclient.FHIR.Resource]]) does not work for you, you can pass\n * in your own resolve type parameter.\n */\n async patch(url: string, patch: fhirclient.JsonPatch, requestOptions: fhirclient.FetchOptions = {}): Promise\n {\n assertJsonPatch(patch);\n return this.request({\n ...requestOptions,\n url,\n method: \"PATCH\",\n body: JSON.stringify(patch),\n headers: {\n \"prefer\": \"return=presentation\",\n \"content-type\": \"application/json-patch+json; charset=UTF-8\",\n ...requestOptions.headers,\n }\n });\n }\n\n /**\n * @param requestOptions Can be a string URL (relative to the serviceUrl),\n * or an object which will be passed to fetch()\n * @param fhirOptions Additional options to control the behavior\n * @param _resolvedRefs DO NOT USE! Used internally.\n * @category Request\n */\n async request(\n requestOptions: string|URL|fhirclient.RequestOptions,\n fhirOptions: fhirclient.FhirOptions = {},\n _resolvedRefs: fhirclient.JsonObject = {}\n ): Promise\n {\n const debugRequest = _debug.extend(\"client:request\");\n assert(requestOptions, \"request requires an url or request options as argument\");\n\n // url -----------------------------------------------------------------\n let url: string;\n if (typeof requestOptions == \"string\" || requestOptions instanceof URL) {\n url = String(requestOptions);\n requestOptions = {} as fhirclient.RequestOptions;\n }\n else {\n url = String(requestOptions.url);\n }\n\n url = absolute(url, this.state.serverUrl);\n\n const options = {\n graph: fhirOptions.graph !== false,\n flat : !!fhirOptions.flat,\n pageLimit: fhirOptions.pageLimit ?? 1,\n resolveReferences: (fhirOptions.resolveReferences || []) as string[],\n useRefreshToken: fhirOptions.useRefreshToken !== false,\n onPage: typeof fhirOptions.onPage == \"function\" ?\n fhirOptions.onPage as (\n data: fhirclient.JsonObject | fhirclient.JsonObject[],\n references?: fhirclient.JsonObject | undefined) => any :\n undefined\n };\n\n const signal = (requestOptions as RequestInit).signal || undefined;\n\n // Refresh the access token if needed\n const job = options.useRefreshToken ?\n this.refreshIfNeeded({ signal }).then(() => requestOptions as fhirclient.RequestOptions) :\n Promise.resolve(requestOptions as fhirclient.RequestOptions);\n\n let response: Response | undefined;\n\n return job\n\n // Add the Authorization header now, after the access token might\n // have been updated\n .then(requestOptions => {\n const authHeader = this.getAuthorizationHeader();\n if (authHeader) {\n requestOptions.headers = {\n ...requestOptions.headers,\n authorization: authHeader\n };\n }\n return requestOptions;\n })\n \n // Make the request\n .then(requestOptions => {\n debugRequest(\n \"%s, options: %O, fhirOptions: %O\",\n url,\n requestOptions,\n options\n );\n return request(url, requestOptions).then(result => {\n if (requestOptions.includeResponse) {\n response = (result as fhirclient.CombinedFetchResult).response;\n return (result as fhirclient.CombinedFetchResult).body;\n }\n return result;\n });\n })\n\n // Handle 401 ------------------------------------------------------\n .catch(async (error: HttpError) => {\n if (error.status == 401) {\n\n // !accessToken -> not authorized -> No session. Need to launch.\n if (!this.getState(\"tokenResponse.access_token\")) {\n error.message += \"\\nThis app cannot be accessed directly. Please launch it as SMART app!\";\n throw error;\n }\n\n // auto-refresh not enabled and Session expired.\n // Need to re-launch. Clear state to start over!\n if (!options.useRefreshToken) {\n debugRequest(\"Your session has expired and the useRefreshToken option is set to false. Please re-launch the app.\");\n await this._clearState();\n error.message += \"\\n\" + str.expired;\n throw error;\n }\n\n // In rare cases we may have a valid access token and a refresh\n // token and the request might still fail with 401 just because\n // the access token has just been revoked.\n\n // otherwise -> auto-refresh failed. Session expired.\n // Need to re-launch. Clear state to start over!\n debugRequest(\"Auto-refresh failed! Please re-launch the app.\");\n await this._clearState();\n error.message += \"\\n\" + str.expired;\n throw error;\n }\n throw error;\n })\n\n // Handle 403 ------------------------------------------------------\n .catch((error: HttpError) => {\n if (error.status == 403) {\n debugRequest(\"Permission denied! Please make sure that you have requested the proper scopes.\");\n }\n throw error;\n })\n\n .then((data: any) => {\n\n // At this point we don't know what `data` actually is!\n\n // We might get an empty or falsy result. If so return it as is\n // Also handle raw responses\n if (!data || typeof data == \"string\" || data instanceof Response) {\n if ((requestOptions as fhirclient.FetchOptions).includeResponse) {\n return {\n body: data,\n response\n }\n }\n return data;\n }\n \n // Resolve References ------------------------------------------\n return (async (_data: fhirclient.FHIR.Resource) => {\n\n if (_data.resourceType == \"Bundle\") {\n await Promise.all(((_data as fhirclient.FHIR.Bundle).entry || []).map(item => resolveRefs(\n item.resource,\n options,\n _resolvedRefs,\n this,\n requestOptions as fhirclient.RequestOptions\n )));\n }\n else {\n await resolveRefs(\n _data,\n options,\n _resolvedRefs,\n this,\n requestOptions as fhirclient.RequestOptions\n );\n }\n\n return _data;\n })(data)\n\n // Pagination ----------------------------------------------\n .then(async _data => {\n if (_data && _data.resourceType == \"Bundle\") {\n const links = (_data.link || []) as fhirclient.FHIR.BundleLink[];\n\n if (options.flat) {\n _data = (_data.entry || []).map(\n (entry: fhirclient.FHIR.BundleEntry) => entry.resource\n );\n }\n\n if (options.onPage) {\n await options.onPage(_data, { ..._resolvedRefs });\n }\n\n if (--options.pageLimit) {\n const next = links.find(l => l.relation == \"next\");\n _data = makeArray(_data);\n if (next && next.url) {\n const nextPage = await this.request(\n {\n url: next.url,\n\n // Aborting the main request (even after it is complete)\n // must propagate to any child requests and abort them!\n // To do so, just pass the same AbortSignal if one is\n // provided.\n signal\n },\n options,\n _resolvedRefs\n );\n\n if (options.onPage) {\n return null;\n }\n\n if (options.resolveReferences.length) {\n Object.assign(_resolvedRefs, nextPage.references);\n return _data.concat(makeArray(nextPage.data || nextPage));\n }\n return _data.concat(makeArray(nextPage));\n }\n }\n }\n return _data;\n })\n\n // Finalize ------------------------------------------------\n .then(_data => {\n if (options.graph) {\n _resolvedRefs = {};\n }\n else if (!options.onPage && options.resolveReferences.length) {\n return {\n data: _data,\n references: _resolvedRefs\n };\n }\n return _data;\n })\n .then(_data => {\n if ((requestOptions as fhirclient.FetchOptions).includeResponse) {\n return {\n body: _data,\n response\n }\n }\n return _data;\n });\n });\n }\n\n /**\n * Checks if access token and refresh token are present. If they are, and if\n * the access token is expired or is about to expire in the next 10 seconds,\n * calls `this.refresh()` to obtain new access token.\n * @param requestOptions Any options to pass to the fetch call. Most of them\n * will be overridden, bit it might still be useful for passing additional\n * request options or an abort signal.\n * @category Request\n */\n refreshIfNeeded(requestOptions: RequestInit = {}): Promise\n {\n const accessToken = this.getState(\"tokenResponse.access_token\");\n const refreshToken = this.getState(\"tokenResponse.refresh_token\");\n const expiresAt = this.state.expiresAt || 0;\n\n if (accessToken && refreshToken && expiresAt - 10 < Date.now() / 1000) {\n return this.refresh(requestOptions);\n }\n\n return Promise.resolve(this.state);\n }\n\n /**\n * Use the refresh token to obtain new access token. If the refresh token is\n * expired (or this fails for any other reason) it will be deleted from the\n * state, so that we don't enter into loops trying to re-authorize.\n *\n * This method is typically called internally from [[request]] if\n * certain request fails with 401.\n *\n * @param requestOptions Any options to pass to the fetch call. Most of them\n * will be overridden, bit it might still be useful for passing additional\n * request options or an abort signal.\n * @category Request\n */\n refresh(requestOptions: RequestInit = {}): Promise\n {\n const debugRefresh = _debug.extend(\"client:refresh\");\n debugRefresh(\"Attempting to refresh with refresh_token...\");\n\n const refreshToken = this.state?.tokenResponse?.refresh_token;\n assert(refreshToken, \"Unable to refresh. No refresh_token found.\");\n\n const tokenUri = this.state.tokenUri;\n assert(tokenUri, \"Unable to refresh. No tokenUri found.\");\n\n const scopes = this.getState(\"tokenResponse.scope\") || \"\";\n const hasOfflineAccess = scopes.search(/\\boffline_access\\b/) > -1;\n const hasOnlineAccess = scopes.search(/\\bonline_access\\b/) > -1;\n assert(hasOfflineAccess || hasOnlineAccess, \"Unable to refresh. No offline_access or online_access scope found.\");\n\n // This method is typically called internally from `request` if certain\n // request fails with 401. However, clients will often run multiple\n // requests in parallel which may result in multiple refresh calls.\n // To avoid that, we keep a reference to the current refresh task (if any).\n if (!this._refreshTask) {\n let body = `grant_type=refresh_token&refresh_token=${encodeURIComponent(refreshToken)}`;\n if (this.environment.options.refreshTokenWithClientId) {\n body += `&client_id=${this.state.clientId}`;\n }\n const refreshRequestOptions = {\n credentials: this.environment.options.refreshTokenWithCredentials || \"same-origin\",\n ...requestOptions,\n method : \"POST\",\n mode : \"cors\" as RequestMode,\n headers: {\n ...(requestOptions.headers || {}),\n \"content-type\": \"application/x-www-form-urlencoded\"\n },\n body: body\n };\n\n // custom authorization header can be passed on manual calls\n if (!(\"authorization\" in refreshRequestOptions.headers)) {\n const { clientSecret, clientId } = this.state;\n if (clientSecret) {\n // @ts-ignore\n refreshRequestOptions.headers.authorization = \"Basic \" + this.environment.btoa(\n clientId + \":\" + clientSecret\n );\n }\n }\n\n this._refreshTask = request(tokenUri, refreshRequestOptions)\n .then(data => {\n assert(data.access_token, \"No access token received\");\n debugRefresh(\"Received new access token response %O\", data);\n this.state.tokenResponse = { ...this.state.tokenResponse, ...data };\n this.state.expiresAt = getAccessTokenExpiration(data, this.environment);\n return this.state;\n })\n .catch((error: Error) => {\n if (this.state?.tokenResponse?.refresh_token) {\n debugRefresh(\"Deleting the expired or invalid refresh token.\");\n delete this.state.tokenResponse.refresh_token;\n }\n throw error;\n })\n .finally(() => {\n this._refreshTask = null;\n const key = this.state.key;\n if (key) {\n this.environment.getStorage().set(key, this.state);\n } else {\n debugRefresh(\"No 'key' found in Clint.state. Cannot persist the instance.\");\n }\n });\n }\n\n return this._refreshTask;\n }\n\n // utils -------------------------------------------------------------------\n\n /**\n * Groups the observations by code. Returns a map that will look like:\n * ```js\n * const map = client.byCodes(observations, \"code\");\n * // map = {\n * // \"55284-4\": [ observation1, observation2 ],\n * // \"6082-2\": [ observation3 ]\n * // }\n * ```\n * @param observations Array of observations\n * @param property The name of a CodeableConcept property to group by\n * @todo This should be deprecated and moved elsewhere. One should not have\n * to obtain an instance of [[Client]] just to use utility functions like this.\n * @deprecated\n * @category Utility\n */\n byCode(\n observations: fhirclient.FHIR.Observation | fhirclient.FHIR.Observation[],\n property: string\n ): fhirclient.ObservationMap\n {\n return byCode(observations, property);\n }\n\n /**\n * First groups the observations by code using `byCode`. Then returns a function\n * that accepts codes as arguments and will return a flat array of observations\n * having that codes. Example:\n * ```js\n * const filter = client.byCodes(observations, \"category\");\n * filter(\"laboratory\") // => [ observation1, observation2 ]\n * filter(\"vital-signs\") // => [ observation3 ]\n * filter(\"laboratory\", \"vital-signs\") // => [ observation1, observation2, observation3 ]\n * ```\n * @param observations Array of observations\n * @param property The name of a CodeableConcept property to group by\n * @todo This should be deprecated and moved elsewhere. One should not have\n * to obtain an instance of [[Client]] just to use utility functions like this.\n * @deprecated\n * @category Utility\n */\n byCodes(\n observations: fhirclient.FHIR.Observation | fhirclient.FHIR.Observation[],\n property: string\n ): (...codes: string[]) => any[]\n {\n return byCodes(observations, property);\n }\n\n /**\n * @category Utility\n */\n units = units;\n\n /**\n * Walks through an object (or array) and returns the value found at the\n * provided path. This function is very simple so it intentionally does not\n * support any argument polymorphism, meaning that the path can only be a\n * dot-separated string. If the path is invalid returns undefined.\n * @param obj The object (or Array) to walk through\n * @param path The path (eg. \"a.b.4.c\")\n * @returns {*} Whatever is found in the path or undefined\n * @todo This should be deprecated and moved elsewhere. One should not have\n * to obtain an instance of [[Client]] just to use utility functions like this.\n * @deprecated\n * @category Utility\n */\n getPath(obj: Record, path = \"\"): any {\n return getPath(obj, path);\n }\n\n /**\n * Returns a copy of the client state. Accepts a dot-separated path argument\n * (same as for `getPath`) to allow for selecting specific properties.\n * Examples:\n * ```js\n * client.getState(); // -> the entire state object\n * client.getState(\"serverUrl\"); // -> the URL we are connected to\n * client.getState(\"tokenResponse.patient\"); // -> The selected patient ID (if any)\n * ```\n * @param path The path (eg. \"a.b.4.c\")\n * @returns {*} Whatever is found in the path or undefined\n */\n getState(path = \"\") {\n return getPath({ ...this.state }, path);\n }\n\n /**\n * Returns a promise that will be resolved with the fhir version as defined\n * in the CapabilityStatement.\n */\n getFhirVersion(): Promise {\n return fetchConformanceStatement(this.state.serverUrl)\n .then((metadata) => metadata.fhirVersion);\n }\n\n /**\n * Returns a promise that will be resolved with the numeric fhir version\n * - 2 for DSTU2\n * - 3 for STU3\n * - 4 for R4\n * - 0 if the version is not known\n */\n getFhirRelease(): Promise {\n return this.getFhirVersion().then(v => (fhirVersions as any)[v] ?? 0);\n }\n}\n","import { fhirclient } from \"./types\";\n\n\nexport default class HttpError extends Error\n{\n /**\n * The HTTP status code for this error\n */\n statusCode: number;\n\n /**\n * The HTTP status code for this error.\n * Note that this is the same as `status`, i.e. the code is available\n * through any of these.\n */\n status: number;\n\n /**\n * The HTTP status text corresponding to this error\n */\n statusText: string;\n\n /**\n * Reference to the HTTP Response object\n */\n response: Response;\n\n constructor(response: Response) {\n super(`${response.status} ${response.statusText}\\nURL: ${response.url}`);\n this.name = \"HttpError\";\n this.response = response;\n this.statusCode = response.status;\n this.status = response.status;\n this.statusText = response.statusText;\n }\n\n async parse()\n {\n if (!this.response.bodyUsed) {\n try {\n const type = this.response.headers.get(\"content-type\") || \"text/plain\";\n if (type.match(/\\bjson\\b/i)) {\n let body = await this.response.json();\n if (body.error) {\n this.message += \"\\n\" + body.error;\n if (body.error_description) {\n this.message += \": \" + body.error_description;\n }\n }\n else {\n this.message += \"\\n\\n\" + JSON.stringify(body, null, 4);\n }\n }\n else if (type.match(/^text\\//i)) {\n let body = await this.response.text();\n if (body) {\n this.message += \"\\n\\n\" + body;\n }\n }\n } catch {\n // ignore\n }\n }\n\n return this;\n }\n\n toJSON() {\n return {\n name : this.name,\n statusCode: this.statusCode,\n status : this.status,\n statusText: this.statusText,\n message : this.message\n };\n }\n}\n","import { ready, authorize, init } from \"../smart\";\nimport Client from \"../Client\";\nimport BrowserStorage from \"../storage/BrowserStorage\";\nimport { fhirclient } from \"../types\";\nimport * as security from \"../security/browser\"\nimport { encodeURL, decode, fromUint8Array } from \"js-base64\"\n\n/**\n * Browser Adapter\n */\nexport default class BrowserAdapter implements fhirclient.Adapter\n{\n /**\n * Stores the URL instance associated with this adapter\n */\n private _url: URL | null = null;\n\n /**\n * Holds the Storage instance associated with this instance\n */\n private _storage: fhirclient.Storage | null = null;\n\n /**\n * Environment-specific options\n */\n options: fhirclient.BrowserFHIRSettings;\n\n security = security;\n\n /**\n * @param options Environment-specific options\n */\n constructor(options: fhirclient.BrowserFHIRSettings = {})\n {\n this.options = {\n // Replaces the browser's current URL\n // using window.history.replaceState API or by reloading.\n replaceBrowserHistory: true,\n\n // When set to true, this variable will fully utilize\n // HTML5 sessionStorage API.\n // This variable can be overridden to false by setting\n // FHIR.oauth2.settings.fullSessionStorageSupport = false.\n // When set to false, the sessionStorage will be keyed\n // by a state variable. This is to allow the embedded IE browser\n // instances instantiated on a single thread to continue to\n // function without having sessionStorage data shared\n // across the embedded IE instances.\n fullSessionStorageSupport: true,\n\n // Do we want to send cookies while making a request to the token\n // endpoint in order to obtain new access token using existing\n // refresh token. In rare cases the auth server might require the\n // client to send cookies along with those requests. In this case\n // developers will have to change this before initializing the app\n // like so:\n // `FHIR.oauth2.settings.refreshTokenWithCredentials = \"include\";`\n // or\n // `FHIR.oauth2.settings.refreshTokenWithCredentials = \"same-origin\";`\n // Can be one of:\n // \"include\" - always send cookies\n // \"same-origin\" - only send cookies if we are on the same domain (default)\n // \"omit\" - do not send cookies\n refreshTokenWithCredentials: \"same-origin\",\n\n ...options\n };\n }\n\n /**\n * Given a relative path, returns an absolute url using the instance base URL\n */\n relative(path: string): string\n {\n return new URL(path, this.getUrl().href).href;\n }\n\n /**\n * In browsers we need to be able to (dynamically) check if fhir.js is\n * included in the page. If it is, it should have created a \"fhir\" variable\n * in the global scope.\n */\n get fhir()\n {\n // @ts-ignore\n return typeof fhir === \"function\" ? fhir : null;\n }\n\n /**\n * Given the current environment, this method must return the current url\n * as URL instance\n */\n getUrl(): URL\n {\n if (!this._url) {\n this._url = new URL(location + \"\");\n }\n return this._url;\n }\n\n /**\n * Given the current environment, this method must redirect to the given\n * path\n */\n redirect(to: string): void\n {\n location.href = to;\n }\n\n /**\n * Returns a BrowserStorage object which is just a wrapper around\n * sessionStorage\n */\n getStorage(): BrowserStorage\n {\n if (!this._storage) {\n this._storage = new BrowserStorage();\n }\n return this._storage;\n }\n\n /**\n * Returns a reference to the AbortController constructor. In browsers,\n * AbortController will always be available as global (native or polyfilled)\n */\n getAbortController()\n {\n return AbortController;\n }\n\n /**\n * ASCII string to Base64\n */\n atob(str: string): string\n {\n return window.atob(str);\n }\n\n /**\n * Base64 to ASCII string\n */\n btoa(str: string): string\n {\n return window.btoa(str);\n }\n\n base64urlencode(input: string | Uint8Array)\n {\n if (typeof input == \"string\") {\n return encodeURL(input)\n }\n return fromUint8Array(input, true)\n }\n\n base64urldecode(input: string)\n {\n return decode(input)\n }\n\n /**\n * Creates and returns adapter-aware SMART api. Not that while the shape of\n * the returned object is well known, the arguments to this function are not.\n * Those who override this method are free to require any environment-specific\n * arguments. For example in node we will need a request, a response and\n * optionally a storage or storage factory function.\n */\n getSmartApi(): fhirclient.SMART\n {\n return {\n ready : (...args: any[]) => ready(this, ...args),\n authorize: options => authorize(this, options),\n init : options => init(this, options),\n client : (state: string | fhirclient.ClientState) => new Client(this, state),\n options : this.options,\n utils: {\n security\n }\n };\n }\n}\n","\n// Note: the following 2 imports appear as unused but they affect how tsc is\n// generating type definitions!\nimport { fhirclient } from \"../types\";\nimport Client from \"../Client\";\n\n// In Browsers we create an adapter, get the SMART api from it and build the\n// global FHIR object\nimport BrowserAdapter from \"../adapters/BrowserAdapter\";\n\nconst adapter = new BrowserAdapter();\nconst { ready, authorize, init, client, options, utils } = adapter.getSmartApi();\n\n// We have two kinds of browser builds - \"pure\" for new browsers and \"legacy\"\n// for old ones. In pure builds we assume that the browser supports everything\n// we need. In legacy mode, the library also acts as a polyfill. Babel will\n// automatically polyfill everything except \"fetch\", which we have to handle\n// manually.\n// @ts-ignore\nif (typeof FHIRCLIENT_PURE == \"undefined\") {\n const fetch = require(\"cross-fetch\");\n require(\"abortcontroller-polyfill/dist/abortcontroller-polyfill-only\");\n if (!window.fetch) {\n window.fetch = fetch.default;\n window.Headers = fetch.Headers;\n window.Request = fetch.Request;\n window.Response = fetch.Response;\n }\n}\n\n// $lab:coverage:off$\nconst FHIR = {\n AbortController: window.AbortController,\n client,\n utils,\n oauth2: {\n settings: options,\n ready,\n authorize,\n init\n }\n};\n\nexport = FHIR;\n// $lab:coverage:on$\n","/*\n * This file contains some shared functions. They are used by other modules, but\n * are defined here so that tests can import this library and test them.\n */\n\nimport HttpError from \"./HttpError\";\nimport { patientParams } from \"./settings\";\nimport { fhirclient } from \"./types\";\nconst debug = require(\"debug\");\n\n// $lab:coverage:off$\n// @ts-ignore\nconst { fetch } = typeof FHIRCLIENT_PURE !== \"undefined\" ? window : require(\"cross-fetch\");\n// $lab:coverage:on$\n\nconst _debug = debug(\"FHIR\");\nexport { _debug as debug };\n\n/**\n * The cache for the `getAndCache` function\n */\nconst cache: Record = {};\n\n/**\n * A namespace with functions for converting between different measurement units\n */\nexport const units = {\n cm({ code, value }: fhirclient.CodeValue) {\n ensureNumerical({ code, value });\n if (code == \"cm\" ) return value;\n if (code == \"m\" ) return value * 100;\n if (code == \"in\" ) return value * 2.54;\n if (code == \"[in_us]\") return value * 2.54;\n if (code == \"[in_i]\" ) return value * 2.54;\n if (code == \"ft\" ) return value * 30.48;\n if (code == \"[ft_us]\") return value * 30.48;\n throw new Error(\"Unrecognized length unit: \" + code);\n },\n kg({ code, value }: fhirclient.CodeValue){\n ensureNumerical({ code, value });\n if (code == \"kg\" ) return value;\n if (code == \"g\" ) return value / 1000;\n if (code.match(/lb/)) return value / 2.20462;\n if (code.match(/oz/)) return value / 35.274;\n throw new Error(\"Unrecognized weight unit: \" + code);\n },\n any(pq: fhirclient.CodeValue){\n ensureNumerical(pq);\n return pq.value;\n }\n};\n\n/**\n * Assertion function to guard arguments for `units` functions\n */\nfunction ensureNumerical({ value, code }: fhirclient.CodeValue) {\n if (typeof value !== \"number\") {\n throw new Error(\"Found a non-numerical unit: \" + value + \" \" + code);\n }\n}\n\n/**\n * Used in fetch Promise chains to reject if the \"ok\" property is not true\n */\nexport async function checkResponse(resp: Response): Promise {\n if (!resp.ok) {\n const error = new HttpError(resp);\n await error.parse();\n throw error;\n }\n return resp;\n}\n\n/**\n * Used in fetch Promise chains to return the JSON version of the response.\n * Note that `resp.json()` will throw on empty body so we use resp.text()\n * instead.\n */\nexport function responseToJSON(resp: Response): Promise {\n return resp.text().then(text => text.length ? JSON.parse(text) : \"\");\n}\n\nexport function loweCaseKeys | any[] | undefined>(obj: T): T {\n \n // Can be undefined to signal that this key should be removed\n if (!obj) {\n return obj as T\n }\n\n // Arrays are valid values in case of recursive calls\n if (Array.isArray(obj)) {\n return obj.map(v => v && typeof v === \"object\" ? loweCaseKeys(v) : v) as unknown as T;\n }\n\n // Plain object\n let out: Record = {};\n Object.keys(obj).forEach(key => {\n const lowerKey = key.toLowerCase()\n const v = (obj as Record)[key]\n out[lowerKey] = v && typeof v == \"object\" ? loweCaseKeys(v) : v;\n });\n return out as T;\n}\n\n/**\n * This is our built-in request function. It does a few things by default\n * (unless told otherwise):\n * - Makes CORS requests\n * - Sets accept header to \"application/json\"\n * - Handles errors\n * - If the response is json return the json object\n * - If the response is text return the result text\n * - Otherwise return the response object on which we call stuff like `.blob()`\n */\nexport function request(\n url: string | Request,\n requestOptions: fhirclient.FetchOptions = {}\n): Promise\n{\n const { includeResponse, ...options } = requestOptions;\n return fetch(url, {\n mode: \"cors\",\n ...options,\n headers: {\n accept: \"application/json\",\n ...loweCaseKeys(options.headers)\n }\n })\n .then(checkResponse)\n .then((res: Response) => {\n const type = res.headers.get(\"content-type\") + \"\";\n if (type.match(/\\bjson\\b/i)) {\n return responseToJSON(res).then(body => ({ res, body }));\n }\n if (type.match(/^text\\//i)) {\n return res.text().then(body => ({ res, body }));\n }\n return { res };\n })\n .then(({res, body}: {res:Response, body?:fhirclient.JsonObject|string}) => {\n\n // Some servers will reply after CREATE with json content type but with\n // empty body. In this case check if a location header is received and\n // fetch that to use it as the final result.\n if (!body && res.status == 201) {\n const location = res.headers.get(\"location\");\n if (location) {\n return request(location, { ...options, method: \"GET\", body: null, includeResponse });\n }\n }\n\n if (includeResponse) {\n return { body, response: res };\n }\n\n // For any non-text and non-json response return the Response object.\n // This to let users decide if they want to call text(), blob() or\n // something else on it\n if (body === undefined) {\n return res;\n }\n\n // Otherwise just return the parsed body (can also be \"\" or null)\n return body;\n });\n}\n\n/**\n * Makes a request using `fetch` and stores the result in internal memory cache.\n * The cache is cleared when the page is unloaded.\n * @param url The URL to request\n * @param requestOptions Request options\n * @param force If true, reload from source and update the cache, even if it has\n * already been cached.\n */\nexport function getAndCache(url: string, requestOptions?: RequestInit, force: boolean = process.env.NODE_ENV === \"test\"): Promise {\n if (force || !cache[url]) {\n cache[url] = request(url, requestOptions);\n return cache[url];\n }\n return Promise.resolve(cache[url]);\n}\n\n/**\n * Fetches the conformance statement from the given base URL.\n * Note that the result is cached in memory (until the page is reloaded in the\n * browser) because it might have to be re-used by the client\n * @param baseUrl The base URL of the FHIR server\n * @param [requestOptions] Any options passed to the fetch call\n */\nexport function fetchConformanceStatement(baseUrl = \"/\", requestOptions?: RequestInit): Promise\n{\n const url = String(baseUrl).replace(/\\/*$/, \"/\") + \"metadata\";\n return getAndCache(url, requestOptions).catch((ex: Error) => {\n throw new Error(\n `Failed to fetch the conformance statement from \"${url}\". ${ex}`\n );\n });\n}\n\n\n/**\n * Walks through an object (or array) and returns the value found at the\n * provided path. This function is very simple so it intentionally does not\n * support any argument polymorphism, meaning that the path can only be a\n * dot-separated string. If the path is invalid returns undefined.\n * @param obj The object (or Array) to walk through\n * @param path The path (eg. \"a.b.4.c\")\n * @returns {*} Whatever is found in the path or undefined\n */\nexport function getPath(obj: Record, path = \"\"): any {\n path = path.trim();\n if (!path) {\n return obj;\n }\n\n let segments = path.split(\".\");\n let result = obj;\n\n while (result && segments.length) {\n const key = segments.shift();\n if (!key && Array.isArray(result)) {\n return result.map(o => getPath(o, segments.join(\".\")));\n } else {\n result = result[key as string];\n }\n }\n\n return result;\n}\n\n/**\n * Like getPath, but if the node is found, its value is set to @value\n * @param obj The object (or Array) to walk through\n * @param path The path (eg. \"a.b.4.c\")\n * @param value The value to set\n * @param createEmpty If true, create missing intermediate objects or arrays\n * @returns The modified object\n */\nexport function setPath(obj: Record, path: string, value: any, createEmpty = false): Record {\n path.trim().split(\".\").reduce(\n (out, key, idx, arr) => {\n if (out && idx === arr.length - 1) {\n out[key] = value;\n }\n else {\n if (out && out[key] === undefined && createEmpty) {\n out[key] = arr[idx + 1].match(/^[0-9]+$/) ? [] : {};\n }\n return out ? out[key] : undefined;\n }\n },\n obj\n );\n return obj;\n}\n\n/**\n * If the argument is an array returns it as is. Otherwise puts it in an array\n * (`[arg]`) and returns the result\n * @param arg The element to test and possibly convert to array\n * @category Utility\n */\nexport function makeArray(arg: any): T[] {\n if (Array.isArray(arg)) {\n return arg;\n }\n return [arg];\n}\n\n/**\n * Given a path, converts it to absolute url based on the `baseUrl`. If baseUrl\n * is not provided, the result would be a rooted path (one that starts with `/`).\n * @param path The path to convert\n * @param baseUrl The base URL\n */\nexport function absolute(path: string, baseUrl?: string): string\n{\n if (path.match(/^http/)) return path;\n if (path.match(/^urn/)) return path;\n return String(baseUrl || \"\").replace(/\\/+$/, \"\") + \"/\" + path.replace(/^\\/+/, \"\");\n}\n\n/**\n * Generates random strings. By default this returns random 8 characters long\n * alphanumeric strings.\n * @param strLength The length of the output string. Defaults to 8.\n * @param charSet A string containing all the possible characters.\n * Defaults to all the upper and lower-case letters plus digits.\n * @category Utility\n */\nexport function randomString(\n strLength = 8,\n charSet = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\"\n): string\n{\n const result = [];\n const len = charSet.length;\n while (strLength--) {\n result.push(charSet.charAt(Math.floor(Math.random() * len)));\n }\n return result.join(\"\");\n}\n\n/**\n * Decodes a JWT token and returns it's body.\n * @param token The token to read\n * @param env An `Adapter` or any other object that has an `atob` method\n * @category Utility\n */\nexport function jwtDecode(token: string, env: fhirclient.Adapter): Record | null\n{\n const payload = token.split(\".\")[1];\n return payload ? JSON.parse(env.atob(payload)) : null;\n}\n\n/**\n * Add a supplied number of seconds to the supplied Date, returning\n * an integer number of seconds since the epoch\n * @param secondsAhead How far ahead, in seconds (defaults to 120 seconds)\n * @param from Initial time (defaults to current time)\n */\nexport function getTimeInFuture(secondsAhead: number = 120, from?: Date | number): number {\n return Math.floor(+(from || new Date()) / 1000 + secondsAhead) \n}\n\n/**\n * Given a token response, computes and returns the expiresAt timestamp.\n * Note that this should only be used immediately after an access token is\n * received, otherwise the computed timestamp will be incorrect.\n * @param tokenResponse \n * @param env \n */\nexport function getAccessTokenExpiration(tokenResponse: fhirclient.TokenResponse, env: fhirclient.Adapter): number\n{\n const now = Math.floor(Date.now() / 1000);\n\n // Option 1 - using the expires_in property of the token response\n if (tokenResponse.expires_in) {\n return now + tokenResponse.expires_in;\n }\n\n // Option 2 - using the exp property of JWT tokens (must not assume JWT!)\n if (tokenResponse.access_token) {\n let tokenBody = jwtDecode(tokenResponse.access_token, env);\n if (tokenBody && tokenBody.exp) {\n return tokenBody.exp;\n }\n }\n\n // Option 3 - if none of the above worked set this to 5 minutes after now\n return now + 300;\n}\n\n/**\n * Groups the observations by code. Returns a map that will look like:\n * ```js\n * const map = client.byCodes(observations, \"code\");\n * // map = {\n * // \"55284-4\": [ observation1, observation2 ],\n * // \"6082-2\": [ observation3 ]\n * // }\n * ```\n * @param observations Array of observations\n * @param property The name of a CodeableConcept property to group by\n */\nexport function byCode(\n observations: fhirclient.FHIR.Observation | fhirclient.FHIR.Observation[],\n property: string\n): fhirclient.ObservationMap\n{\n const ret: fhirclient.ObservationMap = {};\n\n function handleCodeableConcept(concept: fhirclient.FHIR.CodeableConcept, observation: fhirclient.FHIR.Observation) {\n if (concept && Array.isArray(concept.coding)) {\n concept.coding.forEach(({ code }) => {\n if (code) {\n ret[code] = ret[code] || [] as fhirclient.FHIR.Observation[];\n ret[code].push(observation);\n }\n });\n }\n }\n\n makeArray(observations).forEach(o => {\n if (o.resourceType === \"Observation\" && o[property]) {\n if (Array.isArray(o[property])) {\n o[property].forEach((concept: fhirclient.FHIR.CodeableConcept) => handleCodeableConcept(concept, o));\n } else {\n handleCodeableConcept(o[property], o);\n }\n }\n });\n\n return ret;\n}\n\n/**\n * First groups the observations by code using `byCode`. Then returns a function\n * that accepts codes as arguments and will return a flat array of observations\n * having that codes. Example:\n * ```js\n * const filter = client.byCodes(observations, \"category\");\n * filter(\"laboratory\") // => [ observation1, observation2 ]\n * filter(\"vital-signs\") // => [ observation3 ]\n * filter(\"laboratory\", \"vital-signs\") // => [ observation1, observation2, observation3 ]\n * ```\n * @param observations Array of observations\n * @param property The name of a CodeableConcept property to group by\n */\nexport function byCodes(\n observations: fhirclient.FHIR.Observation | fhirclient.FHIR.Observation[],\n property: string\n): (...codes: string[]) => any[]\n{\n const bank = byCode(observations, property);\n return (...codes) => codes\n .filter(code => (code + \"\") in bank)\n .reduce(\n (prev, code) => prev.concat(bank[code + \"\"]),\n [] as fhirclient.FHIR.Observation[]\n );\n}\n\n/**\n * Given a conformance statement and a resource type, returns the name of the\n * URL parameter that can be used to scope the resource type by patient ID.\n */\nexport function getPatientParam(conformance: fhirclient.FHIR.CapabilityStatement, resourceType: string): string\n{\n // Find what resources are supported by this server\n const resources = getPath(conformance, \"rest.0.resource\") || [];\n\n // Check if this resource is supported\n const meta = resources.find((r: any) => r.type === resourceType);\n if (!meta) {\n throw new Error(`Resource \"${resourceType}\" is not supported by this FHIR server`);\n }\n\n // Check if any search parameters are available for this resource\n if (!Array.isArray(meta.searchParam)) {\n throw new Error(`No search parameters supported for \"${resourceType}\" on this FHIR server`);\n }\n\n // This is a rare case but could happen in generic workflows\n if (resourceType == \"Patient\" && meta.searchParam.find((x: any) => x.name == \"_id\")) {\n return \"_id\";\n }\n\n // Now find the first possible parameter name\n const out = patientParams.find(p => meta.searchParam.find((x: any) => x.name == p));\n\n // If there is no match\n if (!out) {\n throw new Error(\"I don't know what param to use for \" + resourceType);\n }\n\n return out;\n}\n\n/**\n * Resolves a reference to target window. It may also open new window or tab if\n * the `target = \"popup\"` or `target = \"_blank\"`.\n * @param target\n * @param width Only used when `target = \"popup\"`\n * @param height Only used when `target = \"popup\"`\n */\nexport async function getTargetWindow(target: fhirclient.WindowTarget, width: number = 800, height: number = 720): Promise\n{\n // The target can be a function that returns the target. This can be\n // used to open a layer pop-up with an iframe and then return a reference\n // to that iframe (or its name)\n if (typeof target == \"function\") {\n target = await target();\n }\n\n // The target can be a window reference\n if (target && typeof target == \"object\") {\n return target;\n }\n\n // At this point target must be a string\n if (typeof target != \"string\") {\n _debug(\"Invalid target type '%s'. Failing back to '_self'.\", typeof target);\n return self;\n }\n\n // Current window\n if (target == \"_self\") {\n return self;\n }\n\n // The parent frame\n if (target == \"_parent\") {\n return parent;\n }\n\n // The top window\n if (target == \"_top\") {\n return top || self;\n }\n\n // New tab or window\n if (target == \"_blank\") {\n let error, targetWindow: Window | null = null;\n try {\n targetWindow = window.open(\"\", \"SMARTAuthPopup\");\n if (!targetWindow) {\n throw new Error(\"Perhaps window.open was blocked\");\n }\n } catch (e) {\n error = e;\n }\n\n if (!targetWindow) {\n _debug(\"Cannot open window. Failing back to '_self'. %s\", error);\n return self;\n } else {\n return targetWindow;\n }\n }\n\n // Popup window\n if (target == \"popup\") {\n let error, targetWindow: Window | null = null;\n // if (!targetWindow || targetWindow.closed) {\n try {\n targetWindow = window.open(\"\", \"SMARTAuthPopup\", [\n \"height=\" + height,\n \"width=\" + width,\n \"menubar=0\",\n \"resizable=1\",\n \"status=0\",\n \"top=\" + (screen.height - height) / 2,\n \"left=\" + (screen.width - width) / 2\n ].join(\",\"));\n if (!targetWindow) {\n throw new Error(\"Perhaps the popup window was blocked\");\n }\n } catch (e) {\n error = e;\n }\n\n if (!targetWindow) {\n _debug(\"Cannot open window. Failing back to '_self'. %s\", error);\n return self;\n } else {\n return targetWindow;\n }\n }\n\n // Frame or window by name\n const winOrFrame: Window = frames[target as any];\n if (winOrFrame) {\n return winOrFrame;\n }\n\n _debug(\"Unknown target '%s'. Failing back to '_self'.\", target);\n return self;\n}\n\nexport function assert(condition: any, message: string): asserts condition {\n if (!(condition)) {\n throw new Error(message)\n }\n}\n\nexport function assertJsonPatch(patch: fhirclient.JsonPatch): asserts patch {\n assert(Array.isArray(patch), \"The JSON patch must be an array\")\n assert(patch.length > 0, \"The JSON patch array should not be empty\")\n patch.forEach((operation: fhirclient.JsonPatchOperation) => {\n assert(\n [\"add\", \"replace\", \"test\", \"move\", \"copy\", \"remove\"].indexOf(operation.op) > -1,\n 'Each patch operation must have an \"op\" property which must be one of: \"add\", \"replace\", \"test\", \"move\", \"copy\", \"remove\"'\n )\n assert(operation.path && typeof operation.path, `Invalid \"${operation.op}\" operation. Missing \"path\" property`)\n \n if (operation.op == \"add\" || operation.op == \"replace\" || operation.op == \"test\") {\n assert(\"value\" in operation, `Invalid \"${operation.op}\" operation. Missing \"value\" property`)\n assert(Object.keys(operation).length == 3, `Invalid \"${operation.op}\" operation. Contains unknown properties`)\n }\n\n else if (operation.op == \"move\" || operation.op == \"copy\") {\n assert(typeof operation.from == \"string\", `Invalid \"${operation.op}\" operation. Requires a string \"from\" property`)\n assert(Object.keys(operation).length == 3, `Invalid \"${operation.op}\" operation. Contains unknown properties`)\n }\n\n else {\n assert(Object.keys(operation).length == 2, `Invalid \"${operation.op}\" operation. Contains unknown properties`)\n }\n })\n}\n","import { encodeURL, fromUint8Array } from \"js-base64\"\nimport { fhirclient } from \"../types\"\n\n\nconst crypto: Crypto = typeof globalThis === \"object\" && globalThis.crypto ?\n globalThis.crypto :\n require(\"isomorphic-webcrypto\").default;\n\nconst subtle = () => {\n if (!crypto.subtle) {\n if (!globalThis.isSecureContext) {\n throw new Error(\n \"Some of the required subtle crypto functionality is not \" +\n \"available unless you run this app in secure context (using \" +\n \"HTTPS or running locally). See \" +\n \"https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts\"\n )\n }\n throw new Error(\n \"Some of the required subtle crypto functionality is not \" +\n \"available in the current environment (no crypto.subtle)\"\n )\n }\n return crypto.subtle\n}\n\n\ninterface PkcePair {\n codeChallenge: string\n codeVerifier: string\n}\n\nconst ALGS = {\n ES384: {\n name: \"ECDSA\",\n namedCurve: \"P-384\"\n } as EcKeyGenParams,\n RS384: {\n name: \"RSASSA-PKCS1-v1_5\",\n modulusLength: 4096,\n publicExponent: new Uint8Array([1, 0, 1]),\n hash: {\n name: 'SHA-384'\n }\n } as RsaHashedKeyGenParams\n};\n\nexport function randomBytes(count: number): Uint8Array {\n return crypto.getRandomValues(new Uint8Array(count));\n}\n\nexport async function digestSha256(payload: string): Promise {\n const prepared = new TextEncoder().encode(payload);\n const hash = await subtle().digest('SHA-256', prepared);\n return new Uint8Array(hash);\n}\n\nexport const generatePKCEChallenge = async (entropy = 96): Promise => {\n const inputBytes = randomBytes(entropy)\n const codeVerifier = fromUint8Array(inputBytes, true)\n const codeChallenge = fromUint8Array(await digestSha256(codeVerifier), true)\n return { codeChallenge, codeVerifier }\n}\n\nexport async function importJWK(jwk: fhirclient.JWK): Promise {\n // alg is optional in JWK but we need it here!\n if (!jwk.alg) {\n throw new Error('The \"alg\" property of the JWK must be set to \"ES384\" or \"RS384\"')\n }\n\n // Use of the \"key_ops\" member is OPTIONAL, unless the application requires its presence.\n // https://www.rfc-editor.org/rfc/rfc7517.html#section-4.3\n // \n // In our case the app will only import private keys so we can assume \"sign\"\n if (!Array.isArray(jwk.key_ops)) {\n jwk.key_ops = [\"sign\"]\n }\n\n // In this case the JWK has a \"key_ops\" array and \"sign\" is not listed\n if (!jwk.key_ops.includes(\"sign\")) {\n throw new Error('The \"key_ops\" property of the JWK does not contain \"sign\"')\n }\n\n try {\n return await subtle().importKey(\n \"jwk\",\n jwk,\n ALGS[jwk.alg],\n jwk.ext === true,\n jwk.key_ops// || ['sign']\n )\n } catch (e) {\n throw new Error(`The ${jwk.alg} is not supported by this browser: ${e}`)\n }\n}\n\nexport async function signCompactJws(alg: keyof typeof ALGS, privateKey: CryptoKey, header: any, payload: any): Promise {\n\n const jwtHeader = JSON.stringify({ ...header, alg });\n const jwtPayload = JSON.stringify(payload);\n const jwtAuthenticatedContent = `${encodeURL(jwtHeader)}.${encodeURL(jwtPayload)}`;\n\n const signature = await subtle().sign(\n { ...privateKey.algorithm, hash: 'SHA-384' },\n privateKey,\n new TextEncoder().encode(jwtAuthenticatedContent)\n );\n\n return `${jwtAuthenticatedContent}.${fromUint8Array(new Uint8Array(signature), true)}`\n}\n","/**\n * Combined list of FHIR resource types accepting patient parameter in FHIR R2-R4\n */\nexport const patientCompartment = [\n \"Account\",\n \"AdverseEvent\",\n \"AllergyIntolerance\",\n \"Appointment\",\n \"AppointmentResponse\",\n \"AuditEvent\",\n \"Basic\",\n \"BodySite\",\n \"BodyStructure\",\n \"CarePlan\",\n \"CareTeam\",\n \"ChargeItem\",\n \"Claim\",\n \"ClaimResponse\",\n \"ClinicalImpression\",\n \"Communication\",\n \"CommunicationRequest\",\n \"Composition\",\n \"Condition\",\n \"Consent\",\n \"Coverage\",\n \"CoverageEligibilityRequest\",\n \"CoverageEligibilityResponse\",\n \"DetectedIssue\",\n \"DeviceRequest\",\n \"DeviceUseRequest\",\n \"DeviceUseStatement\",\n \"DiagnosticOrder\",\n \"DiagnosticReport\",\n \"DocumentManifest\",\n \"DocumentReference\",\n \"EligibilityRequest\",\n \"Encounter\",\n \"EnrollmentRequest\",\n \"EpisodeOfCare\",\n \"ExplanationOfBenefit\",\n \"FamilyMemberHistory\",\n \"Flag\",\n \"Goal\",\n \"Group\",\n \"ImagingManifest\",\n \"ImagingObjectSelection\",\n \"ImagingStudy\",\n \"Immunization\",\n \"ImmunizationEvaluation\",\n \"ImmunizationRecommendation\",\n \"Invoice\",\n \"List\",\n \"MeasureReport\",\n \"Media\",\n \"MedicationAdministration\",\n \"MedicationDispense\",\n \"MedicationOrder\",\n \"MedicationRequest\",\n \"MedicationStatement\",\n \"MolecularSequence\",\n \"NutritionOrder\",\n \"Observation\",\n \"Order\",\n \"Patient\",\n \"Person\",\n \"Procedure\",\n \"ProcedureRequest\",\n \"Provenance\",\n \"QuestionnaireResponse\",\n \"ReferralRequest\",\n \"RelatedPerson\",\n \"RequestGroup\",\n \"ResearchSubject\",\n \"RiskAssessment\",\n \"Schedule\",\n \"ServiceRequest\",\n \"Specimen\",\n \"SupplyDelivery\",\n \"SupplyRequest\",\n \"VisionPrescription\"\n];\n\n/**\n * Map of FHIR releases and their abstract version as number\n */\nexport const fhirVersions = {\n \"0.4.0\": 2,\n \"0.5.0\": 2,\n \"1.0.0\": 2,\n \"1.0.1\": 2,\n \"1.0.2\": 2,\n \"1.1.0\": 3,\n \"1.4.0\": 3,\n \"1.6.0\": 3,\n \"1.8.0\": 3,\n \"3.0.0\": 3,\n \"3.0.1\": 3,\n \"3.3.0\": 4,\n \"3.5.0\": 4,\n \"4.0.0\": 4,\n \"4.0.1\": 4\n};\n\n/**\n * Combined (FHIR R2-R4) list of search parameters that can be used to scope\n * a request by patient ID.\n */\nexport const patientParams = [\n \"patient\",\n \"subject\",\n \"requester\",\n \"member\",\n \"actor\",\n \"beneficiary\"\n];\n\n/**\n * The name of the sessionStorage entry that contains the current key\n */\nexport const SMART_KEY = \"SMART_KEY\";\n","/* global window */\nimport {\n debug as _debug,\n request,\n getPath,\n getTimeInFuture,\n randomString,\n getAndCache,\n fetchConformanceStatement,\n getAccessTokenExpiration,\n getTargetWindow,\n assert\n} from \"./lib\";\nimport Client from \"./Client\";\nimport { SMART_KEY } from \"./settings\";\nimport { fhirclient } from \"./types\";\n\nconst debug = _debug.extend(\"oauth2\");\n\nexport { SMART_KEY as KEY };\n\nfunction isBrowser() {\n return typeof window === \"object\";\n}\n\n/**\n * Fetches the well-known json file from the given base URL.\n * Note that the result is cached in memory (until the page is reloaded in the\n * browser) because it might have to be re-used by the client\n * @param baseUrl The base URL of the FHIR server\n */\nexport function fetchWellKnownJson(baseUrl = \"/\", requestOptions?: RequestInit): Promise\n{\n const url = String(baseUrl).replace(/\\/*$/, \"/\") + \".well-known/smart-configuration\";\n return getAndCache(url, requestOptions).catch((ex: Error) => {\n throw new Error(`Failed to fetch the well-known json \"${url}\". ${ex.message}`);\n });\n}\n\n/**\n * Fetch a \"WellKnownJson\" and extract the SMART endpoints from it\n */\nfunction getSecurityExtensionsFromWellKnownJson(baseUrl = \"/\", requestOptions?: RequestInit): Promise\n{\n return fetchWellKnownJson(baseUrl, requestOptions).then(meta => {\n if (!meta.authorization_endpoint || !meta.token_endpoint) {\n throw new Error(\"Invalid wellKnownJson\");\n }\n return {\n registrationUri : meta.registration_endpoint || \"\",\n authorizeUri : meta.authorization_endpoint,\n tokenUri : meta.token_endpoint,\n codeChallengeMethods: meta.code_challenge_methods_supported || []\n };\n });\n}\n\n/**\n * Fetch a `CapabilityStatement` and extract the SMART endpoints from it\n */\nfunction getSecurityExtensionsFromConformanceStatement(baseUrl = \"/\", requestOptions?: RequestInit): Promise\n{\n return fetchConformanceStatement(baseUrl, requestOptions).then(meta => {\n const nsUri = \"http://fhir-registry.smarthealthit.org/StructureDefinition/oauth-uris\";\n const extensions = ((getPath(meta || {}, \"rest.0.security.extension\") || []) as Array>)\n .filter(e => e.url === nsUri)\n .map(o => o.extension)[0];\n\n const out:fhirclient.OAuthSecurityExtensions = {\n registrationUri : \"\",\n authorizeUri : \"\",\n tokenUri : \"\",\n codeChallengeMethods: [],\n };\n\n if (extensions) {\n extensions.forEach(ext => {\n if (ext.url === \"register\") {\n out.registrationUri = ext.valueUri;\n }\n if (ext.url === \"authorize\") {\n out.authorizeUri = ext.valueUri;\n }\n if (ext.url === \"token\") {\n out.tokenUri = ext.valueUri;\n }\n });\n }\n\n return out;\n });\n}\n\n\n/**\n * Given a FHIR server, returns an object with it's Oauth security endpoints\n * that we are interested in. This will try to find the info in both the\n * `CapabilityStatement` and the `.well-known/smart-configuration`. Whatever\n * Arrives first will be used and the other request will be aborted.\n * @param [baseUrl = \"/\"] Fhir server base URL\n */\nexport function getSecurityExtensions(baseUrl = \"/\"): Promise\n{\n return getSecurityExtensionsFromWellKnownJson(baseUrl)\n .catch(() => getSecurityExtensionsFromConformanceStatement(baseUrl));\n}\n\n/**\n * Starts the SMART Launch Sequence.\n * > **IMPORTANT**:\n * `authorize()` will end up redirecting you to the authorization server.\n * This means that you should not add anything to the returned promise chain.\n * Any code written directly after the authorize() call might not be executed\n * due to that redirect!\n * @param env\n * @param [params]\n */\nexport async function authorize(\n env: fhirclient.Adapter,\n params: fhirclient.AuthorizeParams | fhirclient.AuthorizeParams[] = {}\n): Promise\n{\n const url = env.getUrl();\n\n // Multiple config for EHR launches ---------------------------------------\n if (Array.isArray(params)) {\n const urlISS = url.searchParams.get(\"iss\") || url.searchParams.get(\"fhirServiceUrl\");\n if (!urlISS) {\n throw new Error(\n 'Passing in an \"iss\" url parameter is required if authorize ' +\n 'uses multiple configurations'\n );\n }\n // pick the right config\n const cfg = params.find(x => {\n if (x.issMatch) {\n if (typeof x.issMatch === \"function\") {\n return !!x.issMatch(urlISS);\n }\n if (typeof x.issMatch === \"string\") {\n return x.issMatch === urlISS;\n }\n if (x.issMatch instanceof RegExp) {\n return x.issMatch.test(urlISS);\n }\n }\n return false;\n });\n assert(cfg, `No configuration found matching the current \"iss\" parameter \"${urlISS}\"`);\n return await authorize(env, cfg);\n }\n // ------------------------------------------------------------------------\n\n // Obtain input\n const {\n clientSecret,\n fakeTokenResponse,\n encounterId,\n target,\n width,\n height,\n pkceMode,\n clientPublicKeySetUrl,\n // Two deprecated values to use as fall-back values later\n redirect_uri,\n client_id,\n } = params;\n \n let {\n iss,\n launch,\n patientId,\n fhirServiceUrl,\n redirectUri,\n noRedirect,\n scope = \"\",\n clientId,\n completeInTarget,\n clientPrivateJwk,\n stateKey\n } = params;\n\n const storage = env.getStorage();\n\n // For these, a url param takes precedence over inline option\n iss = url.searchParams.get(\"iss\") || iss;\n fhirServiceUrl = url.searchParams.get(\"fhirServiceUrl\") || fhirServiceUrl;\n launch = url.searchParams.get(\"launch\") || launch;\n patientId = url.searchParams.get(\"patientId\") || patientId;\n clientId = url.searchParams.get(\"clientId\") || clientId;\n\n // If there's still no clientId or redirectUri, check deprecated params \n if (!clientId) {\n clientId = client_id;\n }\n if (!redirectUri) {\n redirectUri = redirect_uri;\n }\n\n if (!redirectUri) {\n redirectUri = env.relative(\".\");\n } else if (!redirectUri.match(/^https?\\:\\/\\//)) {\n redirectUri = env.relative(redirectUri);\n }\n\n const serverUrl = String(iss || fhirServiceUrl || \"\");\n\n // Validate input\n if (!serverUrl) {\n throw new Error(\n \"No server url found. It must be specified as `iss` or as \" +\n \"`fhirServiceUrl` parameter\"\n );\n }\n\n if (iss) {\n debug(\"Making %s launch...\", launch ? \"EHR\" : \"standalone\");\n }\n\n // append launch scope if needed\n if (launch && !scope.match(/launch/)) {\n scope += \" launch\";\n }\n\n if (isBrowser()) {\n const inFrame = isInFrame();\n const inPopUp = isInPopUp();\n\n if ((inFrame || inPopUp) && completeInTarget !== true && completeInTarget !== false) {\n \n // completeInTarget will default to true if authorize is called from\n // within an iframe. This is to avoid issues when the entire app\n // happens to be rendered in an iframe (including in some EHRs),\n // even though that was not how the app developer's intention.\n completeInTarget = inFrame;\n\n // In this case we can't always make the best decision so ask devs\n // to be explicit in their configuration.\n console.warn(\n 'Your app is being authorized from within an iframe or popup ' +\n 'window. Please be explicit and provide a \"completeInTarget\" ' +\n 'option. Use \"true\" to complete the authorization in the ' +\n 'same window, or \"false\" to try to complete it in the parent ' +\n 'or the opener window. See http://docs.smarthealthit.org/client-js/api.html'\n );\n }\n }\n\n // If `authorize` is called, make sure we clear any previous state (in case\n // this is a re-authorize)\n const oldKey = await storage.get(SMART_KEY);\n await storage.unset(oldKey);\n\n stateKey = stateKey ?? randomString(16);\n\n // Create initial state\n const state: fhirclient.ClientState = {\n clientId,\n scope,\n redirectUri,\n serverUrl,\n clientSecret,\n clientPrivateJwk,\n tokenResponse: {},\n key: stateKey,\n completeInTarget,\n clientPublicKeySetUrl\n };\n\n const fullSessionStorageSupport = isBrowser() ?\n getPath(env, \"options.fullSessionStorageSupport\") :\n true;\n\n if (fullSessionStorageSupport) {\n await storage.set(SMART_KEY, stateKey);\n }\n\n // fakeTokenResponse to override stuff (useful in development)\n if (fakeTokenResponse) {\n Object.assign(state.tokenResponse!, fakeTokenResponse);\n }\n\n // Fixed patientId (useful in development)\n if (patientId) {\n Object.assign(state.tokenResponse!, { patient: patientId });\n }\n\n // Fixed encounterId (useful in development)\n if (encounterId) {\n Object.assign(state.tokenResponse!, { encounter: encounterId });\n }\n\n let redirectUrl = redirectUri + \"?state=\" + encodeURIComponent(stateKey);\n\n // bypass oauth if fhirServiceUrl is used (but iss takes precedence)\n if (fhirServiceUrl && !iss) {\n debug(\"Making fake launch...\");\n await storage.set(stateKey, state);\n if (noRedirect) {\n return redirectUrl;\n }\n return await env.redirect(redirectUrl);\n }\n\n // Get oauth endpoints and add them to the state\n const extensions = await getSecurityExtensions(serverUrl);\n Object.assign(state, extensions);\n await storage.set(stateKey, state);\n\n // If this happens to be an open server and there is no authorizeUri\n if (!state.authorizeUri) {\n if (noRedirect) {\n return redirectUrl;\n }\n return await env.redirect(redirectUrl);\n }\n\n // build the redirect uri\n const redirectParams = [\n \"response_type=code\",\n \"client_id=\" + encodeURIComponent(clientId || \"\"),\n \"scope=\" + encodeURIComponent(scope),\n \"redirect_uri=\" + encodeURIComponent(redirectUri),\n \"aud=\" + encodeURIComponent(serverUrl),\n \"state=\" + encodeURIComponent(stateKey)\n ];\n\n // also pass this in case of EHR launch\n if (launch) {\n redirectParams.push(\"launch=\" + encodeURIComponent(launch));\n }\n\n if (shouldIncludeChallenge(extensions.codeChallengeMethods.includes('S256'), pkceMode)) {\n let codes = await env.security.generatePKCEChallenge()\n Object.assign(state, codes);\n await storage.set(stateKey, state);\n redirectParams.push(\"code_challenge=\" + state.codeChallenge);// note that the challenge is ALREADY encoded properly\n redirectParams.push(\"code_challenge_method=S256\");\n }\n \n redirectUrl = state.authorizeUri + \"?\" + redirectParams.join(\"&\");\n\n if (noRedirect) {\n return redirectUrl;\n }\n\n if (target && isBrowser()) {\n let win: Window;\n\n win = await getTargetWindow(target, width, height);\n\n if (win !== self) {\n try {\n // Also remove any old state from the target window and then\n // transfer the current state there\n win.sessionStorage.removeItem(oldKey);\n win.sessionStorage.setItem(stateKey, JSON.stringify(state));\n } catch (ex) {\n _debug(`Failed to modify window.sessionStorage. Perhaps it is from different origin?. Failing back to \"_self\". %s`, ex);\n win = self;\n }\n }\n\n if (win !== self) {\n try {\n win.location.href = redirectUrl;\n self.addEventListener(\"message\", onMessage);\n } catch (ex) {\n _debug(`Failed to modify window.location. Perhaps it is from different origin?. Failing back to \"_self\". %s`, ex);\n self.location.href = redirectUrl;\n }\n } else {\n self.location.href = redirectUrl;\n }\n\n return;\n }\n else {\n return await env.redirect(redirectUrl);\n }\n}\n\nfunction shouldIncludeChallenge(S256supported: boolean, pkceMode?: string) {\n if (pkceMode === \"disabled\") {\n return false;\n }\n if (pkceMode === \"unsafeV1\") {\n return true;\n }\n if (pkceMode === \"required\") {\n if (!S256supported) {\n throw new Error(\"Required PKCE code challenge method (`S256`) was not found in the server's codeChallengeMethods declaration.\");\n }\n return true;\n }\n return S256supported;\n}\n\n/**\n * Checks if called within a frame. Only works in browsers!\n * If the current window has a `parent` or `top` properties that refer to\n * another window, returns true. If trying to access `top` or `parent` throws an\n * error, returns true. Otherwise returns `false`.\n */\nexport function isInFrame() {\n try {\n return self !== top && parent !== self;\n } catch (e) {\n return true;\n }\n}\n\n/**\n * Checks if called within another window (popup or tab). Only works in browsers!\n * To consider itself called in a new window, this function verifies that:\n * 1. `self === top` (not in frame)\n * 2. `!!opener && opener !== self` The window has an opener\n * 3. `!!window.name` The window has a `name` set\n */\nexport function isInPopUp() {\n try {\n return self === top &&\n !!opener &&\n opener !== self &&\n !!window.name;\n } catch (e) {\n return false;\n }\n}\n\n/**\n * Another window can send a \"completeAuth\" message to this one, making it to\n * navigate to e.data.url\n * @param e The message event\n */\nexport function onMessage(e: MessageEvent) {\n if (e.data.type == \"completeAuth\" && e.origin === new URL(self.location.href).origin) {\n window.removeEventListener(\"message\", onMessage);\n window.location.href = e.data.url;\n }\n}\n\n/**\n * The ready function should only be called on the page that represents\n * the redirectUri. We typically land there after a redirect from the\n * authorization server, but this code will also be executed upon subsequent\n * navigation or page refresh.\n */\nexport async function ready(env: fhirclient.Adapter, options: fhirclient.ReadyOptions = {}): Promise\n{\n const url = env.getUrl();\n const Storage = env.getStorage();\n const params = url.searchParams;\n\n let key = params.get(\"state\");\n const code = params.get(\"code\");\n const authError = params.get(\"error\");\n const authErrorDescription = params.get(\"error_description\");\n\n if (!key) {\n key = await Storage.get(SMART_KEY);\n }\n\n // Start by checking the url for `error` and `error_description` parameters.\n // This happens when the auth server rejects our authorization attempt. In\n // this case it has no other way to tell us what the error was, other than\n // appending these parameters to the redirect url.\n // From client's point of view, this is not very reliable (because we can't\n // know how we have landed on this page - was it a redirect or was it loaded\n // manually). However, if `ready()` is being called, we can assume\n // that the url comes from the auth server (otherwise the app won't work\n // anyway).\n if (authError || authErrorDescription) {\n throw new Error([\n authError,\n authErrorDescription\n ].filter(Boolean).join(\": \"));\n }\n\n debug(\"key: %s, code: %s\", key, code);\n\n // key might be coming from the page url so it might be empty or missing\n assert(key, \"No 'state' parameter found. Please (re)launch the app.\");\n\n // Check if we have a previous state\n let state = (await Storage.get(key)) as fhirclient.ClientState;\n\n const fullSessionStorageSupport = isBrowser() ?\n getPath(env, \"options.fullSessionStorageSupport\") :\n true;\n\n // If we are in a popup window or an iframe and the authorization is\n // complete, send the location back to our opener and exit.\n if (isBrowser() && state && !state.completeInTarget) {\n\n const inFrame = isInFrame();\n const inPopUp = isInPopUp();\n\n // we are about to return to the opener/parent where completeAuth will\n // be called again. In rare cases the opener or parent might also be\n // a frame or popup. Then inFrame or inPopUp will be true but we still\n // have to stop going up the chain. To guard against that weird form of\n // recursion we pass one additional parameter to the url which we later\n // remove.\n if ((inFrame || inPopUp) && !url.searchParams.get(\"complete\")) {\n url.searchParams.set(\"complete\", \"1\");\n const { href, origin } = url;\n if (inFrame) {\n parent.postMessage({ type: \"completeAuth\", url: href }, origin);\n }\n if (inPopUp) {\n opener.postMessage({ type: \"completeAuth\", url: href }, origin);\n window.close();\n }\n\n return new Promise(() => { /* leave it pending!!! */ });\n }\n }\n\n url.searchParams.delete(\"complete\");\n\n // Do we have to remove the `code` and `state` params from the URL?\n const hasState = params.has(\"state\");\n\n if (isBrowser() && getPath(env, \"options.replaceBrowserHistory\") && (code || hasState)) {\n // `code` is the flag that tell us to request an access token.\n // We have to remove it, otherwise the page will authorize on\n // every load!\n if (code) {\n params.delete(\"code\");\n debug(\"Removed code parameter from the url.\");\n }\n\n // If we have `fullSessionStorageSupport` it means we no longer\n // need the `state` key. It will be stored to a well know\n // location - sessionStorage[SMART_KEY]. However, no\n // fullSessionStorageSupport means that this \"well know location\"\n // might be shared between windows and tabs. In this case we\n // MUST keep the `state` url parameter.\n if (hasState && fullSessionStorageSupport) {\n params.delete(\"state\");\n debug(\"Removed state parameter from the url.\");\n }\n\n // If the browser does not support the replaceState method for the\n // History Web API, the \"code\" parameter cannot be removed. As a\n // consequence, the page will (re)authorize on every load. The\n // workaround is to reload the page to new location without those\n // parameters. If that is not acceptable replaceBrowserHistory\n // should be set to false.\n if (window.history.replaceState) {\n window.history.replaceState({}, \"\", url.href);\n }\n }\n\n // If the state does not exist, it means the page has been loaded directly.\n assert(state, \"No state found! Please (re)launch the app.\");\n\n // Assume the client has already completed a token exchange when\n // there is no code (but we have a state) or access token is found in state\n const authorized = !code || state.tokenResponse?.access_token;\n\n // If we are authorized already, then this is just a reload.\n // Otherwise, we have to complete the code flow\n if (!authorized && state.tokenUri) {\n\n assert(code, \"'code' url parameter is required\");\n\n debug(\"Preparing to exchange the code for access token...\");\n const requestOptions = await buildTokenRequest(env, {\n code,\n state,\n clientPublicKeySetUrl: options.clientPublicKeySetUrl,\n privateKey: options.privateKey || state.clientPrivateJwk\n });\n debug(\"Token request options: %O\", requestOptions);\n\n // The EHR authorization server SHALL return a JSON structure that\n // includes an access token or a message indicating that the\n // authorization request has been denied.\n const tokenResponse = await request(state.tokenUri, requestOptions);\n debug(\"Token response: %O\", tokenResponse);\n assert(tokenResponse.access_token, \"Failed to obtain access token.\");\n\n // Now we need to determine when is this authorization going to expire\n state.expiresAt = getAccessTokenExpiration(tokenResponse, env);\n\n // save the tokenResponse so that we don't have to re-authorize on\n // every page reload\n state = { ...state, tokenResponse };\n await Storage.set(key, state);\n debug(\"Authorization successful!\");\n }\n else {\n debug(state.tokenResponse?.access_token ?\n \"Already authorized\" :\n \"No authorization needed\"\n );\n }\n\n if (fullSessionStorageSupport) {\n await Storage.set(SMART_KEY, key);\n }\n\n const client = new Client(env, state);\n debug(\"Created client instance: %O\", client);\n return client;\n}\n\n/**\n * Builds the token request options. Does not make the request, just\n * creates it's configuration and returns it in a Promise.\n */\nexport async function buildTokenRequest(\n env: fhirclient.Adapter,\n {\n code,\n state,\n clientPublicKeySetUrl,\n privateKey\n }: {\n /**\n * The `code` URL parameter received from the auth redirect\n */\n code: string,\n \n /**\n * The app state\n */\n state: fhirclient.ClientState\n\n /**\n * If provided overrides the `clientPublicKeySetUrl` from the authorize\n * options (if any). Used for `jku` token header in case of asymmetric auth.\n */\n clientPublicKeySetUrl?: string\n\n /**\n * Can be a private JWK, or an object with alg, kid and key properties,\n * where `key` is an un-extractable private CryptoKey object.\n */\n privateKey?: fhirclient.JWK | {\n key: CryptoKey\n alg: \"RS384\" | \"ES384\"\n kid: string\n }\n }\n): Promise\n{\n const { redirectUri, clientSecret, tokenUri, clientId, codeVerifier } = state;\n\n assert(redirectUri, \"Missing state.redirectUri\");\n assert(tokenUri, \"Missing state.tokenUri\");\n assert(clientId, \"Missing state.clientId\");\n\n const requestOptions: Record = {\n method: \"POST\",\n headers: { \"content-type\": \"application/x-www-form-urlencoded\" },\n body: `code=${code}&grant_type=authorization_code&redirect_uri=${\n encodeURIComponent(redirectUri)}`\n };\n\n // For public apps, authentication is not possible (and thus not required),\n // since a client with no secret cannot prove its identity when it issues a\n // call. (The end-to-end system can still be secure because the client comes\n // from a known, https protected endpoint specified and enforced by the\n // redirect uri.) For confidential apps, an Authorization header using HTTP\n // Basic authentication is required, where the username is the app’s\n // client_id and the password is the app’s client_secret (see example).\n if (clientSecret) {\n requestOptions.headers.authorization = \"Basic \" + env.btoa(\n clientId + \":\" + clientSecret\n );\n debug(\n \"Using state.clientSecret to construct the authorization header: %s\",\n requestOptions.headers.authorization\n );\n }\n \n // Asymmetric auth\n else if (privateKey) {\n\n const pk = \"key\" in privateKey ?\n privateKey.key as CryptoKey:\n await env.security.importJWK(privateKey as fhirclient.JWK)\n\n const jwtHeaders = {\n typ: \"JWT\",\n kid: privateKey.kid,\n jku: clientPublicKeySetUrl || state.clientPublicKeySetUrl\n };\n\n const jwtClaims = {\n iss: clientId,\n sub: clientId,\n aud: tokenUri,\n jti: env.base64urlencode(env.security.randomBytes(32)),\n exp: getTimeInFuture(120) // two minutes in the future\n };\n \n const clientAssertion = await env.security.signCompactJws(privateKey.alg, pk, jwtHeaders, jwtClaims);\n requestOptions.body += `&client_assertion_type=${encodeURIComponent(\"urn:ietf:params:oauth:client-assertion-type:jwt-bearer\")}`;\n requestOptions.body += `&client_assertion=${encodeURIComponent(clientAssertion)}`;\n debug(\"Using state.clientPrivateJwk to add a client_assertion to the POST body\")\n }\n \n // Public client\n else {\n debug(\"Public client detected; adding state.clientId to the POST body\");\n requestOptions.body += `&client_id=${encodeURIComponent(clientId)}`;\n }\n\n if (codeVerifier) {\n debug(\"Found state.codeVerifier, adding to the POST body\")\n // Note that the codeVerifier is ALREADY encoded properly \n requestOptions.body += \"&code_verifier=\" + codeVerifier;\n }\n \n return requestOptions as RequestInit;\n}\n\n/**\n * This function can be used when you want to handle everything in one page\n * (no launch endpoint needed). You can think of it as if it does:\n * ```js\n * authorize(options).then(ready)\n * ```\n *\n * **Be careful with init()!** There are some details you need to be aware of:\n *\n * 1. It will only work if your launch_uri is the same as your redirect_uri.\n * While this should be valid, we can’t promise that every EHR will allow you\n * to register client with such settings.\n * 2. Internally, `init()` will be called twice. First it will redirect to the\n * EHR, then the EHR will redirect back to the page where init() will be\n * called again to complete the authorization. This is generally fine,\n * because the returned promise will only be resolved once, after the second\n * execution, but please also consider the following:\n * - You should wrap all your app’s code in a function that is only executed\n * after `init()` resolves!\n * - Since the page will be loaded twice, you must be careful if your code\n * has global side effects that can persist between page reloads\n * (for example writing to localStorage).\n * 3. For standalone launch, only use init in combination with offline_access\n * scope. Once the access_token expires, if you don’t have a refresh_token\n * there is no way to re-authorize properly. We detect that and delete the\n * expired access token, but it still means that the user will have to\n * refresh the page twice to re-authorize.\n * @param env The adapter\n * @param authorizeOptions The authorize options\n */\nexport async function init(\n env: fhirclient.Adapter,\n authorizeOptions: fhirclient.AuthorizeParams,\n readyOptions?: fhirclient.ReadyOptions\n): Promise\n{\n const url = env.getUrl();\n const code = url.searchParams.get(\"code\");\n const state = url.searchParams.get(\"state\");\n\n // if `code` and `state` params are present we need to complete the auth flow\n if (code && state) {\n return ready(env, readyOptions);\n }\n\n // Check for existing client state. If state is found, it means a client\n // instance have already been created in this session and we should try to\n // \"revive\" it.\n const storage = env.getStorage();\n const key = state || await storage.get(SMART_KEY);\n const cached = await storage.get(key);\n if (cached) {\n return new Client(env, cached);\n }\n\n // Otherwise try to launch\n return authorize(env, authorizeOptions).then(() => {\n // `init` promises a Client but that cannot happen in this case. The\n // browser will be redirected (unload the page and be redirected back\n // to it later and the same init function will be called again). On\n // success, authorize will resolve with the redirect url but we don't\n // want to return that from this promise chain because it is not a\n // Client instance. At the same time, if authorize fails, we do want to\n // pass the error to those waiting for a client instance.\n return new Promise(() => { /* leave it pending!!! */ });\n });\n}\n","export default class Storage\n{\n /**\n * Gets the value at `key`. Returns a promise that will be resolved\n * with that value (or undefined for missing keys).\n */\n async get(key: string): Promise\n {\n const value = sessionStorage[key];\n if (value) {\n return JSON.parse(value);\n }\n return null;\n }\n\n /**\n * Sets the `value` on `key` and returns a promise that will be resolved\n * with the value that was set.\n */\n async set(key: string, value: any): Promise\n {\n sessionStorage[key] = JSON.stringify(value);\n return value;\n }\n\n /**\n * Deletes the value at `key`. Returns a promise that will be resolved\n * with true if the key was deleted or with false if it was not (eg. if\n * did not exist).\n */\n async unset(key: string): Promise\n {\n if (key in sessionStorage) {\n delete sessionStorage[key];\n return true;\n }\n return false;\n }\n\n}\n","// This map contains reusable debug messages (only those used in multiple places)\nexport default {\n expired : \"Session expired! Please re-launch the app\",\n noScopeForId : \"Trying to get the ID of the selected %s. Please add 'launch' or 'launch/%s' to the requested scopes and try again.\",\n noIfNoAuth : \"You are trying to get %s but the app is not authorized yet.\",\n noFreeContext: \"Please don't use open fhir servers if you need to access launch context items like the %S.\"\n};\n","/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\nexports.destroy = (() => {\n\tlet warned = false;\n\n\treturn () => {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t\t}\n\t};\n})();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\tlet m;\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)) && parseInt(m[1], 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.debug()` when available.\n * No-op when `console.debug` is not a \"function\".\n * If `console.debug` is not available, falls back\n * to `console.log`.\n *\n * @api public\n */\nexports.log = console.debug || console.log || (() => {});\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug');\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = require('ms');\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tlet i;\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n\t\tconst len = split.length;\n\n\t\tfor (i = 0; i < len; i++) {\n\t\t\tif (!split[i]) {\n\t\t\t\t// ignore empty strings\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tnamespaces = split[i].replace(/\\*/g, '.*?');\n\n\t\t\tif (namespaces[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(new RegExp('^' + namespaces.slice(1) + '$'));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(new RegExp('^' + namespaces + '$'));\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names.map(toNamespace),\n\t\t\t...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tif (name[name.length - 1] === '*') {\n\t\t\treturn true;\n\t\t}\n\n\t\tlet i;\n\t\tlet len;\n\n\t\tfor (i = 0, len = createDebug.skips.length; i < len; i++) {\n\t\t\tif (createDebug.skips[i].test(name)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (i = 0, len = createDebug.names.length; i < len; i++) {\n\t\t\tif (createDebug.names[i].test(name)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Convert regexp to namespace\n\t*\n\t* @param {RegExp} regxep\n\t* @return {String} namespace\n\t* @api private\n\t*/\n\tfunction toNamespace(regexp) {\n\t\treturn regexp.toString()\n\t\t\t.substring(2, regexp.toString().length - 2)\n\t\t\t.replace(/\\.\\*\\?$/, '*');\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n","//\n// THIS FILE IS AUTOMATICALLY GENERATED! DO NOT EDIT BY HAND!\n//\n;\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n ? module.exports = factory()\n : typeof define === 'function' && define.amd\n ? define(factory) :\n // cf. https://github.com/dankogai/js-base64/issues/119\n (function () {\n // existing version for noConflict()\n var _Base64 = global.Base64;\n var gBase64 = factory();\n gBase64.noConflict = function () {\n global.Base64 = _Base64;\n return gBase64;\n };\n if (global.Meteor) { // Meteor.js\n Base64 = gBase64;\n }\n global.Base64 = gBase64;\n })();\n}((typeof self !== 'undefined' ? self\n : typeof window !== 'undefined' ? window\n : typeof global !== 'undefined' ? global\n : this), function () {\n 'use strict';\n /**\n * base64.ts\n *\n * Licensed under the BSD 3-Clause License.\n * http://opensource.org/licenses/BSD-3-Clause\n *\n * References:\n * http://en.wikipedia.org/wiki/Base64\n *\n * @author Dan Kogai (https://github.com/dankogai)\n */\n var version = '3.7.7';\n /**\n * @deprecated use lowercase `version`.\n */\n var VERSION = version;\n var _hasBuffer = typeof Buffer === 'function';\n var _TD = typeof TextDecoder === 'function' ? new TextDecoder() : undefined;\n var _TE = typeof TextEncoder === 'function' ? new TextEncoder() : undefined;\n var b64ch = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n var b64chs = Array.prototype.slice.call(b64ch);\n var b64tab = (function (a) {\n var tab = {};\n a.forEach(function (c, i) { return tab[c] = i; });\n return tab;\n })(b64chs);\n var b64re = /^(?:[A-Za-z\\d+\\/]{4})*?(?:[A-Za-z\\d+\\/]{2}(?:==)?|[A-Za-z\\d+\\/]{3}=?)?$/;\n var _fromCC = String.fromCharCode.bind(String);\n var _U8Afrom = typeof Uint8Array.from === 'function'\n ? Uint8Array.from.bind(Uint8Array)\n : function (it) { return new Uint8Array(Array.prototype.slice.call(it, 0)); };\n var _mkUriSafe = function (src) { return src\n .replace(/=/g, '').replace(/[+\\/]/g, function (m0) { return m0 == '+' ? '-' : '_'; }); };\n var _tidyB64 = function (s) { return s.replace(/[^A-Za-z0-9\\+\\/]/g, ''); };\n /**\n * polyfill version of `btoa`\n */\n var btoaPolyfill = function (bin) {\n // console.log('polyfilled');\n var u32, c0, c1, c2, asc = '';\n var pad = bin.length % 3;\n for (var i = 0; i < bin.length;) {\n if ((c0 = bin.charCodeAt(i++)) > 255 ||\n (c1 = bin.charCodeAt(i++)) > 255 ||\n (c2 = bin.charCodeAt(i++)) > 255)\n throw new TypeError('invalid character found');\n u32 = (c0 << 16) | (c1 << 8) | c2;\n asc += b64chs[u32 >> 18 & 63]\n + b64chs[u32 >> 12 & 63]\n + b64chs[u32 >> 6 & 63]\n + b64chs[u32 & 63];\n }\n return pad ? asc.slice(0, pad - 3) + \"===\".substring(pad) : asc;\n };\n /**\n * does what `window.btoa` of web browsers do.\n * @param {String} bin binary string\n * @returns {string} Base64-encoded string\n */\n var _btoa = typeof btoa === 'function' ? function (bin) { return btoa(bin); }\n : _hasBuffer ? function (bin) { return Buffer.from(bin, 'binary').toString('base64'); }\n : btoaPolyfill;\n var _fromUint8Array = _hasBuffer\n ? function (u8a) { return Buffer.from(u8a).toString('base64'); }\n : function (u8a) {\n // cf. https://stackoverflow.com/questions/12710001/how-to-convert-uint8-array-to-base64-encoded-string/12713326#12713326\n var maxargs = 0x1000;\n var strs = [];\n for (var i = 0, l = u8a.length; i < l; i += maxargs) {\n strs.push(_fromCC.apply(null, u8a.subarray(i, i + maxargs)));\n }\n return _btoa(strs.join(''));\n };\n /**\n * converts a Uint8Array to a Base64 string.\n * @param {boolean} [urlsafe] URL-and-filename-safe a la RFC4648 §5\n * @returns {string} Base64 string\n */\n var fromUint8Array = function (u8a, urlsafe) {\n if (urlsafe === void 0) { urlsafe = false; }\n return urlsafe ? _mkUriSafe(_fromUint8Array(u8a)) : _fromUint8Array(u8a);\n };\n // This trick is found broken https://github.com/dankogai/js-base64/issues/130\n // const utob = (src: string) => unescape(encodeURIComponent(src));\n // reverting good old fationed regexp\n var cb_utob = function (c) {\n if (c.length < 2) {\n var cc = c.charCodeAt(0);\n return cc < 0x80 ? c\n : cc < 0x800 ? (_fromCC(0xc0 | (cc >>> 6))\n + _fromCC(0x80 | (cc & 0x3f)))\n : (_fromCC(0xe0 | ((cc >>> 12) & 0x0f))\n + _fromCC(0x80 | ((cc >>> 6) & 0x3f))\n + _fromCC(0x80 | (cc & 0x3f)));\n }\n else {\n var cc = 0x10000\n + (c.charCodeAt(0) - 0xD800) * 0x400\n + (c.charCodeAt(1) - 0xDC00);\n return (_fromCC(0xf0 | ((cc >>> 18) & 0x07))\n + _fromCC(0x80 | ((cc >>> 12) & 0x3f))\n + _fromCC(0x80 | ((cc >>> 6) & 0x3f))\n + _fromCC(0x80 | (cc & 0x3f)));\n }\n };\n var re_utob = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFFF]|[^\\x00-\\x7F]/g;\n /**\n * @deprecated should have been internal use only.\n * @param {string} src UTF-8 string\n * @returns {string} UTF-16 string\n */\n var utob = function (u) { return u.replace(re_utob, cb_utob); };\n //\n var _encode = _hasBuffer\n ? function (s) { return Buffer.from(s, 'utf8').toString('base64'); }\n : _TE\n ? function (s) { return _fromUint8Array(_TE.encode(s)); }\n : function (s) { return _btoa(utob(s)); };\n /**\n * converts a UTF-8-encoded string to a Base64 string.\n * @param {boolean} [urlsafe] if `true` make the result URL-safe\n * @returns {string} Base64 string\n */\n var encode = function (src, urlsafe) {\n if (urlsafe === void 0) { urlsafe = false; }\n return urlsafe\n ? _mkUriSafe(_encode(src))\n : _encode(src);\n };\n /**\n * converts a UTF-8-encoded string to URL-safe Base64 RFC4648 §5.\n * @returns {string} Base64 string\n */\n var encodeURI = function (src) { return encode(src, true); };\n // This trick is found broken https://github.com/dankogai/js-base64/issues/130\n // const btou = (src: string) => decodeURIComponent(escape(src));\n // reverting good old fationed regexp\n var re_btou = /[\\xC0-\\xDF][\\x80-\\xBF]|[\\xE0-\\xEF][\\x80-\\xBF]{2}|[\\xF0-\\xF7][\\x80-\\xBF]{3}/g;\n var cb_btou = function (cccc) {\n switch (cccc.length) {\n case 4:\n var cp = ((0x07 & cccc.charCodeAt(0)) << 18)\n | ((0x3f & cccc.charCodeAt(1)) << 12)\n | ((0x3f & cccc.charCodeAt(2)) << 6)\n | (0x3f & cccc.charCodeAt(3)), offset = cp - 0x10000;\n return (_fromCC((offset >>> 10) + 0xD800)\n + _fromCC((offset & 0x3FF) + 0xDC00));\n case 3:\n return _fromCC(((0x0f & cccc.charCodeAt(0)) << 12)\n | ((0x3f & cccc.charCodeAt(1)) << 6)\n | (0x3f & cccc.charCodeAt(2)));\n default:\n return _fromCC(((0x1f & cccc.charCodeAt(0)) << 6)\n | (0x3f & cccc.charCodeAt(1)));\n }\n };\n /**\n * @deprecated should have been internal use only.\n * @param {string} src UTF-16 string\n * @returns {string} UTF-8 string\n */\n var btou = function (b) { return b.replace(re_btou, cb_btou); };\n /**\n * polyfill version of `atob`\n */\n var atobPolyfill = function (asc) {\n // console.log('polyfilled');\n asc = asc.replace(/\\s+/g, '');\n if (!b64re.test(asc))\n throw new TypeError('malformed base64.');\n asc += '=='.slice(2 - (asc.length & 3));\n var u24, bin = '', r1, r2;\n for (var i = 0; i < asc.length;) {\n u24 = b64tab[asc.charAt(i++)] << 18\n | b64tab[asc.charAt(i++)] << 12\n | (r1 = b64tab[asc.charAt(i++)]) << 6\n | (r2 = b64tab[asc.charAt(i++)]);\n bin += r1 === 64 ? _fromCC(u24 >> 16 & 255)\n : r2 === 64 ? _fromCC(u24 >> 16 & 255, u24 >> 8 & 255)\n : _fromCC(u24 >> 16 & 255, u24 >> 8 & 255, u24 & 255);\n }\n return bin;\n };\n /**\n * does what `window.atob` of web browsers do.\n * @param {String} asc Base64-encoded string\n * @returns {string} binary string\n */\n var _atob = typeof atob === 'function' ? function (asc) { return atob(_tidyB64(asc)); }\n : _hasBuffer ? function (asc) { return Buffer.from(asc, 'base64').toString('binary'); }\n : atobPolyfill;\n //\n var _toUint8Array = _hasBuffer\n ? function (a) { return _U8Afrom(Buffer.from(a, 'base64')); }\n : function (a) { return _U8Afrom(_atob(a).split('').map(function (c) { return c.charCodeAt(0); })); };\n /**\n * converts a Base64 string to a Uint8Array.\n */\n var toUint8Array = function (a) { return _toUint8Array(_unURI(a)); };\n //\n var _decode = _hasBuffer\n ? function (a) { return Buffer.from(a, 'base64').toString('utf8'); }\n : _TD\n ? function (a) { return _TD.decode(_toUint8Array(a)); }\n : function (a) { return btou(_atob(a)); };\n var _unURI = function (a) { return _tidyB64(a.replace(/[-_]/g, function (m0) { return m0 == '-' ? '+' : '/'; })); };\n /**\n * converts a Base64 string to a UTF-8 string.\n * @param {String} src Base64 string. Both normal and URL-safe are supported\n * @returns {string} UTF-8 string\n */\n var decode = function (src) { return _decode(_unURI(src)); };\n /**\n * check if a value is a valid Base64 string\n * @param {String} src a value to check\n */\n var isValid = function (src) {\n if (typeof src !== 'string')\n return false;\n var s = src.replace(/\\s+/g, '').replace(/={0,2}$/, '');\n return !/[^\\s0-9a-zA-Z\\+/]/.test(s) || !/[^\\s0-9a-zA-Z\\-_]/.test(s);\n };\n //\n var _noEnum = function (v) {\n return {\n value: v, enumerable: false, writable: true, configurable: true\n };\n };\n /**\n * extend String.prototype with relevant methods\n */\n var extendString = function () {\n var _add = function (name, body) { return Object.defineProperty(String.prototype, name, _noEnum(body)); };\n _add('fromBase64', function () { return decode(this); });\n _add('toBase64', function (urlsafe) { return encode(this, urlsafe); });\n _add('toBase64URI', function () { return encode(this, true); });\n _add('toBase64URL', function () { return encode(this, true); });\n _add('toUint8Array', function () { return toUint8Array(this); });\n };\n /**\n * extend Uint8Array.prototype with relevant methods\n */\n var extendUint8Array = function () {\n var _add = function (name, body) { return Object.defineProperty(Uint8Array.prototype, name, _noEnum(body)); };\n _add('toBase64', function (urlsafe) { return fromUint8Array(this, urlsafe); });\n _add('toBase64URI', function () { return fromUint8Array(this, true); });\n _add('toBase64URL', function () { return fromUint8Array(this, true); });\n };\n /**\n * extend Builtin prototypes with relevant methods\n */\n var extendBuiltins = function () {\n extendString();\n extendUint8Array();\n };\n var gBase64 = {\n version: version,\n VERSION: VERSION,\n atob: _atob,\n atobPolyfill: atobPolyfill,\n btoa: _btoa,\n btoaPolyfill: btoaPolyfill,\n fromBase64: decode,\n toBase64: encode,\n encode: encode,\n encodeURI: encodeURI,\n encodeURL: encodeURI,\n utob: utob,\n btou: btou,\n decode: decode,\n isValid: isValid,\n fromUint8Array: fromUint8Array,\n toUint8Array: toUint8Array,\n extendString: extendString,\n extendUint8Array: extendUint8Array,\n extendBuiltins: extendBuiltins\n };\n //\n // export Base64 to the namespace\n //\n // ES5 is yet to have Object.assign() that may make transpilers unhappy.\n // gBase64.Base64 = Object.assign({}, gBase64);\n gBase64.Base64 = {};\n Object.keys(gBase64).forEach(function (k) { return gBase64.Base64[k] = gBase64[k]; });\n return gBase64;\n}));\n","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function(val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isFinite(val)) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'weeks':\n case 'week':\n case 'w':\n return n * w;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (msAbs >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (msAbs >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (msAbs >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return plural(ms, msAbs, d, 'day');\n }\n if (msAbs >= h) {\n return plural(ms, msAbs, h, 'hour');\n }\n if (msAbs >= m) {\n return plural(ms, msAbs, m, 'minute');\n }\n if (msAbs >= s) {\n return plural(ms, msAbs, s, 'second');\n }\n return ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, msAbs, n, name) {\n var isPlural = msAbs >= n * 1.5;\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\n","import './webcrypto-shim.mjs'\nexport default window.crypto\n","/**\n * @file Web Cryptography API shim\n * @author Artem S Vybornov \n * @license MIT\n */\n(function (global, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define([], function () {\n return factory(global);\n });\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports\n module.exports = factory(global);\n } else {\n factory(global);\n }\n}(typeof self !== 'undefined' ? self : this, function (global) {\n 'use strict';\n\n if ( typeof Promise !== 'function' )\n throw \"Promise support required\";\n\n var _crypto = global.crypto || global.msCrypto;\n if ( !_crypto ) return;\n\n var _subtle = _crypto.subtle || _crypto.webkitSubtle;\n if ( !_subtle ) return;\n\n var _Crypto = global.Crypto || _crypto.constructor || Object,\n _SubtleCrypto = global.SubtleCrypto || _subtle.constructor || Object,\n _CryptoKey = global.CryptoKey || global.Key || Object;\n\n var isEdge = global.navigator.userAgent.indexOf('Edge/') > -1;\n var isIE = !!global.msCrypto && !isEdge;\n var isWebkit = !_crypto.subtle && !!_crypto.webkitSubtle;\n if ( !isIE && !isWebkit ) return;\n\n function s2a ( s ) {\n return btoa(s).replace(/\\=+$/, '').replace(/\\+/g, '-').replace(/\\//g, '_');\n }\n\n function a2s ( s ) {\n s += '===', s = s.slice( 0, -s.length % 4 );\n return atob( s.replace(/-/g, '+').replace(/_/g, '/') );\n }\n\n function s2b ( s ) {\n var b = new Uint8Array(s.length);\n for ( var i = 0; i < s.length; i++ ) b[i] = s.charCodeAt(i);\n return b;\n }\n\n function b2s ( b ) {\n if ( b instanceof ArrayBuffer ) b = new Uint8Array(b);\n return String.fromCharCode.apply( String, b );\n }\n\n function alg ( a ) {\n var r = { 'name': (a.name || a || '').toUpperCase().replace('V','v') };\n switch ( r.name ) {\n case 'SHA-1':\n case 'SHA-256':\n case 'SHA-384':\n case 'SHA-512':\n break;\n case 'AES-CBC':\n case 'AES-GCM':\n case 'AES-KW':\n if ( a.length ) r['length'] = a.length;\n break;\n case 'HMAC':\n if ( a.hash ) r['hash'] = alg(a.hash);\n if ( a.length ) r['length'] = a.length;\n break;\n case 'RSAES-PKCS1-v1_5':\n if ( a.publicExponent ) r['publicExponent'] = new Uint8Array(a.publicExponent);\n if ( a.modulusLength ) r['modulusLength'] = a.modulusLength;\n break;\n case 'RSASSA-PKCS1-v1_5':\n case 'RSA-OAEP':\n if ( a.hash ) r['hash'] = alg(a.hash);\n if ( a.publicExponent ) r['publicExponent'] = new Uint8Array(a.publicExponent);\n if ( a.modulusLength ) r['modulusLength'] = a.modulusLength;\n break;\n default:\n throw new SyntaxError(\"Bad algorithm name\");\n }\n return r;\n };\n\n function jwkAlg ( a ) {\n return {\n 'HMAC': {\n 'SHA-1': 'HS1',\n 'SHA-256': 'HS256',\n 'SHA-384': 'HS384',\n 'SHA-512': 'HS512',\n },\n 'RSASSA-PKCS1-v1_5': {\n 'SHA-1': 'RS1',\n 'SHA-256': 'RS256',\n 'SHA-384': 'RS384',\n 'SHA-512': 'RS512',\n },\n 'RSAES-PKCS1-v1_5': {\n '': 'RSA1_5',\n },\n 'RSA-OAEP': {\n 'SHA-1': 'RSA-OAEP',\n 'SHA-256': 'RSA-OAEP-256',\n },\n 'AES-KW': {\n '128': 'A128KW',\n '192': 'A192KW',\n '256': 'A256KW',\n },\n 'AES-GCM': {\n '128': 'A128GCM',\n '192': 'A192GCM',\n '256': 'A256GCM',\n },\n 'AES-CBC': {\n '128': 'A128CBC',\n '192': 'A192CBC',\n '256': 'A256CBC',\n },\n }[a.name][ ( a.hash || {} ).name || a.length || '' ];\n }\n\n function b2jwk ( k ) {\n if ( k instanceof ArrayBuffer || k instanceof Uint8Array ) k = JSON.parse( decodeURIComponent( escape( b2s(k) ) ) );\n var jwk = { 'kty': k.kty, 'alg': k.alg, 'ext': k.ext || k.extractable };\n switch ( jwk.kty ) {\n case 'oct':\n jwk.k = k.k;\n case 'RSA':\n [ 'n', 'e', 'd', 'p', 'q', 'dp', 'dq', 'qi', 'oth' ].forEach( function ( x ) { if ( x in k ) jwk[x] = k[x] } );\n break;\n default:\n throw new TypeError(\"Unsupported key type\");\n }\n return jwk;\n }\n\n function jwk2b ( k ) {\n var jwk = b2jwk(k);\n if ( isIE ) jwk['extractable'] = jwk.ext, delete jwk.ext;\n return s2b( unescape( encodeURIComponent( JSON.stringify(jwk) ) ) ).buffer;\n }\n\n function pkcs2jwk ( k ) {\n var info = b2der(k), prv = false;\n if ( info.length > 2 ) prv = true, info.shift(); // remove version from PKCS#8 PrivateKeyInfo structure\n var jwk = { 'ext': true };\n switch ( info[0][0] ) {\n case '1.2.840.113549.1.1.1':\n var rsaComp = [ 'n', 'e', 'd', 'p', 'q', 'dp', 'dq', 'qi' ],\n rsaKey = b2der( info[1] );\n if ( prv ) rsaKey.shift(); // remove version from PKCS#1 RSAPrivateKey structure\n for ( var i = 0; i < rsaKey.length; i++ ) {\n if ( !rsaKey[i][0] ) rsaKey[i] = rsaKey[i].subarray(1);\n jwk[ rsaComp[i] ] = s2a( b2s( rsaKey[i] ) );\n }\n jwk['kty'] = 'RSA';\n break;\n default:\n throw new TypeError(\"Unsupported key type\");\n }\n return jwk;\n }\n\n function jwk2pkcs ( k ) {\n var key, info = [ [ '', null ] ], prv = false;\n switch ( k.kty ) {\n case 'RSA':\n var rsaComp = [ 'n', 'e', 'd', 'p', 'q', 'dp', 'dq', 'qi' ],\n rsaKey = [];\n for ( var i = 0; i < rsaComp.length; i++ ) {\n if ( !( rsaComp[i] in k ) ) break;\n var b = rsaKey[i] = s2b( a2s( k[ rsaComp[i] ] ) );\n if ( b[0] & 0x80 ) rsaKey[i] = new Uint8Array(b.length + 1), rsaKey[i].set( b, 1 );\n }\n if ( rsaKey.length > 2 ) prv = true, rsaKey.unshift( new Uint8Array([0]) ); // add version to PKCS#1 RSAPrivateKey structure\n info[0][0] = '1.2.840.113549.1.1.1';\n key = rsaKey;\n break;\n default:\n throw new TypeError(\"Unsupported key type\");\n }\n info.push( new Uint8Array( der2b(key) ).buffer );\n if ( !prv ) info[1] = { 'tag': 0x03, 'value': info[1] };\n else info.unshift( new Uint8Array([0]) ); // add version to PKCS#8 PrivateKeyInfo structure\n return new Uint8Array( der2b(info) ).buffer;\n }\n\n var oid2str = { 'KoZIhvcNAQEB': '1.2.840.113549.1.1.1' },\n str2oid = { '1.2.840.113549.1.1.1': 'KoZIhvcNAQEB' };\n\n function b2der ( buf, ctx ) {\n if ( buf instanceof ArrayBuffer ) buf = new Uint8Array(buf);\n if ( !ctx ) ctx = { pos: 0, end: buf.length };\n\n if ( ctx.end - ctx.pos < 2 || ctx.end > buf.length ) throw new RangeError(\"Malformed DER\");\n\n var tag = buf[ctx.pos++],\n len = buf[ctx.pos++];\n\n if ( len >= 0x80 ) {\n len &= 0x7f;\n if ( ctx.end - ctx.pos < len ) throw new RangeError(\"Malformed DER\");\n for ( var xlen = 0; len--; ) xlen <<= 8, xlen |= buf[ctx.pos++];\n len = xlen;\n }\n\n if ( ctx.end - ctx.pos < len ) throw new RangeError(\"Malformed DER\");\n\n var rv;\n\n switch ( tag ) {\n case 0x02: // Universal Primitive INTEGER\n rv = buf.subarray( ctx.pos, ctx.pos += len );\n break;\n case 0x03: // Universal Primitive BIT STRING\n if ( buf[ctx.pos++] ) throw new Error( \"Unsupported bit string\" );\n len--;\n case 0x04: // Universal Primitive OCTET STRING\n rv = new Uint8Array( buf.subarray( ctx.pos, ctx.pos += len ) ).buffer;\n break;\n case 0x05: // Universal Primitive NULL\n rv = null;\n break;\n case 0x06: // Universal Primitive OBJECT IDENTIFIER\n var oid = btoa( b2s( buf.subarray( ctx.pos, ctx.pos += len ) ) );\n if ( !( oid in oid2str ) ) throw new Error( \"Unsupported OBJECT ID \" + oid );\n rv = oid2str[oid];\n break;\n case 0x30: // Universal Constructed SEQUENCE\n rv = [];\n for ( var end = ctx.pos + len; ctx.pos < end; ) rv.push( b2der( buf, ctx ) );\n break;\n default:\n throw new Error( \"Unsupported DER tag 0x\" + tag.toString(16) );\n }\n\n return rv;\n }\n\n function der2b ( val, buf ) {\n if ( !buf ) buf = [];\n\n var tag = 0, len = 0,\n pos = buf.length + 2;\n\n buf.push( 0, 0 ); // placeholder\n\n if ( val instanceof Uint8Array ) { // Universal Primitive INTEGER\n tag = 0x02, len = val.length;\n for ( var i = 0; i < len; i++ ) buf.push( val[i] );\n }\n else if ( val instanceof ArrayBuffer ) { // Universal Primitive OCTET STRING\n tag = 0x04, len = val.byteLength, val = new Uint8Array(val);\n for ( var i = 0; i < len; i++ ) buf.push( val[i] );\n }\n else if ( val === null ) { // Universal Primitive NULL\n tag = 0x05, len = 0;\n }\n else if ( typeof val === 'string' && val in str2oid ) { // Universal Primitive OBJECT IDENTIFIER\n var oid = s2b( atob( str2oid[val] ) );\n tag = 0x06, len = oid.length;\n for ( var i = 0; i < len; i++ ) buf.push( oid[i] );\n }\n else if ( val instanceof Array ) { // Universal Constructed SEQUENCE\n for ( var i = 0; i < val.length; i++ ) der2b( val[i], buf );\n tag = 0x30, len = buf.length - pos;\n }\n else if ( typeof val === 'object' && val.tag === 0x03 && val.value instanceof ArrayBuffer ) { // Tag hint\n val = new Uint8Array(val.value), tag = 0x03, len = val.byteLength;\n buf.push(0); for ( var i = 0; i < len; i++ ) buf.push( val[i] );\n len++;\n }\n else {\n throw new Error( \"Unsupported DER value \" + val );\n }\n\n if ( len >= 0x80 ) {\n var xlen = len, len = 4;\n buf.splice( pos, 0, (xlen >> 24) & 0xff, (xlen >> 16) & 0xff, (xlen >> 8) & 0xff, xlen & 0xff );\n while ( len > 1 && !(xlen >> 24) ) xlen <<= 8, len--;\n if ( len < 4 ) buf.splice( pos, 4 - len );\n len |= 0x80;\n }\n\n buf.splice( pos - 2, 2, tag, len );\n\n return buf;\n }\n\n function CryptoKey ( key, alg, ext, use ) {\n Object.defineProperties( this, {\n _key: {\n value: key\n },\n type: {\n value: key.type,\n enumerable: true,\n },\n extractable: {\n value: (ext === undefined) ? key.extractable : ext,\n enumerable: true,\n },\n algorithm: {\n value: (alg === undefined) ? key.algorithm : alg,\n enumerable: true,\n },\n usages: {\n value: (use === undefined) ? key.usages : use,\n enumerable: true,\n },\n });\n }\n\n function isPubKeyUse ( u ) {\n return u === 'verify' || u === 'encrypt' || u === 'wrapKey';\n }\n\n function isPrvKeyUse ( u ) {\n return u === 'sign' || u === 'decrypt' || u === 'unwrapKey';\n }\n\n [ 'generateKey', 'importKey', 'unwrapKey' ]\n .forEach( function ( m ) {\n var _fn = _subtle[m];\n\n _subtle[m] = function ( a, b, c ) {\n var args = [].slice.call(arguments),\n ka, kx, ku;\n\n switch ( m ) {\n case 'generateKey':\n ka = alg(a), kx = b, ku = c;\n break;\n case 'importKey':\n ka = alg(c), kx = args[3], ku = args[4];\n if ( a === 'jwk' ) {\n b = b2jwk(b);\n if ( !b.alg ) b.alg = jwkAlg(ka);\n if ( !b.key_ops ) b.key_ops = ( b.kty !== 'oct' ) ? ( 'd' in b ) ? ku.filter(isPrvKeyUse) : ku.filter(isPubKeyUse) : ku.slice();\n args[1] = jwk2b(b);\n }\n break;\n case 'unwrapKey':\n ka = args[4], kx = args[5], ku = args[6];\n args[2] = c._key;\n break;\n }\n\n if ( m === 'generateKey' && ka.name === 'HMAC' && ka.hash ) {\n ka.length = ka.length || { 'SHA-1': 512, 'SHA-256': 512, 'SHA-384': 1024, 'SHA-512': 1024 }[ka.hash.name];\n return _subtle.importKey( 'raw', _crypto.getRandomValues( new Uint8Array( (ka.length+7)>>3 ) ), ka, kx, ku );\n }\n\n if ( isWebkit && m === 'generateKey' && ka.name === 'RSASSA-PKCS1-v1_5' && ( !ka.modulusLength || ka.modulusLength >= 2048 ) ) {\n a = alg(a), a.name = 'RSAES-PKCS1-v1_5', delete a.hash;\n return _subtle.generateKey( a, true, [ 'encrypt', 'decrypt' ] )\n .then( function ( k ) {\n return Promise.all([\n _subtle.exportKey( 'jwk', k.publicKey ),\n _subtle.exportKey( 'jwk', k.privateKey ),\n ]);\n })\n .then( function ( keys ) {\n keys[0].alg = keys[1].alg = jwkAlg(ka);\n keys[0].key_ops = ku.filter(isPubKeyUse), keys[1].key_ops = ku.filter(isPrvKeyUse);\n return Promise.all([\n _subtle.importKey( 'jwk', keys[0], ka, true, keys[0].key_ops ),\n _subtle.importKey( 'jwk', keys[1], ka, kx, keys[1].key_ops ),\n ]);\n })\n .then( function ( keys ) {\n return {\n publicKey: keys[0],\n privateKey: keys[1],\n };\n });\n }\n\n if ( ( isWebkit || ( isIE && ( ka.hash || {} ).name === 'SHA-1' ) )\n && m === 'importKey' && a === 'jwk' && ka.name === 'HMAC' && b.kty === 'oct' ) {\n return _subtle.importKey( 'raw', s2b( a2s(b.k) ), c, args[3], args[4] );\n }\n\n if ( isWebkit && m === 'importKey' && ( a === 'spki' || a === 'pkcs8' ) ) {\n return _subtle.importKey( 'jwk', pkcs2jwk(b), c, args[3], args[4] );\n }\n\n if ( isIE && m === 'unwrapKey' ) {\n return _subtle.decrypt( args[3], c, b )\n .then( function ( k ) {\n return _subtle.importKey( a, k, args[4], args[5], args[6] );\n });\n }\n\n var op;\n try {\n op = _fn.apply( _subtle, args );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n if ( isIE ) {\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) { rej(e) };\n op.oncomplete = function ( r ) { res(r.target.result) };\n });\n }\n\n op = op.then( function ( k ) {\n if ( ka.name === 'HMAC' ) {\n if ( !ka.length ) ka.length = 8 * k.algorithm.length;\n }\n if ( ka.name.search('RSA') == 0 ) {\n if ( !ka.modulusLength ) ka.modulusLength = (k.publicKey || k).algorithm.modulusLength;\n if ( !ka.publicExponent ) ka.publicExponent = (k.publicKey || k).algorithm.publicExponent;\n }\n if ( k.publicKey && k.privateKey ) {\n k = {\n publicKey: new CryptoKey( k.publicKey, ka, kx, ku.filter(isPubKeyUse) ),\n privateKey: new CryptoKey( k.privateKey, ka, kx, ku.filter(isPrvKeyUse) ),\n };\n }\n else {\n k = new CryptoKey( k, ka, kx, ku );\n }\n return k;\n });\n\n return op;\n }\n });\n\n [ 'exportKey', 'wrapKey' ]\n .forEach( function ( m ) {\n var _fn = _subtle[m];\n\n _subtle[m] = function ( a, b, c ) {\n var args = [].slice.call(arguments);\n\n switch ( m ) {\n case 'exportKey':\n args[1] = b._key;\n break;\n case 'wrapKey':\n args[1] = b._key, args[2] = c._key;\n break;\n }\n\n if ( ( isWebkit || ( isIE && ( b.algorithm.hash || {} ).name === 'SHA-1' ) )\n && m === 'exportKey' && a === 'jwk' && b.algorithm.name === 'HMAC' ) {\n args[0] = 'raw';\n }\n\n if ( isWebkit && m === 'exportKey' && ( a === 'spki' || a === 'pkcs8' ) ) {\n args[0] = 'jwk';\n }\n\n if ( isIE && m === 'wrapKey' ) {\n return _subtle.exportKey( a, b )\n .then( function ( k ) {\n if ( a === 'jwk' ) k = s2b( unescape( encodeURIComponent( JSON.stringify( b2jwk(k) ) ) ) );\n return _subtle.encrypt( args[3], c, k );\n });\n }\n\n var op;\n try {\n op = _fn.apply( _subtle, args );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n if ( isIE ) {\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) { rej(e) };\n op.oncomplete = function ( r ) { res(r.target.result) };\n });\n }\n\n if ( m === 'exportKey' && a === 'jwk' ) {\n op = op.then( function ( k ) {\n if ( ( isWebkit || ( isIE && ( b.algorithm.hash || {} ).name === 'SHA-1' ) )\n && b.algorithm.name === 'HMAC') {\n return { 'kty': 'oct', 'alg': jwkAlg(b.algorithm), 'key_ops': b.usages.slice(), 'ext': true, 'k': s2a( b2s(k) ) };\n }\n k = b2jwk(k);\n if ( !k.alg ) k['alg'] = jwkAlg(b.algorithm);\n if ( !k.key_ops ) k['key_ops'] = ( b.type === 'public' ) ? b.usages.filter(isPubKeyUse) : ( b.type === 'private' ) ? b.usages.filter(isPrvKeyUse) : b.usages.slice();\n return k;\n });\n }\n\n if ( isWebkit && m === 'exportKey' && ( a === 'spki' || a === 'pkcs8' ) ) {\n op = op.then( function ( k ) {\n k = jwk2pkcs( b2jwk(k) );\n return k;\n });\n }\n\n return op;\n }\n });\n\n [ 'encrypt', 'decrypt', 'sign', 'verify' ]\n .forEach( function ( m ) {\n var _fn = _subtle[m];\n\n _subtle[m] = function ( a, b, c, d ) {\n if ( isIE && ( !c.byteLength || ( d && !d.byteLength ) ) )\n throw new Error(\"Empy input is not allowed\");\n\n var args = [].slice.call(arguments),\n ka = alg(a);\n\n if ( isIE && m === 'decrypt' && ka.name === 'AES-GCM' ) {\n var tl = a.tagLength >> 3;\n args[2] = (c.buffer || c).slice( 0, c.byteLength - tl ),\n a.tag = (c.buffer || c).slice( c.byteLength - tl );\n }\n\n args[1] = b._key;\n\n var op;\n try {\n op = _fn.apply( _subtle, args );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n if ( isIE ) {\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) {\n rej(e);\n };\n\n op.oncomplete = function ( r ) {\n var r = r.target.result;\n\n if ( m === 'encrypt' && r instanceof AesGcmEncryptResult ) {\n var c = r.ciphertext, t = r.tag;\n r = new Uint8Array( c.byteLength + t.byteLength );\n r.set( new Uint8Array(c), 0 );\n r.set( new Uint8Array(t), c.byteLength );\n r = r.buffer;\n }\n\n res(r);\n };\n });\n }\n\n return op;\n }\n });\n\n if ( isIE ) {\n var _digest = _subtle.digest;\n\n _subtle['digest'] = function ( a, b ) {\n if ( !b.byteLength )\n throw new Error(\"Empy input is not allowed\");\n\n var op;\n try {\n op = _digest.call( _subtle, a, b );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) { rej(e) };\n op.oncomplete = function ( r ) { res(r.target.result) };\n });\n\n return op;\n };\n\n global.crypto = Object.create( _crypto, {\n getRandomValues: { value: function ( a ) { return _crypto.getRandomValues(a) } },\n subtle: { value: _subtle },\n });\n\n global.CryptoKey = CryptoKey;\n }\n\n if ( isWebkit ) {\n _crypto.subtle = _subtle;\n\n global.Crypto = _Crypto;\n global.SubtleCrypto = _SubtleCrypto;\n global.CryptoKey = CryptoKey;\n }\n}));\n\n export default {} // section modified by isomorphic-webcrypto build \n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(\"./src/entry/browser.ts\");\n",""],"names":["lib_1","require","strings_1","settings_1","Response","FHIRCLIENT_PURE","window","debug","extend","contextualize","requestOptions","client","base","absolute","state","serverUrl","contextualURL","_url","resourceType","pathname","split","pop","assert","patientCompartment","indexOf","conformance","fetchConformanceStatement","searchParam","getPatientParam","searchParams","set","patient","id","href","URL","url","getRef","refId","cache","signal","headers","request","then","res","error","Promise","resolve","resolveRef","obj","path","graph","node","getPath","isArray","Array","all","makeArray","filter","Boolean","map","item","i","ref","reference","sub","setPath","replace","catch","ex","status","resolveRefs","fhirOptions","paths","resolveReferences","String","trim","p","index","length","groups","forEach","len","push","task","Object","keys","sort","group","Client","constructor","environment","units","_state","match","_refreshTask","getPatientId","read","reject","Error","options","encounter","getEncounterId","user","fhirUser","getFhirUser","getUserId","getUserType","connect","fhir","fhirJs","baseUrl","accessToken","getState","auth","token","username","password","pass","api","patientId","tokenResponse","scope","default","noScopeForId","authorizeUri","noIfNoAuth","noFreeContext","getIdToken","idToken","id_token","hasOpenid","hasProfile","hasFhirUser","jwtDecode","slice","join","profile","getAuthorizationHeader","btoa","_clearState","storage","getStorage","key","get","SMART_KEY","unset","create","resource","method","body","JSON","stringify","update","delete","patch","assertJsonPatch","_resolvedRefs","debugRequest","flat","pageLimit","_a","useRefreshToken","onPage","undefined","job","refreshIfNeeded","response","authHeader","authorization","result","includeResponse","message","expired","data","_data","entry","links","link","next","find","l","relation","nextPage","assign","references","concat","refreshToken","expiresAt","Date","now","refresh","debugRefresh","_b","refresh_token","tokenUri","scopes","hasOfflineAccess","search","hasOnlineAccess","encodeURIComponent","refreshTokenWithClientId","clientId","refreshRequestOptions","credentials","refreshTokenWithCredentials","mode","clientSecret","access_token","getAccessTokenExpiration","finally","byCode","observations","property","byCodes","getFhirVersion","metadata","fhirVersion","getFhirRelease","v","fhirVersions","exports","HttpError","statusText","name","statusCode","parse","bodyUsed","type","json","error_description","text","toJSON","smart_1","Client_1","BrowserStorage_1","security","js_base64_1","BrowserAdapter","_storage","replaceBrowserHistory","fullSessionStorageSupport","relative","getUrl","location","redirect","to","getAbortController","AbortController","atob","str","base64urlencode","input","encodeURL","fromUint8Array","base64urldecode","decode","getSmartApi","ready","args","authorize","init","utils","BrowserAdapter_1","adapter","fetch","Headers","Request","FHIR","oauth2","settings","module","HttpError_1","_debug","cm","code","value","ensureNumerical","kg","any","pq","checkResponse","resp","ok","responseToJSON","loweCaseKeys","out","lowerKey","toLowerCase","accept","getAndCache","force","process","env","NODE_ENV","segments","shift","o","createEmpty","reduce","idx","arr","arg","randomString","strLength","charSet","charAt","Math","floor","random","payload","getTimeInFuture","secondsAhead","from","expires_in","tokenBody","exp","ret","handleCodeableConcept","concept","observation","coding","bank","codes","prev","resources","meta","r","x","patientParams","getTargetWindow","target","width","height","self","parent","top","targetWindow","open","e","screen","winOrFrame","frames","condition","operation","op","crypto","globalThis","subtle","isSecureContext","ALGS","ES384","namedCurve","RS384","modulusLength","publicExponent","Uint8Array","hash","randomBytes","count","getRandomValues","digestSha256","prepared","TextEncoder","encode","digest","generatePKCEChallenge","entropy","inputBytes","codeVerifier","codeChallenge","importJWK","jwk","alg","key_ops","includes","importKey","ext","signCompactJws","privateKey","header","jwtHeader","jwtPayload","jwtAuthenticatedContent","signature","sign","algorithm","defineProperty","enumerable","isBrowser","fetchWellKnownJson","getSecurityExtensionsFromWellKnownJson","authorization_endpoint","token_endpoint","registrationUri","registration_endpoint","codeChallengeMethods","code_challenge_methods_supported","getSecurityExtensionsFromConformanceStatement","nsUri","extensions","extension","valueUri","getSecurityExtensions","params","urlISS","cfg","issMatch","RegExp","test","fakeTokenResponse","encounterId","pkceMode","clientPublicKeySetUrl","redirect_uri","client_id","iss","launch","fhirServiceUrl","redirectUri","noRedirect","completeInTarget","clientPrivateJwk","stateKey","inFrame","isInFrame","inPopUp","isInPopUp","console","warn","oldKey","redirectUrl","redirectParams","shouldIncludeChallenge","win","sessionStorage","removeItem","setItem","addEventListener","onMessage","S256supported","opener","origin","removeEventListener","Storage","authError","authErrorDescription","postMessage","close","hasState","has","history","replaceState","authorized","buildTokenRequest","pk","jwtHeaders","typ","kid","jku","jwtClaims","aud","jti","clientAssertion","authorizeOptions","readyOptions","cached"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"fhir-client.pure.js","mappings":"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vB,OAAOA,cAAc,CAACpS,GAAG,CAAC;MAC1B,OAAO,IAAI;;IAEf,OAAO,KAAK;EAChB;;AArCJ8E,kBAAA,GAAA+N,OAAA;;;;;;;;;;;;;;;;ACAA;AACA/N,kBAAA,GAAe;EACXhD,OAAO,EAAQ,2CAA2C;EAC1DjD,YAAY,EAAG,oHAAoH;EACnIE,UAAU,EAAK,6DAA6D;EAC5EC,aAAa,EAAE;CAClB;;;;;;;;;;ACND;;AAEA;AACA;AACA;;AAEA,kBAAkB;AAClB,YAAY;AACZ,YAAY;AACZ,iBAAiB;AACjB,eAAe;AACf,eAAe;AACf;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,4CAA4C;;AAEvD;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA,iBAAiB,mBAAO,CAAC,oDAAU;;AAEnC,OAAO,YAAY;;AAEnB;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;;;;;AC7QA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,mBAAO,CAAC,sCAAI;AACpC;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,eAAe;AAC3B;AACA;AACA;AACA;;AAEA,kBAAkB,sBAAsB;AACxC;AACA,cAAc;AACd;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uCAAuC;;AAEvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,cAAc,SAAS;AACvB;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,8CAA8C,SAAS;AACvD;AACA;AACA;AACA;;AAEA,8CAA8C,SAAS;AACvD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY,QAAQ;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;;;;;;;;;;ACjRA;AACA;AACA;AACA;AACA;AACA,IAAI,KAA4D;AAChE;AACA,UAAU,CAeM;AAChB,CAAC;AACD;AACA,iBAAiB,qBAAM,mBAAmB,qBAAM;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,oBAAoB;AACxD;AACA,KAAK;AACL,mCAAmC,EAAE,oBAAoB,EAAE,sBAAsB,EAAE;AACnF;AACA;AACA;AACA,0BAA0B;AAC1B,sCAAsC;AACtC,6DAA6D,+BAA+B;AAC5F,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,eAAe;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,QAAQ;AACzB;AACA,8DAA8D;AAC9D,wCAAwC;AACxC;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA,4CAA4C,OAAO;AACnD;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,QAAQ;AACzB;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,QAAQ;AACzB;AACA,8BAA8B;AAC9B;AACA;AACA,yBAAyB;AACzB;AACA,6BAA6B;AAC7B,6BAA6B;AAC7B;AACA;AACA,eAAe,SAAS;AACxB,iBAAiB,QAAQ;AACzB;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA,qCAAqC;AACrC;AACA;AACA;AACA,iEAAiE,EAAE,wBAAwB,EAAE;AAC7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,QAAQ;AACzB;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,eAAe;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,QAAQ;AACzB;AACA,8DAA8D;AAC9D,wCAAwC;AACxC;AACA;AACA;AACA,yBAAyB;AACzB,yBAAyB,sDAAsD,yBAAyB;AACxG;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA,yBAAyB;AACzB;AACA,6BAA6B;AAC7B,6BAA6B;AAC7B,gCAAgC,mDAAmD,+BAA+B;AAClH;AACA;AACA,eAAe,QAAQ;AACvB,iBAAiB,QAAQ;AACzB;AACA,kCAAkC;AAClC;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;AACA;AACA,mDAAmD,IAAI;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C,yCAAyC,sBAAsB;AAC/D,8CAA8C,+BAA+B;AAC7E,0CAA0C,4BAA4B;AACtE,0CAA0C,4BAA4B;AACtE,2CAA2C,4BAA4B;AACvE;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C,8CAA8C,uCAAuC;AACrF,0CAA0C,oCAAoC;AAC9E,0CAA0C,oCAAoC;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC;AACA,gDAAgD,wCAAwC;AACxF;AACA,CAAC;;;;;;;;;;;ACzTD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,eAAe;AAC1B,WAAW,QAAQ;AACnB,YAAY,OAAO;AACnB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;;;;;;;;;ACjK6B;AAC7B,iEAAe,aAAa;;;;;;;;;;;;ACD5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,MAAM;AACN;AACA;AACA,MAAM;AACN;AACA;AACA,CAAC,sCAAsC,SAAI;AAC3C;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,yBAAyB,cAAc;AACvC;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,kBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS,yBAAyB;AAClC;;AAEA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA,+FAA+F,8BAA8B;AAC7H;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,yDAAyD;AACzD,oBAAoB;AACpB;AACA;AACA;AACA;AACA,2CAA2C;AAC3C,iCAAiC,mBAAmB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,oBAAoB;AACrD;AACA;AACA;AACA;AACA,4FAA4F;AAC5F;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,kDAAkD;AAClD;AACA;;AAEA,oBAAoB,wCAAwC;AAC5D,oBAAoB;;AAEpB;AACA;AACA,4BAA4B;;AAE5B;;AAEA;AACA;;AAEA;AACA;AACA;AACA,gCAAgC,OAAO;AACvC;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,eAAe;AAC9D;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,0BAA0B;;AAE1B,4CAA4C;AAC5C;AACA,6BAA6B,SAAS;AACtC;AACA,iDAAiD;AACjD;AACA,6BAA6B,SAAS;AACtC;AACA,mCAAmC;AACnC;AACA;AACA,gEAAgE;AAChE;AACA;AACA,6BAA6B,SAAS;AACtC;AACA,2CAA2C;AAC3C,6BAA6B,gBAAgB;AAC7C;AACA;AACA,sGAAsG;AACtG;AACA,yBAAyB,iBAAiB,SAAS;AACnD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,+CAA+C,gEAAgE;AAC/G;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;;AAEA,6DAA6D;AAC7D;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yDAAyD;AACzD,yDAAyD;AACzD,qBAAqB;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,SAAS;;AAET;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,sEAAsE;AACtE;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yDAAyD;AACzD,yDAAyD;AACzD,qBAAqB;AACrB;;AAEA;AACA;AACA,8EAA8E;AAC9E;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;AACA;AACA,SAAS;;AAET;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB;AACrB;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iDAAiD;AACjD,iDAAiD;AACjD,aAAa;;AAEb;AACA;;AAEA;AACA,+BAA+B,wBAAwB,qCAAqC;AAC5F,+BAA+B,gBAAgB;AAC/C,SAAS;;AAET;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED,CAAC,sEAAe,EAAE,GAAC;;;;;;;UCnmBnB;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,GAAG;WACH;WACA;WACA,CAAC;;;;;WCPD;;;;;UEAA;UACA;UACA;UACA","sources":["webpack://FHIR/./src/Client.ts","webpack://FHIR/./src/HttpError.ts","webpack://FHIR/./src/adapters/BrowserAdapter.ts","webpack://FHIR/./src/entry/browser.ts","webpack://FHIR/./src/lib.ts","webpack://FHIR/./src/security/browser.ts","webpack://FHIR/./src/settings.ts","webpack://FHIR/./src/smart.ts","webpack://FHIR/./src/storage/BrowserStorage.ts","webpack://FHIR/./src/strings.ts","webpack://FHIR/./node_modules/debug/src/browser.js","webpack://FHIR/./node_modules/debug/src/common.js","webpack://FHIR/./node_modules/js-base64/base64.js","webpack://FHIR/./node_modules/ms/index.js","webpack://FHIR/./node_modules/isomorphic-webcrypto/src/browser.mjs","webpack://FHIR/./node_modules/isomorphic-webcrypto/src/webcrypto-shim.mjs","webpack://FHIR/webpack/bootstrap","webpack://FHIR/webpack/runtime/define property getters","webpack://FHIR/webpack/runtime/global","webpack://FHIR/webpack/runtime/hasOwnProperty shorthand","webpack://FHIR/webpack/before-startup","webpack://FHIR/webpack/startup","webpack://FHIR/webpack/after-startup"],"sourcesContent":["import {\r\n absolute,\r\n debug as _debug,\r\n getPath,\r\n setPath,\r\n jwtDecode,\r\n makeArray,\r\n request,\r\n byCode,\r\n byCodes,\r\n units,\r\n getPatientParam,\r\n fetchConformanceStatement,\r\n getAccessTokenExpiration,\r\n assertJsonPatch,\r\n assert\r\n} from \"./lib\";\r\n\r\nimport str from \"./strings\";\r\nimport { SMART_KEY, patientCompartment, fhirVersions } from \"./settings\";\r\nimport HttpError from \"./HttpError\";\r\nimport BrowserAdapter from \"./adapters/BrowserAdapter\";\r\nimport { fhirclient } from \"./types\";\r\n\r\n// $lab:coverage:off$\r\n// @ts-ignore\r\nconst { Response } = typeof FHIRCLIENT_PURE !== \"undefined\" ? window : require(\"cross-fetch\");\r\n// $lab:coverage:on$\r\n\r\nconst debug = _debug.extend(\"client\");\r\n\r\n/**\r\n * Adds patient context to requestOptions object to be used with [[Client.request]]\r\n * @param requestOptions Can be a string URL (relative to the serviceUrl), or an\r\n * object which will be passed to fetch()\r\n * @param client Current FHIR client object containing patient context\r\n * @return requestOptions object contextualized to current patient\r\n */\r\nasync function contextualize(\r\n requestOptions: string | URL | fhirclient.RequestOptions,\r\n client: Client\r\n): Promise\r\n{\r\n const base = absolute(\"/\", client.state.serverUrl);\r\n\r\n async function contextualURL(_url: URL) {\r\n const resourceType = _url.pathname.split(\"/\").pop();\r\n assert(resourceType, `Invalid url \"${_url}\"`);\r\n assert(patientCompartment.indexOf(resourceType) > -1, `Cannot filter \"${resourceType}\" resources by patient`);\r\n const conformance = await fetchConformanceStatement(client.state.serverUrl);\r\n const searchParam = getPatientParam(conformance, resourceType);\r\n _url.searchParams.set(searchParam, client.patient.id as string);\r\n return _url.href;\r\n }\r\n\r\n if (typeof requestOptions == \"string\" || requestOptions instanceof URL) {\r\n return { url: await contextualURL(new URL(requestOptions + \"\", base)) };\r\n }\r\n\r\n requestOptions.url = await contextualURL(new URL(requestOptions.url + \"\", base));\r\n return requestOptions;\r\n}\r\n\r\n/**\r\n * Gets single reference by id. Caches the result.\r\n * @param refId\r\n * @param cache A map to store the resolved refs\r\n * @param client The client instance\r\n * @param requestOptions Only signal and headers are currently used if provided\r\n * @returns The resolved reference\r\n * @private\r\n */\r\nfunction getRef(\r\n refId: string,\r\n cache: Record,\r\n client: Client,\r\n requestOptions: RequestInit\r\n): Promise {\r\n if (!cache[refId]) {\r\n\r\n const { signal, headers } = requestOptions;\r\n\r\n // Note that we set cache[refId] immediately! When the promise is\r\n // settled it will be updated. This is to avoid a ref being fetched\r\n // twice because some of these requests are executed in parallel.\r\n cache[refId] = client.request({\r\n url: refId,\r\n headers,\r\n signal\r\n }).then(res => {\r\n cache[refId] = res;\r\n return res;\r\n }, (error: Error) => {\r\n delete cache[refId];\r\n throw error;\r\n });\r\n }\r\n\r\n return Promise.resolve(cache[refId]);\r\n}\r\n\r\n/**\r\n * Resolves a reference in the given resource.\r\n * @param obj FHIR Resource\r\n */\r\nfunction resolveRef(\r\n obj: fhirclient.FHIR.Resource,\r\n path: string,\r\n graph: boolean,\r\n cache: fhirclient.JsonObject,\r\n client: Client,\r\n requestOptions: fhirclient.RequestOptions\r\n) {\r\n const node = getPath(obj, path);\r\n if (node) {\r\n const isArray = Array.isArray(node);\r\n return Promise.all(makeArray(node).filter(Boolean).map((item, i) => {\r\n const ref = item.reference;\r\n if (ref) {\r\n return getRef(ref, cache, client, requestOptions).then(sub => {\r\n if (graph) {\r\n if (isArray) {\r\n if (path.indexOf(\"..\") > -1) {\r\n setPath(obj, `${path.replace(\"..\", `.${i}.`)}`, sub); \r\n } else {\r\n setPath(obj, `${path}.${i}`, sub);\r\n }\r\n } else {\r\n setPath(obj, path, sub);\r\n }\r\n }\r\n }).catch((ex) => {\r\n /* ignore missing references */\r\n if (ex.status !== 404) {\r\n throw ex;\r\n }\r\n });\r\n }\r\n }));\r\n }\r\n}\r\n\r\n/**\r\n * Given a resource and a list of ref paths - resolves them all\r\n * @param obj FHIR Resource\r\n * @param fhirOptions The fhir options of the initiating request call\r\n * @param cache A map to store fetched refs\r\n * @param client The client instance\r\n * @private\r\n */\r\nfunction resolveRefs(\r\n obj: fhirclient.FHIR.Resource,\r\n fhirOptions: fhirclient.FhirOptions,\r\n cache: fhirclient.JsonObject,\r\n client: Client,\r\n requestOptions: fhirclient.RequestOptions\r\n) {\r\n\r\n // 1. Sanitize paths, remove any invalid ones\r\n let paths = makeArray(fhirOptions.resolveReferences)\r\n .filter(Boolean) // No false, 0, null, undefined or \"\"\r\n .map(path => String(path).trim())\r\n .filter(Boolean); // No space-only strings\r\n\r\n // 2. Remove duplicates\r\n paths = paths.filter((p, i) => {\r\n const index = paths.indexOf(p, i + 1);\r\n if (index > -1) {\r\n debug(\"Duplicated reference path \\\"%s\\\"\", p);\r\n return false;\r\n }\r\n return true;\r\n });\r\n\r\n // 3. Early exit if no valid paths are found\r\n if (!paths.length) {\r\n return Promise.resolve();\r\n }\r\n\r\n // 4. Group the paths by depth so that child refs are looked up\r\n // after their parents!\r\n const groups: Record = {};\r\n paths.forEach(path => {\r\n const len = path.split(\".\").length;\r\n if (!groups[len]) {\r\n groups[len] = [];\r\n }\r\n groups[len].push(path);\r\n });\r\n\r\n // 5. Execute groups sequentially! Paths within same group are\r\n // fetched in parallel!\r\n let task: Promise = Promise.resolve();\r\n Object.keys(groups).sort().forEach(len => {\r\n const group = groups[len];\r\n task = task.then(() => Promise.all(group.map((path: string) => {\r\n return resolveRef(obj, path, !!fhirOptions.graph, cache, client, requestOptions);\r\n })));\r\n });\r\n return task;\r\n}\r\n\r\n/**\r\n * This is a FHIR client that is returned to you from the `ready()` call of the\r\n * **SMART API**. You can also create it yourself if needed:\r\n *\r\n * ```js\r\n * // BROWSER\r\n * const client = FHIR.client(\"https://r4.smarthealthit.org\");\r\n *\r\n * // SERVER\r\n * const client = smart(req, res).client(\"https://r4.smarthealthit.org\");\r\n * ```\r\n */\r\nexport default class Client\r\n{\r\n /**\r\n * The state of the client instance is an object with various properties.\r\n * It contains some details about how the client has been authorized and\r\n * determines the behavior of the client instance. This state is persisted\r\n * in `SessionStorage` in browsers or in request session on the servers.\r\n */\r\n readonly state: fhirclient.ClientState;\r\n\r\n /**\r\n * The adapter to use to connect to the current environment. Currently we have:\r\n * - BrowserAdapter - for browsers\r\n * - NodeAdapter - for Express or vanilla NodeJS servers\r\n * - HapiAdapter - for HAPI NodeJS servers\r\n */\r\n readonly environment: fhirclient.Adapter;\r\n\r\n /**\r\n * A SMART app is typically associated with a patient. This is a namespace\r\n * for the patient-related functionality of the client.\r\n */\r\n readonly patient: {\r\n\r\n /**\r\n * The ID of the current patient or `null` if there is no current patient\r\n */\r\n id: string | null\r\n\r\n /**\r\n * A method to fetch the current patient resource from the FHIR server.\r\n * If there is no patient context, it will reject with an error.\r\n * @param {fhirclient.FetchOptions} [requestOptions] Any options to pass to the `fetch` call.\r\n * @category Request\r\n */\r\n read: fhirclient.RequestFunction\r\n \r\n /**\r\n * This is similar to [[request]] but it makes requests in the\r\n * context of the current patient. For example, instead of doing\r\n * ```js\r\n * client.request(\"Observation?patient=\" + client.patient.id)\r\n * ```\r\n * you can do\r\n * ```js\r\n * client.patient.request(\"Observation\")\r\n * ```\r\n * The return type depends on the arguments. Typically it will be the\r\n * response payload JSON object. Can also be a string or the `Response`\r\n * object itself if we have received a non-json result, which allows us\r\n * to handle even binary responses. Can also be a [[CombinedFetchResult]]\r\n * object if the `requestOptions.includeResponse`s has been set to true.\r\n * @category Request\r\n */\r\n request: (\r\n requestOptions: string|URL|fhirclient.RequestOptions,\r\n fhirOptions?: fhirclient.FhirOptions\r\n ) => Promise\r\n\r\n /**\r\n * This is the FhirJS Patient API. It will ONLY exist if the `Client`\r\n * instance is \"connected\" to FhirJS.\r\n */\r\n api?: Record\r\n };\r\n\r\n /**\r\n * The client may be associated with a specific encounter, if the scopes\r\n * permit that and if the back-end server supports that. This is a namespace\r\n * for encounter-related functionality.\r\n */\r\n readonly encounter: {\r\n\r\n /**\r\n * The ID of the current encounter or `null` if there is no current\r\n * encounter\r\n */\r\n id: string | null\r\n\r\n /**\r\n * A method to fetch the current encounter resource from the FHIR server.\r\n * If there is no encounter context, it will reject with an error.\r\n * @param [requestOptions] Any options to pass to the `fetch` call.\r\n * @category Request\r\n */\r\n read: fhirclient.RequestFunction\r\n };\r\n\r\n /**\r\n * The client may be associated with a specific user, if the scopes\r\n * permit that. This is a namespace for user-related functionality.\r\n */\r\n readonly user: {\r\n\r\n /**\r\n * The ID of the current user or `null` if there is no current user\r\n */\r\n id: string | null\r\n\r\n /**\r\n * A method to fetch the current user resource from the FHIR server.\r\n * If there is no user context, it will reject with an error.\r\n * @param [requestOptions] Any options to pass to the `fetch` call.\r\n * @category Request\r\n */\r\n read: fhirclient.RequestFunction<\r\n fhirclient.FHIR.Patient |\r\n fhirclient.FHIR.Practitioner |\r\n fhirclient.FHIR.RelatedPerson\r\n >\r\n\r\n /**\r\n * Returns the profile of the logged_in user (if any), or null if the\r\n * user is not available. This is a string having the shape\r\n * `{user type}/{user id}`. For example `Practitioner/abc` or\r\n * `Patient/xyz`.\r\n * @alias client.getFhirUser()\r\n */\r\n fhirUser: string | null\r\n\r\n /**\r\n * Returns the type of the logged-in user or null. The result can be\r\n * `Practitioner`, `Patient` or `RelatedPerson`.\r\n * @alias client.getUserType()\r\n */\r\n resourceType: string | null\r\n };\r\n\r\n /**\r\n * The [FhirJS](https://github.com/FHIR/fhir.js/blob/master/README.md) API.\r\n * **NOTE:** This will only be available if `fhir.js` is used. Otherwise it\r\n * will be `undefined`.\r\n */\r\n api: Record | undefined;\r\n\r\n /**\r\n * Refers to the refresh task while it is being performed.\r\n * @see [[refresh]]\r\n */\r\n private _refreshTask: Promise | null;\r\n\r\n /**\r\n * Validates the parameters, creates an instance and tries to connect it to\r\n * FhirJS, if one is available globally.\r\n */\r\n constructor(environment: fhirclient.Adapter, state: fhirclient.ClientState | string)\r\n {\r\n const _state = typeof state == \"string\" ? { serverUrl: state } : state;\r\n\r\n // Valid serverUrl is required!\r\n assert(\r\n _state.serverUrl && _state.serverUrl.match(/https?:\\/\\/.+/),\r\n \"A \\\"serverUrl\\\" option is required and must begin with \\\"http(s)\\\"\"\r\n );\r\n\r\n this.state = _state;\r\n this.environment = environment;\r\n this._refreshTask = null;\r\n\r\n const client = this;\r\n\r\n // patient api ---------------------------------------------------------\r\n this.patient = {\r\n get id() { return client.getPatientId(); },\r\n read: (requestOptions) => {\r\n const id = this.patient.id;\r\n return id ?\r\n this.request({ ...requestOptions, url: `Patient/${id}` }) :\r\n Promise.reject(new Error(\"Patient is not available\"));\r\n },\r\n request: (requestOptions, fhirOptions = {}) => {\r\n if (this.patient.id) {\r\n return (async () => {\r\n const options = await contextualize(requestOptions, this);\r\n return this.request(options, fhirOptions);\r\n })();\r\n } else {\r\n return Promise.reject(new Error(\"Patient is not available\"));\r\n }\r\n }\r\n };\r\n\r\n // encounter api -------------------------------------------------------\r\n this.encounter = {\r\n get id() { return client.getEncounterId(); },\r\n read: requestOptions => {\r\n const id = this.encounter.id;\r\n return id ?\r\n this.request({ ...requestOptions, url: `Encounter/${id}` }) :\r\n Promise.reject(new Error(\"Encounter is not available\"));\r\n }\r\n };\r\n\r\n // user api ------------------------------------------------------------\r\n this.user = {\r\n get fhirUser() { return client.getFhirUser(); },\r\n get id() { return client.getUserId(); },\r\n get resourceType() { return client.getUserType(); },\r\n read: requestOptions => {\r\n const fhirUser = this.user.fhirUser;\r\n return fhirUser ?\r\n this.request({ ...requestOptions, url: fhirUser }) :\r\n Promise.reject(new Error(\"User is not available\"));\r\n }\r\n };\r\n\r\n // fhir.js api (attached automatically in browser)\r\n // ---------------------------------------------------------------------\r\n this.connect((environment as BrowserAdapter).fhir);\r\n }\r\n\r\n /**\r\n * This method is used to make the \"link\" between the `fhirclient` and the\r\n * `fhir.js`, if one is available.\r\n * **Note:** This is called by the constructor. If fhir.js is available in\r\n * the global scope as `fhir`, it will automatically be linked to any [[Client]]\r\n * instance. You should only use this method to connect to `fhir.js` which\r\n * is not global.\r\n */\r\n connect(fhirJs?: (options: Record) => Record): Client\r\n {\r\n if (typeof fhirJs == \"function\") {\r\n const options: Record = {\r\n baseUrl: this.state.serverUrl.replace(/\\/$/, \"\")\r\n };\r\n\r\n const accessToken = this.getState(\"tokenResponse.access_token\");\r\n if (accessToken) {\r\n options.auth = { token: accessToken };\r\n }\r\n else {\r\n const { username, password } = this.state;\r\n if (username && password) {\r\n options.auth = {\r\n user: username,\r\n pass: password\r\n };\r\n }\r\n }\r\n this.api = fhirJs(options);\r\n\r\n const patientId = this.getState(\"tokenResponse.patient\");\r\n if (patientId) {\r\n this.patient.api = fhirJs({\r\n ...options,\r\n patient: patientId\r\n });\r\n }\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Returns the ID of the selected patient or null. You should have requested\r\n * \"launch/patient\" scope. Otherwise this will return null.\r\n */\r\n getPatientId(): string | null\r\n {\r\n const tokenResponse = this.state.tokenResponse;\r\n if (tokenResponse) {\r\n // We have been authorized against this server but we don't know\r\n // the patient. This should be a scope issue.\r\n if (!tokenResponse.patient) {\r\n if (!(this.state.scope || \"\").match(/\\blaunch(\\/patient)?\\b/)) {\r\n debug(str.noScopeForId, \"patient\", \"patient\");\r\n }\r\n else {\r\n // The server should have returned the patient!\r\n debug(\"The ID of the selected patient is not available. Please check if your server supports that.\");\r\n }\r\n return null;\r\n }\r\n return tokenResponse.patient;\r\n }\r\n\r\n if (this.state.authorizeUri) {\r\n debug(str.noIfNoAuth, \"the ID of the selected patient\");\r\n }\r\n else {\r\n debug(str.noFreeContext, \"selected patient\");\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Returns the ID of the selected encounter or null. You should have\r\n * requested \"launch/encounter\" scope. Otherwise this will return null.\r\n * Note that not all servers support the \"launch/encounter\" scope so this\r\n * will be null if they don't.\r\n */\r\n getEncounterId(): string | null\r\n {\r\n const tokenResponse = this.state.tokenResponse;\r\n if (tokenResponse) {\r\n // We have been authorized against this server but we don't know\r\n // the encounter. This should be a scope issue.\r\n if (!tokenResponse.encounter) {\r\n if (!(this.state.scope || \"\").match(/\\blaunch(\\/encounter)?\\b/)) {\r\n debug(str.noScopeForId, \"encounter\", \"encounter\");\r\n }\r\n else {\r\n // The server should have returned the encounter!\r\n debug(\"The ID of the selected encounter is not available. Please check if your server supports that, and that the selected patient has any recorded encounters.\");\r\n }\r\n return null;\r\n }\r\n return tokenResponse.encounter;\r\n }\r\n\r\n if (this.state.authorizeUri) {\r\n debug(str.noIfNoAuth, \"the ID of the selected encounter\");\r\n }\r\n else {\r\n debug(str.noFreeContext, \"selected encounter\");\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Returns the (decoded) id_token if any. You need to request \"openid\" and\r\n * \"profile\" scopes if you need to receive an id_token (if you need to know\r\n * who the logged-in user is).\r\n */\r\n getIdToken(): fhirclient.IDToken | null\r\n {\r\n const tokenResponse = this.state.tokenResponse;\r\n if (tokenResponse) {\r\n const idToken = tokenResponse.id_token;\r\n const scope = this.state.scope || \"\";\r\n\r\n // We have been authorized against this server but we don't have\r\n // the id_token. This should be a scope issue.\r\n if (!idToken) {\r\n const hasOpenid = scope.match(/\\bopenid\\b/);\r\n const hasProfile = scope.match(/\\bprofile\\b/);\r\n const hasFhirUser = scope.match(/\\bfhirUser\\b/);\r\n if (!hasOpenid || !(hasFhirUser || hasProfile)) {\r\n debug(\r\n \"You are trying to get the id_token but you are not \" +\r\n \"using the right scopes. Please add 'openid' and \" +\r\n \"'fhirUser' or 'profile' to the scopes you are \" +\r\n \"requesting.\"\r\n );\r\n }\r\n else {\r\n // The server should have returned the id_token!\r\n debug(\"The id_token is not available. Please check if your server supports that.\");\r\n }\r\n return null;\r\n }\r\n return jwtDecode(idToken, this.environment) as fhirclient.IDToken;\r\n }\r\n if (this.state.authorizeUri) {\r\n debug(str.noIfNoAuth, \"the id_token\");\r\n }\r\n else {\r\n debug(str.noFreeContext, \"id_token\");\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Returns the profile of the logged_in user (if any). This is a string\r\n * having the following shape `\"{user type}/{user id}\"`. For example:\r\n * `\"Practitioner/abc\"` or `\"Patient/xyz\"`.\r\n */\r\n getFhirUser(): string | null\r\n {\r\n const idToken = this.getIdToken();\r\n if (idToken) {\r\n // Epic may return a full url\r\n // @see https://github.com/smart-on-fhir/client-js/issues/105\r\n if (idToken.fhirUser) {\r\n return idToken.fhirUser.split(\"/\").slice(-2).join(\"/\");\r\n }\r\n return idToken.profile\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Returns the user ID or null.\r\n */\r\n getUserId(): string | null\r\n {\r\n const profile = this.getFhirUser();\r\n if (profile) {\r\n return profile.split(\"/\")[1];\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Returns the type of the logged-in user or null. The result can be\r\n * \"Practitioner\", \"Patient\" or \"RelatedPerson\".\r\n */\r\n getUserType(): string | null\r\n {\r\n const profile = this.getFhirUser();\r\n if (profile) {\r\n return profile.split(\"/\")[0];\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Builds and returns the value of the `Authorization` header that can be\r\n * sent to the FHIR server\r\n */\r\n getAuthorizationHeader(): string | null\r\n {\r\n const accessToken = this.getState(\"tokenResponse.access_token\");\r\n if (accessToken) {\r\n return \"Bearer \" + accessToken;\r\n }\r\n const { username, password } = this.state;\r\n if (username && password) {\r\n return \"Basic \" + this.environment.btoa(username + \":\" + password);\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Used internally to clear the state of the instance and the state in the\r\n * associated storage.\r\n */\r\n private async _clearState() {\r\n const storage = this.environment.getStorage();\r\n const key = await storage.get(SMART_KEY);\r\n if (key) {\r\n await storage.unset(key);\r\n }\r\n await storage.unset(SMART_KEY);\r\n this.state.tokenResponse = {};\r\n }\r\n\r\n /**\r\n * Creates a new resource in a server-assigned location\r\n * @see http://hl7.org/fhir/http.html#create\r\n * @param resource A FHIR resource to be created\r\n * @param [requestOptions] Any options to be passed to the fetch call.\r\n * Note that `method` and `body` will be ignored.\r\n * @category Request\r\n */\r\n create(\r\n resource: fhirclient.FHIR.Resource,\r\n requestOptions?: O\r\n ): Promise : R>\r\n {\r\n return this.request({\r\n ...requestOptions,\r\n url: `${resource.resourceType}`,\r\n method: \"POST\",\r\n body: JSON.stringify(resource),\r\n headers: {\r\n // TODO: Do we need to alternate with \"application/json+fhir\"?\r\n \"content-type\": \"application/json\",\r\n ...(requestOptions || {}).headers\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Creates a new current version for an existing resource or creates an\r\n * initial version if no resource already exists for the given id.\r\n * @see http://hl7.org/fhir/http.html#update\r\n * @param resource A FHIR resource to be updated\r\n * @param requestOptions Any options to be passed to the fetch call.\r\n * Note that `method` and `body` will be ignored.\r\n * @category Request\r\n */\r\n update(\r\n resource: fhirclient.FHIR.Resource,\r\n requestOptions?: O\r\n ): Promise : R>\r\n {\r\n return this.request({\r\n ...requestOptions,\r\n url: `${resource.resourceType}/${resource.id}`,\r\n method: \"PUT\",\r\n body: JSON.stringify(resource),\r\n headers: {\r\n // TODO: Do we need to alternate with \"application/json+fhir\"?\r\n \"content-type\": \"application/json\",\r\n ...(requestOptions || {}).headers\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Removes an existing resource.\r\n * @see http://hl7.org/fhir/http.html#delete\r\n * @param url Relative URI of the FHIR resource to be deleted\r\n * (format: `resourceType/id`)\r\n * @param requestOptions Any options (except `method` which will be fixed\r\n * to `DELETE`) to be passed to the fetch call.\r\n * @category Request\r\n */\r\n delete(url: string, requestOptions: fhirclient.FetchOptions = {}): Promise\r\n {\r\n return this.request({\r\n ...requestOptions,\r\n url,\r\n method: \"DELETE\"\r\n });\r\n }\r\n\r\n /**\r\n * Makes a JSON Patch to the given resource\r\n * @see http://hl7.org/fhir/http.html#patch\r\n * @param url Relative URI of the FHIR resource to be patched\r\n * (format: `resourceType/id`)\r\n * @param patch A JSON Patch array to send to the server, For details\r\n * see https://datatracker.ietf.org/doc/html/rfc6902\r\n * @param requestOptions Any options to be passed to the fetch call,\r\n * except for `method`, `url` and `body` which cannot be overridden.\r\n * @since 2.4.0\r\n * @category Request\r\n * @typeParam ResolveType This method would typically resolve with the\r\n * patched resource or reject with an OperationOutcome. However, this may\r\n * depend on the server implementation or even on the request headers.\r\n * For that reason, if the default resolve type (which is\r\n * [[fhirclient.FHIR.Resource]]) does not work for you, you can pass\r\n * in your own resolve type parameter.\r\n */\r\n async patch(url: string, patch: fhirclient.JsonPatch, requestOptions: fhirclient.FetchOptions = {}): Promise\r\n {\r\n assertJsonPatch(patch);\r\n return this.request({\r\n ...requestOptions,\r\n url,\r\n method: \"PATCH\",\r\n body: JSON.stringify(patch),\r\n headers: {\r\n \"prefer\": \"return=presentation\",\r\n \"content-type\": \"application/json-patch+json; charset=UTF-8\",\r\n ...requestOptions.headers,\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * @param requestOptions Can be a string URL (relative to the serviceUrl),\r\n * or an object which will be passed to fetch()\r\n * @param fhirOptions Additional options to control the behavior\r\n * @param _resolvedRefs DO NOT USE! Used internally.\r\n * @category Request\r\n */\r\n async request(\r\n requestOptions: string|URL|fhirclient.RequestOptions,\r\n fhirOptions: fhirclient.FhirOptions = {},\r\n _resolvedRefs: fhirclient.JsonObject = {}\r\n ): Promise\r\n {\r\n const debugRequest = _debug.extend(\"client:request\");\r\n assert(requestOptions, \"request requires an url or request options as argument\");\r\n\r\n // url -----------------------------------------------------------------\r\n let url: string;\r\n if (typeof requestOptions == \"string\" || requestOptions instanceof URL) {\r\n url = String(requestOptions);\r\n requestOptions = {} as fhirclient.RequestOptions;\r\n }\r\n else {\r\n url = String(requestOptions.url);\r\n }\r\n\r\n url = absolute(url, this.state.serverUrl);\r\n\r\n const options = {\r\n graph: fhirOptions.graph !== false,\r\n flat : !!fhirOptions.flat,\r\n pageLimit: fhirOptions.pageLimit ?? 1,\r\n resolveReferences: (fhirOptions.resolveReferences || []) as string[],\r\n useRefreshToken: fhirOptions.useRefreshToken !== false,\r\n onPage: typeof fhirOptions.onPage == \"function\" ?\r\n fhirOptions.onPage as (\r\n data: fhirclient.JsonObject | fhirclient.JsonObject[],\r\n references?: fhirclient.JsonObject | undefined) => any :\r\n undefined\r\n };\r\n\r\n const signal = (requestOptions as RequestInit).signal || undefined;\r\n\r\n // Refresh the access token if needed\r\n const job = options.useRefreshToken ?\r\n this.refreshIfNeeded({ signal }).then(() => requestOptions as fhirclient.RequestOptions) :\r\n Promise.resolve(requestOptions as fhirclient.RequestOptions);\r\n\r\n let response: Response | undefined;\r\n\r\n return job\r\n\r\n // Add the Authorization header now, after the access token might\r\n // have been updated\r\n .then(requestOptions => {\r\n const authHeader = this.getAuthorizationHeader();\r\n if (authHeader) {\r\n requestOptions.headers = {\r\n ...requestOptions.headers,\r\n authorization: authHeader\r\n };\r\n }\r\n return requestOptions;\r\n })\r\n \r\n // Make the request\r\n .then(requestOptions => {\r\n debugRequest(\r\n \"%s, options: %O, fhirOptions: %O\",\r\n url,\r\n requestOptions,\r\n options\r\n );\r\n return request(url, requestOptions).then(result => {\r\n if (requestOptions.includeResponse) {\r\n response = (result as fhirclient.CombinedFetchResult).response;\r\n return (result as fhirclient.CombinedFetchResult).body;\r\n }\r\n return result;\r\n });\r\n })\r\n\r\n // Handle 401 ------------------------------------------------------\r\n .catch(async (error: HttpError) => {\r\n if (error.status == 401) {\r\n\r\n // !accessToken -> not authorized -> No session. Need to launch.\r\n if (!this.getState(\"tokenResponse.access_token\")) {\r\n error.message += \"\\nThis app cannot be accessed directly. Please launch it as SMART app!\";\r\n throw error;\r\n }\r\n\r\n // auto-refresh not enabled and Session expired.\r\n // Need to re-launch. Clear state to start over!\r\n if (!options.useRefreshToken) {\r\n debugRequest(\"Your session has expired and the useRefreshToken option is set to false. Please re-launch the app.\");\r\n await this._clearState();\r\n error.message += \"\\n\" + str.expired;\r\n throw error;\r\n }\r\n\r\n // In rare cases we may have a valid access token and a refresh\r\n // token and the request might still fail with 401 just because\r\n // the access token has just been revoked.\r\n\r\n // otherwise -> auto-refresh failed. Session expired.\r\n // Need to re-launch. Clear state to start over!\r\n debugRequest(\"Auto-refresh failed! Please re-launch the app.\");\r\n await this._clearState();\r\n error.message += \"\\n\" + str.expired;\r\n throw error;\r\n }\r\n throw error;\r\n })\r\n\r\n // Handle 403 ------------------------------------------------------\r\n .catch((error: HttpError) => {\r\n if (error.status == 403) {\r\n debugRequest(\"Permission denied! Please make sure that you have requested the proper scopes.\");\r\n }\r\n throw error;\r\n })\r\n\r\n .then((data: any) => {\r\n\r\n // At this point we don't know what `data` actually is!\r\n\r\n // We might get an empty or falsy result. If so return it as is\r\n // Also handle raw responses\r\n if (!data || typeof data == \"string\" || data instanceof Response) {\r\n if ((requestOptions as fhirclient.FetchOptions).includeResponse) {\r\n return {\r\n body: data,\r\n response\r\n }\r\n }\r\n return data;\r\n }\r\n \r\n // Resolve References ------------------------------------------\r\n return (async (_data: fhirclient.FHIR.Resource) => {\r\n\r\n if (_data.resourceType == \"Bundle\") {\r\n await Promise.all(((_data as fhirclient.FHIR.Bundle).entry || []).map(item => resolveRefs(\r\n item.resource,\r\n options,\r\n _resolvedRefs,\r\n this,\r\n requestOptions as fhirclient.RequestOptions\r\n )));\r\n }\r\n else {\r\n await resolveRefs(\r\n _data,\r\n options,\r\n _resolvedRefs,\r\n this,\r\n requestOptions as fhirclient.RequestOptions\r\n );\r\n }\r\n\r\n return _data;\r\n })(data)\r\n\r\n // Pagination ----------------------------------------------\r\n .then(async _data => {\r\n if (_data && _data.resourceType == \"Bundle\") {\r\n const links = (_data.link || []) as fhirclient.FHIR.BundleLink[];\r\n\r\n if (options.flat) {\r\n _data = (_data.entry || []).map(\r\n (entry: fhirclient.FHIR.BundleEntry) => entry.resource\r\n );\r\n }\r\n\r\n if (options.onPage) {\r\n await options.onPage(_data, { ..._resolvedRefs });\r\n }\r\n\r\n if (--options.pageLimit) {\r\n const next = links.find(l => l.relation == \"next\");\r\n _data = makeArray(_data);\r\n if (next && next.url) {\r\n const nextPage = await this.request(\r\n {\r\n url: next.url,\r\n\r\n // Aborting the main request (even after it is complete)\r\n // must propagate to any child requests and abort them!\r\n // To do so, just pass the same AbortSignal if one is\r\n // provided.\r\n signal\r\n },\r\n options,\r\n _resolvedRefs\r\n );\r\n\r\n if (options.onPage) {\r\n return null;\r\n }\r\n\r\n if (options.resolveReferences.length) {\r\n Object.assign(_resolvedRefs, nextPage.references);\r\n return _data.concat(makeArray(nextPage.data || nextPage));\r\n }\r\n return _data.concat(makeArray(nextPage));\r\n }\r\n }\r\n }\r\n return _data;\r\n })\r\n\r\n // Finalize ------------------------------------------------\r\n .then(_data => {\r\n if (options.graph) {\r\n _resolvedRefs = {};\r\n }\r\n else if (!options.onPage && options.resolveReferences.length) {\r\n return {\r\n data: _data,\r\n references: _resolvedRefs\r\n };\r\n }\r\n return _data;\r\n })\r\n .then(_data => {\r\n if ((requestOptions as fhirclient.FetchOptions).includeResponse) {\r\n return {\r\n body: _data,\r\n response\r\n }\r\n }\r\n return _data;\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * Checks if access token and refresh token are present. If they are, and if\r\n * the access token is expired or is about to expire in the next 10 seconds,\r\n * calls `this.refresh()` to obtain new access token.\r\n * @param requestOptions Any options to pass to the fetch call. Most of them\r\n * will be overridden, bit it might still be useful for passing additional\r\n * request options or an abort signal.\r\n * @category Request\r\n */\r\n refreshIfNeeded(requestOptions: RequestInit = {}): Promise\r\n {\r\n const accessToken = this.getState(\"tokenResponse.access_token\");\r\n const refreshToken = this.getState(\"tokenResponse.refresh_token\");\r\n const expiresAt = this.state.expiresAt || 0;\r\n\r\n if (accessToken && refreshToken && expiresAt - 10 < Date.now() / 1000) {\r\n return this.refresh(requestOptions);\r\n }\r\n\r\n return Promise.resolve(this.state);\r\n }\r\n\r\n /**\r\n * Use the refresh token to obtain new access token. If the refresh token is\r\n * expired (or this fails for any other reason) it will be deleted from the\r\n * state, so that we don't enter into loops trying to re-authorize.\r\n *\r\n * This method is typically called internally from [[request]] if\r\n * certain request fails with 401.\r\n *\r\n * @param requestOptions Any options to pass to the fetch call. Most of them\r\n * will be overridden, bit it might still be useful for passing additional\r\n * request options or an abort signal.\r\n * @category Request\r\n */\r\n refresh(requestOptions: RequestInit = {}): Promise\r\n {\r\n const debugRefresh = _debug.extend(\"client:refresh\");\r\n debugRefresh(\"Attempting to refresh with refresh_token...\");\r\n\r\n const refreshToken = this.state?.tokenResponse?.refresh_token;\r\n assert(refreshToken, \"Unable to refresh. No refresh_token found.\");\r\n\r\n const tokenUri = this.state.tokenUri;\r\n assert(tokenUri, \"Unable to refresh. No tokenUri found.\");\r\n\r\n const scopes = this.getState(\"tokenResponse.scope\") || \"\";\r\n const hasOfflineAccess = scopes.search(/\\boffline_access\\b/) > -1;\r\n const hasOnlineAccess = scopes.search(/\\bonline_access\\b/) > -1;\r\n assert(hasOfflineAccess || hasOnlineAccess, \"Unable to refresh. No offline_access or online_access scope found.\");\r\n\r\n // This method is typically called internally from `request` if certain\r\n // request fails with 401. However, clients will often run multiple\r\n // requests in parallel which may result in multiple refresh calls.\r\n // To avoid that, we keep a reference to the current refresh task (if any).\r\n if (!this._refreshTask) {\r\n let body = `grant_type=refresh_token&refresh_token=${encodeURIComponent(refreshToken)}`;\r\n if (this.environment.options.refreshTokenWithClientId) {\r\n body += `&client_id=${this.state.clientId}`;\r\n }\r\n const refreshRequestOptions = {\r\n credentials: this.environment.options.refreshTokenWithCredentials || \"same-origin\",\r\n ...requestOptions,\r\n method : \"POST\",\r\n mode : \"cors\" as RequestMode,\r\n headers: {\r\n ...(requestOptions.headers || {}),\r\n \"content-type\": \"application/x-www-form-urlencoded\"\r\n },\r\n body: body\r\n };\r\n\r\n // custom authorization header can be passed on manual calls\r\n if (!(\"authorization\" in refreshRequestOptions.headers)) {\r\n const { clientSecret, clientId } = this.state;\r\n if (clientSecret) {\r\n // @ts-ignore\r\n refreshRequestOptions.headers.authorization = \"Basic \" + this.environment.btoa(\r\n clientId + \":\" + clientSecret\r\n );\r\n }\r\n }\r\n\r\n this._refreshTask = request(tokenUri, refreshRequestOptions)\r\n .then(data => {\r\n assert(data.access_token, \"No access token received\");\r\n debugRefresh(\"Received new access token response %O\", data);\r\n this.state.tokenResponse = { ...this.state.tokenResponse, ...data };\r\n this.state.expiresAt = getAccessTokenExpiration(data, this.environment);\r\n return this.state;\r\n })\r\n .catch((error: Error) => {\r\n if (this.state?.tokenResponse?.refresh_token) {\r\n debugRefresh(\"Deleting the expired or invalid refresh token.\");\r\n delete this.state.tokenResponse.refresh_token;\r\n }\r\n throw error;\r\n })\r\n .finally(() => {\r\n this._refreshTask = null;\r\n const key = this.state.key;\r\n if (key) {\r\n this.environment.getStorage().set(key, this.state);\r\n } else {\r\n debugRefresh(\"No 'key' found in Clint.state. Cannot persist the instance.\");\r\n }\r\n });\r\n }\r\n\r\n return this._refreshTask;\r\n }\r\n\r\n // utils -------------------------------------------------------------------\r\n\r\n /**\r\n * Groups the observations by code. Returns a map that will look like:\r\n * ```js\r\n * const map = client.byCodes(observations, \"code\");\r\n * // map = {\r\n * // \"55284-4\": [ observation1, observation2 ],\r\n * // \"6082-2\": [ observation3 ]\r\n * // }\r\n * ```\r\n * @param observations Array of observations\r\n * @param property The name of a CodeableConcept property to group by\r\n * @todo This should be deprecated and moved elsewhere. One should not have\r\n * to obtain an instance of [[Client]] just to use utility functions like this.\r\n * @deprecated\r\n * @category Utility\r\n */\r\n byCode(\r\n observations: fhirclient.FHIR.Observation | fhirclient.FHIR.Observation[],\r\n property: string\r\n ): fhirclient.ObservationMap\r\n {\r\n return byCode(observations, property);\r\n }\r\n\r\n /**\r\n * First groups the observations by code using `byCode`. Then returns a function\r\n * that accepts codes as arguments and will return a flat array of observations\r\n * having that codes. Example:\r\n * ```js\r\n * const filter = client.byCodes(observations, \"category\");\r\n * filter(\"laboratory\") // => [ observation1, observation2 ]\r\n * filter(\"vital-signs\") // => [ observation3 ]\r\n * filter(\"laboratory\", \"vital-signs\") // => [ observation1, observation2, observation3 ]\r\n * ```\r\n * @param observations Array of observations\r\n * @param property The name of a CodeableConcept property to group by\r\n * @todo This should be deprecated and moved elsewhere. One should not have\r\n * to obtain an instance of [[Client]] just to use utility functions like this.\r\n * @deprecated\r\n * @category Utility\r\n */\r\n byCodes(\r\n observations: fhirclient.FHIR.Observation | fhirclient.FHIR.Observation[],\r\n property: string\r\n ): (...codes: string[]) => any[]\r\n {\r\n return byCodes(observations, property);\r\n }\r\n\r\n /**\r\n * @category Utility\r\n */\r\n units = units;\r\n\r\n /**\r\n * Walks through an object (or array) and returns the value found at the\r\n * provided path. This function is very simple so it intentionally does not\r\n * support any argument polymorphism, meaning that the path can only be a\r\n * dot-separated string. If the path is invalid returns undefined.\r\n * @param obj The object (or Array) to walk through\r\n * @param path The path (eg. \"a.b.4.c\")\r\n * @returns {*} Whatever is found in the path or undefined\r\n * @todo This should be deprecated and moved elsewhere. One should not have\r\n * to obtain an instance of [[Client]] just to use utility functions like this.\r\n * @deprecated\r\n * @category Utility\r\n */\r\n getPath(obj: Record, path = \"\"): any {\r\n return getPath(obj, path);\r\n }\r\n\r\n /**\r\n * Returns a copy of the client state. Accepts a dot-separated path argument\r\n * (same as for `getPath`) to allow for selecting specific properties.\r\n * Examples:\r\n * ```js\r\n * client.getState(); // -> the entire state object\r\n * client.getState(\"serverUrl\"); // -> the URL we are connected to\r\n * client.getState(\"tokenResponse.patient\"); // -> The selected patient ID (if any)\r\n * ```\r\n * @param path The path (eg. \"a.b.4.c\")\r\n * @returns {*} Whatever is found in the path or undefined\r\n */\r\n getState(path = \"\") {\r\n return getPath({ ...this.state }, path);\r\n }\r\n\r\n /**\r\n * Returns a promise that will be resolved with the fhir version as defined\r\n * in the CapabilityStatement.\r\n */\r\n getFhirVersion(): Promise {\r\n return fetchConformanceStatement(this.state.serverUrl)\r\n .then((metadata) => metadata.fhirVersion);\r\n }\r\n\r\n /**\r\n * Returns a promise that will be resolved with the numeric fhir version\r\n * - 2 for DSTU2\r\n * - 3 for STU3\r\n * - 4 for R4\r\n * - 0 if the version is not known\r\n */\r\n getFhirRelease(): Promise {\r\n return this.getFhirVersion().then(v => (fhirVersions as any)[v] ?? 0);\r\n }\r\n}\r\n","import { fhirclient } from \"./types\";\r\n\r\n\r\nexport default class HttpError extends Error\r\n{\r\n /**\r\n * The HTTP status code for this error\r\n */\r\n statusCode: number;\r\n\r\n /**\r\n * The HTTP status code for this error.\r\n * Note that this is the same as `status`, i.e. the code is available\r\n * through any of these.\r\n */\r\n status: number;\r\n\r\n /**\r\n * The HTTP status text corresponding to this error\r\n */\r\n statusText: string;\r\n\r\n /**\r\n * Reference to the HTTP Response object\r\n */\r\n response: Response;\r\n\r\n constructor(response: Response) {\r\n super(`${response.status} ${response.statusText}\\nURL: ${response.url}`);\r\n this.name = \"HttpError\";\r\n this.response = response;\r\n this.statusCode = response.status;\r\n this.status = response.status;\r\n this.statusText = response.statusText;\r\n }\r\n\r\n async parse()\r\n {\r\n if (!this.response.bodyUsed) {\r\n try {\r\n const type = this.response.headers.get(\"content-type\") || \"text/plain\";\r\n if (type.match(/\\bjson\\b/i)) {\r\n let body = await this.response.json();\r\n if (body.error) {\r\n this.message += \"\\n\" + body.error;\r\n if (body.error_description) {\r\n this.message += \": \" + body.error_description;\r\n }\r\n }\r\n else {\r\n this.message += \"\\n\\n\" + JSON.stringify(body, null, 4);\r\n }\r\n }\r\n else if (type.match(/^text\\//i)) {\r\n let body = await this.response.text();\r\n if (body) {\r\n this.message += \"\\n\\n\" + body;\r\n }\r\n }\r\n } catch {\r\n // ignore\r\n }\r\n }\r\n\r\n return this;\r\n }\r\n\r\n toJSON() {\r\n return {\r\n name : this.name,\r\n statusCode: this.statusCode,\r\n status : this.status,\r\n statusText: this.statusText,\r\n message : this.message\r\n };\r\n }\r\n}\r\n","import { ready, authorize, init } from \"../smart\";\r\nimport Client from \"../Client\";\r\nimport BrowserStorage from \"../storage/BrowserStorage\";\r\nimport { fhirclient } from \"../types\";\r\nimport * as security from \"../security/browser\"\r\nimport { encodeURL, decode, fromUint8Array } from \"js-base64\"\r\n\r\n/**\r\n * Browser Adapter\r\n */\r\nexport default class BrowserAdapter implements fhirclient.Adapter\r\n{\r\n /**\r\n * Stores the URL instance associated with this adapter\r\n */\r\n private _url: URL | null = null;\r\n\r\n /**\r\n * Holds the Storage instance associated with this instance\r\n */\r\n private _storage: fhirclient.Storage | null = null;\r\n\r\n /**\r\n * Environment-specific options\r\n */\r\n options: fhirclient.BrowserFHIRSettings;\r\n\r\n security = security;\r\n\r\n /**\r\n * @param options Environment-specific options\r\n */\r\n constructor(options: fhirclient.BrowserFHIRSettings = {})\r\n {\r\n this.options = {\r\n // Replaces the browser's current URL\r\n // using window.history.replaceState API or by reloading.\r\n replaceBrowserHistory: true,\r\n\r\n // When set to true, this variable will fully utilize\r\n // HTML5 sessionStorage API.\r\n // This variable can be overridden to false by setting\r\n // FHIR.oauth2.settings.fullSessionStorageSupport = false.\r\n // When set to false, the sessionStorage will be keyed\r\n // by a state variable. This is to allow the embedded IE browser\r\n // instances instantiated on a single thread to continue to\r\n // function without having sessionStorage data shared\r\n // across the embedded IE instances.\r\n fullSessionStorageSupport: true,\r\n\r\n // Do we want to send cookies while making a request to the token\r\n // endpoint in order to obtain new access token using existing\r\n // refresh token. In rare cases the auth server might require the\r\n // client to send cookies along with those requests. In this case\r\n // developers will have to change this before initializing the app\r\n // like so:\r\n // `FHIR.oauth2.settings.refreshTokenWithCredentials = \"include\";`\r\n // or\r\n // `FHIR.oauth2.settings.refreshTokenWithCredentials = \"same-origin\";`\r\n // Can be one of:\r\n // \"include\" - always send cookies\r\n // \"same-origin\" - only send cookies if we are on the same domain (default)\r\n // \"omit\" - do not send cookies\r\n refreshTokenWithCredentials: \"same-origin\",\r\n\r\n ...options\r\n };\r\n }\r\n\r\n /**\r\n * Given a relative path, returns an absolute url using the instance base URL\r\n */\r\n relative(path: string): string\r\n {\r\n return new URL(path, this.getUrl().href).href;\r\n }\r\n\r\n /**\r\n * In browsers we need to be able to (dynamically) check if fhir.js is\r\n * included in the page. If it is, it should have created a \"fhir\" variable\r\n * in the global scope.\r\n */\r\n get fhir()\r\n {\r\n // @ts-ignore\r\n return typeof fhir === \"function\" ? fhir : null;\r\n }\r\n\r\n /**\r\n * Given the current environment, this method must return the current url\r\n * as URL instance\r\n */\r\n getUrl(): URL\r\n {\r\n if (!this._url) {\r\n this._url = new URL(location + \"\");\r\n }\r\n return this._url;\r\n }\r\n\r\n /**\r\n * Given the current environment, this method must redirect to the given\r\n * path\r\n */\r\n redirect(to: string): void\r\n {\r\n location.href = to;\r\n }\r\n\r\n /**\r\n * Returns a BrowserStorage object which is just a wrapper around\r\n * sessionStorage\r\n */\r\n getStorage(): BrowserStorage\r\n {\r\n if (!this._storage) {\r\n this._storage = new BrowserStorage();\r\n }\r\n return this._storage;\r\n }\r\n\r\n /**\r\n * Returns a reference to the AbortController constructor. In browsers,\r\n * AbortController will always be available as global (native or polyfilled)\r\n */\r\n getAbortController()\r\n {\r\n return AbortController;\r\n }\r\n\r\n /**\r\n * ASCII string to Base64\r\n */\r\n atob(str: string): string\r\n {\r\n return window.atob(str);\r\n }\r\n\r\n /**\r\n * Base64 to ASCII string\r\n */\r\n btoa(str: string): string\r\n {\r\n return window.btoa(str);\r\n }\r\n\r\n base64urlencode(input: string | Uint8Array)\r\n {\r\n if (typeof input == \"string\") {\r\n return encodeURL(input)\r\n }\r\n return fromUint8Array(input, true)\r\n }\r\n\r\n base64urldecode(input: string)\r\n {\r\n return decode(input)\r\n }\r\n\r\n /**\r\n * Creates and returns adapter-aware SMART api. Not that while the shape of\r\n * the returned object is well known, the arguments to this function are not.\r\n * Those who override this method are free to require any environment-specific\r\n * arguments. For example in node we will need a request, a response and\r\n * optionally a storage or storage factory function.\r\n */\r\n getSmartApi(): fhirclient.SMART\r\n {\r\n return {\r\n ready : (...args: any[]) => ready(this, ...args),\r\n authorize: options => authorize(this, options),\r\n init : options => init(this, options),\r\n client : (state: string | fhirclient.ClientState) => new Client(this, state),\r\n options : this.options,\r\n utils: {\r\n security\r\n }\r\n };\r\n }\r\n}\r\n","\r\n// Note: the following 2 imports appear as unused but they affect how tsc is\r\n// generating type definitions!\r\nimport { fhirclient } from \"../types\";\r\nimport Client from \"../Client\";\r\n\r\n// In Browsers we create an adapter, get the SMART api from it and build the\r\n// global FHIR object\r\nimport BrowserAdapter from \"../adapters/BrowserAdapter\";\r\n\r\nconst adapter = new BrowserAdapter();\r\nconst { ready, authorize, init, client, options, utils } = adapter.getSmartApi();\r\n\r\n// We have two kinds of browser builds - \"pure\" for new browsers and \"legacy\"\r\n// for old ones. In pure builds we assume that the browser supports everything\r\n// we need. In legacy mode, the library also acts as a polyfill. Babel will\r\n// automatically polyfill everything except \"fetch\", which we have to handle\r\n// manually.\r\n// @ts-ignore\r\nif (typeof FHIRCLIENT_PURE == \"undefined\") {\r\n const fetch = require(\"cross-fetch\");\r\n require(\"abortcontroller-polyfill/dist/abortcontroller-polyfill-only\");\r\n if (!window.fetch) {\r\n window.fetch = fetch.default;\r\n window.Headers = fetch.Headers;\r\n window.Request = fetch.Request;\r\n window.Response = fetch.Response;\r\n }\r\n}\r\n\r\n// $lab:coverage:off$\r\nconst FHIR = {\r\n AbortController: window.AbortController,\r\n client,\r\n utils,\r\n oauth2: {\r\n settings: options,\r\n ready,\r\n authorize,\r\n init\r\n }\r\n};\r\n\r\nexport = FHIR;\r\n// $lab:coverage:on$\r\n","/*\r\n * This file contains some shared functions. They are used by other modules, but\r\n * are defined here so that tests can import this library and test them.\r\n */\r\n\r\nimport HttpError from \"./HttpError\";\r\nimport { patientParams } from \"./settings\";\r\nimport { fhirclient } from \"./types\";\r\nconst debug = require(\"debug\");\r\n\r\n// $lab:coverage:off$\r\n// @ts-ignore\r\nconst { fetch } = typeof FHIRCLIENT_PURE !== \"undefined\" ? window : require(\"cross-fetch\");\r\n// $lab:coverage:on$\r\n\r\nconst _debug = debug(\"FHIR\");\r\nexport { _debug as debug };\r\n\r\n/**\r\n * The cache for the `getAndCache` function\r\n */\r\nconst cache: Record = {};\r\n\r\n/**\r\n * A namespace with functions for converting between different measurement units\r\n */\r\nexport const units = {\r\n cm({ code, value }: fhirclient.CodeValue) {\r\n ensureNumerical({ code, value });\r\n if (code == \"cm\" ) return value;\r\n if (code == \"m\" ) return value * 100;\r\n if (code == \"in\" ) return value * 2.54;\r\n if (code == \"[in_us]\") return value * 2.54;\r\n if (code == \"[in_i]\" ) return value * 2.54;\r\n if (code == \"ft\" ) return value * 30.48;\r\n if (code == \"[ft_us]\") return value * 30.48;\r\n throw new Error(\"Unrecognized length unit: \" + code);\r\n },\r\n kg({ code, value }: fhirclient.CodeValue){\r\n ensureNumerical({ code, value });\r\n if (code == \"kg\" ) return value;\r\n if (code == \"g\" ) return value / 1000;\r\n if (code.match(/lb/)) return value / 2.20462;\r\n if (code.match(/oz/)) return value / 35.274;\r\n throw new Error(\"Unrecognized weight unit: \" + code);\r\n },\r\n any(pq: fhirclient.CodeValue){\r\n ensureNumerical(pq);\r\n return pq.value;\r\n }\r\n};\r\n\r\n/**\r\n * Assertion function to guard arguments for `units` functions\r\n */\r\nfunction ensureNumerical({ value, code }: fhirclient.CodeValue) {\r\n if (typeof value !== \"number\") {\r\n throw new Error(\"Found a non-numerical unit: \" + value + \" \" + code);\r\n }\r\n}\r\n\r\n/**\r\n * Used in fetch Promise chains to reject if the \"ok\" property is not true\r\n */\r\nexport async function checkResponse(resp: Response): Promise {\r\n if (!resp.ok) {\r\n const error = new HttpError(resp);\r\n await error.parse();\r\n throw error;\r\n }\r\n return resp;\r\n}\r\n\r\n/**\r\n * Used in fetch Promise chains to return the JSON version of the response.\r\n * Note that `resp.json()` will throw on empty body so we use resp.text()\r\n * instead.\r\n */\r\nexport function responseToJSON(resp: Response): Promise {\r\n return resp.text().then(text => text.length ? JSON.parse(text) : \"\");\r\n}\r\n\r\nexport function loweCaseKeys | any[] | undefined>(obj: T): T {\r\n \r\n // Can be undefined to signal that this key should be removed\r\n if (!obj) {\r\n return obj as T\r\n }\r\n\r\n // Arrays are valid values in case of recursive calls\r\n if (Array.isArray(obj)) {\r\n return obj.map(v => v && typeof v === \"object\" ? loweCaseKeys(v) : v) as unknown as T;\r\n }\r\n\r\n // Plain object\r\n let out: Record = {};\r\n Object.keys(obj).forEach(key => {\r\n const lowerKey = key.toLowerCase()\r\n const v = (obj as Record)[key]\r\n out[lowerKey] = v && typeof v == \"object\" ? loweCaseKeys(v) : v;\r\n });\r\n return out as T;\r\n}\r\n\r\n/**\r\n * This is our built-in request function. It does a few things by default\r\n * (unless told otherwise):\r\n * - Makes CORS requests\r\n * - Sets accept header to \"application/json\"\r\n * - Handles errors\r\n * - If the response is json return the json object\r\n * - If the response is text return the result text\r\n * - Otherwise return the response object on which we call stuff like `.blob()`\r\n */\r\nexport function request(\r\n url: string | Request,\r\n requestOptions: fhirclient.FetchOptions = {}\r\n): Promise\r\n{\r\n const { includeResponse, ...options } = requestOptions;\r\n return fetch(url, {\r\n mode: \"cors\",\r\n ...options,\r\n headers: {\r\n accept: \"application/json\",\r\n ...loweCaseKeys(options.headers)\r\n }\r\n })\r\n .then(checkResponse)\r\n .then((res: Response) => {\r\n const type = res.headers.get(\"content-type\") + \"\";\r\n if (type.match(/\\bjson\\b/i)) {\r\n return responseToJSON(res).then(body => ({ res, body }));\r\n }\r\n if (type.match(/^text\\//i)) {\r\n return res.text().then(body => ({ res, body }));\r\n }\r\n return { res };\r\n })\r\n .then(({res, body}: {res:Response, body?:fhirclient.JsonObject|string}) => {\r\n\r\n // Some servers will reply after CREATE with json content type but with\r\n // empty body. In this case check if a location header is received and\r\n // fetch that to use it as the final result.\r\n if (!body && res.status == 201) {\r\n const location = res.headers.get(\"location\");\r\n if (location) {\r\n return request(location, { ...options, method: \"GET\", body: null, includeResponse });\r\n }\r\n }\r\n\r\n if (includeResponse) {\r\n return { body, response: res };\r\n }\r\n\r\n // For any non-text and non-json response return the Response object.\r\n // This to let users decide if they want to call text(), blob() or\r\n // something else on it\r\n if (body === undefined) {\r\n return res;\r\n }\r\n\r\n // Otherwise just return the parsed body (can also be \"\" or null)\r\n return body;\r\n });\r\n}\r\n\r\n/**\r\n * Makes a request using `fetch` and stores the result in internal memory cache.\r\n * The cache is cleared when the page is unloaded.\r\n * @param url The URL to request\r\n * @param requestOptions Request options\r\n * @param force If true, reload from source and update the cache, even if it has\r\n * already been cached.\r\n */\r\nexport function getAndCache(url: string, requestOptions?: RequestInit, force: boolean = process.env.NODE_ENV === \"test\"): Promise {\r\n if (force || !cache[url]) {\r\n cache[url] = request(url, requestOptions);\r\n return cache[url];\r\n }\r\n return Promise.resolve(cache[url]);\r\n}\r\n\r\n/**\r\n * Fetches the conformance statement from the given base URL.\r\n * Note that the result is cached in memory (until the page is reloaded in the\r\n * browser) because it might have to be re-used by the client\r\n * @param baseUrl The base URL of the FHIR server\r\n * @param [requestOptions] Any options passed to the fetch call\r\n */\r\nexport function fetchConformanceStatement(baseUrl = \"/\", requestOptions?: RequestInit): Promise\r\n{\r\n const url = String(baseUrl).replace(/\\/*$/, \"/\") + \"metadata\";\r\n return getAndCache(url, requestOptions).catch((ex: Error) => {\r\n throw new Error(\r\n `Failed to fetch the conformance statement from \"${url}\". ${ex}`\r\n );\r\n });\r\n}\r\n\r\n\r\n/**\r\n * Walks through an object (or array) and returns the value found at the\r\n * provided path. This function is very simple so it intentionally does not\r\n * support any argument polymorphism, meaning that the path can only be a\r\n * dot-separated string. If the path is invalid returns undefined.\r\n * @param obj The object (or Array) to walk through\r\n * @param path The path (eg. \"a.b.4.c\")\r\n * @returns {*} Whatever is found in the path or undefined\r\n */\r\nexport function getPath(obj: Record, path = \"\"): any {\r\n path = path.trim();\r\n if (!path) {\r\n return obj;\r\n }\r\n\r\n let segments = path.split(\".\");\r\n let result = obj;\r\n\r\n while (result && segments.length) {\r\n const key = segments.shift();\r\n if (!key && Array.isArray(result)) {\r\n return result.map(o => getPath(o, segments.join(\".\")));\r\n } else {\r\n result = result[key as string];\r\n }\r\n }\r\n\r\n return result;\r\n}\r\n\r\n/**\r\n * Like getPath, but if the node is found, its value is set to @value\r\n * @param obj The object (or Array) to walk through\r\n * @param path The path (eg. \"a.b.4.c\")\r\n * @param value The value to set\r\n * @param createEmpty If true, create missing intermediate objects or arrays\r\n * @returns The modified object\r\n */\r\nexport function setPath(obj: Record, path: string, value: any, createEmpty = false): Record {\r\n path.trim().split(\".\").reduce(\r\n (out, key, idx, arr) => {\r\n if (out && idx === arr.length - 1) {\r\n out[key] = value;\r\n }\r\n else {\r\n if (out && out[key] === undefined && createEmpty) {\r\n out[key] = arr[idx + 1].match(/^[0-9]+$/) ? [] : {};\r\n }\r\n return out ? out[key] : undefined;\r\n }\r\n },\r\n obj\r\n );\r\n return obj;\r\n}\r\n\r\n/**\r\n * If the argument is an array returns it as is. Otherwise puts it in an array\r\n * (`[arg]`) and returns the result\r\n * @param arg The element to test and possibly convert to array\r\n * @category Utility\r\n */\r\nexport function makeArray(arg: any): T[] {\r\n if (Array.isArray(arg)) {\r\n return arg;\r\n }\r\n return [arg];\r\n}\r\n\r\n/**\r\n * Given a path, converts it to absolute url based on the `baseUrl`. If baseUrl\r\n * is not provided, the result would be a rooted path (one that starts with `/`).\r\n * @param path The path to convert\r\n * @param baseUrl The base URL\r\n */\r\nexport function absolute(path: string, baseUrl?: string): string\r\n{\r\n if (path.match(/^http/)) return path;\r\n if (path.match(/^urn/)) return path;\r\n return String(baseUrl || \"\").replace(/\\/+$/, \"\") + \"/\" + path.replace(/^\\/+/, \"\");\r\n}\r\n\r\n/**\r\n * Generates random strings. By default this returns random 8 characters long\r\n * alphanumeric strings.\r\n * @param strLength The length of the output string. Defaults to 8.\r\n * @param charSet A string containing all the possible characters.\r\n * Defaults to all the upper and lower-case letters plus digits.\r\n * @category Utility\r\n */\r\nexport function randomString(\r\n strLength = 8,\r\n charSet = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\"\r\n): string\r\n{\r\n const result = [];\r\n const len = charSet.length;\r\n while (strLength--) {\r\n result.push(charSet.charAt(Math.floor(Math.random() * len)));\r\n }\r\n return result.join(\"\");\r\n}\r\n\r\n/**\r\n * Decodes a JWT token and returns it's body.\r\n * @param token The token to read\r\n * @param env An `Adapter` or any other object that has an `atob` method\r\n * @category Utility\r\n */\r\nexport function jwtDecode(token: string, env: fhirclient.Adapter): Record | null\r\n{\r\n const payload = token.split(\".\")[1];\r\n return payload ? JSON.parse(env.atob(payload)) : null;\r\n}\r\n\r\n/**\r\n * Add a supplied number of seconds to the supplied Date, returning\r\n * an integer number of seconds since the epoch\r\n * @param secondsAhead How far ahead, in seconds (defaults to 120 seconds)\r\n * @param from Initial time (defaults to current time)\r\n */\r\nexport function getTimeInFuture(secondsAhead: number = 120, from?: Date | number): number {\r\n return Math.floor(+(from || new Date()) / 1000 + secondsAhead) \r\n}\r\n\r\n/**\r\n * Given a token response, computes and returns the expiresAt timestamp.\r\n * Note that this should only be used immediately after an access token is\r\n * received, otherwise the computed timestamp will be incorrect.\r\n * @param tokenResponse \r\n * @param env \r\n */\r\nexport function getAccessTokenExpiration(tokenResponse: fhirclient.TokenResponse, env: fhirclient.Adapter): number\r\n{\r\n const now = Math.floor(Date.now() / 1000);\r\n\r\n // Option 1 - using the expires_in property of the token response\r\n if (tokenResponse.expires_in) {\r\n return now + tokenResponse.expires_in;\r\n }\r\n\r\n // Option 2 - using the exp property of JWT tokens (must not assume JWT!)\r\n if (tokenResponse.access_token) {\r\n let tokenBody = jwtDecode(tokenResponse.access_token, env);\r\n if (tokenBody && tokenBody.exp) {\r\n return tokenBody.exp;\r\n }\r\n }\r\n\r\n // Option 3 - if none of the above worked set this to 5 minutes after now\r\n return now + 300;\r\n}\r\n\r\n/**\r\n * Groups the observations by code. Returns a map that will look like:\r\n * ```js\r\n * const map = client.byCodes(observations, \"code\");\r\n * // map = {\r\n * // \"55284-4\": [ observation1, observation2 ],\r\n * // \"6082-2\": [ observation3 ]\r\n * // }\r\n * ```\r\n * @param observations Array of observations\r\n * @param property The name of a CodeableConcept property to group by\r\n */\r\nexport function byCode(\r\n observations: fhirclient.FHIR.Observation | fhirclient.FHIR.Observation[],\r\n property: string\r\n): fhirclient.ObservationMap\r\n{\r\n const ret: fhirclient.ObservationMap = {};\r\n\r\n function handleCodeableConcept(concept: fhirclient.FHIR.CodeableConcept, observation: fhirclient.FHIR.Observation) {\r\n if (concept && Array.isArray(concept.coding)) {\r\n concept.coding.forEach(({ code }) => {\r\n if (code) {\r\n ret[code] = ret[code] || [] as fhirclient.FHIR.Observation[];\r\n ret[code].push(observation);\r\n }\r\n });\r\n }\r\n }\r\n\r\n makeArray(observations).forEach(o => {\r\n if (o.resourceType === \"Observation\" && o[property]) {\r\n if (Array.isArray(o[property])) {\r\n o[property].forEach((concept: fhirclient.FHIR.CodeableConcept) => handleCodeableConcept(concept, o));\r\n } else {\r\n handleCodeableConcept(o[property], o);\r\n }\r\n }\r\n });\r\n\r\n return ret;\r\n}\r\n\r\n/**\r\n * First groups the observations by code using `byCode`. Then returns a function\r\n * that accepts codes as arguments and will return a flat array of observations\r\n * having that codes. Example:\r\n * ```js\r\n * const filter = client.byCodes(observations, \"category\");\r\n * filter(\"laboratory\") // => [ observation1, observation2 ]\r\n * filter(\"vital-signs\") // => [ observation3 ]\r\n * filter(\"laboratory\", \"vital-signs\") // => [ observation1, observation2, observation3 ]\r\n * ```\r\n * @param observations Array of observations\r\n * @param property The name of a CodeableConcept property to group by\r\n */\r\nexport function byCodes(\r\n observations: fhirclient.FHIR.Observation | fhirclient.FHIR.Observation[],\r\n property: string\r\n): (...codes: string[]) => any[]\r\n{\r\n const bank = byCode(observations, property);\r\n return (...codes) => codes\r\n .filter(code => (code + \"\") in bank)\r\n .reduce(\r\n (prev, code) => prev.concat(bank[code + \"\"]),\r\n [] as fhirclient.FHIR.Observation[]\r\n );\r\n}\r\n\r\n/**\r\n * Given a conformance statement and a resource type, returns the name of the\r\n * URL parameter that can be used to scope the resource type by patient ID.\r\n */\r\nexport function getPatientParam(conformance: fhirclient.FHIR.CapabilityStatement, resourceType: string): string\r\n{\r\n // Find what resources are supported by this server\r\n const resources = getPath(conformance, \"rest.0.resource\") || [];\r\n\r\n // Check if this resource is supported\r\n const meta = resources.find((r: any) => r.type === resourceType);\r\n if (!meta) {\r\n throw new Error(`Resource \"${resourceType}\" is not supported by this FHIR server`);\r\n }\r\n\r\n // Check if any search parameters are available for this resource\r\n if (!Array.isArray(meta.searchParam)) {\r\n throw new Error(`No search parameters supported for \"${resourceType}\" on this FHIR server`);\r\n }\r\n\r\n // This is a rare case but could happen in generic workflows\r\n if (resourceType == \"Patient\" && meta.searchParam.find((x: any) => x.name == \"_id\")) {\r\n return \"_id\";\r\n }\r\n\r\n // Now find the first possible parameter name\r\n const out = patientParams.find(p => meta.searchParam.find((x: any) => x.name == p));\r\n\r\n // If there is no match\r\n if (!out) {\r\n throw new Error(\"I don't know what param to use for \" + resourceType);\r\n }\r\n\r\n return out;\r\n}\r\n\r\n/**\r\n * Resolves a reference to target window. It may also open new window or tab if\r\n * the `target = \"popup\"` or `target = \"_blank\"`.\r\n * @param target\r\n * @param width Only used when `target = \"popup\"`\r\n * @param height Only used when `target = \"popup\"`\r\n */\r\nexport async function getTargetWindow(target: fhirclient.WindowTarget, width: number = 800, height: number = 720): Promise\r\n{\r\n // The target can be a function that returns the target. This can be\r\n // used to open a layer pop-up with an iframe and then return a reference\r\n // to that iframe (or its name)\r\n if (typeof target == \"function\") {\r\n target = await target();\r\n }\r\n\r\n // The target can be a window reference\r\n if (target && typeof target == \"object\") {\r\n return target;\r\n }\r\n\r\n // At this point target must be a string\r\n if (typeof target != \"string\") {\r\n _debug(\"Invalid target type '%s'. Failing back to '_self'.\", typeof target);\r\n return self;\r\n }\r\n\r\n // Current window\r\n if (target == \"_self\") {\r\n return self;\r\n }\r\n\r\n // The parent frame\r\n if (target == \"_parent\") {\r\n return parent;\r\n }\r\n\r\n // The top window\r\n if (target == \"_top\") {\r\n return top || self;\r\n }\r\n\r\n // New tab or window\r\n if (target == \"_blank\") {\r\n let error, targetWindow: Window | null = null;\r\n try {\r\n targetWindow = window.open(\"\", \"SMARTAuthPopup\");\r\n if (!targetWindow) {\r\n throw new Error(\"Perhaps window.open was blocked\");\r\n }\r\n } catch (e) {\r\n error = e;\r\n }\r\n\r\n if (!targetWindow) {\r\n _debug(\"Cannot open window. Failing back to '_self'. %s\", error);\r\n return self;\r\n } else {\r\n return targetWindow;\r\n }\r\n }\r\n\r\n // Popup window\r\n if (target == \"popup\") {\r\n let error, targetWindow: Window | null = null;\r\n // if (!targetWindow || targetWindow.closed) {\r\n try {\r\n targetWindow = window.open(\"\", \"SMARTAuthPopup\", [\r\n \"height=\" + height,\r\n \"width=\" + width,\r\n \"menubar=0\",\r\n \"resizable=1\",\r\n \"status=0\",\r\n \"top=\" + (screen.height - height) / 2,\r\n \"left=\" + (screen.width - width) / 2\r\n ].join(\",\"));\r\n if (!targetWindow) {\r\n throw new Error(\"Perhaps the popup window was blocked\");\r\n }\r\n } catch (e) {\r\n error = e;\r\n }\r\n\r\n if (!targetWindow) {\r\n _debug(\"Cannot open window. Failing back to '_self'. %s\", error);\r\n return self;\r\n } else {\r\n return targetWindow;\r\n }\r\n }\r\n\r\n // Frame or window by name\r\n const winOrFrame: Window = frames[target as any];\r\n if (winOrFrame) {\r\n return winOrFrame;\r\n }\r\n\r\n _debug(\"Unknown target '%s'. Failing back to '_self'.\", target);\r\n return self;\r\n}\r\n\r\nexport function assert(condition: any, message: string): asserts condition {\r\n if (!(condition)) {\r\n throw new Error(message)\r\n }\r\n}\r\n\r\nexport function assertJsonPatch(patch: fhirclient.JsonPatch): asserts patch {\r\n assert(Array.isArray(patch), \"The JSON patch must be an array\")\r\n assert(patch.length > 0, \"The JSON patch array should not be empty\")\r\n patch.forEach((operation: fhirclient.JsonPatchOperation) => {\r\n assert(\r\n [\"add\", \"replace\", \"test\", \"move\", \"copy\", \"remove\"].indexOf(operation.op) > -1,\r\n 'Each patch operation must have an \"op\" property which must be one of: \"add\", \"replace\", \"test\", \"move\", \"copy\", \"remove\"'\r\n )\r\n assert(operation.path && typeof operation.path, `Invalid \"${operation.op}\" operation. Missing \"path\" property`)\r\n \r\n if (operation.op == \"add\" || operation.op == \"replace\" || operation.op == \"test\") {\r\n assert(\"value\" in operation, `Invalid \"${operation.op}\" operation. Missing \"value\" property`)\r\n assert(Object.keys(operation).length == 3, `Invalid \"${operation.op}\" operation. Contains unknown properties`)\r\n }\r\n\r\n else if (operation.op == \"move\" || operation.op == \"copy\") {\r\n assert(typeof operation.from == \"string\", `Invalid \"${operation.op}\" operation. Requires a string \"from\" property`)\r\n assert(Object.keys(operation).length == 3, `Invalid \"${operation.op}\" operation. Contains unknown properties`)\r\n }\r\n\r\n else {\r\n assert(Object.keys(operation).length == 2, `Invalid \"${operation.op}\" operation. Contains unknown properties`)\r\n }\r\n })\r\n}\r\n","import { encodeURL, fromUint8Array } from \"js-base64\"\r\nimport { fhirclient } from \"../types\"\r\n\r\n\r\nconst crypto: Crypto = typeof globalThis === \"object\" && globalThis.crypto ?\r\n globalThis.crypto :\r\n require(\"isomorphic-webcrypto\").default;\r\n\r\nconst subtle = () => {\r\n if (!crypto.subtle) {\r\n if (!globalThis.isSecureContext) {\r\n throw new Error(\r\n \"Some of the required subtle crypto functionality is not \" +\r\n \"available unless you run this app in secure context (using \" +\r\n \"HTTPS or running locally). See \" +\r\n \"https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts\"\r\n )\r\n }\r\n throw new Error(\r\n \"Some of the required subtle crypto functionality is not \" +\r\n \"available in the current environment (no crypto.subtle)\"\r\n )\r\n }\r\n return crypto.subtle\r\n}\r\n\r\n\r\ninterface PkcePair {\r\n codeChallenge: string\r\n codeVerifier: string\r\n}\r\n\r\nconst ALGS = {\r\n ES384: {\r\n name: \"ECDSA\",\r\n namedCurve: \"P-384\"\r\n } as EcKeyGenParams,\r\n RS384: {\r\n name: \"RSASSA-PKCS1-v1_5\",\r\n modulusLength: 4096,\r\n publicExponent: new Uint8Array([1, 0, 1]),\r\n hash: {\r\n name: 'SHA-384'\r\n }\r\n } as RsaHashedKeyGenParams\r\n};\r\n\r\nexport function randomBytes(count: number): Uint8Array {\r\n return crypto.getRandomValues(new Uint8Array(count));\r\n}\r\n\r\nexport async function digestSha256(payload: string): Promise {\r\n const prepared = new TextEncoder().encode(payload);\r\n const hash = await subtle().digest('SHA-256', prepared);\r\n return new Uint8Array(hash);\r\n}\r\n\r\nexport const generatePKCEChallenge = async (entropy = 96): Promise => {\r\n const inputBytes = randomBytes(entropy)\r\n const codeVerifier = fromUint8Array(inputBytes, true)\r\n const codeChallenge = fromUint8Array(await digestSha256(codeVerifier), true)\r\n return { codeChallenge, codeVerifier }\r\n}\r\n\r\nexport async function importJWK(jwk: fhirclient.JWK): Promise {\r\n // alg is optional in JWK but we need it here!\r\n if (!jwk.alg) {\r\n throw new Error('The \"alg\" property of the JWK must be set to \"ES384\" or \"RS384\"')\r\n }\r\n\r\n // Use of the \"key_ops\" member is OPTIONAL, unless the application requires its presence.\r\n // https://www.rfc-editor.org/rfc/rfc7517.html#section-4.3\r\n // \r\n // In our case the app will only import private keys so we can assume \"sign\"\r\n if (!Array.isArray(jwk.key_ops)) {\r\n jwk.key_ops = [\"sign\"]\r\n }\r\n\r\n // In this case the JWK has a \"key_ops\" array and \"sign\" is not listed\r\n if (!jwk.key_ops.includes(\"sign\")) {\r\n throw new Error('The \"key_ops\" property of the JWK does not contain \"sign\"')\r\n }\r\n\r\n try {\r\n return await subtle().importKey(\r\n \"jwk\",\r\n jwk,\r\n ALGS[jwk.alg],\r\n jwk.ext === true,\r\n jwk.key_ops// || ['sign']\r\n )\r\n } catch (e) {\r\n throw new Error(`The ${jwk.alg} is not supported by this browser: ${e}`)\r\n }\r\n}\r\n\r\nexport async function signCompactJws(alg: keyof typeof ALGS, privateKey: CryptoKey, header: any, payload: any): Promise {\r\n\r\n const jwtHeader = JSON.stringify({ ...header, alg });\r\n const jwtPayload = JSON.stringify(payload);\r\n const jwtAuthenticatedContent = `${encodeURL(jwtHeader)}.${encodeURL(jwtPayload)}`;\r\n\r\n const signature = await subtle().sign(\r\n { ...privateKey.algorithm, hash: 'SHA-384' },\r\n privateKey,\r\n new TextEncoder().encode(jwtAuthenticatedContent)\r\n );\r\n\r\n return `${jwtAuthenticatedContent}.${fromUint8Array(new Uint8Array(signature), true)}`\r\n}\r\n","/**\r\n * Combined list of FHIR resource types accepting patient parameter in FHIR R2-R4\r\n */\r\nexport const patientCompartment = [\r\n \"Account\",\r\n \"AdverseEvent\",\r\n \"AllergyIntolerance\",\r\n \"Appointment\",\r\n \"AppointmentResponse\",\r\n \"AuditEvent\",\r\n \"Basic\",\r\n \"BodySite\",\r\n \"BodyStructure\",\r\n \"CarePlan\",\r\n \"CareTeam\",\r\n \"ChargeItem\",\r\n \"Claim\",\r\n \"ClaimResponse\",\r\n \"ClinicalImpression\",\r\n \"Communication\",\r\n \"CommunicationRequest\",\r\n \"Composition\",\r\n \"Condition\",\r\n \"Consent\",\r\n \"Coverage\",\r\n \"CoverageEligibilityRequest\",\r\n \"CoverageEligibilityResponse\",\r\n \"DetectedIssue\",\r\n \"DeviceRequest\",\r\n \"DeviceUseRequest\",\r\n \"DeviceUseStatement\",\r\n \"DiagnosticOrder\",\r\n \"DiagnosticReport\",\r\n \"DocumentManifest\",\r\n \"DocumentReference\",\r\n \"EligibilityRequest\",\r\n \"Encounter\",\r\n \"EnrollmentRequest\",\r\n \"EpisodeOfCare\",\r\n \"ExplanationOfBenefit\",\r\n \"FamilyMemberHistory\",\r\n \"Flag\",\r\n \"Goal\",\r\n \"Group\",\r\n \"ImagingManifest\",\r\n \"ImagingObjectSelection\",\r\n \"ImagingStudy\",\r\n \"Immunization\",\r\n \"ImmunizationEvaluation\",\r\n \"ImmunizationRecommendation\",\r\n \"Invoice\",\r\n \"List\",\r\n \"MeasureReport\",\r\n \"Media\",\r\n \"MedicationAdministration\",\r\n \"MedicationDispense\",\r\n \"MedicationOrder\",\r\n \"MedicationRequest\",\r\n \"MedicationStatement\",\r\n \"MolecularSequence\",\r\n \"NutritionOrder\",\r\n \"Observation\",\r\n \"Order\",\r\n \"Patient\",\r\n \"Person\",\r\n \"Procedure\",\r\n \"ProcedureRequest\",\r\n \"Provenance\",\r\n \"QuestionnaireResponse\",\r\n \"ReferralRequest\",\r\n \"RelatedPerson\",\r\n \"RequestGroup\",\r\n \"ResearchSubject\",\r\n \"RiskAssessment\",\r\n \"Schedule\",\r\n \"ServiceRequest\",\r\n \"Specimen\",\r\n \"SupplyDelivery\",\r\n \"SupplyRequest\",\r\n \"VisionPrescription\"\r\n];\r\n\r\n/**\r\n * Map of FHIR releases and their abstract version as number\r\n */\r\nexport const fhirVersions = {\r\n \"0.4.0\": 2,\r\n \"0.5.0\": 2,\r\n \"1.0.0\": 2,\r\n \"1.0.1\": 2,\r\n \"1.0.2\": 2,\r\n \"1.1.0\": 3,\r\n \"1.4.0\": 3,\r\n \"1.6.0\": 3,\r\n \"1.8.0\": 3,\r\n \"3.0.0\": 3,\r\n \"3.0.1\": 3,\r\n \"3.3.0\": 4,\r\n \"3.5.0\": 4,\r\n \"4.0.0\": 4,\r\n \"4.0.1\": 4\r\n};\r\n\r\n/**\r\n * Combined (FHIR R2-R4) list of search parameters that can be used to scope\r\n * a request by patient ID.\r\n */\r\nexport const patientParams = [\r\n \"patient\",\r\n \"subject\",\r\n \"requester\",\r\n \"member\",\r\n \"actor\",\r\n \"beneficiary\"\r\n];\r\n\r\n/**\r\n * The name of the sessionStorage entry that contains the current key\r\n */\r\nexport const SMART_KEY = \"SMART_KEY\";\r\n","/* global window */\r\nimport {\r\n debug as _debug,\r\n request,\r\n getPath,\r\n getTimeInFuture,\r\n randomString,\r\n getAndCache,\r\n fetchConformanceStatement,\r\n getAccessTokenExpiration,\r\n getTargetWindow,\r\n assert\r\n} from \"./lib\";\r\nimport Client from \"./Client\";\r\nimport { SMART_KEY } from \"./settings\";\r\nimport { fhirclient } from \"./types\";\r\n\r\nconst debug = _debug.extend(\"oauth2\");\r\n\r\nexport { SMART_KEY as KEY };\r\n\r\nfunction isBrowser() {\r\n return typeof window === \"object\";\r\n}\r\n\r\n/**\r\n * Fetches the well-known json file from the given base URL.\r\n * Note that the result is cached in memory (until the page is reloaded in the\r\n * browser) because it might have to be re-used by the client\r\n * @param baseUrl The base URL of the FHIR server\r\n */\r\nexport function fetchWellKnownJson(baseUrl = \"/\", requestOptions?: RequestInit): Promise\r\n{\r\n const url = String(baseUrl).replace(/\\/*$/, \"/\") + \".well-known/smart-configuration\";\r\n return getAndCache(url, requestOptions).catch((ex: Error) => {\r\n throw new Error(`Failed to fetch the well-known json \"${url}\". ${ex.message}`);\r\n });\r\n}\r\n\r\n/**\r\n * Fetch a \"WellKnownJson\" and extract the SMART endpoints from it\r\n */\r\nfunction getSecurityExtensionsFromWellKnownJson(baseUrl = \"/\", requestOptions?: RequestInit): Promise\r\n{\r\n return fetchWellKnownJson(baseUrl, requestOptions).then(meta => {\r\n if (!meta.authorization_endpoint || !meta.token_endpoint) {\r\n throw new Error(\"Invalid wellKnownJson\");\r\n }\r\n return {\r\n registrationUri : meta.registration_endpoint || \"\",\r\n authorizeUri : meta.authorization_endpoint,\r\n tokenUri : meta.token_endpoint,\r\n codeChallengeMethods: meta.code_challenge_methods_supported || []\r\n };\r\n });\r\n}\r\n\r\n/**\r\n * Fetch a `CapabilityStatement` and extract the SMART endpoints from it\r\n */\r\nfunction getSecurityExtensionsFromConformanceStatement(baseUrl = \"/\", requestOptions?: RequestInit): Promise\r\n{\r\n return fetchConformanceStatement(baseUrl, requestOptions).then(meta => {\r\n const nsUri = \"http://fhir-registry.smarthealthit.org/StructureDefinition/oauth-uris\";\r\n const extensions = ((getPath(meta || {}, \"rest.0.security.extension\") || []) as Array>)\r\n .filter(e => e.url === nsUri)\r\n .map(o => o.extension)[0];\r\n\r\n const out:fhirclient.OAuthSecurityExtensions = {\r\n registrationUri : \"\",\r\n authorizeUri : \"\",\r\n tokenUri : \"\",\r\n codeChallengeMethods: [],\r\n };\r\n\r\n if (extensions) {\r\n extensions.forEach(ext => {\r\n if (ext.url === \"register\") {\r\n out.registrationUri = ext.valueUri;\r\n }\r\n if (ext.url === \"authorize\") {\r\n out.authorizeUri = ext.valueUri;\r\n }\r\n if (ext.url === \"token\") {\r\n out.tokenUri = ext.valueUri;\r\n }\r\n });\r\n }\r\n\r\n return out;\r\n });\r\n}\r\n\r\n\r\n/**\r\n * Given a FHIR server, returns an object with it's Oauth security endpoints\r\n * that we are interested in. This will try to find the info in both the\r\n * `CapabilityStatement` and the `.well-known/smart-configuration`. Whatever\r\n * Arrives first will be used and the other request will be aborted.\r\n * @param [baseUrl = \"/\"] Fhir server base URL\r\n */\r\nexport function getSecurityExtensions(baseUrl = \"/\"): Promise\r\n{\r\n return getSecurityExtensionsFromWellKnownJson(baseUrl)\r\n .catch(() => getSecurityExtensionsFromConformanceStatement(baseUrl));\r\n}\r\n\r\n/**\r\n * Starts the SMART Launch Sequence.\r\n * > **IMPORTANT**:\r\n * `authorize()` will end up redirecting you to the authorization server.\r\n * This means that you should not add anything to the returned promise chain.\r\n * Any code written directly after the authorize() call might not be executed\r\n * due to that redirect!\r\n * @param env\r\n * @param [params]\r\n */\r\nexport async function authorize(\r\n env: fhirclient.Adapter,\r\n params: fhirclient.AuthorizeParams | fhirclient.AuthorizeParams[] = {}\r\n): Promise\r\n{\r\n const url = env.getUrl();\r\n\r\n // Multiple config for EHR launches ---------------------------------------\r\n if (Array.isArray(params)) {\r\n const urlISS = url.searchParams.get(\"iss\") || url.searchParams.get(\"fhirServiceUrl\");\r\n if (!urlISS) {\r\n throw new Error(\r\n 'Passing in an \"iss\" url parameter is required if authorize ' +\r\n 'uses multiple configurations'\r\n );\r\n }\r\n // pick the right config\r\n const cfg = params.find(x => {\r\n if (x.issMatch) {\r\n if (typeof x.issMatch === \"function\") {\r\n return !!x.issMatch(urlISS);\r\n }\r\n if (typeof x.issMatch === \"string\") {\r\n return x.issMatch === urlISS;\r\n }\r\n if (x.issMatch instanceof RegExp) {\r\n return x.issMatch.test(urlISS);\r\n }\r\n }\r\n return false;\r\n });\r\n assert(cfg, `No configuration found matching the current \"iss\" parameter \"${urlISS}\"`);\r\n return await authorize(env, cfg);\r\n }\r\n // ------------------------------------------------------------------------\r\n\r\n // Obtain input\r\n const {\r\n clientSecret,\r\n fakeTokenResponse,\r\n encounterId,\r\n target,\r\n width,\r\n height,\r\n pkceMode,\r\n clientPublicKeySetUrl,\r\n // Two deprecated values to use as fall-back values later\r\n redirect_uri,\r\n client_id,\r\n } = params;\r\n \r\n let {\r\n iss,\r\n launch,\r\n patientId,\r\n fhirServiceUrl,\r\n redirectUri,\r\n noRedirect,\r\n scope = \"\",\r\n clientId,\r\n completeInTarget,\r\n clientPrivateJwk,\r\n stateKey\r\n } = params;\r\n\r\n const storage = env.getStorage();\r\n\r\n // For these, a url param takes precedence over inline option\r\n iss = url.searchParams.get(\"iss\") || iss;\r\n fhirServiceUrl = url.searchParams.get(\"fhirServiceUrl\") || fhirServiceUrl;\r\n launch = url.searchParams.get(\"launch\") || launch;\r\n patientId = url.searchParams.get(\"patientId\") || patientId;\r\n clientId = url.searchParams.get(\"clientId\") || clientId;\r\n\r\n // If there's still no clientId or redirectUri, check deprecated params \r\n if (!clientId) {\r\n clientId = client_id;\r\n }\r\n if (!redirectUri) {\r\n redirectUri = redirect_uri;\r\n }\r\n\r\n if (!redirectUri) {\r\n redirectUri = env.relative(\".\");\r\n } else if (!redirectUri.match(/^https?\\:\\/\\//)) {\r\n redirectUri = env.relative(redirectUri);\r\n }\r\n\r\n const serverUrl = String(iss || fhirServiceUrl || \"\");\r\n\r\n // Validate input\r\n if (!serverUrl) {\r\n throw new Error(\r\n \"No server url found. It must be specified as `iss` or as \" +\r\n \"`fhirServiceUrl` parameter\"\r\n );\r\n }\r\n\r\n if (iss) {\r\n debug(\"Making %s launch...\", launch ? \"EHR\" : \"standalone\");\r\n }\r\n\r\n // append launch scope if needed\r\n if (launch && !scope.match(/launch/)) {\r\n scope += \" launch\";\r\n }\r\n\r\n if (isBrowser()) {\r\n const inFrame = isInFrame();\r\n const inPopUp = isInPopUp();\r\n\r\n if ((inFrame || inPopUp) && completeInTarget !== true && completeInTarget !== false) {\r\n \r\n // completeInTarget will default to true if authorize is called from\r\n // within an iframe. This is to avoid issues when the entire app\r\n // happens to be rendered in an iframe (including in some EHRs),\r\n // even though that was not how the app developer's intention.\r\n completeInTarget = inFrame;\r\n\r\n // In this case we can't always make the best decision so ask devs\r\n // to be explicit in their configuration.\r\n console.warn(\r\n 'Your app is being authorized from within an iframe or popup ' +\r\n 'window. Please be explicit and provide a \"completeInTarget\" ' +\r\n 'option. Use \"true\" to complete the authorization in the ' +\r\n 'same window, or \"false\" to try to complete it in the parent ' +\r\n 'or the opener window. See http://docs.smarthealthit.org/client-js/api.html'\r\n );\r\n }\r\n }\r\n\r\n // If `authorize` is called, make sure we clear any previous state (in case\r\n // this is a re-authorize)\r\n const oldKey = await storage.get(SMART_KEY);\r\n await storage.unset(oldKey);\r\n\r\n stateKey = stateKey ?? randomString(16);\r\n\r\n // Create initial state\r\n const state: fhirclient.ClientState = {\r\n clientId,\r\n scope,\r\n redirectUri,\r\n serverUrl,\r\n clientSecret,\r\n clientPrivateJwk,\r\n tokenResponse: {},\r\n key: stateKey,\r\n completeInTarget,\r\n clientPublicKeySetUrl\r\n };\r\n\r\n const fullSessionStorageSupport = isBrowser() ?\r\n getPath(env, \"options.fullSessionStorageSupport\") :\r\n true;\r\n\r\n if (fullSessionStorageSupport) {\r\n await storage.set(SMART_KEY, stateKey);\r\n }\r\n\r\n // fakeTokenResponse to override stuff (useful in development)\r\n if (fakeTokenResponse) {\r\n Object.assign(state.tokenResponse!, fakeTokenResponse);\r\n }\r\n\r\n // Fixed patientId (useful in development)\r\n if (patientId) {\r\n Object.assign(state.tokenResponse!, { patient: patientId });\r\n }\r\n\r\n // Fixed encounterId (useful in development)\r\n if (encounterId) {\r\n Object.assign(state.tokenResponse!, { encounter: encounterId });\r\n }\r\n\r\n let redirectUrl = redirectUri + \"?state=\" + encodeURIComponent(stateKey);\r\n\r\n // bypass oauth if fhirServiceUrl is used (but iss takes precedence)\r\n if (fhirServiceUrl && !iss) {\r\n debug(\"Making fake launch...\");\r\n await storage.set(stateKey, state);\r\n if (noRedirect) {\r\n return redirectUrl;\r\n }\r\n return await env.redirect(redirectUrl);\r\n }\r\n\r\n // Get oauth endpoints and add them to the state\r\n const extensions = await getSecurityExtensions(serverUrl);\r\n Object.assign(state, extensions);\r\n await storage.set(stateKey, state);\r\n\r\n // If this happens to be an open server and there is no authorizeUri\r\n if (!state.authorizeUri) {\r\n if (noRedirect) {\r\n return redirectUrl;\r\n }\r\n return await env.redirect(redirectUrl);\r\n }\r\n\r\n // build the redirect uri\r\n const redirectParams = [\r\n \"response_type=code\",\r\n \"client_id=\" + encodeURIComponent(clientId || \"\"),\r\n \"scope=\" + encodeURIComponent(scope),\r\n \"redirect_uri=\" + encodeURIComponent(redirectUri),\r\n \"aud=\" + encodeURIComponent(serverUrl),\r\n \"state=\" + encodeURIComponent(stateKey)\r\n ];\r\n\r\n // also pass this in case of EHR launch\r\n if (launch) {\r\n redirectParams.push(\"launch=\" + encodeURIComponent(launch));\r\n }\r\n\r\n if (shouldIncludeChallenge(extensions.codeChallengeMethods.includes('S256'), pkceMode)) {\r\n let codes = await env.security.generatePKCEChallenge()\r\n Object.assign(state, codes);\r\n await storage.set(stateKey, state);\r\n redirectParams.push(\"code_challenge=\" + state.codeChallenge);// note that the challenge is ALREADY encoded properly\r\n redirectParams.push(\"code_challenge_method=S256\");\r\n }\r\n \r\n redirectUrl = state.authorizeUri + \"?\" + redirectParams.join(\"&\");\r\n\r\n if (noRedirect) {\r\n return redirectUrl;\r\n }\r\n\r\n if (target && isBrowser()) {\r\n let win: Window;\r\n\r\n win = await getTargetWindow(target, width, height);\r\n\r\n if (win !== self) {\r\n try {\r\n // Also remove any old state from the target window and then\r\n // transfer the current state there\r\n win.sessionStorage.removeItem(oldKey);\r\n win.sessionStorage.setItem(stateKey, JSON.stringify(state));\r\n } catch (ex) {\r\n _debug(`Failed to modify window.sessionStorage. Perhaps it is from different origin?. Failing back to \"_self\". %s`, ex);\r\n win = self;\r\n }\r\n }\r\n\r\n if (win !== self) {\r\n try {\r\n win.location.href = redirectUrl;\r\n self.addEventListener(\"message\", onMessage);\r\n } catch (ex) {\r\n _debug(`Failed to modify window.location. Perhaps it is from different origin?. Failing back to \"_self\". %s`, ex);\r\n self.location.href = redirectUrl;\r\n }\r\n } else {\r\n self.location.href = redirectUrl;\r\n }\r\n\r\n return;\r\n }\r\n else {\r\n return await env.redirect(redirectUrl);\r\n }\r\n}\r\n\r\nfunction shouldIncludeChallenge(S256supported: boolean, pkceMode?: string) {\r\n if (pkceMode === \"disabled\") {\r\n return false;\r\n }\r\n if (pkceMode === \"unsafeV1\") {\r\n return true;\r\n }\r\n if (pkceMode === \"required\") {\r\n if (!S256supported) {\r\n throw new Error(\"Required PKCE code challenge method (`S256`) was not found in the server's codeChallengeMethods declaration.\");\r\n }\r\n return true;\r\n }\r\n return S256supported;\r\n}\r\n\r\n/**\r\n * Checks if called within a frame. Only works in browsers!\r\n * If the current window has a `parent` or `top` properties that refer to\r\n * another window, returns true. If trying to access `top` or `parent` throws an\r\n * error, returns true. Otherwise returns `false`.\r\n */\r\nexport function isInFrame() {\r\n try {\r\n return self !== top && parent !== self;\r\n } catch (e) {\r\n return true;\r\n }\r\n}\r\n\r\n/**\r\n * Checks if called within another window (popup or tab). Only works in browsers!\r\n * To consider itself called in a new window, this function verifies that:\r\n * 1. `self === top` (not in frame)\r\n * 2. `!!opener && opener !== self` The window has an opener\r\n * 3. `!!window.name` The window has a `name` set\r\n */\r\nexport function isInPopUp() {\r\n try {\r\n return self === top &&\r\n !!opener &&\r\n opener !== self &&\r\n !!window.name;\r\n } catch (e) {\r\n return false;\r\n }\r\n}\r\n\r\n/**\r\n * Another window can send a \"completeAuth\" message to this one, making it to\r\n * navigate to e.data.url\r\n * @param e The message event\r\n */\r\nexport function onMessage(e: MessageEvent) {\r\n if (e.data.type == \"completeAuth\" && e.origin === new URL(self.location.href).origin) {\r\n window.removeEventListener(\"message\", onMessage);\r\n window.location.href = e.data.url;\r\n }\r\n}\r\n\r\n/**\r\n * The ready function should only be called on the page that represents\r\n * the redirectUri. We typically land there after a redirect from the\r\n * authorization server, but this code will also be executed upon subsequent\r\n * navigation or page refresh.\r\n */\r\nexport async function ready(env: fhirclient.Adapter, options: fhirclient.ReadyOptions = {}): Promise\r\n{\r\n const url = env.getUrl();\r\n const Storage = env.getStorage();\r\n const params = url.searchParams;\r\n\r\n let key = params.get(\"state\") || options.stateKey;\r\n const code = params.get(\"code\") || options.code;\r\n const authError = params.get(\"error\");\r\n const authErrorDescription = params.get(\"error_description\");\r\n\r\n if (!key) {\r\n key = await Storage.get(SMART_KEY);\r\n }\r\n\r\n // Start by checking the url for `error` and `error_description` parameters.\r\n // This happens when the auth server rejects our authorization attempt. In\r\n // this case it has no other way to tell us what the error was, other than\r\n // appending these parameters to the redirect url.\r\n // From client's point of view, this is not very reliable (because we can't\r\n // know how we have landed on this page - was it a redirect or was it loaded\r\n // manually). However, if `ready()` is being called, we can assume\r\n // that the url comes from the auth server (otherwise the app won't work\r\n // anyway).\r\n if (authError || authErrorDescription) {\r\n throw new Error([\r\n authError,\r\n authErrorDescription\r\n ].filter(Boolean).join(\": \"));\r\n }\r\n\r\n debug(\"key: %s, code: %s\", key, code);\r\n\r\n // key might be coming from the page url so it might be empty or missing\r\n assert(key, \"No 'state' parameter found. Please (re)launch the app.\");\r\n\r\n // Check if we have a previous state\r\n let state = (await Storage.get(key)) as fhirclient.ClientState;\r\n\r\n const fullSessionStorageSupport = isBrowser() ?\r\n getPath(env, \"options.fullSessionStorageSupport\") :\r\n true;\r\n\r\n // If we are in a popup window or an iframe and the authorization is\r\n // complete, send the location back to our opener and exit.\r\n if (isBrowser() && state && !state.completeInTarget) {\r\n\r\n const inFrame = isInFrame();\r\n const inPopUp = isInPopUp();\r\n\r\n // we are about to return to the opener/parent where completeAuth will\r\n // be called again. In rare cases the opener or parent might also be\r\n // a frame or popup. Then inFrame or inPopUp will be true but we still\r\n // have to stop going up the chain. To guard against that weird form of\r\n // recursion we pass one additional parameter to the url which we later\r\n // remove.\r\n if ((inFrame || inPopUp) && !url.searchParams.get(\"complete\")) {\r\n url.searchParams.set(\"complete\", \"1\");\r\n const { href, origin } = url;\r\n if (inFrame) {\r\n parent.postMessage({ type: \"completeAuth\", url: href }, origin);\r\n }\r\n if (inPopUp) {\r\n opener.postMessage({ type: \"completeAuth\", url: href }, origin);\r\n window.close();\r\n }\r\n\r\n return new Promise(() => { /* leave it pending!!! */ });\r\n }\r\n }\r\n\r\n url.searchParams.delete(\"complete\");\r\n\r\n // Do we have to remove the `code` and `state` params from the URL?\r\n const hasState = params.has(\"state\") || options.stateKey ? true : false;\r\n\r\n if (isBrowser() && getPath(env, \"options.replaceBrowserHistory\") && (code || hasState)) {\r\n // `code` is the flag that tell us to request an access token.\r\n // We have to remove it, otherwise the page will authorize on\r\n // every load!\r\n if (code) {\r\n params.delete(\"code\");\r\n debug(\"Removed code parameter from the url.\");\r\n }\r\n\r\n // If we have `fullSessionStorageSupport` it means we no longer\r\n // need the `state` key. It will be stored to a well know\r\n // location - sessionStorage[SMART_KEY]. However, no\r\n // fullSessionStorageSupport means that this \"well know location\"\r\n // might be shared between windows and tabs. In this case we\r\n // MUST keep the `state` url parameter.\r\n if (hasState && fullSessionStorageSupport) {\r\n params.delete(\"state\");\r\n debug(\"Removed state parameter from the url.\");\r\n }\r\n\r\n // If the browser does not support the replaceState method for the\r\n // History Web API, the \"code\" parameter cannot be removed. As a\r\n // consequence, the page will (re)authorize on every load. The\r\n // workaround is to reload the page to new location without those\r\n // parameters. If that is not acceptable replaceBrowserHistory\r\n // should be set to false.\r\n if (window.history.replaceState) {\r\n window.history.replaceState({}, \"\", url.href);\r\n }\r\n }\r\n\r\n // If the state does not exist, it means the page has been loaded directly.\r\n assert(state, \"No state found! Please (re)launch the app.\");\r\n\r\n // Assume the client has already completed a token exchange when\r\n // there is no code (but we have a state) or access token is found in state\r\n const authorized = !code || state.tokenResponse?.access_token;\r\n\r\n // If we are authorized already, then this is just a reload.\r\n // Otherwise, we have to complete the code flow\r\n if (!authorized && state.tokenUri) {\r\n\r\n assert(code, \"'code' url parameter is required\");\r\n\r\n debug(\"Preparing to exchange the code for access token...\");\r\n const requestOptions = await buildTokenRequest(env, {\r\n code,\r\n state,\r\n clientPublicKeySetUrl: options.clientPublicKeySetUrl,\r\n privateKey: options.privateKey || state.clientPrivateJwk\r\n });\r\n debug(\"Token request options: %O\", requestOptions);\r\n\r\n // The EHR authorization server SHALL return a JSON structure that\r\n // includes an access token or a message indicating that the\r\n // authorization request has been denied.\r\n const tokenResponse = await request(state.tokenUri, requestOptions);\r\n debug(\"Token response: %O\", tokenResponse);\r\n assert(tokenResponse.access_token, \"Failed to obtain access token.\");\r\n\r\n // Now we need to determine when is this authorization going to expire\r\n state.expiresAt = getAccessTokenExpiration(tokenResponse, env);\r\n\r\n // save the tokenResponse so that we don't have to re-authorize on\r\n // every page reload\r\n state = { ...state, tokenResponse };\r\n await Storage.set(key, state);\r\n debug(\"Authorization successful!\");\r\n }\r\n else {\r\n debug(state.tokenResponse?.access_token ?\r\n \"Already authorized\" :\r\n \"No authorization needed\"\r\n );\r\n }\r\n\r\n if (fullSessionStorageSupport) {\r\n await Storage.set(SMART_KEY, key);\r\n }\r\n\r\n const client = new Client(env, state);\r\n debug(\"Created client instance: %O\", client);\r\n return client;\r\n}\r\n\r\n/**\r\n * Builds the token request options. Does not make the request, just\r\n * creates it's configuration and returns it in a Promise.\r\n */\r\nexport async function buildTokenRequest(\r\n env: fhirclient.Adapter,\r\n {\r\n code,\r\n state,\r\n clientPublicKeySetUrl,\r\n privateKey\r\n }: {\r\n /**\r\n * The `code` URL parameter received from the auth redirect\r\n */\r\n code: string,\r\n \r\n /**\r\n * The app state\r\n */\r\n state: fhirclient.ClientState\r\n\r\n /**\r\n * If provided overrides the `clientPublicKeySetUrl` from the authorize\r\n * options (if any). Used for `jku` token header in case of asymmetric auth.\r\n */\r\n clientPublicKeySetUrl?: string\r\n\r\n /**\r\n * Can be a private JWK, or an object with alg, kid and key properties,\r\n * where `key` is an un-extractable private CryptoKey object.\r\n */\r\n privateKey?: fhirclient.JWK | {\r\n key: CryptoKey\r\n alg: \"RS384\" | \"ES384\"\r\n kid: string\r\n }\r\n }\r\n): Promise\r\n{\r\n const { redirectUri, clientSecret, tokenUri, clientId, codeVerifier } = state;\r\n\r\n assert(redirectUri, \"Missing state.redirectUri\");\r\n assert(tokenUri, \"Missing state.tokenUri\");\r\n assert(clientId, \"Missing state.clientId\");\r\n\r\n const requestOptions: Record = {\r\n method: \"POST\",\r\n headers: { \"content-type\": \"application/x-www-form-urlencoded\" },\r\n body: `code=${code}&grant_type=authorization_code&redirect_uri=${\r\n encodeURIComponent(redirectUri)}`\r\n };\r\n\r\n // For public apps, authentication is not possible (and thus not required),\r\n // since a client with no secret cannot prove its identity when it issues a\r\n // call. (The end-to-end system can still be secure because the client comes\r\n // from a known, https protected endpoint specified and enforced by the\r\n // redirect uri.) For confidential apps, an Authorization header using HTTP\r\n // Basic authentication is required, where the username is the app’s\r\n // client_id and the password is the app’s client_secret (see example).\r\n if (clientSecret) {\r\n requestOptions.headers.authorization = \"Basic \" + env.btoa(\r\n clientId + \":\" + clientSecret\r\n );\r\n debug(\r\n \"Using state.clientSecret to construct the authorization header: %s\",\r\n requestOptions.headers.authorization\r\n );\r\n }\r\n \r\n // Asymmetric auth\r\n else if (privateKey) {\r\n\r\n const pk = \"key\" in privateKey ?\r\n privateKey.key as CryptoKey:\r\n await env.security.importJWK(privateKey as fhirclient.JWK)\r\n\r\n const jwtHeaders = {\r\n typ: \"JWT\",\r\n kid: privateKey.kid,\r\n jku: clientPublicKeySetUrl || state.clientPublicKeySetUrl\r\n };\r\n\r\n const jwtClaims = {\r\n iss: clientId,\r\n sub: clientId,\r\n aud: tokenUri,\r\n jti: env.base64urlencode(env.security.randomBytes(32)),\r\n exp: getTimeInFuture(120) // two minutes in the future\r\n };\r\n \r\n const clientAssertion = await env.security.signCompactJws(privateKey.alg, pk, jwtHeaders, jwtClaims);\r\n requestOptions.body += `&client_assertion_type=${encodeURIComponent(\"urn:ietf:params:oauth:client-assertion-type:jwt-bearer\")}`;\r\n requestOptions.body += `&client_assertion=${encodeURIComponent(clientAssertion)}`;\r\n debug(\"Using state.clientPrivateJwk to add a client_assertion to the POST body\")\r\n }\r\n \r\n // Public client\r\n else {\r\n debug(\"Public client detected; adding state.clientId to the POST body\");\r\n requestOptions.body += `&client_id=${encodeURIComponent(clientId)}`;\r\n }\r\n\r\n if (codeVerifier) {\r\n debug(\"Found state.codeVerifier, adding to the POST body\")\r\n // Note that the codeVerifier is ALREADY encoded properly \r\n requestOptions.body += \"&code_verifier=\" + codeVerifier;\r\n }\r\n \r\n return requestOptions as RequestInit;\r\n}\r\n\r\n/**\r\n * This function can be used when you want to handle everything in one page\r\n * (no launch endpoint needed). You can think of it as if it does:\r\n * ```js\r\n * authorize(options).then(ready)\r\n * ```\r\n *\r\n * **Be careful with init()!** There are some details you need to be aware of:\r\n *\r\n * 1. It will only work if your launch_uri is the same as your redirect_uri.\r\n * While this should be valid, we can’t promise that every EHR will allow you\r\n * to register client with such settings.\r\n * 2. Internally, `init()` will be called twice. First it will redirect to the\r\n * EHR, then the EHR will redirect back to the page where init() will be\r\n * called again to complete the authorization. This is generally fine,\r\n * because the returned promise will only be resolved once, after the second\r\n * execution, but please also consider the following:\r\n * - You should wrap all your app’s code in a function that is only executed\r\n * after `init()` resolves!\r\n * - Since the page will be loaded twice, you must be careful if your code\r\n * has global side effects that can persist between page reloads\r\n * (for example writing to localStorage).\r\n * 3. For standalone launch, only use init in combination with offline_access\r\n * scope. Once the access_token expires, if you don’t have a refresh_token\r\n * there is no way to re-authorize properly. We detect that and delete the\r\n * expired access token, but it still means that the user will have to\r\n * refresh the page twice to re-authorize.\r\n * @param env The adapter\r\n * @param authorizeOptions The authorize options\r\n */\r\nexport async function init(\r\n env: fhirclient.Adapter,\r\n authorizeOptions: fhirclient.AuthorizeParams,\r\n readyOptions?: fhirclient.ReadyOptions\r\n): Promise\r\n{\r\n const url = env.getUrl();\r\n const code = url.searchParams.get(\"code\");\r\n const state = url.searchParams.get(\"state\");\r\n\r\n // if `code` and `state` params are present we need to complete the auth flow\r\n if (code && state) {\r\n return ready(env, readyOptions);\r\n }\r\n\r\n // Check for existing client state. If state is found, it means a client\r\n // instance have already been created in this session and we should try to\r\n // \"revive\" it.\r\n const storage = env.getStorage();\r\n const key = state || await storage.get(SMART_KEY);\r\n const cached = await storage.get(key);\r\n if (cached) {\r\n return new Client(env, cached);\r\n }\r\n\r\n // Otherwise try to launch\r\n return authorize(env, authorizeOptions).then(() => {\r\n // `init` promises a Client but that cannot happen in this case. The\r\n // browser will be redirected (unload the page and be redirected back\r\n // to it later and the same init function will be called again). On\r\n // success, authorize will resolve with the redirect url but we don't\r\n // want to return that from this promise chain because it is not a\r\n // Client instance. At the same time, if authorize fails, we do want to\r\n // pass the error to those waiting for a client instance.\r\n return new Promise(() => { /* leave it pending!!! */ });\r\n });\r\n}\r\n","export default class Storage\r\n{\r\n /**\r\n * Gets the value at `key`. Returns a promise that will be resolved\r\n * with that value (or undefined for missing keys).\r\n */\r\n async get(key: string): Promise\r\n {\r\n const value = sessionStorage[key];\r\n if (value) {\r\n return JSON.parse(value);\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Sets the `value` on `key` and returns a promise that will be resolved\r\n * with the value that was set.\r\n */\r\n async set(key: string, value: any): Promise\r\n {\r\n sessionStorage[key] = JSON.stringify(value);\r\n return value;\r\n }\r\n\r\n /**\r\n * Deletes the value at `key`. Returns a promise that will be resolved\r\n * with true if the key was deleted or with false if it was not (eg. if\r\n * did not exist).\r\n */\r\n async unset(key: string): Promise\r\n {\r\n if (key in sessionStorage) {\r\n delete sessionStorage[key];\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n}\r\n","// This map contains reusable debug messages (only those used in multiple places)\r\nexport default {\r\n expired : \"Session expired! Please re-launch the app\",\r\n noScopeForId : \"Trying to get the ID of the selected %s. Please add 'launch' or 'launch/%s' to the requested scopes and try again.\",\r\n noIfNoAuth : \"You are trying to get %s but the app is not authorized yet.\",\r\n noFreeContext: \"Please don't use open fhir servers if you need to access launch context items like the %S.\"\r\n};\r\n","/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\nexports.destroy = (() => {\n\tlet warned = false;\n\n\treturn () => {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t\t}\n\t};\n})();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\tlet m;\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)) && parseInt(m[1], 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.debug()` when available.\n * No-op when `console.debug` is not a \"function\".\n * If `console.debug` is not available, falls back\n * to `console.log`.\n *\n * @api public\n */\nexports.log = console.debug || console.log || (() => {});\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug');\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = require('ms');\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tlet i;\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n\t\tconst len = split.length;\n\n\t\tfor (i = 0; i < len; i++) {\n\t\t\tif (!split[i]) {\n\t\t\t\t// ignore empty strings\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tnamespaces = split[i].replace(/\\*/g, '.*?');\n\n\t\t\tif (namespaces[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(new RegExp('^' + namespaces.slice(1) + '$'));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(new RegExp('^' + namespaces + '$'));\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names.map(toNamespace),\n\t\t\t...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tif (name[name.length - 1] === '*') {\n\t\t\treturn true;\n\t\t}\n\n\t\tlet i;\n\t\tlet len;\n\n\t\tfor (i = 0, len = createDebug.skips.length; i < len; i++) {\n\t\t\tif (createDebug.skips[i].test(name)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (i = 0, len = createDebug.names.length; i < len; i++) {\n\t\t\tif (createDebug.names[i].test(name)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Convert regexp to namespace\n\t*\n\t* @param {RegExp} regxep\n\t* @return {String} namespace\n\t* @api private\n\t*/\n\tfunction toNamespace(regexp) {\n\t\treturn regexp.toString()\n\t\t\t.substring(2, regexp.toString().length - 2)\n\t\t\t.replace(/\\.\\*\\?$/, '*');\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n","//\n// THIS FILE IS AUTOMATICALLY GENERATED! DO NOT EDIT BY HAND!\n//\n;\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n ? module.exports = factory()\n : typeof define === 'function' && define.amd\n ? define(factory) :\n // cf. https://github.com/dankogai/js-base64/issues/119\n (function () {\n // existing version for noConflict()\n var _Base64 = global.Base64;\n var gBase64 = factory();\n gBase64.noConflict = function () {\n global.Base64 = _Base64;\n return gBase64;\n };\n if (global.Meteor) { // Meteor.js\n Base64 = gBase64;\n }\n global.Base64 = gBase64;\n })();\n}((typeof self !== 'undefined' ? self\n : typeof window !== 'undefined' ? window\n : typeof global !== 'undefined' ? global\n : this), function () {\n 'use strict';\n /**\n * base64.ts\n *\n * Licensed under the BSD 3-Clause License.\n * http://opensource.org/licenses/BSD-3-Clause\n *\n * References:\n * http://en.wikipedia.org/wiki/Base64\n *\n * @author Dan Kogai (https://github.com/dankogai)\n */\n var version = '3.7.7';\n /**\n * @deprecated use lowercase `version`.\n */\n var VERSION = version;\n var _hasBuffer = typeof Buffer === 'function';\n var _TD = typeof TextDecoder === 'function' ? new TextDecoder() : undefined;\n var _TE = typeof TextEncoder === 'function' ? new TextEncoder() : undefined;\n var b64ch = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n var b64chs = Array.prototype.slice.call(b64ch);\n var b64tab = (function (a) {\n var tab = {};\n a.forEach(function (c, i) { return tab[c] = i; });\n return tab;\n })(b64chs);\n var b64re = /^(?:[A-Za-z\\d+\\/]{4})*?(?:[A-Za-z\\d+\\/]{2}(?:==)?|[A-Za-z\\d+\\/]{3}=?)?$/;\n var _fromCC = String.fromCharCode.bind(String);\n var _U8Afrom = typeof Uint8Array.from === 'function'\n ? Uint8Array.from.bind(Uint8Array)\n : function (it) { return new Uint8Array(Array.prototype.slice.call(it, 0)); };\n var _mkUriSafe = function (src) { return src\n .replace(/=/g, '').replace(/[+\\/]/g, function (m0) { return m0 == '+' ? '-' : '_'; }); };\n var _tidyB64 = function (s) { return s.replace(/[^A-Za-z0-9\\+\\/]/g, ''); };\n /**\n * polyfill version of `btoa`\n */\n var btoaPolyfill = function (bin) {\n // console.log('polyfilled');\n var u32, c0, c1, c2, asc = '';\n var pad = bin.length % 3;\n for (var i = 0; i < bin.length;) {\n if ((c0 = bin.charCodeAt(i++)) > 255 ||\n (c1 = bin.charCodeAt(i++)) > 255 ||\n (c2 = bin.charCodeAt(i++)) > 255)\n throw new TypeError('invalid character found');\n u32 = (c0 << 16) | (c1 << 8) | c2;\n asc += b64chs[u32 >> 18 & 63]\n + b64chs[u32 >> 12 & 63]\n + b64chs[u32 >> 6 & 63]\n + b64chs[u32 & 63];\n }\n return pad ? asc.slice(0, pad - 3) + \"===\".substring(pad) : asc;\n };\n /**\n * does what `window.btoa` of web browsers do.\n * @param {String} bin binary string\n * @returns {string} Base64-encoded string\n */\n var _btoa = typeof btoa === 'function' ? function (bin) { return btoa(bin); }\n : _hasBuffer ? function (bin) { return Buffer.from(bin, 'binary').toString('base64'); }\n : btoaPolyfill;\n var _fromUint8Array = _hasBuffer\n ? function (u8a) { return Buffer.from(u8a).toString('base64'); }\n : function (u8a) {\n // cf. https://stackoverflow.com/questions/12710001/how-to-convert-uint8-array-to-base64-encoded-string/12713326#12713326\n var maxargs = 0x1000;\n var strs = [];\n for (var i = 0, l = u8a.length; i < l; i += maxargs) {\n strs.push(_fromCC.apply(null, u8a.subarray(i, i + maxargs)));\n }\n return _btoa(strs.join(''));\n };\n /**\n * converts a Uint8Array to a Base64 string.\n * @param {boolean} [urlsafe] URL-and-filename-safe a la RFC4648 §5\n * @returns {string} Base64 string\n */\n var fromUint8Array = function (u8a, urlsafe) {\n if (urlsafe === void 0) { urlsafe = false; }\n return urlsafe ? _mkUriSafe(_fromUint8Array(u8a)) : _fromUint8Array(u8a);\n };\n // This trick is found broken https://github.com/dankogai/js-base64/issues/130\n // const utob = (src: string) => unescape(encodeURIComponent(src));\n // reverting good old fationed regexp\n var cb_utob = function (c) {\n if (c.length < 2) {\n var cc = c.charCodeAt(0);\n return cc < 0x80 ? c\n : cc < 0x800 ? (_fromCC(0xc0 | (cc >>> 6))\n + _fromCC(0x80 | (cc & 0x3f)))\n : (_fromCC(0xe0 | ((cc >>> 12) & 0x0f))\n + _fromCC(0x80 | ((cc >>> 6) & 0x3f))\n + _fromCC(0x80 | (cc & 0x3f)));\n }\n else {\n var cc = 0x10000\n + (c.charCodeAt(0) - 0xD800) * 0x400\n + (c.charCodeAt(1) - 0xDC00);\n return (_fromCC(0xf0 | ((cc >>> 18) & 0x07))\n + _fromCC(0x80 | ((cc >>> 12) & 0x3f))\n + _fromCC(0x80 | ((cc >>> 6) & 0x3f))\n + _fromCC(0x80 | (cc & 0x3f)));\n }\n };\n var re_utob = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFFF]|[^\\x00-\\x7F]/g;\n /**\n * @deprecated should have been internal use only.\n * @param {string} src UTF-8 string\n * @returns {string} UTF-16 string\n */\n var utob = function (u) { return u.replace(re_utob, cb_utob); };\n //\n var _encode = _hasBuffer\n ? function (s) { return Buffer.from(s, 'utf8').toString('base64'); }\n : _TE\n ? function (s) { return _fromUint8Array(_TE.encode(s)); }\n : function (s) { return _btoa(utob(s)); };\n /**\n * converts a UTF-8-encoded string to a Base64 string.\n * @param {boolean} [urlsafe] if `true` make the result URL-safe\n * @returns {string} Base64 string\n */\n var encode = function (src, urlsafe) {\n if (urlsafe === void 0) { urlsafe = false; }\n return urlsafe\n ? _mkUriSafe(_encode(src))\n : _encode(src);\n };\n /**\n * converts a UTF-8-encoded string to URL-safe Base64 RFC4648 §5.\n * @returns {string} Base64 string\n */\n var encodeURI = function (src) { return encode(src, true); };\n // This trick is found broken https://github.com/dankogai/js-base64/issues/130\n // const btou = (src: string) => decodeURIComponent(escape(src));\n // reverting good old fationed regexp\n var re_btou = /[\\xC0-\\xDF][\\x80-\\xBF]|[\\xE0-\\xEF][\\x80-\\xBF]{2}|[\\xF0-\\xF7][\\x80-\\xBF]{3}/g;\n var cb_btou = function (cccc) {\n switch (cccc.length) {\n case 4:\n var cp = ((0x07 & cccc.charCodeAt(0)) << 18)\n | ((0x3f & cccc.charCodeAt(1)) << 12)\n | ((0x3f & cccc.charCodeAt(2)) << 6)\n | (0x3f & cccc.charCodeAt(3)), offset = cp - 0x10000;\n return (_fromCC((offset >>> 10) + 0xD800)\n + _fromCC((offset & 0x3FF) + 0xDC00));\n case 3:\n return _fromCC(((0x0f & cccc.charCodeAt(0)) << 12)\n | ((0x3f & cccc.charCodeAt(1)) << 6)\n | (0x3f & cccc.charCodeAt(2)));\n default:\n return _fromCC(((0x1f & cccc.charCodeAt(0)) << 6)\n | (0x3f & cccc.charCodeAt(1)));\n }\n };\n /**\n * @deprecated should have been internal use only.\n * @param {string} src UTF-16 string\n * @returns {string} UTF-8 string\n */\n var btou = function (b) { return b.replace(re_btou, cb_btou); };\n /**\n * polyfill version of `atob`\n */\n var atobPolyfill = function (asc) {\n // console.log('polyfilled');\n asc = asc.replace(/\\s+/g, '');\n if (!b64re.test(asc))\n throw new TypeError('malformed base64.');\n asc += '=='.slice(2 - (asc.length & 3));\n var u24, bin = '', r1, r2;\n for (var i = 0; i < asc.length;) {\n u24 = b64tab[asc.charAt(i++)] << 18\n | b64tab[asc.charAt(i++)] << 12\n | (r1 = b64tab[asc.charAt(i++)]) << 6\n | (r2 = b64tab[asc.charAt(i++)]);\n bin += r1 === 64 ? _fromCC(u24 >> 16 & 255)\n : r2 === 64 ? _fromCC(u24 >> 16 & 255, u24 >> 8 & 255)\n : _fromCC(u24 >> 16 & 255, u24 >> 8 & 255, u24 & 255);\n }\n return bin;\n };\n /**\n * does what `window.atob` of web browsers do.\n * @param {String} asc Base64-encoded string\n * @returns {string} binary string\n */\n var _atob = typeof atob === 'function' ? function (asc) { return atob(_tidyB64(asc)); }\n : _hasBuffer ? function (asc) { return Buffer.from(asc, 'base64').toString('binary'); }\n : atobPolyfill;\n //\n var _toUint8Array = _hasBuffer\n ? function (a) { return _U8Afrom(Buffer.from(a, 'base64')); }\n : function (a) { return _U8Afrom(_atob(a).split('').map(function (c) { return c.charCodeAt(0); })); };\n /**\n * converts a Base64 string to a Uint8Array.\n */\n var toUint8Array = function (a) { return _toUint8Array(_unURI(a)); };\n //\n var _decode = _hasBuffer\n ? function (a) { return Buffer.from(a, 'base64').toString('utf8'); }\n : _TD\n ? function (a) { return _TD.decode(_toUint8Array(a)); }\n : function (a) { return btou(_atob(a)); };\n var _unURI = function (a) { return _tidyB64(a.replace(/[-_]/g, function (m0) { return m0 == '-' ? '+' : '/'; })); };\n /**\n * converts a Base64 string to a UTF-8 string.\n * @param {String} src Base64 string. Both normal and URL-safe are supported\n * @returns {string} UTF-8 string\n */\n var decode = function (src) { return _decode(_unURI(src)); };\n /**\n * check if a value is a valid Base64 string\n * @param {String} src a value to check\n */\n var isValid = function (src) {\n if (typeof src !== 'string')\n return false;\n var s = src.replace(/\\s+/g, '').replace(/={0,2}$/, '');\n return !/[^\\s0-9a-zA-Z\\+/]/.test(s) || !/[^\\s0-9a-zA-Z\\-_]/.test(s);\n };\n //\n var _noEnum = function (v) {\n return {\n value: v, enumerable: false, writable: true, configurable: true\n };\n };\n /**\n * extend String.prototype with relevant methods\n */\n var extendString = function () {\n var _add = function (name, body) { return Object.defineProperty(String.prototype, name, _noEnum(body)); };\n _add('fromBase64', function () { return decode(this); });\n _add('toBase64', function (urlsafe) { return encode(this, urlsafe); });\n _add('toBase64URI', function () { return encode(this, true); });\n _add('toBase64URL', function () { return encode(this, true); });\n _add('toUint8Array', function () { return toUint8Array(this); });\n };\n /**\n * extend Uint8Array.prototype with relevant methods\n */\n var extendUint8Array = function () {\n var _add = function (name, body) { return Object.defineProperty(Uint8Array.prototype, name, _noEnum(body)); };\n _add('toBase64', function (urlsafe) { return fromUint8Array(this, urlsafe); });\n _add('toBase64URI', function () { return fromUint8Array(this, true); });\n _add('toBase64URL', function () { return fromUint8Array(this, true); });\n };\n /**\n * extend Builtin prototypes with relevant methods\n */\n var extendBuiltins = function () {\n extendString();\n extendUint8Array();\n };\n var gBase64 = {\n version: version,\n VERSION: VERSION,\n atob: _atob,\n atobPolyfill: atobPolyfill,\n btoa: _btoa,\n btoaPolyfill: btoaPolyfill,\n fromBase64: decode,\n toBase64: encode,\n encode: encode,\n encodeURI: encodeURI,\n encodeURL: encodeURI,\n utob: utob,\n btou: btou,\n decode: decode,\n isValid: isValid,\n fromUint8Array: fromUint8Array,\n toUint8Array: toUint8Array,\n extendString: extendString,\n extendUint8Array: extendUint8Array,\n extendBuiltins: extendBuiltins\n };\n //\n // export Base64 to the namespace\n //\n // ES5 is yet to have Object.assign() that may make transpilers unhappy.\n // gBase64.Base64 = Object.assign({}, gBase64);\n gBase64.Base64 = {};\n Object.keys(gBase64).forEach(function (k) { return gBase64.Base64[k] = gBase64[k]; });\n return gBase64;\n}));\n","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function(val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isFinite(val)) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'weeks':\n case 'week':\n case 'w':\n return n * w;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (msAbs >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (msAbs >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (msAbs >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return plural(ms, msAbs, d, 'day');\n }\n if (msAbs >= h) {\n return plural(ms, msAbs, h, 'hour');\n }\n if (msAbs >= m) {\n return plural(ms, msAbs, m, 'minute');\n }\n if (msAbs >= s) {\n return plural(ms, msAbs, s, 'second');\n }\n return ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, msAbs, n, name) {\n var isPlural = msAbs >= n * 1.5;\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\n","import './webcrypto-shim.mjs'\nexport default window.crypto\n","/**\n * @file Web Cryptography API shim\n * @author Artem S Vybornov \n * @license MIT\n */\n(function (global, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define([], function () {\n return factory(global);\n });\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports\n module.exports = factory(global);\n } else {\n factory(global);\n }\n}(typeof self !== 'undefined' ? self : this, function (global) {\n 'use strict';\n\n if ( typeof Promise !== 'function' )\n throw \"Promise support required\";\n\n var _crypto = global.crypto || global.msCrypto;\n if ( !_crypto ) return;\n\n var _subtle = _crypto.subtle || _crypto.webkitSubtle;\n if ( !_subtle ) return;\n\n var _Crypto = global.Crypto || _crypto.constructor || Object,\n _SubtleCrypto = global.SubtleCrypto || _subtle.constructor || Object,\n _CryptoKey = global.CryptoKey || global.Key || Object;\n\n var isEdge = global.navigator.userAgent.indexOf('Edge/') > -1;\n var isIE = !!global.msCrypto && !isEdge;\n var isWebkit = !_crypto.subtle && !!_crypto.webkitSubtle;\n if ( !isIE && !isWebkit ) return;\n\n function s2a ( s ) {\n return btoa(s).replace(/\\=+$/, '').replace(/\\+/g, '-').replace(/\\//g, '_');\n }\n\n function a2s ( s ) {\n s += '===', s = s.slice( 0, -s.length % 4 );\n return atob( s.replace(/-/g, '+').replace(/_/g, '/') );\n }\n\n function s2b ( s ) {\n var b = new Uint8Array(s.length);\n for ( var i = 0; i < s.length; i++ ) b[i] = s.charCodeAt(i);\n return b;\n }\n\n function b2s ( b ) {\n if ( b instanceof ArrayBuffer ) b = new Uint8Array(b);\n return String.fromCharCode.apply( String, b );\n }\n\n function alg ( a ) {\n var r = { 'name': (a.name || a || '').toUpperCase().replace('V','v') };\n switch ( r.name ) {\n case 'SHA-1':\n case 'SHA-256':\n case 'SHA-384':\n case 'SHA-512':\n break;\n case 'AES-CBC':\n case 'AES-GCM':\n case 'AES-KW':\n if ( a.length ) r['length'] = a.length;\n break;\n case 'HMAC':\n if ( a.hash ) r['hash'] = alg(a.hash);\n if ( a.length ) r['length'] = a.length;\n break;\n case 'RSAES-PKCS1-v1_5':\n if ( a.publicExponent ) r['publicExponent'] = new Uint8Array(a.publicExponent);\n if ( a.modulusLength ) r['modulusLength'] = a.modulusLength;\n break;\n case 'RSASSA-PKCS1-v1_5':\n case 'RSA-OAEP':\n if ( a.hash ) r['hash'] = alg(a.hash);\n if ( a.publicExponent ) r['publicExponent'] = new Uint8Array(a.publicExponent);\n if ( a.modulusLength ) r['modulusLength'] = a.modulusLength;\n break;\n default:\n throw new SyntaxError(\"Bad algorithm name\");\n }\n return r;\n };\n\n function jwkAlg ( a ) {\n return {\n 'HMAC': {\n 'SHA-1': 'HS1',\n 'SHA-256': 'HS256',\n 'SHA-384': 'HS384',\n 'SHA-512': 'HS512',\n },\n 'RSASSA-PKCS1-v1_5': {\n 'SHA-1': 'RS1',\n 'SHA-256': 'RS256',\n 'SHA-384': 'RS384',\n 'SHA-512': 'RS512',\n },\n 'RSAES-PKCS1-v1_5': {\n '': 'RSA1_5',\n },\n 'RSA-OAEP': {\n 'SHA-1': 'RSA-OAEP',\n 'SHA-256': 'RSA-OAEP-256',\n },\n 'AES-KW': {\n '128': 'A128KW',\n '192': 'A192KW',\n '256': 'A256KW',\n },\n 'AES-GCM': {\n '128': 'A128GCM',\n '192': 'A192GCM',\n '256': 'A256GCM',\n },\n 'AES-CBC': {\n '128': 'A128CBC',\n '192': 'A192CBC',\n '256': 'A256CBC',\n },\n }[a.name][ ( a.hash || {} ).name || a.length || '' ];\n }\n\n function b2jwk ( k ) {\n if ( k instanceof ArrayBuffer || k instanceof Uint8Array ) k = JSON.parse( decodeURIComponent( escape( b2s(k) ) ) );\n var jwk = { 'kty': k.kty, 'alg': k.alg, 'ext': k.ext || k.extractable };\n switch ( jwk.kty ) {\n case 'oct':\n jwk.k = k.k;\n case 'RSA':\n [ 'n', 'e', 'd', 'p', 'q', 'dp', 'dq', 'qi', 'oth' ].forEach( function ( x ) { if ( x in k ) jwk[x] = k[x] } );\n break;\n default:\n throw new TypeError(\"Unsupported key type\");\n }\n return jwk;\n }\n\n function jwk2b ( k ) {\n var jwk = b2jwk(k);\n if ( isIE ) jwk['extractable'] = jwk.ext, delete jwk.ext;\n return s2b( unescape( encodeURIComponent( JSON.stringify(jwk) ) ) ).buffer;\n }\n\n function pkcs2jwk ( k ) {\n var info = b2der(k), prv = false;\n if ( info.length > 2 ) prv = true, info.shift(); // remove version from PKCS#8 PrivateKeyInfo structure\n var jwk = { 'ext': true };\n switch ( info[0][0] ) {\n case '1.2.840.113549.1.1.1':\n var rsaComp = [ 'n', 'e', 'd', 'p', 'q', 'dp', 'dq', 'qi' ],\n rsaKey = b2der( info[1] );\n if ( prv ) rsaKey.shift(); // remove version from PKCS#1 RSAPrivateKey structure\n for ( var i = 0; i < rsaKey.length; i++ ) {\n if ( !rsaKey[i][0] ) rsaKey[i] = rsaKey[i].subarray(1);\n jwk[ rsaComp[i] ] = s2a( b2s( rsaKey[i] ) );\n }\n jwk['kty'] = 'RSA';\n break;\n default:\n throw new TypeError(\"Unsupported key type\");\n }\n return jwk;\n }\n\n function jwk2pkcs ( k ) {\n var key, info = [ [ '', null ] ], prv = false;\n switch ( k.kty ) {\n case 'RSA':\n var rsaComp = [ 'n', 'e', 'd', 'p', 'q', 'dp', 'dq', 'qi' ],\n rsaKey = [];\n for ( var i = 0; i < rsaComp.length; i++ ) {\n if ( !( rsaComp[i] in k ) ) break;\n var b = rsaKey[i] = s2b( a2s( k[ rsaComp[i] ] ) );\n if ( b[0] & 0x80 ) rsaKey[i] = new Uint8Array(b.length + 1), rsaKey[i].set( b, 1 );\n }\n if ( rsaKey.length > 2 ) prv = true, rsaKey.unshift( new Uint8Array([0]) ); // add version to PKCS#1 RSAPrivateKey structure\n info[0][0] = '1.2.840.113549.1.1.1';\n key = rsaKey;\n break;\n default:\n throw new TypeError(\"Unsupported key type\");\n }\n info.push( new Uint8Array( der2b(key) ).buffer );\n if ( !prv ) info[1] = { 'tag': 0x03, 'value': info[1] };\n else info.unshift( new Uint8Array([0]) ); // add version to PKCS#8 PrivateKeyInfo structure\n return new Uint8Array( der2b(info) ).buffer;\n }\n\n var oid2str = { 'KoZIhvcNAQEB': '1.2.840.113549.1.1.1' },\n str2oid = { '1.2.840.113549.1.1.1': 'KoZIhvcNAQEB' };\n\n function b2der ( buf, ctx ) {\n if ( buf instanceof ArrayBuffer ) buf = new Uint8Array(buf);\n if ( !ctx ) ctx = { pos: 0, end: buf.length };\n\n if ( ctx.end - ctx.pos < 2 || ctx.end > buf.length ) throw new RangeError(\"Malformed DER\");\n\n var tag = buf[ctx.pos++],\n len = buf[ctx.pos++];\n\n if ( len >= 0x80 ) {\n len &= 0x7f;\n if ( ctx.end - ctx.pos < len ) throw new RangeError(\"Malformed DER\");\n for ( var xlen = 0; len--; ) xlen <<= 8, xlen |= buf[ctx.pos++];\n len = xlen;\n }\n\n if ( ctx.end - ctx.pos < len ) throw new RangeError(\"Malformed DER\");\n\n var rv;\n\n switch ( tag ) {\n case 0x02: // Universal Primitive INTEGER\n rv = buf.subarray( ctx.pos, ctx.pos += len );\n break;\n case 0x03: // Universal Primitive BIT STRING\n if ( buf[ctx.pos++] ) throw new Error( \"Unsupported bit string\" );\n len--;\n case 0x04: // Universal Primitive OCTET STRING\n rv = new Uint8Array( buf.subarray( ctx.pos, ctx.pos += len ) ).buffer;\n break;\n case 0x05: // Universal Primitive NULL\n rv = null;\n break;\n case 0x06: // Universal Primitive OBJECT IDENTIFIER\n var oid = btoa( b2s( buf.subarray( ctx.pos, ctx.pos += len ) ) );\n if ( !( oid in oid2str ) ) throw new Error( \"Unsupported OBJECT ID \" + oid );\n rv = oid2str[oid];\n break;\n case 0x30: // Universal Constructed SEQUENCE\n rv = [];\n for ( var end = ctx.pos + len; ctx.pos < end; ) rv.push( b2der( buf, ctx ) );\n break;\n default:\n throw new Error( \"Unsupported DER tag 0x\" + tag.toString(16) );\n }\n\n return rv;\n }\n\n function der2b ( val, buf ) {\n if ( !buf ) buf = [];\n\n var tag = 0, len = 0,\n pos = buf.length + 2;\n\n buf.push( 0, 0 ); // placeholder\n\n if ( val instanceof Uint8Array ) { // Universal Primitive INTEGER\n tag = 0x02, len = val.length;\n for ( var i = 0; i < len; i++ ) buf.push( val[i] );\n }\n else if ( val instanceof ArrayBuffer ) { // Universal Primitive OCTET STRING\n tag = 0x04, len = val.byteLength, val = new Uint8Array(val);\n for ( var i = 0; i < len; i++ ) buf.push( val[i] );\n }\n else if ( val === null ) { // Universal Primitive NULL\n tag = 0x05, len = 0;\n }\n else if ( typeof val === 'string' && val in str2oid ) { // Universal Primitive OBJECT IDENTIFIER\n var oid = s2b( atob( str2oid[val] ) );\n tag = 0x06, len = oid.length;\n for ( var i = 0; i < len; i++ ) buf.push( oid[i] );\n }\n else if ( val instanceof Array ) { // Universal Constructed SEQUENCE\n for ( var i = 0; i < val.length; i++ ) der2b( val[i], buf );\n tag = 0x30, len = buf.length - pos;\n }\n else if ( typeof val === 'object' && val.tag === 0x03 && val.value instanceof ArrayBuffer ) { // Tag hint\n val = new Uint8Array(val.value), tag = 0x03, len = val.byteLength;\n buf.push(0); for ( var i = 0; i < len; i++ ) buf.push( val[i] );\n len++;\n }\n else {\n throw new Error( \"Unsupported DER value \" + val );\n }\n\n if ( len >= 0x80 ) {\n var xlen = len, len = 4;\n buf.splice( pos, 0, (xlen >> 24) & 0xff, (xlen >> 16) & 0xff, (xlen >> 8) & 0xff, xlen & 0xff );\n while ( len > 1 && !(xlen >> 24) ) xlen <<= 8, len--;\n if ( len < 4 ) buf.splice( pos, 4 - len );\n len |= 0x80;\n }\n\n buf.splice( pos - 2, 2, tag, len );\n\n return buf;\n }\n\n function CryptoKey ( key, alg, ext, use ) {\n Object.defineProperties( this, {\n _key: {\n value: key\n },\n type: {\n value: key.type,\n enumerable: true,\n },\n extractable: {\n value: (ext === undefined) ? key.extractable : ext,\n enumerable: true,\n },\n algorithm: {\n value: (alg === undefined) ? key.algorithm : alg,\n enumerable: true,\n },\n usages: {\n value: (use === undefined) ? key.usages : use,\n enumerable: true,\n },\n });\n }\n\n function isPubKeyUse ( u ) {\n return u === 'verify' || u === 'encrypt' || u === 'wrapKey';\n }\n\n function isPrvKeyUse ( u ) {\n return u === 'sign' || u === 'decrypt' || u === 'unwrapKey';\n }\n\n [ 'generateKey', 'importKey', 'unwrapKey' ]\n .forEach( function ( m ) {\n var _fn = _subtle[m];\n\n _subtle[m] = function ( a, b, c ) {\n var args = [].slice.call(arguments),\n ka, kx, ku;\n\n switch ( m ) {\n case 'generateKey':\n ka = alg(a), kx = b, ku = c;\n break;\n case 'importKey':\n ka = alg(c), kx = args[3], ku = args[4];\n if ( a === 'jwk' ) {\n b = b2jwk(b);\n if ( !b.alg ) b.alg = jwkAlg(ka);\n if ( !b.key_ops ) b.key_ops = ( b.kty !== 'oct' ) ? ( 'd' in b ) ? ku.filter(isPrvKeyUse) : ku.filter(isPubKeyUse) : ku.slice();\n args[1] = jwk2b(b);\n }\n break;\n case 'unwrapKey':\n ka = args[4], kx = args[5], ku = args[6];\n args[2] = c._key;\n break;\n }\n\n if ( m === 'generateKey' && ka.name === 'HMAC' && ka.hash ) {\n ka.length = ka.length || { 'SHA-1': 512, 'SHA-256': 512, 'SHA-384': 1024, 'SHA-512': 1024 }[ka.hash.name];\n return _subtle.importKey( 'raw', _crypto.getRandomValues( new Uint8Array( (ka.length+7)>>3 ) ), ka, kx, ku );\n }\n\n if ( isWebkit && m === 'generateKey' && ka.name === 'RSASSA-PKCS1-v1_5' && ( !ka.modulusLength || ka.modulusLength >= 2048 ) ) {\n a = alg(a), a.name = 'RSAES-PKCS1-v1_5', delete a.hash;\n return _subtle.generateKey( a, true, [ 'encrypt', 'decrypt' ] )\n .then( function ( k ) {\n return Promise.all([\n _subtle.exportKey( 'jwk', k.publicKey ),\n _subtle.exportKey( 'jwk', k.privateKey ),\n ]);\n })\n .then( function ( keys ) {\n keys[0].alg = keys[1].alg = jwkAlg(ka);\n keys[0].key_ops = ku.filter(isPubKeyUse), keys[1].key_ops = ku.filter(isPrvKeyUse);\n return Promise.all([\n _subtle.importKey( 'jwk', keys[0], ka, true, keys[0].key_ops ),\n _subtle.importKey( 'jwk', keys[1], ka, kx, keys[1].key_ops ),\n ]);\n })\n .then( function ( keys ) {\n return {\n publicKey: keys[0],\n privateKey: keys[1],\n };\n });\n }\n\n if ( ( isWebkit || ( isIE && ( ka.hash || {} ).name === 'SHA-1' ) )\n && m === 'importKey' && a === 'jwk' && ka.name === 'HMAC' && b.kty === 'oct' ) {\n return _subtle.importKey( 'raw', s2b( a2s(b.k) ), c, args[3], args[4] );\n }\n\n if ( isWebkit && m === 'importKey' && ( a === 'spki' || a === 'pkcs8' ) ) {\n return _subtle.importKey( 'jwk', pkcs2jwk(b), c, args[3], args[4] );\n }\n\n if ( isIE && m === 'unwrapKey' ) {\n return _subtle.decrypt( args[3], c, b )\n .then( function ( k ) {\n return _subtle.importKey( a, k, args[4], args[5], args[6] );\n });\n }\n\n var op;\n try {\n op = _fn.apply( _subtle, args );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n if ( isIE ) {\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) { rej(e) };\n op.oncomplete = function ( r ) { res(r.target.result) };\n });\n }\n\n op = op.then( function ( k ) {\n if ( ka.name === 'HMAC' ) {\n if ( !ka.length ) ka.length = 8 * k.algorithm.length;\n }\n if ( ka.name.search('RSA') == 0 ) {\n if ( !ka.modulusLength ) ka.modulusLength = (k.publicKey || k).algorithm.modulusLength;\n if ( !ka.publicExponent ) ka.publicExponent = (k.publicKey || k).algorithm.publicExponent;\n }\n if ( k.publicKey && k.privateKey ) {\n k = {\n publicKey: new CryptoKey( k.publicKey, ka, kx, ku.filter(isPubKeyUse) ),\n privateKey: new CryptoKey( k.privateKey, ka, kx, ku.filter(isPrvKeyUse) ),\n };\n }\n else {\n k = new CryptoKey( k, ka, kx, ku );\n }\n return k;\n });\n\n return op;\n }\n });\n\n [ 'exportKey', 'wrapKey' ]\n .forEach( function ( m ) {\n var _fn = _subtle[m];\n\n _subtle[m] = function ( a, b, c ) {\n var args = [].slice.call(arguments);\n\n switch ( m ) {\n case 'exportKey':\n args[1] = b._key;\n break;\n case 'wrapKey':\n args[1] = b._key, args[2] = c._key;\n break;\n }\n\n if ( ( isWebkit || ( isIE && ( b.algorithm.hash || {} ).name === 'SHA-1' ) )\n && m === 'exportKey' && a === 'jwk' && b.algorithm.name === 'HMAC' ) {\n args[0] = 'raw';\n }\n\n if ( isWebkit && m === 'exportKey' && ( a === 'spki' || a === 'pkcs8' ) ) {\n args[0] = 'jwk';\n }\n\n if ( isIE && m === 'wrapKey' ) {\n return _subtle.exportKey( a, b )\n .then( function ( k ) {\n if ( a === 'jwk' ) k = s2b( unescape( encodeURIComponent( JSON.stringify( b2jwk(k) ) ) ) );\n return _subtle.encrypt( args[3], c, k );\n });\n }\n\n var op;\n try {\n op = _fn.apply( _subtle, args );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n if ( isIE ) {\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) { rej(e) };\n op.oncomplete = function ( r ) { res(r.target.result) };\n });\n }\n\n if ( m === 'exportKey' && a === 'jwk' ) {\n op = op.then( function ( k ) {\n if ( ( isWebkit || ( isIE && ( b.algorithm.hash || {} ).name === 'SHA-1' ) )\n && b.algorithm.name === 'HMAC') {\n return { 'kty': 'oct', 'alg': jwkAlg(b.algorithm), 'key_ops': b.usages.slice(), 'ext': true, 'k': s2a( b2s(k) ) };\n }\n k = b2jwk(k);\n if ( !k.alg ) k['alg'] = jwkAlg(b.algorithm);\n if ( !k.key_ops ) k['key_ops'] = ( b.type === 'public' ) ? b.usages.filter(isPubKeyUse) : ( b.type === 'private' ) ? b.usages.filter(isPrvKeyUse) : b.usages.slice();\n return k;\n });\n }\n\n if ( isWebkit && m === 'exportKey' && ( a === 'spki' || a === 'pkcs8' ) ) {\n op = op.then( function ( k ) {\n k = jwk2pkcs( b2jwk(k) );\n return k;\n });\n }\n\n return op;\n }\n });\n\n [ 'encrypt', 'decrypt', 'sign', 'verify' ]\n .forEach( function ( m ) {\n var _fn = _subtle[m];\n\n _subtle[m] = function ( a, b, c, d ) {\n if ( isIE && ( !c.byteLength || ( d && !d.byteLength ) ) )\n throw new Error(\"Empy input is not allowed\");\n\n var args = [].slice.call(arguments),\n ka = alg(a);\n\n if ( isIE && m === 'decrypt' && ka.name === 'AES-GCM' ) {\n var tl = a.tagLength >> 3;\n args[2] = (c.buffer || c).slice( 0, c.byteLength - tl ),\n a.tag = (c.buffer || c).slice( c.byteLength - tl );\n }\n\n args[1] = b._key;\n\n var op;\n try {\n op = _fn.apply( _subtle, args );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n if ( isIE ) {\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) {\n rej(e);\n };\n\n op.oncomplete = function ( r ) {\n var r = r.target.result;\n\n if ( m === 'encrypt' && r instanceof AesGcmEncryptResult ) {\n var c = r.ciphertext, t = r.tag;\n r = new Uint8Array( c.byteLength + t.byteLength );\n r.set( new Uint8Array(c), 0 );\n r.set( new Uint8Array(t), c.byteLength );\n r = r.buffer;\n }\n\n res(r);\n };\n });\n }\n\n return op;\n }\n });\n\n if ( isIE ) {\n var _digest = _subtle.digest;\n\n _subtle['digest'] = function ( a, b ) {\n if ( !b.byteLength )\n throw new Error(\"Empy input is not allowed\");\n\n var op;\n try {\n op = _digest.call( _subtle, a, b );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) { rej(e) };\n op.oncomplete = function ( r ) { res(r.target.result) };\n });\n\n return op;\n };\n\n global.crypto = Object.create( _crypto, {\n getRandomValues: { value: function ( a ) { return _crypto.getRandomValues(a) } },\n subtle: { value: _subtle },\n });\n\n global.CryptoKey = CryptoKey;\n }\n\n if ( isWebkit ) {\n _crypto.subtle = _subtle;\n\n global.Crypto = _Crypto;\n global.SubtleCrypto = _SubtleCrypto;\n global.CryptoKey = CryptoKey;\n }\n}));\n\n export default {} // section modified by isomorphic-webcrypto build \n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(\"./src/entry/browser.ts\");\n",""],"names":["lib_1","require","strings_1","settings_1","Response","FHIRCLIENT_PURE","window","debug","extend","contextualize","requestOptions","client","base","absolute","state","serverUrl","contextualURL","_url","resourceType","pathname","split","pop","assert","patientCompartment","indexOf","conformance","fetchConformanceStatement","searchParam","getPatientParam","searchParams","set","patient","id","href","URL","url","getRef","refId","cache","signal","headers","request","then","res","error","Promise","resolve","resolveRef","obj","path","graph","node","getPath","isArray","Array","all","makeArray","filter","Boolean","map","item","i","ref","reference","sub","setPath","replace","catch","ex","status","resolveRefs","fhirOptions","paths","resolveReferences","String","trim","p","index","length","groups","forEach","len","push","task","Object","keys","sort","group","Client","constructor","environment","units","_state","match","_refreshTask","getPatientId","read","reject","Error","options","encounter","getEncounterId","user","fhirUser","getFhirUser","getUserId","getUserType","connect","fhir","fhirJs","baseUrl","accessToken","getState","auth","token","username","password","pass","api","patientId","tokenResponse","scope","default","noScopeForId","authorizeUri","noIfNoAuth","noFreeContext","getIdToken","idToken","id_token","hasOpenid","hasProfile","hasFhirUser","jwtDecode","slice","join","profile","getAuthorizationHeader","btoa","_clearState","storage","getStorage","key","get","SMART_KEY","unset","create","resource","method","body","JSON","stringify","update","delete","patch","assertJsonPatch","_resolvedRefs","debugRequest","flat","pageLimit","_a","useRefreshToken","onPage","undefined","job","refreshIfNeeded","response","authHeader","authorization","result","includeResponse","message","expired","data","_data","entry","links","link","next","find","l","relation","nextPage","assign","references","concat","refreshToken","expiresAt","Date","now","refresh","debugRefresh","_b","refresh_token","tokenUri","scopes","hasOfflineAccess","search","hasOnlineAccess","encodeURIComponent","refreshTokenWithClientId","clientId","refreshRequestOptions","credentials","refreshTokenWithCredentials","mode","clientSecret","access_token","getAccessTokenExpiration","finally","byCode","observations","property","byCodes","getFhirVersion","metadata","fhirVersion","getFhirRelease","v","fhirVersions","exports","HttpError","statusText","name","statusCode","parse","bodyUsed","type","json","error_description","text","toJSON","smart_1","Client_1","BrowserStorage_1","security","js_base64_1","BrowserAdapter","_storage","replaceBrowserHistory","fullSessionStorageSupport","relative","getUrl","location","redirect","to","getAbortController","AbortController","atob","str","base64urlencode","input","encodeURL","fromUint8Array","base64urldecode","decode","getSmartApi","ready","args","authorize","init","utils","BrowserAdapter_1","adapter","fetch","Headers","Request","FHIR","oauth2","settings","module","HttpError_1","_debug","cm","code","value","ensureNumerical","kg","any","pq","checkResponse","resp","ok","responseToJSON","loweCaseKeys","out","lowerKey","toLowerCase","accept","getAndCache","force","process","env","NODE_ENV","segments","shift","o","createEmpty","reduce","idx","arr","arg","randomString","strLength","charSet","charAt","Math","floor","random","payload","getTimeInFuture","secondsAhead","from","expires_in","tokenBody","exp","ret","handleCodeableConcept","concept","observation","coding","bank","codes","prev","resources","meta","r","x","patientParams","getTargetWindow","target","width","height","self","parent","top","targetWindow","open","e","screen","winOrFrame","frames","condition","operation","op","crypto","globalThis","subtle","isSecureContext","ALGS","ES384","namedCurve","RS384","modulusLength","publicExponent","Uint8Array","hash","randomBytes","count","getRandomValues","digestSha256","prepared","TextEncoder","encode","digest","generatePKCEChallenge","entropy","inputBytes","codeVerifier","codeChallenge","importJWK","jwk","alg","key_ops","includes","importKey","ext","signCompactJws","privateKey","header","jwtHeader","jwtPayload","jwtAuthenticatedContent","signature","sign","algorithm","defineProperty","enumerable","isBrowser","fetchWellKnownJson","getSecurityExtensionsFromWellKnownJson","authorization_endpoint","token_endpoint","registrationUri","registration_endpoint","codeChallengeMethods","code_challenge_methods_supported","getSecurityExtensionsFromConformanceStatement","nsUri","extensions","extension","valueUri","getSecurityExtensions","params","urlISS","cfg","issMatch","RegExp","test","fakeTokenResponse","encounterId","pkceMode","clientPublicKeySetUrl","redirect_uri","client_id","iss","launch","fhirServiceUrl","redirectUri","noRedirect","completeInTarget","clientPrivateJwk","stateKey","inFrame","isInFrame","inPopUp","isInPopUp","console","warn","oldKey","redirectUrl","redirectParams","shouldIncludeChallenge","win","sessionStorage","removeItem","setItem","addEventListener","onMessage","S256supported","opener","origin","removeEventListener","Storage","authError","authErrorDescription","postMessage","close","hasState","has","history","replaceState","authorized","buildTokenRequest","pk","jwtHeaders","typ","kid","jku","jwtClaims","aud","jti","clientAssertion","authorizeOptions","readyOptions","cached"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/build/fhir-client.pure.min.js b/dist/build/fhir-client.pure.min.js index ff4e9fb8..061645a2 100644 --- a/dist/build/fhir-client.pure.min.js +++ b/dist/build/fhir-client.pure.min.js @@ -1,3 +1,3 @@ /*! For license information please see fhir-client.pure.min.js.LICENSE.txt */ -(()=>{var e={804:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(116),o=r(725),s=r(170),{Response:i}=window,a=n.debug.extend("client");function c(e,t,r,o,s){let i=(0,n.makeArray)(t.resolveReferences).filter(Boolean).map((e=>String(e).trim())).filter(Boolean);if(i=i.filter(((e,t)=>!(i.indexOf(e,t+1)>-1&&(a('Duplicated reference path "%s"',e),1)))),!i.length)return Promise.resolve();const c={};i.forEach((e=>{const t=e.split(".").length;c[t]||(c[t]=[]),c[t].push(e)}));let u=Promise.resolve();return Object.keys(c).sort().forEach((i=>{const a=c[i];u=u.then((()=>Promise.all(a.map((i=>function(e,t,r,o,s,i){const a=(0,n.getPath)(e,t);if(a){const c=Array.isArray(a);return Promise.all((0,n.makeArray)(a).filter(Boolean).map(((a,u)=>{const l=a.reference;if(l)return function(e,t,r,n){if(!t[e]){const{signal:o,headers:s}=n;t[e]=r.request({url:e,headers:s,signal:o}).then((r=>(t[e]=r,r)),(r=>{throw delete t[e],r}))}return Promise.resolve(t[e])}(l,o,s,i).then((o=>{r&&(c?t.indexOf("..")>-1?(0,n.setPath)(e,`${t.replace("..",`.${u}.`)}`,o):(0,n.setPath)(e,`${t}.${u}`,o):(0,n.setPath)(e,t,o))})).catch((e=>{if(404!==e.status)throw e}))})))}}(e,i,!!t.graph,r,o,s))))))})),u}t.default=class{constructor(e,t){this.units=n.units;const r="string"==typeof t?{serverUrl:t}:t;(0,n.assert)(r.serverUrl&&r.serverUrl.match(/https?:\/\/.+/),'A "serverUrl" option is required and must begin with "http(s)"'),this.state=r,this.environment=e,this._refreshTask=null;const o=this;this.patient={get id(){return o.getPatientId()},read:e=>{const t=this.patient.id;return t?this.request({...e,url:`Patient/${t}`}):Promise.reject(new Error("Patient is not available"))},request:(e,t={})=>this.patient.id?(async()=>{const r=await async function(e,t){const r=(0,n.absolute)("/",t.state.serverUrl);async function o(e){const r=e.pathname.split("/").pop();(0,n.assert)(r,`Invalid url "${e}"`),(0,n.assert)(s.patientCompartment.indexOf(r)>-1,`Cannot filter "${r}" resources by patient`);const o=await(0,n.fetchConformanceStatement)(t.state.serverUrl),i=(0,n.getPatientParam)(o,r);return e.searchParams.set(i,t.patient.id),e.href}return"string"==typeof e||e instanceof URL?{url:await o(new URL(e+"",r))}:(e.url=await o(new URL(e.url+"",r)),e)}(e,this);return this.request(r,t)})():Promise.reject(new Error("Patient is not available"))},this.encounter={get id(){return o.getEncounterId()},read:e=>{const t=this.encounter.id;return t?this.request({...e,url:`Encounter/${t}`}):Promise.reject(new Error("Encounter is not available"))}},this.user={get fhirUser(){return o.getFhirUser()},get id(){return o.getUserId()},get resourceType(){return o.getUserType()},read:e=>{const t=this.user.fhirUser;return t?this.request({...e,url:t}):Promise.reject(new Error("User is not available"))}},this.connect(e.fhir)}connect(e){if("function"==typeof e){const t={baseUrl:this.state.serverUrl.replace(/\/$/,"")},r=this.getState("tokenResponse.access_token");if(r)t.auth={token:r};else{const{username:e,password:r}=this.state;e&&r&&(t.auth={user:e,pass:r})}this.api=e(t);const n=this.getState("tokenResponse.patient");n&&(this.patient.api=e({...t,patient:n}))}return this}getPatientId(){const e=this.state.tokenResponse;return e?e.patient?e.patient:((this.state.scope||"").match(/\blaunch(\/patient)?\b/)?a("The ID of the selected patient is not available. Please check if your server supports that."):a(o.default.noScopeForId,"patient","patient"),null):(this.state.authorizeUri?a(o.default.noIfNoAuth,"the ID of the selected patient"):a(o.default.noFreeContext,"selected patient"),null)}getEncounterId(){const e=this.state.tokenResponse;return e?e.encounter?e.encounter:((this.state.scope||"").match(/\blaunch(\/encounter)?\b/)?a("The ID of the selected encounter is not available. Please check if your server supports that, and that the selected patient has any recorded encounters."):a(o.default.noScopeForId,"encounter","encounter"),null):(this.state.authorizeUri?a(o.default.noIfNoAuth,"the ID of the selected encounter"):a(o.default.noFreeContext,"selected encounter"),null)}getIdToken(){const e=this.state.tokenResponse;if(e){const t=e.id_token,r=this.state.scope||"";if(!t){const e=r.match(/\bopenid\b/),t=r.match(/\bprofile\b/),n=r.match(/\bfhirUser\b/);return a(e&&(n||t)?"The id_token is not available. Please check if your server supports that.":"You are trying to get the id_token but you are not using the right scopes. Please add 'openid' and 'fhirUser' or 'profile' to the scopes you are requesting."),null}return(0,n.jwtDecode)(t,this.environment)}return this.state.authorizeUri?a(o.default.noIfNoAuth,"the id_token"):a(o.default.noFreeContext,"id_token"),null}getFhirUser(){const e=this.getIdToken();return e?e.fhirUser?e.fhirUser.split("/").slice(-2).join("/"):e.profile:null}getUserId(){const e=this.getFhirUser();return e?e.split("/")[1]:null}getUserType(){const e=this.getFhirUser();return e?e.split("/")[0]:null}getAuthorizationHeader(){const e=this.getState("tokenResponse.access_token");if(e)return"Bearer "+e;const{username:t,password:r}=this.state;return t&&r?"Basic "+this.environment.btoa(t+":"+r):null}async _clearState(){const e=this.environment.getStorage(),t=await e.get(s.SMART_KEY);t&&await e.unset(t),await e.unset(s.SMART_KEY),this.state.tokenResponse={}}create(e,t){return this.request({...t,url:`${e.resourceType}`,method:"POST",body:JSON.stringify(e),headers:{"content-type":"application/json",...(t||{}).headers}})}update(e,t){return this.request({...t,url:`${e.resourceType}/${e.id}`,method:"PUT",body:JSON.stringify(e),headers:{"content-type":"application/json",...(t||{}).headers}})}delete(e,t={}){return this.request({...t,url:e,method:"DELETE"})}async patch(e,t,r={}){return(0,n.assertJsonPatch)(t),this.request({...r,url:e,method:"PATCH",body:JSON.stringify(t),headers:{prefer:"return=presentation","content-type":"application/json-patch+json; charset=UTF-8",...r.headers}})}async request(e,t={},r={}){var s;const a=n.debug.extend("client:request");let u;(0,n.assert)(e,"request requires an url or request options as argument"),"string"==typeof e||e instanceof URL?(u=String(e),e={}):u=String(e.url),u=(0,n.absolute)(u,this.state.serverUrl);const l={graph:!1!==t.graph,flat:!!t.flat,pageLimit:null!==(s=t.pageLimit)&&void 0!==s?s:1,resolveReferences:t.resolveReferences||[],useRefreshToken:!1!==t.useRefreshToken,onPage:"function"==typeof t.onPage?t.onPage:void 0},h=e.signal||void 0;let f;return(l.useRefreshToken?this.refreshIfNeeded({signal:h}).then((()=>e)):Promise.resolve(e)).then((e=>{const t=this.getAuthorizationHeader();return t&&(e.headers={...e.headers,authorization:t}),e})).then((e=>(a("%s, options: %O, fhirOptions: %O",u,e,l),(0,n.request)(u,e).then((t=>e.includeResponse?(f=t.response,t.body):t))))).catch((async e=>{if(401==e.status){if(!this.getState("tokenResponse.access_token"))throw e.message+="\nThis app cannot be accessed directly. Please launch it as SMART app!",e;if(!l.useRefreshToken)throw a("Your session has expired and the useRefreshToken option is set to false. Please re-launch the app."),await this._clearState(),e.message+="\n"+o.default.expired,e;throw a("Auto-refresh failed! Please re-launch the app."),await this._clearState(),e.message+="\n"+o.default.expired,e}throw e})).catch((e=>{throw 403==e.status&&a("Permission denied! Please make sure that you have requested the proper scopes."),e})).then((t=>!t||"string"==typeof t||t instanceof i?e.includeResponse?{body:t,response:f}:t:(async t=>("Bundle"==t.resourceType?await Promise.all((t.entry||[]).map((t=>c(t.resource,l,r,this,e)))):await c(t,l,r,this,e),t))(t).then((async e=>{if(e&&"Bundle"==e.resourceType){const t=e.link||[];if(l.flat&&(e=(e.entry||[]).map((e=>e.resource))),l.onPage&&await l.onPage(e,{...r}),--l.pageLimit){const o=t.find((e=>"next"==e.relation));if(e=(0,n.makeArray)(e),o&&o.url){const t=await this.request({url:o.url,signal:h},l,r);return l.onPage?null:l.resolveReferences.length?(Object.assign(r,t.references),e.concat((0,n.makeArray)(t.data||t))):e.concat((0,n.makeArray)(t))}}}return e})).then((e=>{if(l.graph)r={};else if(!l.onPage&&l.resolveReferences.length)return{data:e,references:r};return e})).then((t=>e.includeResponse?{body:t,response:f}:t))))}refreshIfNeeded(e={}){const t=this.getState("tokenResponse.access_token"),r=this.getState("tokenResponse.refresh_token"),n=this.state.expiresAt||0;return t&&r&&n-10-1,u=a.search(/\bonline_access\b/)>-1;if((0,n.assert)(c||u,"Unable to refresh. No offline_access or online_access scope found."),!this._refreshTask){let t=`grant_type=refresh_token&refresh_token=${encodeURIComponent(s)}`;this.environment.options.refreshTokenWithClientId&&(t+=`&client_id=${this.state.clientId}`);const r={credentials:this.environment.options.refreshTokenWithCredentials||"same-origin",...e,method:"POST",mode:"cors",headers:{...e.headers||{},"content-type":"application/x-www-form-urlencoded"},body:t};if(!("authorization"in r.headers)){const{clientSecret:e,clientId:t}=this.state;e&&(r.headers.authorization="Basic "+this.environment.btoa(t+":"+e))}this._refreshTask=(0,n.request)(i,r).then((e=>((0,n.assert)(e.access_token,"No access token received"),o("Received new access token response %O",e),this.state.tokenResponse={...this.state.tokenResponse,...e},this.state.expiresAt=(0,n.getAccessTokenExpiration)(e,this.environment),this.state))).catch((e=>{var t,r;throw(null===(r=null===(t=this.state)||void 0===t?void 0:t.tokenResponse)||void 0===r?void 0:r.refresh_token)&&(o("Deleting the expired or invalid refresh token."),delete this.state.tokenResponse.refresh_token),e})).finally((()=>{this._refreshTask=null;const e=this.state.key;e?this.environment.getStorage().set(e,this.state):o("No 'key' found in Clint.state. Cannot persist the instance.")}))}return this._refreshTask}byCode(e,t){return(0,n.byCode)(e,t)}byCodes(e,t){return(0,n.byCodes)(e,t)}getPath(e,t=""){return(0,n.getPath)(e,t)}getState(e=""){return(0,n.getPath)({...this.state},e)}getFhirVersion(){return(0,n.fetchConformanceStatement)(this.state.serverUrl).then((e=>e.fhirVersion))}getFhirRelease(){return this.getFhirVersion().then((e=>{var t;return null!==(t=s.fhirVersions[e])&&void 0!==t?t:0}))}}},273:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});class r extends Error{constructor(e){super(`${e.status} ${e.statusText}\nURL: ${e.url}`),this.name="HttpError",this.response=e,this.statusCode=e.status,this.status=e.status,this.statusText=e.statusText}async parse(){if(!this.response.bodyUsed)try{const e=this.response.headers.get("content-type")||"text/plain";if(e.match(/\bjson\b/i)){let e=await this.response.json();e.error?(this.message+="\n"+e.error,e.error_description&&(this.message+=": "+e.error_description)):this.message+="\n\n"+JSON.stringify(e,null,4)}else if(e.match(/^text\//i)){let e=await this.response.text();e&&(this.message+="\n\n"+e)}}catch{}return this}toJSON(){return{name:this.name,statusCode:this.statusCode,status:this.status,statusText:this.statusText,message:this.message}}}t.default=r},901:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(922),o=r(804),s=r(188),i=r(662),a=r(127);t.default=class{constructor(e={}){this._url=null,this._storage=null,this.security=i,this.options={replaceBrowserHistory:!0,fullSessionStorageSupport:!0,refreshTokenWithCredentials:"same-origin",...e}}relative(e){return new URL(e,this.getUrl().href).href}get fhir(){return"function"==typeof fhir?fhir:null}getUrl(){return this._url||(this._url=new URL(location+"")),this._url}redirect(e){location.href=e}getStorage(){return this._storage||(this._storage=new s.default),this._storage}getAbortController(){return AbortController}atob(e){return window.atob(e)}btoa(e){return window.btoa(e)}base64urlencode(e){return"string"==typeof e?(0,a.encodeURL)(e):(0,a.fromUint8Array)(e,!0)}base64urldecode(e){return(0,a.decode)(e)}getSmartApi(){return{ready:(...e)=>(0,n.ready)(this,...e),authorize:e=>(0,n.authorize)(this,e),init:e=>(0,n.init)(this,e),client:e=>new o.default(this,e),options:this.options,utils:{security:i}}}}},952:(e,t,r)=>{"use strict";const n=new(r(901).default),{ready:o,authorize:s,init:i,client:a,options:c,utils:u}=n.getSmartApi(),l={AbortController:window.AbortController,client:a,utils:u,oauth2:{settings:c,ready:o,authorize:s,init:i}};e.exports=l},116:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.assertJsonPatch=t.assert=t.getTargetWindow=t.getPatientParam=t.byCodes=t.byCode=t.getAccessTokenExpiration=t.getTimeInFuture=t.jwtDecode=t.randomString=t.absolute=t.makeArray=t.setPath=t.getPath=t.fetchConformanceStatement=t.getAndCache=t.request=t.loweCaseKeys=t.responseToJSON=t.checkResponse=t.units=t.debug=void 0;const n=r(273),o=r(170),s=r(833),{fetch:i}=window,a=s("FHIR");t.debug=a;const c={};function u({value:e,code:t}){if("number"!=typeof e)throw new Error("Found a non-numerical unit: "+e+" "+t)}async function l(e){if(!e.ok){const t=new n.default(e);throw await t.parse(),t}return e}function h(e){return e.text().then((e=>e.length?JSON.parse(e):""))}function f(e){if(!e)return e;if(Array.isArray(e))return e.map((e=>e&&"object"==typeof e?f(e):e));let t={};return Object.keys(e).forEach((r=>{const n=r.toLowerCase(),o=e[r];t[n]=o&&"object"==typeof o?f(o):o})),t}function p(e,t={}){const{includeResponse:r,...n}=t;return i(e,{mode:"cors",...n,headers:{accept:"application/json",...f(n.headers)}}).then(l).then((e=>{const t=e.headers.get("content-type")+"";return t.match(/\bjson\b/i)?h(e).then((t=>({res:e,body:t}))):t.match(/^text\//i)?e.text().then((t=>({res:e,body:t}))):{res:e}})).then((({res:e,body:t})=>{if(!t&&201==e.status){const t=e.headers.get("location");if(t)return p(t,{...n,method:"GET",body:null,includeResponse:r})}return r?{body:t,response:e}:void 0===t?e:t}))}function d(e,t,r=!1){return r||!c[e]?(c[e]=p(e,t),c[e]):Promise.resolve(c[e])}function g(e,t=""){if(!(t=t.trim()))return e;let r=t.split("."),n=e;for(;n&&r.length;){const e=r.shift();if(!e&&Array.isArray(n))return n.map((e=>g(e,r.join("."))));n=n[e]}return n}function y(e){return Array.isArray(e)?e:[e]}function m(e,t){const r=e.split(".")[1];return r?JSON.parse(t.atob(r)):null}function w(e,t){const r={};function n(e,t){e&&Array.isArray(e.coding)&&e.coding.forEach((({code:e})=>{e&&(r[e]=r[e]||[],r[e].push(t))}))}return y(e).forEach((e=>{"Observation"===e.resourceType&&e[t]&&(Array.isArray(e[t])?e[t].forEach((t=>n(t,e))):n(e[t],e))})),r}function b(e,t){if(!e)throw new Error(t)}t.units={cm({code:e,value:t}){if(u({code:e,value:t}),"cm"==e)return t;if("m"==e)return 100*t;if("in"==e)return 2.54*t;if("[in_us]"==e)return 2.54*t;if("[in_i]"==e)return 2.54*t;if("ft"==e)return 30.48*t;if("[ft_us]"==e)return 30.48*t;throw new Error("Unrecognized length unit: "+e)},kg({code:e,value:t}){if(u({code:e,value:t}),"kg"==e)return t;if("g"==e)return t/1e3;if(e.match(/lb/))return t/2.20462;if(e.match(/oz/))return t/35.274;throw new Error("Unrecognized weight unit: "+e)},any:e=>(u(e),e.value)},t.checkResponse=l,t.responseToJSON=h,t.loweCaseKeys=f,t.request=p,t.getAndCache=d,t.fetchConformanceStatement=function(e="/",t){const r=String(e).replace(/\/*$/,"/")+"metadata";return d(r,t).catch((e=>{throw new Error(`Failed to fetch the conformance statement from "${r}". ${e}`)}))},t.getPath=g,t.setPath=function(e,t,r,n=!1){return t.trim().split(".").reduce(((e,t,o,s)=>{if(!e||o!==s.length-1)return e&&void 0===e[t]&&n&&(e[t]=s[o+1].match(/^[0-9]+$/)?[]:{}),e?e[t]:void 0;e[t]=r}),e),e},t.makeArray=y,t.absolute=function(e,t){return e.match(/^http/)||e.match(/^urn/)?e:String(t||"").replace(/\/+$/,"")+"/"+e.replace(/^\/+/,"")},t.randomString=function(e=8,t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"){const r=[],n=t.length;for(;e--;)r.push(t.charAt(Math.floor(Math.random()*n)));return r.join("")},t.jwtDecode=m,t.getTimeInFuture=function(e=120,t){return Math.floor(+(t||new Date)/1e3+e)},t.getAccessTokenExpiration=function(e,t){const r=Math.floor(Date.now()/1e3);if(e.expires_in)return r+e.expires_in;if(e.access_token){let r=m(e.access_token,t);if(r&&r.exp)return r.exp}return r+300},t.byCode=w,t.byCodes=function(e,t){const r=w(e,t);return(...e)=>e.filter((e=>e+""in r)).reduce(((e,t)=>e.concat(r[t+""])),[])},t.getPatientParam=function(e,t){const r=(g(e,"rest.0.resource")||[]).find((e=>e.type===t));if(!r)throw new Error(`Resource "${t}" is not supported by this FHIR server`);if(!Array.isArray(r.searchParam))throw new Error(`No search parameters supported for "${t}" on this FHIR server`);if("Patient"==t&&r.searchParam.find((e=>"_id"==e.name)))return"_id";const n=o.patientParams.find((e=>r.searchParam.find((t=>t.name==e))));if(!n)throw new Error("I don't know what param to use for "+t);return n},t.getTargetWindow=async function(e,t=800,r=720){if("function"==typeof e&&(e=await e()),e&&"object"==typeof e)return e;if("string"!=typeof e)return a("Invalid target type '%s'. Failing back to '_self'.",typeof e),self;if("_self"==e)return self;if("_parent"==e)return parent;if("_top"==e)return top||self;if("_blank"==e){let e,t=null;try{if(t=window.open("","SMARTAuthPopup"),!t)throw new Error("Perhaps window.open was blocked")}catch(t){e=t}return t||(a("Cannot open window. Failing back to '_self'. %s",e),self)}if("popup"==e){let e,n=null;try{if(n=window.open("","SMARTAuthPopup",["height="+r,"width="+t,"menubar=0","resizable=1","status=0","top="+(screen.height-r)/2,"left="+(screen.width-t)/2].join(",")),!n)throw new Error("Perhaps the popup window was blocked")}catch(t){e=t}return n||(a("Cannot open window. Failing back to '_self'. %s",e),self)}return frames[e]||(a("Unknown target '%s'. Failing back to '_self'.",e),self)},t.assert=b,t.assertJsonPatch=function(e){b(Array.isArray(e),"The JSON patch must be an array"),b(e.length>0,"The JSON patch array should not be empty"),e.forEach((e=>{b(["add","replace","test","move","copy","remove"].indexOf(e.op)>-1,'Each patch operation must have an "op" property which must be one of: "add", "replace", "test", "move", "copy", "remove"'),b(e.path&&typeof e.path,`Invalid "${e.op}" operation. Missing "path" property`),"add"==e.op||"replace"==e.op||"test"==e.op?(b("value"in e,`Invalid "${e.op}" operation. Missing "value" property`),b(3==Object.keys(e).length,`Invalid "${e.op}" operation. Contains unknown properties`)):"move"==e.op||"copy"==e.op?(b("string"==typeof e.from,`Invalid "${e.op}" operation. Requires a string "from" property`),b(3==Object.keys(e).length,`Invalid "${e.op}" operation. Contains unknown properties`)):b(2==Object.keys(e).length,`Invalid "${e.op}" operation. Contains unknown properties`)}))}},662:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.signCompactJws=t.importJWK=t.generatePKCEChallenge=t.digestSha256=t.randomBytes=void 0;const n=r(127),o="object"==typeof globalThis&&globalThis.crypto?globalThis.crypto:r(525).default,s=()=>{if(!o.subtle){if(!globalThis.isSecureContext)throw new Error("Some of the required subtle crypto functionality is not available unless you run this app in secure context (using HTTPS or running locally). See https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts");throw new Error("Some of the required subtle crypto functionality is not available in the current environment (no crypto.subtle)")}return o.subtle},i={ES384:{name:"ECDSA",namedCurve:"P-384"},RS384:{name:"RSASSA-PKCS1-v1_5",modulusLength:4096,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-384"}}};function a(e){return o.getRandomValues(new Uint8Array(e))}async function c(e){const t=(new TextEncoder).encode(e),r=await s().digest("SHA-256",t);return new Uint8Array(r)}t.randomBytes=a,t.digestSha256=c,t.generatePKCEChallenge=async(e=96)=>{const t=a(e),r=(0,n.fromUint8Array)(t,!0);return{codeChallenge:(0,n.fromUint8Array)(await c(r),!0),codeVerifier:r}},t.importJWK=async function(e){if(!e.alg)throw new Error('The "alg" property of the JWK must be set to "ES384" or "RS384"');if(Array.isArray(e.key_ops)||(e.key_ops=["sign"]),!e.key_ops.includes("sign"))throw new Error('The "key_ops" property of the JWK does not contain "sign"');try{return await s().importKey("jwk",e,i[e.alg],!0===e.ext,e.key_ops)}catch(t){throw new Error(`The ${e.alg} is not supported by this browser: ${t}`)}},t.signCompactJws=async function(e,t,r,o){const i=JSON.stringify({...r,alg:e}),a=JSON.stringify(o),c=`${(0,n.encodeURL)(i)}.${(0,n.encodeURL)(a)}`,u=await s().sign({...t.algorithm,hash:"SHA-384"},t,(new TextEncoder).encode(c));return`${c}.${(0,n.fromUint8Array)(new Uint8Array(u),!0)}`}},170:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SMART_KEY=t.patientParams=t.fhirVersions=t.patientCompartment=void 0,t.patientCompartment=["Account","AdverseEvent","AllergyIntolerance","Appointment","AppointmentResponse","AuditEvent","Basic","BodySite","BodyStructure","CarePlan","CareTeam","ChargeItem","Claim","ClaimResponse","ClinicalImpression","Communication","CommunicationRequest","Composition","Condition","Consent","Coverage","CoverageEligibilityRequest","CoverageEligibilityResponse","DetectedIssue","DeviceRequest","DeviceUseRequest","DeviceUseStatement","DiagnosticOrder","DiagnosticReport","DocumentManifest","DocumentReference","EligibilityRequest","Encounter","EnrollmentRequest","EpisodeOfCare","ExplanationOfBenefit","FamilyMemberHistory","Flag","Goal","Group","ImagingManifest","ImagingObjectSelection","ImagingStudy","Immunization","ImmunizationEvaluation","ImmunizationRecommendation","Invoice","List","MeasureReport","Media","MedicationAdministration","MedicationDispense","MedicationOrder","MedicationRequest","MedicationStatement","MolecularSequence","NutritionOrder","Observation","Order","Patient","Person","Procedure","ProcedureRequest","Provenance","QuestionnaireResponse","ReferralRequest","RelatedPerson","RequestGroup","ResearchSubject","RiskAssessment","Schedule","ServiceRequest","Specimen","SupplyDelivery","SupplyRequest","VisionPrescription"],t.fhirVersions={"0.4.0":2,"0.5.0":2,"1.0.0":2,"1.0.1":2,"1.0.2":2,"1.1.0":3,"1.4.0":3,"1.6.0":3,"1.8.0":3,"3.0.0":3,"3.0.1":3,"3.3.0":4,"3.5.0":4,"4.0.0":4,"4.0.1":4},t.patientParams=["patient","subject","requester","member","actor","beneficiary"],t.SMART_KEY="SMART_KEY"},922:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.init=t.buildTokenRequest=t.ready=t.onMessage=t.isInPopUp=t.isInFrame=t.authorize=t.getSecurityExtensions=t.fetchWellKnownJson=t.KEY=void 0;const n=r(116),o=r(804),s=r(170);Object.defineProperty(t,"KEY",{enumerable:!0,get:function(){return s.SMART_KEY}});const i=n.debug.extend("oauth2");function a(){return"object"==typeof window}function c(e="/",t){const r=String(e).replace(/\/*$/,"/")+".well-known/smart-configuration";return(0,n.getAndCache)(r,t).catch((e=>{throw new Error(`Failed to fetch the well-known json "${r}". ${e.message}`)}))}function u(e="/"){return function(e="/"){return c(e,void 0).then((e=>{if(!e.authorization_endpoint||!e.token_endpoint)throw new Error("Invalid wellKnownJson");return{registrationUri:e.registration_endpoint||"",authorizeUri:e.authorization_endpoint,tokenUri:e.token_endpoint,codeChallengeMethods:e.code_challenge_methods_supported||[]}}))}(e).catch((()=>function(e="/",t){return(0,n.fetchConformanceStatement)(e,t).then((e=>{const t=((0,n.getPath)(e||{},"rest.0.security.extension")||[]).filter((e=>"http://fhir-registry.smarthealthit.org/StructureDefinition/oauth-uris"===e.url)).map((e=>e.extension))[0],r={registrationUri:"",authorizeUri:"",tokenUri:"",codeChallengeMethods:[]};return t&&t.forEach((e=>{"register"===e.url&&(r.registrationUri=e.valueUri),"authorize"===e.url&&(r.authorizeUri=e.valueUri),"token"===e.url&&(r.tokenUri=e.valueUri)})),r}))}(e)))}async function l(e,t={}){const r=e.getUrl();if(Array.isArray(t)){const o=r.searchParams.get("iss")||r.searchParams.get("fhirServiceUrl");if(!o)throw new Error('Passing in an "iss" url parameter is required if authorize uses multiple configurations');const s=t.find((e=>{if(e.issMatch){if("function"==typeof e.issMatch)return!!e.issMatch(o);if("string"==typeof e.issMatch)return e.issMatch===o;if(e.issMatch instanceof RegExp)return e.issMatch.test(o)}return!1}));return(0,n.assert)(s,`No configuration found matching the current "iss" parameter "${o}"`),await l(e,s)}const{clientSecret:o,fakeTokenResponse:c,encounterId:d,target:g,width:y,height:m,pkceMode:w,clientPublicKeySetUrl:b,redirect_uri:C,client_id:v}=t;let{iss:S,launch:A,patientId:k,fhirServiceUrl:P,redirectUri:R,noRedirect:U,scope:E="",clientId:_,completeInTarget:x,clientPrivateJwk:F,stateKey:T}=t;const I=e.getStorage();S=r.searchParams.get("iss")||S,P=r.searchParams.get("fhirServiceUrl")||P,A=r.searchParams.get("launch")||A,k=r.searchParams.get("patientId")||k,_=r.searchParams.get("clientId")||_,_||(_=v),R||(R=C),R?R.match(/^https?\:\/\//)||(R=e.relative(R)):R=e.relative(".");const K=String(S||P||"");if(!K)throw new Error("No server url found. It must be specified as `iss` or as `fhirServiceUrl` parameter");if(S&&i("Making %s launch...",A?"EHR":"standalone"),A&&!E.match(/launch/)&&(E+=" launch"),a()){const e=h(),t=f();(e||t)&&!0!==x&&!1!==x&&(x=e,console.warn('Your app is being authorized from within an iframe or popup window. Please be explicit and provide a "completeInTarget" option. Use "true" to complete the authorization in the same window, or "false" to try to complete it in the parent or the opener window. See http://docs.smarthealthit.org/client-js/api.html'))}const j=await I.get(s.SMART_KEY);await I.unset(j),T=null!=T?T:(0,n.randomString)(16);const O={clientId:_,scope:E,redirectUri:R,serverUrl:K,clientSecret:o,clientPrivateJwk:F,tokenResponse:{},key:T,completeInTarget:x,clientPublicKeySetUrl:b};(!a()||(0,n.getPath)(e,"options.fullSessionStorageSupport"))&&await I.set(s.SMART_KEY,T),c&&Object.assign(O.tokenResponse,c),k&&Object.assign(O.tokenResponse,{patient:k}),d&&Object.assign(O.tokenResponse,{encounter:d});let M=R+"?state="+encodeURIComponent(T);if(P&&!S)return i("Making fake launch..."),await I.set(T,O),U?M:await e.redirect(M);const q=await u(K);if(Object.assign(O,q),await I.set(T,O),!O.authorizeUri)return U?M:await e.redirect(M);const B=["response_type=code","client_id="+encodeURIComponent(_||""),"scope="+encodeURIComponent(E),"redirect_uri="+encodeURIComponent(R),"aud="+encodeURIComponent(K),"state="+encodeURIComponent(T)];if(A&&B.push("launch="+encodeURIComponent(A)),function(e,t){if("disabled"===t)return!1;if("unsafeV1"===t)return!0;if("required"===t){if(!e)throw new Error("Required PKCE code challenge method (`S256`) was not found in the server's codeChallengeMethods declaration.");return!0}return e}(q.codeChallengeMethods.includes("S256"),w)){let t=await e.security.generatePKCEChallenge();Object.assign(O,t),await I.set(T,O),B.push("code_challenge="+O.codeChallenge),B.push("code_challenge_method=S256")}if(M=O.authorizeUri+"?"+B.join("&"),U)return M;if(!g||!a())return await e.redirect(M);{let e;if(e=await(0,n.getTargetWindow)(g,y,m),e!==self)try{e.sessionStorage.removeItem(j),e.sessionStorage.setItem(T,JSON.stringify(O))}catch(t){(0,n.debug)('Failed to modify window.sessionStorage. Perhaps it is from different origin?. Failing back to "_self". %s',t),e=self}if(e!==self)try{e.location.href=M,self.addEventListener("message",p)}catch(e){(0,n.debug)('Failed to modify window.location. Perhaps it is from different origin?. Failing back to "_self". %s',e),self.location.href=M}else self.location.href=M}}function h(){try{return self!==top&&parent!==self}catch(e){return!0}}function f(){try{return self===top&&!!opener&&opener!==self&&!!window.name}catch(e){return!1}}function p(e){"completeAuth"==e.data.type&&e.origin===new URL(self.location.href).origin&&(window.removeEventListener("message",p),window.location.href=e.data.url)}async function d(e,t={}){var r,c;const u=e.getUrl(),l=e.getStorage(),p=u.searchParams;let d=p.get("state");const y=p.get("code"),m=p.get("error"),w=p.get("error_description");if(d||(d=await l.get(s.SMART_KEY)),m||w)throw new Error([m,w].filter(Boolean).join(": "));i("key: %s, code: %s",d,y),(0,n.assert)(d,"No 'state' parameter found. Please (re)launch the app.");let b=await l.get(d);const C=!a()||(0,n.getPath)(e,"options.fullSessionStorageSupport");if(a()&&b&&!b.completeInTarget){const e=h(),t=f();if((e||t)&&!u.searchParams.get("complete")){u.searchParams.set("complete","1");const{href:r,origin:n}=u;return e&&parent.postMessage({type:"completeAuth",url:r},n),t&&(opener.postMessage({type:"completeAuth",url:r},n),window.close()),new Promise((()=>{}))}}u.searchParams.delete("complete");const v=p.has("state");if(a()&&(0,n.getPath)(e,"options.replaceBrowserHistory")&&(y||v)&&(y&&(p.delete("code"),i("Removed code parameter from the url.")),v&&C&&(p.delete("state"),i("Removed state parameter from the url.")),window.history.replaceState&&window.history.replaceState({},"",u.href)),(0,n.assert)(b,"No state found! Please (re)launch the app."),y&&!(null===(r=b.tokenResponse)||void 0===r?void 0:r.access_token)&&b.tokenUri){(0,n.assert)(y,"'code' url parameter is required"),i("Preparing to exchange the code for access token...");const r=await g(e,{code:y,state:b,clientPublicKeySetUrl:t.clientPublicKeySetUrl,privateKey:t.privateKey||b.clientPrivateJwk});i("Token request options: %O",r);const o=await(0,n.request)(b.tokenUri,r);i("Token response: %O",o),(0,n.assert)(o.access_token,"Failed to obtain access token."),b.expiresAt=(0,n.getAccessTokenExpiration)(o,e),b={...b,tokenResponse:o},await l.set(d,b),i("Authorization successful!")}else i((null===(c=b.tokenResponse)||void 0===c?void 0:c.access_token)?"Already authorized":"No authorization needed");C&&await l.set(s.SMART_KEY,d);const S=new o.default(e,b);return i("Created client instance: %O",S),S}async function g(e,{code:t,state:r,clientPublicKeySetUrl:o,privateKey:s}){const{redirectUri:a,clientSecret:c,tokenUri:u,clientId:l,codeVerifier:h}=r;(0,n.assert)(a,"Missing state.redirectUri"),(0,n.assert)(u,"Missing state.tokenUri"),(0,n.assert)(l,"Missing state.clientId");const f={method:"POST",headers:{"content-type":"application/x-www-form-urlencoded"},body:`code=${t}&grant_type=authorization_code&redirect_uri=${encodeURIComponent(a)}`};if(c)f.headers.authorization="Basic "+e.btoa(l+":"+c),i("Using state.clientSecret to construct the authorization header: %s",f.headers.authorization);else if(s){const t="key"in s?s.key:await e.security.importJWK(s),a={typ:"JWT",kid:s.kid,jku:o||r.clientPublicKeySetUrl},c={iss:l,sub:l,aud:u,jti:e.base64urlencode(e.security.randomBytes(32)),exp:(0,n.getTimeInFuture)(120)},h=await e.security.signCompactJws(s.alg,t,a,c);f.body+=`&client_assertion_type=${encodeURIComponent("urn:ietf:params:oauth:client-assertion-type:jwt-bearer")}`,f.body+=`&client_assertion=${encodeURIComponent(h)}`,i("Using state.clientPrivateJwk to add a client_assertion to the POST body")}else i("Public client detected; adding state.clientId to the POST body"),f.body+=`&client_id=${encodeURIComponent(l)}`;return h&&(i("Found state.codeVerifier, adding to the POST body"),f.body+="&code_verifier="+h),f}t.fetchWellKnownJson=c,t.getSecurityExtensions=u,t.authorize=l,t.isInFrame=h,t.isInPopUp=f,t.onMessage=p,t.ready=d,t.buildTokenRequest=g,t.init=async function(e,t,r){const n=e.getUrl(),i=n.searchParams.get("code"),a=n.searchParams.get("state");if(i&&a)return d(e,r);const c=e.getStorage(),u=a||await c.get(s.SMART_KEY),h=await c.get(u);return h?new o.default(e,h):l(e,t).then((()=>new Promise((()=>{}))))}},188:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{async get(e){const t=sessionStorage[e];return t?JSON.parse(t):null}async set(e,t){return sessionStorage[e]=JSON.stringify(t),t}async unset(e){return e in sessionStorage&&(delete sessionStorage[e],!0)}}},725:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={expired:"Session expired! Please re-launch the app",noScopeForId:"Trying to get the ID of the selected %s. Please add 'launch' or 'launch/%s' to the requested scopes and try again.",noIfNoAuth:"You are trying to get %s but the app is not authorized yet.",noFreeContext:"Please don't use open fhir servers if you need to access launch context items like the %S."}},833:(e,t,r)=>{t.formatArgs=function(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const r="color: "+this.color;t.splice(1,0,r,"color: inherit");let n=0,o=0;t[0].replace(/%[a-zA-Z%]/g,(e=>{"%%"!==e&&(n++,"%c"===e&&(o=n))})),t.splice(o,0,r)},t.save=function(e){try{e?t.storage.setItem("debug",e):t.storage.removeItem("debug")}catch(e){}},t.load=function(){let e;try{e=t.storage.getItem("debug")}catch(e){}return!e&&"undefined"!=typeof process&&"env"in process&&(e=process.env.DEBUG),e},t.useColors=function(){if("undefined"!=typeof window&&window.process&&("renderer"===window.process.type||window.process.__nwjs))return!0;if("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let e;return"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},t.storage=function(){try{return localStorage}catch(e){}}(),t.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.log=console.debug||console.log||(()=>{}),e.exports=r(736)(t);const{formatters:n}=e.exports;n.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}},736:(e,t,r)=>{e.exports=function(e){function t(e){let r,o,s,i=null;function a(...e){if(!a.enabled)return;const n=a,o=Number(new Date),s=o-(r||o);n.diff=s,n.prev=r,n.curr=o,r=o,e[0]=t.coerce(e[0]),"string"!=typeof e[0]&&e.unshift("%O");let i=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,((r,o)=>{if("%%"===r)return"%";i++;const s=t.formatters[o];if("function"==typeof s){const t=e[i];r=s.call(n,t),e.splice(i,1),i--}return r})),t.formatArgs.call(n,e),(n.log||t.log).apply(n,e)}return a.namespace=e,a.useColors=t.useColors(),a.color=t.selectColor(e),a.extend=n,a.destroy=t.destroy,Object.defineProperty(a,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==i?i:(o!==t.namespaces&&(o=t.namespaces,s=t.enabled(e)),s),set:e=>{i=e}}),"function"==typeof t.init&&t.init(a),a}function n(e,r){const n=t(this.namespace+(void 0===r?":":r)+e);return n.log=this.log,n}function o(e){return e.toString().substring(2,e.toString().length-2).replace(/\.\*\?$/,"*")}return t.debug=t,t.default=t,t.coerce=function(e){return e instanceof Error?e.stack||e.message:e},t.disable=function(){const e=[...t.names.map(o),...t.skips.map(o).map((e=>"-"+e))].join(",");return t.enable(""),e},t.enable=function(e){let r;t.save(e),t.namespaces=e,t.names=[],t.skips=[];const n=("string"==typeof e?e:"").split(/[\s,]+/),o=n.length;for(r=0;r{t[r]=e[r]})),t.names=[],t.skips=[],t.formatters={},t.selectColor=function(e){let r=0;for(let t=0;t255||(n=e.charCodeAt(c++))>255||(o=e.charCodeAt(c++))>255)throw new TypeError("invalid character found");s+=i[(t=r<<16|n<<8|o)>>18&63]+i[t>>12&63]+i[t>>6&63]+i[63&t]}return a?s.slice(0,a-3)+"===".substring(a):s},d="function"==typeof btoa?function(e){return btoa(e)}:n?function(e){return Buffer.from(e,"binary").toString("base64")}:p,g=n?function(e){return Buffer.from(e).toString("base64")}:function(e){for(var t=[],r=0,n=e.length;r>>6)+u(128|63&t):u(224|t>>>12&15)+u(128|t>>>6&63)+u(128|63&t);var t=65536+1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320);return u(240|t>>>18&7)+u(128|t>>>12&63)+u(128|t>>>6&63)+u(128|63&t)},w=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,b=function(e){return e.replace(w,m)},C=n?function(e){return Buffer.from(e,"utf8").toString("base64")}:s?function(e){return g(s.encode(e))}:function(e){return d(b(e))},v=function(e,t){return void 0===t&&(t=!1),t?h(C(e)):C(e)},S=function(e){return v(e,!0)},A=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,k=function(e){switch(e.length){case 4:var t=((7&e.charCodeAt(0))<<18|(63&e.charCodeAt(1))<<12|(63&e.charCodeAt(2))<<6|63&e.charCodeAt(3))-65536;return u(55296+(t>>>10))+u(56320+(1023&t));case 3:return u((15&e.charCodeAt(0))<<12|(63&e.charCodeAt(1))<<6|63&e.charCodeAt(2));default:return u((31&e.charCodeAt(0))<<6|63&e.charCodeAt(1))}},P=function(e){return e.replace(A,k)},R=function(e){if(e=e.replace(/\s+/g,""),!c.test(e))throw new TypeError("malformed base64.");e+="==".slice(2-(3&e.length));for(var t,r,n,o="",s=0;s>16&255):64===n?u(t>>16&255,t>>8&255):u(t>>16&255,t>>8&255,255&t);return o},U="function"==typeof atob?function(e){return atob(f(e))}:n?function(e){return Buffer.from(e,"base64").toString("binary")}:R,E=n?function(e){return l(Buffer.from(e,"base64"))}:function(e){return l(U(e).split("").map((function(e){return e.charCodeAt(0)})))},_=function(e){return E(F(e))},x=n?function(e){return Buffer.from(e,"base64").toString("utf8")}:o?function(e){return o.decode(E(e))}:function(e){return P(U(e))},F=function(e){return f(e.replace(/[-_]/g,(function(e){return"-"==e?"+":"/"})))},T=function(e){return x(F(e))},I=function(e){return{value:e,enumerable:!1,writable:!0,configurable:!0}},K=function(){var e=function(e,t){return Object.defineProperty(String.prototype,e,I(t))};e("fromBase64",(function(){return T(this)})),e("toBase64",(function(e){return v(this,e)})),e("toBase64URI",(function(){return v(this,!0)})),e("toBase64URL",(function(){return v(this,!0)})),e("toUint8Array",(function(){return _(this)}))},j=function(){var e=function(e,t){return Object.defineProperty(Uint8Array.prototype,e,I(t))};e("toBase64",(function(e){return y(this,e)})),e("toBase64URI",(function(){return y(this,!0)})),e("toBase64URL",(function(){return y(this,!0)}))},O={version:t,VERSION:r,atob:U,atobPolyfill:R,btoa:d,btoaPolyfill:p,fromBase64:T,toBase64:v,encode:v,encodeURI:S,encodeURL:S,utob:b,btou:P,decode:T,isValid:function(e){if("string"!=typeof e)return!1;var t=e.replace(/\s+/g,"").replace(/={0,2}$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(t)||!/[^\s0-9a-zA-Z\-_]/.test(t)},fromUint8Array:y,toUint8Array:_,extendString:K,extendUint8Array:j,extendBuiltins:function(){K(),j()},Base64:{}};return Object.keys(O).forEach((function(e){return O.Base64[e]=O[e]})),O}()},585:e=>{var t=1e3,r=60*t,n=60*r,o=24*n,s=7*o;function i(e,t,r,n){var o=t>=1.5*r;return Math.round(e/r)+" "+n+(o?"s":"")}e.exports=function(e,a){a=a||{};var c,u,l=typeof e;if("string"===l&&e.length>0)return function(e){if(!((e=String(e)).length>100)){var i=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(i){var a=parseFloat(i[1]);switch((i[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*a;case"weeks":case"week":case"w":return a*s;case"days":case"day":case"d":return a*o;case"hours":case"hour":case"hrs":case"hr":case"h":return a*n;case"minutes":case"minute":case"mins":case"min":case"m":return a*r;case"seconds":case"second":case"secs":case"sec":case"s":return a*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return a;default:return}}}}(e);if("number"===l&&isFinite(e))return a.long?(c=e,(u=Math.abs(c))>=o?i(c,u,o,"day"):u>=n?i(c,u,n,"hour"):u>=r?i(c,u,r,"minute"):u>=t?i(c,u,t,"second"):c+" ms"):function(e){var s=Math.abs(e);return s>=o?Math.round(e/o)+"d":s>=n?Math.round(e/n)+"h":s>=r?Math.round(e/r)+"m":s>=t?Math.round(e/t)+"s":e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},525:(e,t,r)=>{"use strict";r.d(t,{default:()=>n}),r(358);const n=window.crypto},358:()=>{"use strict";var e,t;e="undefined"!=typeof self?self:void 0,t=function(e){if("function"!=typeof Promise)throw"Promise support required";var t=e.crypto||e.msCrypto;if(t){var r=t.subtle||t.webkitSubtle;if(r){var n=e.Crypto||t.constructor||Object,o=e.SubtleCrypto||r.constructor||Object,s=(e.CryptoKey||e.Key,e.navigator.userAgent.indexOf("Edge/")>-1),i=!!e.msCrypto&&!s,a=!t.subtle&&!!t.webkitSubtle;if(i||a){var c={KoZIhvcNAQEB:"1.2.840.113549.1.1.1"},u={"1.2.840.113549.1.1.1":"KoZIhvcNAQEB"};if(["generateKey","importKey","unwrapKey"].forEach((function(e){var n=r[e];r[e]=function(o,s,c){var u,l,b,A,k,P=[].slice.call(arguments);switch(e){case"generateKey":u=g(o),l=s,b=c;break;case"importKey":u=g(c),l=P[3],b=P[4],"jwk"===o&&((s=m(s)).alg||(s.alg=y(u)),s.key_ops||(s.key_ops="oct"!==s.kty?"d"in s?b.filter(S):b.filter(v):b.slice()),P[1]=(A=m(s),i&&(A.extractable=A.ext,delete A.ext),p(unescape(encodeURIComponent(JSON.stringify(A)))).buffer));break;case"unwrapKey":u=P[4],l=P[5],b=P[6],P[2]=c._key}if("generateKey"===e&&"HMAC"===u.name&&u.hash)return u.length=u.length||{"SHA-1":512,"SHA-256":512,"SHA-384":1024,"SHA-512":1024}[u.hash.name],r.importKey("raw",t.getRandomValues(new Uint8Array(u.length+7>>3)),u,l,b);if(a&&"generateKey"===e&&"RSASSA-PKCS1-v1_5"===u.name&&(!u.modulusLength||u.modulusLength>=2048))return(o=g(o)).name="RSAES-PKCS1-v1_5",delete o.hash,r.generateKey(o,!0,["encrypt","decrypt"]).then((function(e){return Promise.all([r.exportKey("jwk",e.publicKey),r.exportKey("jwk",e.privateKey)])})).then((function(e){return e[0].alg=e[1].alg=y(u),e[0].key_ops=b.filter(v),e[1].key_ops=b.filter(S),Promise.all([r.importKey("jwk",e[0],u,!0,e[0].key_ops),r.importKey("jwk",e[1],u,l,e[1].key_ops)])})).then((function(e){return{publicKey:e[0],privateKey:e[1]}}));if((a||i&&"SHA-1"===(u.hash||{}).name)&&"importKey"===e&&"jwk"===o&&"HMAC"===u.name&&"oct"===s.kty)return r.importKey("raw",p(f(s.k)),c,P[3],P[4]);if(a&&"importKey"===e&&("spki"===o||"pkcs8"===o))return r.importKey("jwk",function(e){var t=w(e),r=!1;t.length>2&&(r=!0,t.shift());var n={ext:!0};if("1.2.840.113549.1.1.1"!==t[0][0])throw new TypeError("Unsupported key type");var o=["n","e","d","p","q","dp","dq","qi"],s=w(t[1]);r&&s.shift();for(var i=0;i2&&(n=!0,s.unshift(new Uint8Array([0]))),r[0][0]="1.2.840.113549.1.1.1",t=s,r.push(new Uint8Array(b(t)).buffer),n?r.unshift(new Uint8Array([0])):r[1]={tag:3,value:r[1]},new Uint8Array(b(r)).buffer}(m(e)),e}))),c}})),["encrypt","decrypt","sign","verify"].forEach((function(e){var t=r[e];r[e]=function(n,o,s,a){if(i&&(!s.byteLength||a&&!a.byteLength))throw new Error("Empy input is not allowed");var c,u=[].slice.call(arguments),l=g(n);if(i&&"decrypt"===e&&"AES-GCM"===l.name){var h=n.tagLength>>3;u[2]=(s.buffer||s).slice(0,s.byteLength-h),n.tag=(s.buffer||s).slice(s.byteLength-h)}u[1]=o._key;try{c=t.apply(r,u)}catch(e){return Promise.reject(e)}return i&&(c=new Promise((function(t,r){c.onabort=c.onerror=function(e){r(e)},c.oncomplete=function(r){if(r=r.target.result,"encrypt"===e&&r instanceof AesGcmEncryptResult){var n=r.ciphertext,o=r.tag;(r=new Uint8Array(n.byteLength+o.byteLength)).set(new Uint8Array(n),0),r.set(new Uint8Array(o),n.byteLength),r=r.buffer}t(r)}}))),c}})),i){var l=r.digest;r.digest=function(e,t){if(!t.byteLength)throw new Error("Empy input is not allowed");var n;try{n=l.call(r,e,t)}catch(e){return Promise.reject(e)}return n=new Promise((function(e,t){n.onabort=n.onerror=function(e){t(e)},n.oncomplete=function(t){e(t.target.result)}}))},e.crypto=Object.create(t,{getRandomValues:{value:function(e){return t.getRandomValues(e)}},subtle:{value:r}}),e.CryptoKey=C}a&&(t.subtle=r,e.Crypto=n,e.SubtleCrypto=o,e.CryptoKey=C)}}}function h(e){return btoa(e).replace(/\=+$/,"").replace(/\+/g,"-").replace(/\//g,"_")}function f(e){return e=(e+="===").slice(0,-e.length%4),atob(e.replace(/-/g,"+").replace(/_/g,"/"))}function p(e){for(var t=new Uint8Array(e.length),r=0;re.length)throw new RangeError("Malformed DER");var r,n=e[t.pos++],o=e[t.pos++];if(o>=128){if(o&=127,t.end-t.pos=128){var a=n;for(n=4,t.splice(o,0,a>>24&255,a>>16&255,a>>8&255,255&a);n>1&&!(a>>24);)a<<=8,n--;n<4&&t.splice(o,4-n),n|=128}return t.splice(o-2,2,r,n),t}function C(e,t,r,n){Object.defineProperties(this,{_key:{value:e},type:{value:e.type,enumerable:!0},extractable:{value:void 0===r?e.extractable:r,enumerable:!0},algorithm:{value:void 0===t?e.algorithm:t,enumerable:!0},usages:{value:void 0===n?e.usages:n,enumerable:!0}})}function v(e){return"verify"===e||"encrypt"===e||"wrapKey"===e}function S(e){return"sign"===e||"decrypt"===e||"unwrapKey"===e}},"function"==typeof define&&define.amd?define([],(function(){return t(e)})):"object"==typeof module&&module.exports?module.exports=t(e):t(e)}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var s=t[n]={exports:{}};return e[n].call(s.exports,s,s.exports,r),s.exports}r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var n=r(952);window.FHIR=n})(); +(()=>{var e={804:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(116),o=r(725),s=r(170),{Response:i}=window,a=n.debug.extend("client");function c(e,t,r,o,s){let i=(0,n.makeArray)(t.resolveReferences).filter(Boolean).map((e=>String(e).trim())).filter(Boolean);if(i=i.filter(((e,t)=>!(i.indexOf(e,t+1)>-1&&(a('Duplicated reference path "%s"',e),1)))),!i.length)return Promise.resolve();const c={};i.forEach((e=>{const t=e.split(".").length;c[t]||(c[t]=[]),c[t].push(e)}));let u=Promise.resolve();return Object.keys(c).sort().forEach((i=>{const a=c[i];u=u.then((()=>Promise.all(a.map((i=>function(e,t,r,o,s,i){const a=(0,n.getPath)(e,t);if(a){const c=Array.isArray(a);return Promise.all((0,n.makeArray)(a).filter(Boolean).map(((a,u)=>{const l=a.reference;if(l)return function(e,t,r,n){if(!t[e]){const{signal:o,headers:s}=n;t[e]=r.request({url:e,headers:s,signal:o}).then((r=>(t[e]=r,r)),(r=>{throw delete t[e],r}))}return Promise.resolve(t[e])}(l,o,s,i).then((o=>{r&&(c?t.indexOf("..")>-1?(0,n.setPath)(e,`${t.replace("..",`.${u}.`)}`,o):(0,n.setPath)(e,`${t}.${u}`,o):(0,n.setPath)(e,t,o))})).catch((e=>{if(404!==e.status)throw e}))})))}}(e,i,!!t.graph,r,o,s))))))})),u}t.default=class{constructor(e,t){this.units=n.units;const r="string"==typeof t?{serverUrl:t}:t;(0,n.assert)(r.serverUrl&&r.serverUrl.match(/https?:\/\/.+/),'A "serverUrl" option is required and must begin with "http(s)"'),this.state=r,this.environment=e,this._refreshTask=null;const o=this;this.patient={get id(){return o.getPatientId()},read:e=>{const t=this.patient.id;return t?this.request({...e,url:`Patient/${t}`}):Promise.reject(new Error("Patient is not available"))},request:(e,t={})=>this.patient.id?(async()=>{const r=await async function(e,t){const r=(0,n.absolute)("/",t.state.serverUrl);async function o(e){const r=e.pathname.split("/").pop();(0,n.assert)(r,`Invalid url "${e}"`),(0,n.assert)(s.patientCompartment.indexOf(r)>-1,`Cannot filter "${r}" resources by patient`);const o=await(0,n.fetchConformanceStatement)(t.state.serverUrl),i=(0,n.getPatientParam)(o,r);return e.searchParams.set(i,t.patient.id),e.href}return"string"==typeof e||e instanceof URL?{url:await o(new URL(e+"",r))}:(e.url=await o(new URL(e.url+"",r)),e)}(e,this);return this.request(r,t)})():Promise.reject(new Error("Patient is not available"))},this.encounter={get id(){return o.getEncounterId()},read:e=>{const t=this.encounter.id;return t?this.request({...e,url:`Encounter/${t}`}):Promise.reject(new Error("Encounter is not available"))}},this.user={get fhirUser(){return o.getFhirUser()},get id(){return o.getUserId()},get resourceType(){return o.getUserType()},read:e=>{const t=this.user.fhirUser;return t?this.request({...e,url:t}):Promise.reject(new Error("User is not available"))}},this.connect(e.fhir)}connect(e){if("function"==typeof e){const t={baseUrl:this.state.serverUrl.replace(/\/$/,"")},r=this.getState("tokenResponse.access_token");if(r)t.auth={token:r};else{const{username:e,password:r}=this.state;e&&r&&(t.auth={user:e,pass:r})}this.api=e(t);const n=this.getState("tokenResponse.patient");n&&(this.patient.api=e({...t,patient:n}))}return this}getPatientId(){const e=this.state.tokenResponse;return e?e.patient?e.patient:((this.state.scope||"").match(/\blaunch(\/patient)?\b/)?a("The ID of the selected patient is not available. Please check if your server supports that."):a(o.default.noScopeForId,"patient","patient"),null):(this.state.authorizeUri?a(o.default.noIfNoAuth,"the ID of the selected patient"):a(o.default.noFreeContext,"selected patient"),null)}getEncounterId(){const e=this.state.tokenResponse;return e?e.encounter?e.encounter:((this.state.scope||"").match(/\blaunch(\/encounter)?\b/)?a("The ID of the selected encounter is not available. Please check if your server supports that, and that the selected patient has any recorded encounters."):a(o.default.noScopeForId,"encounter","encounter"),null):(this.state.authorizeUri?a(o.default.noIfNoAuth,"the ID of the selected encounter"):a(o.default.noFreeContext,"selected encounter"),null)}getIdToken(){const e=this.state.tokenResponse;if(e){const t=e.id_token,r=this.state.scope||"";if(!t){const e=r.match(/\bopenid\b/),t=r.match(/\bprofile\b/),n=r.match(/\bfhirUser\b/);return a(e&&(n||t)?"The id_token is not available. Please check if your server supports that.":"You are trying to get the id_token but you are not using the right scopes. Please add 'openid' and 'fhirUser' or 'profile' to the scopes you are requesting."),null}return(0,n.jwtDecode)(t,this.environment)}return this.state.authorizeUri?a(o.default.noIfNoAuth,"the id_token"):a(o.default.noFreeContext,"id_token"),null}getFhirUser(){const e=this.getIdToken();return e?e.fhirUser?e.fhirUser.split("/").slice(-2).join("/"):e.profile:null}getUserId(){const e=this.getFhirUser();return e?e.split("/")[1]:null}getUserType(){const e=this.getFhirUser();return e?e.split("/")[0]:null}getAuthorizationHeader(){const e=this.getState("tokenResponse.access_token");if(e)return"Bearer "+e;const{username:t,password:r}=this.state;return t&&r?"Basic "+this.environment.btoa(t+":"+r):null}async _clearState(){const e=this.environment.getStorage(),t=await e.get(s.SMART_KEY);t&&await e.unset(t),await e.unset(s.SMART_KEY),this.state.tokenResponse={}}create(e,t){return this.request({...t,url:`${e.resourceType}`,method:"POST",body:JSON.stringify(e),headers:{"content-type":"application/json",...(t||{}).headers}})}update(e,t){return this.request({...t,url:`${e.resourceType}/${e.id}`,method:"PUT",body:JSON.stringify(e),headers:{"content-type":"application/json",...(t||{}).headers}})}delete(e,t={}){return this.request({...t,url:e,method:"DELETE"})}async patch(e,t,r={}){return(0,n.assertJsonPatch)(t),this.request({...r,url:e,method:"PATCH",body:JSON.stringify(t),headers:{prefer:"return=presentation","content-type":"application/json-patch+json; charset=UTF-8",...r.headers}})}async request(e,t={},r={}){var s;const a=n.debug.extend("client:request");let u;(0,n.assert)(e,"request requires an url or request options as argument"),"string"==typeof e||e instanceof URL?(u=String(e),e={}):u=String(e.url),u=(0,n.absolute)(u,this.state.serverUrl);const l={graph:!1!==t.graph,flat:!!t.flat,pageLimit:null!==(s=t.pageLimit)&&void 0!==s?s:1,resolveReferences:t.resolveReferences||[],useRefreshToken:!1!==t.useRefreshToken,onPage:"function"==typeof t.onPage?t.onPage:void 0},h=e.signal||void 0;let f;return(l.useRefreshToken?this.refreshIfNeeded({signal:h}).then((()=>e)):Promise.resolve(e)).then((e=>{const t=this.getAuthorizationHeader();return t&&(e.headers={...e.headers,authorization:t}),e})).then((e=>(a("%s, options: %O, fhirOptions: %O",u,e,l),(0,n.request)(u,e).then((t=>e.includeResponse?(f=t.response,t.body):t))))).catch((async e=>{if(401==e.status){if(!this.getState("tokenResponse.access_token"))throw e.message+="\nThis app cannot be accessed directly. Please launch it as SMART app!",e;if(!l.useRefreshToken)throw a("Your session has expired and the useRefreshToken option is set to false. Please re-launch the app."),await this._clearState(),e.message+="\n"+o.default.expired,e;throw a("Auto-refresh failed! Please re-launch the app."),await this._clearState(),e.message+="\n"+o.default.expired,e}throw e})).catch((e=>{throw 403==e.status&&a("Permission denied! Please make sure that you have requested the proper scopes."),e})).then((t=>!t||"string"==typeof t||t instanceof i?e.includeResponse?{body:t,response:f}:t:(async t=>("Bundle"==t.resourceType?await Promise.all((t.entry||[]).map((t=>c(t.resource,l,r,this,e)))):await c(t,l,r,this,e),t))(t).then((async e=>{if(e&&"Bundle"==e.resourceType){const t=e.link||[];if(l.flat&&(e=(e.entry||[]).map((e=>e.resource))),l.onPage&&await l.onPage(e,{...r}),--l.pageLimit){const o=t.find((e=>"next"==e.relation));if(e=(0,n.makeArray)(e),o&&o.url){const t=await this.request({url:o.url,signal:h},l,r);return l.onPage?null:l.resolveReferences.length?(Object.assign(r,t.references),e.concat((0,n.makeArray)(t.data||t))):e.concat((0,n.makeArray)(t))}}}return e})).then((e=>{if(l.graph)r={};else if(!l.onPage&&l.resolveReferences.length)return{data:e,references:r};return e})).then((t=>e.includeResponse?{body:t,response:f}:t))))}refreshIfNeeded(e={}){const t=this.getState("tokenResponse.access_token"),r=this.getState("tokenResponse.refresh_token"),n=this.state.expiresAt||0;return t&&r&&n-10-1,u=a.search(/\bonline_access\b/)>-1;if((0,n.assert)(c||u,"Unable to refresh. No offline_access or online_access scope found."),!this._refreshTask){let t=`grant_type=refresh_token&refresh_token=${encodeURIComponent(s)}`;this.environment.options.refreshTokenWithClientId&&(t+=`&client_id=${this.state.clientId}`);const r={credentials:this.environment.options.refreshTokenWithCredentials||"same-origin",...e,method:"POST",mode:"cors",headers:{...e.headers||{},"content-type":"application/x-www-form-urlencoded"},body:t};if(!("authorization"in r.headers)){const{clientSecret:e,clientId:t}=this.state;e&&(r.headers.authorization="Basic "+this.environment.btoa(t+":"+e))}this._refreshTask=(0,n.request)(i,r).then((e=>((0,n.assert)(e.access_token,"No access token received"),o("Received new access token response %O",e),this.state.tokenResponse={...this.state.tokenResponse,...e},this.state.expiresAt=(0,n.getAccessTokenExpiration)(e,this.environment),this.state))).catch((e=>{var t,r;throw(null===(r=null===(t=this.state)||void 0===t?void 0:t.tokenResponse)||void 0===r?void 0:r.refresh_token)&&(o("Deleting the expired or invalid refresh token."),delete this.state.tokenResponse.refresh_token),e})).finally((()=>{this._refreshTask=null;const e=this.state.key;e?this.environment.getStorage().set(e,this.state):o("No 'key' found in Clint.state. Cannot persist the instance.")}))}return this._refreshTask}byCode(e,t){return(0,n.byCode)(e,t)}byCodes(e,t){return(0,n.byCodes)(e,t)}getPath(e,t=""){return(0,n.getPath)(e,t)}getState(e=""){return(0,n.getPath)({...this.state},e)}getFhirVersion(){return(0,n.fetchConformanceStatement)(this.state.serverUrl).then((e=>e.fhirVersion))}getFhirRelease(){return this.getFhirVersion().then((e=>{var t;return null!==(t=s.fhirVersions[e])&&void 0!==t?t:0}))}}},273:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});class r extends Error{constructor(e){super(`${e.status} ${e.statusText}\nURL: ${e.url}`),this.name="HttpError",this.response=e,this.statusCode=e.status,this.status=e.status,this.statusText=e.statusText}async parse(){if(!this.response.bodyUsed)try{const e=this.response.headers.get("content-type")||"text/plain";if(e.match(/\bjson\b/i)){let e=await this.response.json();e.error?(this.message+="\n"+e.error,e.error_description&&(this.message+=": "+e.error_description)):this.message+="\n\n"+JSON.stringify(e,null,4)}else if(e.match(/^text\//i)){let e=await this.response.text();e&&(this.message+="\n\n"+e)}}catch{}return this}toJSON(){return{name:this.name,statusCode:this.statusCode,status:this.status,statusText:this.statusText,message:this.message}}}t.default=r},901:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(922),o=r(804),s=r(188),i=r(662),a=r(127);t.default=class{constructor(e={}){this._url=null,this._storage=null,this.security=i,this.options={replaceBrowserHistory:!0,fullSessionStorageSupport:!0,refreshTokenWithCredentials:"same-origin",...e}}relative(e){return new URL(e,this.getUrl().href).href}get fhir(){return"function"==typeof fhir?fhir:null}getUrl(){return this._url||(this._url=new URL(location+"")),this._url}redirect(e){location.href=e}getStorage(){return this._storage||(this._storage=new s.default),this._storage}getAbortController(){return AbortController}atob(e){return window.atob(e)}btoa(e){return window.btoa(e)}base64urlencode(e){return"string"==typeof e?(0,a.encodeURL)(e):(0,a.fromUint8Array)(e,!0)}base64urldecode(e){return(0,a.decode)(e)}getSmartApi(){return{ready:(...e)=>(0,n.ready)(this,...e),authorize:e=>(0,n.authorize)(this,e),init:e=>(0,n.init)(this,e),client:e=>new o.default(this,e),options:this.options,utils:{security:i}}}}},952:(e,t,r)=>{"use strict";const n=new(r(901).default),{ready:o,authorize:s,init:i,client:a,options:c,utils:u}=n.getSmartApi(),l={AbortController:window.AbortController,client:a,utils:u,oauth2:{settings:c,ready:o,authorize:s,init:i}};e.exports=l},116:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.assertJsonPatch=t.assert=t.getTargetWindow=t.getPatientParam=t.byCodes=t.byCode=t.getAccessTokenExpiration=t.getTimeInFuture=t.jwtDecode=t.randomString=t.absolute=t.makeArray=t.setPath=t.getPath=t.fetchConformanceStatement=t.getAndCache=t.request=t.loweCaseKeys=t.responseToJSON=t.checkResponse=t.units=t.debug=void 0;const n=r(273),o=r(170),s=r(833),{fetch:i}=window,a=s("FHIR");t.debug=a;const c={};function u({value:e,code:t}){if("number"!=typeof e)throw new Error("Found a non-numerical unit: "+e+" "+t)}async function l(e){if(!e.ok){const t=new n.default(e);throw await t.parse(),t}return e}function h(e){return e.text().then((e=>e.length?JSON.parse(e):""))}function f(e){if(!e)return e;if(Array.isArray(e))return e.map((e=>e&&"object"==typeof e?f(e):e));let t={};return Object.keys(e).forEach((r=>{const n=r.toLowerCase(),o=e[r];t[n]=o&&"object"==typeof o?f(o):o})),t}function p(e,t={}){const{includeResponse:r,...n}=t;return i(e,{mode:"cors",...n,headers:{accept:"application/json",...f(n.headers)}}).then(l).then((e=>{const t=e.headers.get("content-type")+"";return t.match(/\bjson\b/i)?h(e).then((t=>({res:e,body:t}))):t.match(/^text\//i)?e.text().then((t=>({res:e,body:t}))):{res:e}})).then((({res:e,body:t})=>{if(!t&&201==e.status){const t=e.headers.get("location");if(t)return p(t,{...n,method:"GET",body:null,includeResponse:r})}return r?{body:t,response:e}:void 0===t?e:t}))}function d(e,t,r=!1){return r||!c[e]?(c[e]=p(e,t),c[e]):Promise.resolve(c[e])}function g(e,t=""){if(!(t=t.trim()))return e;let r=t.split("."),n=e;for(;n&&r.length;){const e=r.shift();if(!e&&Array.isArray(n))return n.map((e=>g(e,r.join("."))));n=n[e]}return n}function y(e){return Array.isArray(e)?e:[e]}function m(e,t){const r=e.split(".")[1];return r?JSON.parse(t.atob(r)):null}function w(e,t){const r={};function n(e,t){e&&Array.isArray(e.coding)&&e.coding.forEach((({code:e})=>{e&&(r[e]=r[e]||[],r[e].push(t))}))}return y(e).forEach((e=>{"Observation"===e.resourceType&&e[t]&&(Array.isArray(e[t])?e[t].forEach((t=>n(t,e))):n(e[t],e))})),r}function b(e,t){if(!e)throw new Error(t)}t.units={cm({code:e,value:t}){if(u({code:e,value:t}),"cm"==e)return t;if("m"==e)return 100*t;if("in"==e)return 2.54*t;if("[in_us]"==e)return 2.54*t;if("[in_i]"==e)return 2.54*t;if("ft"==e)return 30.48*t;if("[ft_us]"==e)return 30.48*t;throw new Error("Unrecognized length unit: "+e)},kg({code:e,value:t}){if(u({code:e,value:t}),"kg"==e)return t;if("g"==e)return t/1e3;if(e.match(/lb/))return t/2.20462;if(e.match(/oz/))return t/35.274;throw new Error("Unrecognized weight unit: "+e)},any:e=>(u(e),e.value)},t.checkResponse=l,t.responseToJSON=h,t.loweCaseKeys=f,t.request=p,t.getAndCache=d,t.fetchConformanceStatement=function(e="/",t){const r=String(e).replace(/\/*$/,"/")+"metadata";return d(r,t).catch((e=>{throw new Error(`Failed to fetch the conformance statement from "${r}". ${e}`)}))},t.getPath=g,t.setPath=function(e,t,r,n=!1){return t.trim().split(".").reduce(((e,t,o,s)=>{if(!e||o!==s.length-1)return e&&void 0===e[t]&&n&&(e[t]=s[o+1].match(/^[0-9]+$/)?[]:{}),e?e[t]:void 0;e[t]=r}),e),e},t.makeArray=y,t.absolute=function(e,t){return e.match(/^http/)||e.match(/^urn/)?e:String(t||"").replace(/\/+$/,"")+"/"+e.replace(/^\/+/,"")},t.randomString=function(e=8,t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"){const r=[],n=t.length;for(;e--;)r.push(t.charAt(Math.floor(Math.random()*n)));return r.join("")},t.jwtDecode=m,t.getTimeInFuture=function(e=120,t){return Math.floor(+(t||new Date)/1e3+e)},t.getAccessTokenExpiration=function(e,t){const r=Math.floor(Date.now()/1e3);if(e.expires_in)return r+e.expires_in;if(e.access_token){let r=m(e.access_token,t);if(r&&r.exp)return r.exp}return r+300},t.byCode=w,t.byCodes=function(e,t){const r=w(e,t);return(...e)=>e.filter((e=>e+""in r)).reduce(((e,t)=>e.concat(r[t+""])),[])},t.getPatientParam=function(e,t){const r=(g(e,"rest.0.resource")||[]).find((e=>e.type===t));if(!r)throw new Error(`Resource "${t}" is not supported by this FHIR server`);if(!Array.isArray(r.searchParam))throw new Error(`No search parameters supported for "${t}" on this FHIR server`);if("Patient"==t&&r.searchParam.find((e=>"_id"==e.name)))return"_id";const n=o.patientParams.find((e=>r.searchParam.find((t=>t.name==e))));if(!n)throw new Error("I don't know what param to use for "+t);return n},t.getTargetWindow=async function(e,t=800,r=720){if("function"==typeof e&&(e=await e()),e&&"object"==typeof e)return e;if("string"!=typeof e)return a("Invalid target type '%s'. Failing back to '_self'.",typeof e),self;if("_self"==e)return self;if("_parent"==e)return parent;if("_top"==e)return top||self;if("_blank"==e){let e,t=null;try{if(t=window.open("","SMARTAuthPopup"),!t)throw new Error("Perhaps window.open was blocked")}catch(t){e=t}return t||(a("Cannot open window. Failing back to '_self'. %s",e),self)}if("popup"==e){let e,n=null;try{if(n=window.open("","SMARTAuthPopup",["height="+r,"width="+t,"menubar=0","resizable=1","status=0","top="+(screen.height-r)/2,"left="+(screen.width-t)/2].join(",")),!n)throw new Error("Perhaps the popup window was blocked")}catch(t){e=t}return n||(a("Cannot open window. Failing back to '_self'. %s",e),self)}return frames[e]||(a("Unknown target '%s'. Failing back to '_self'.",e),self)},t.assert=b,t.assertJsonPatch=function(e){b(Array.isArray(e),"The JSON patch must be an array"),b(e.length>0,"The JSON patch array should not be empty"),e.forEach((e=>{b(["add","replace","test","move","copy","remove"].indexOf(e.op)>-1,'Each patch operation must have an "op" property which must be one of: "add", "replace", "test", "move", "copy", "remove"'),b(e.path&&typeof e.path,`Invalid "${e.op}" operation. Missing "path" property`),"add"==e.op||"replace"==e.op||"test"==e.op?(b("value"in e,`Invalid "${e.op}" operation. Missing "value" property`),b(3==Object.keys(e).length,`Invalid "${e.op}" operation. Contains unknown properties`)):"move"==e.op||"copy"==e.op?(b("string"==typeof e.from,`Invalid "${e.op}" operation. Requires a string "from" property`),b(3==Object.keys(e).length,`Invalid "${e.op}" operation. Contains unknown properties`)):b(2==Object.keys(e).length,`Invalid "${e.op}" operation. Contains unknown properties`)}))}},662:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.signCompactJws=t.importJWK=t.generatePKCEChallenge=t.digestSha256=t.randomBytes=void 0;const n=r(127),o="object"==typeof globalThis&&globalThis.crypto?globalThis.crypto:r(525).default,s=()=>{if(!o.subtle){if(!globalThis.isSecureContext)throw new Error("Some of the required subtle crypto functionality is not available unless you run this app in secure context (using HTTPS or running locally). See https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts");throw new Error("Some of the required subtle crypto functionality is not available in the current environment (no crypto.subtle)")}return o.subtle},i={ES384:{name:"ECDSA",namedCurve:"P-384"},RS384:{name:"RSASSA-PKCS1-v1_5",modulusLength:4096,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-384"}}};function a(e){return o.getRandomValues(new Uint8Array(e))}async function c(e){const t=(new TextEncoder).encode(e),r=await s().digest("SHA-256",t);return new Uint8Array(r)}t.randomBytes=a,t.digestSha256=c,t.generatePKCEChallenge=async(e=96)=>{const t=a(e),r=(0,n.fromUint8Array)(t,!0);return{codeChallenge:(0,n.fromUint8Array)(await c(r),!0),codeVerifier:r}},t.importJWK=async function(e){if(!e.alg)throw new Error('The "alg" property of the JWK must be set to "ES384" or "RS384"');if(Array.isArray(e.key_ops)||(e.key_ops=["sign"]),!e.key_ops.includes("sign"))throw new Error('The "key_ops" property of the JWK does not contain "sign"');try{return await s().importKey("jwk",e,i[e.alg],!0===e.ext,e.key_ops)}catch(t){throw new Error(`The ${e.alg} is not supported by this browser: ${t}`)}},t.signCompactJws=async function(e,t,r,o){const i=JSON.stringify({...r,alg:e}),a=JSON.stringify(o),c=`${(0,n.encodeURL)(i)}.${(0,n.encodeURL)(a)}`,u=await s().sign({...t.algorithm,hash:"SHA-384"},t,(new TextEncoder).encode(c));return`${c}.${(0,n.fromUint8Array)(new Uint8Array(u),!0)}`}},170:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.SMART_KEY=t.patientParams=t.fhirVersions=t.patientCompartment=void 0,t.patientCompartment=["Account","AdverseEvent","AllergyIntolerance","Appointment","AppointmentResponse","AuditEvent","Basic","BodySite","BodyStructure","CarePlan","CareTeam","ChargeItem","Claim","ClaimResponse","ClinicalImpression","Communication","CommunicationRequest","Composition","Condition","Consent","Coverage","CoverageEligibilityRequest","CoverageEligibilityResponse","DetectedIssue","DeviceRequest","DeviceUseRequest","DeviceUseStatement","DiagnosticOrder","DiagnosticReport","DocumentManifest","DocumentReference","EligibilityRequest","Encounter","EnrollmentRequest","EpisodeOfCare","ExplanationOfBenefit","FamilyMemberHistory","Flag","Goal","Group","ImagingManifest","ImagingObjectSelection","ImagingStudy","Immunization","ImmunizationEvaluation","ImmunizationRecommendation","Invoice","List","MeasureReport","Media","MedicationAdministration","MedicationDispense","MedicationOrder","MedicationRequest","MedicationStatement","MolecularSequence","NutritionOrder","Observation","Order","Patient","Person","Procedure","ProcedureRequest","Provenance","QuestionnaireResponse","ReferralRequest","RelatedPerson","RequestGroup","ResearchSubject","RiskAssessment","Schedule","ServiceRequest","Specimen","SupplyDelivery","SupplyRequest","VisionPrescription"],t.fhirVersions={"0.4.0":2,"0.5.0":2,"1.0.0":2,"1.0.1":2,"1.0.2":2,"1.1.0":3,"1.4.0":3,"1.6.0":3,"1.8.0":3,"3.0.0":3,"3.0.1":3,"3.3.0":4,"3.5.0":4,"4.0.0":4,"4.0.1":4},t.patientParams=["patient","subject","requester","member","actor","beneficiary"],t.SMART_KEY="SMART_KEY"},922:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.init=t.buildTokenRequest=t.ready=t.onMessage=t.isInPopUp=t.isInFrame=t.authorize=t.getSecurityExtensions=t.fetchWellKnownJson=t.KEY=void 0;const n=r(116),o=r(804),s=r(170);Object.defineProperty(t,"KEY",{enumerable:!0,get:function(){return s.SMART_KEY}});const i=n.debug.extend("oauth2");function a(){return"object"==typeof window}function c(e="/",t){const r=String(e).replace(/\/*$/,"/")+".well-known/smart-configuration";return(0,n.getAndCache)(r,t).catch((e=>{throw new Error(`Failed to fetch the well-known json "${r}". ${e.message}`)}))}function u(e="/"){return function(e="/"){return c(e,void 0).then((e=>{if(!e.authorization_endpoint||!e.token_endpoint)throw new Error("Invalid wellKnownJson");return{registrationUri:e.registration_endpoint||"",authorizeUri:e.authorization_endpoint,tokenUri:e.token_endpoint,codeChallengeMethods:e.code_challenge_methods_supported||[]}}))}(e).catch((()=>function(e="/",t){return(0,n.fetchConformanceStatement)(e,t).then((e=>{const t=((0,n.getPath)(e||{},"rest.0.security.extension")||[]).filter((e=>"http://fhir-registry.smarthealthit.org/StructureDefinition/oauth-uris"===e.url)).map((e=>e.extension))[0],r={registrationUri:"",authorizeUri:"",tokenUri:"",codeChallengeMethods:[]};return t&&t.forEach((e=>{"register"===e.url&&(r.registrationUri=e.valueUri),"authorize"===e.url&&(r.authorizeUri=e.valueUri),"token"===e.url&&(r.tokenUri=e.valueUri)})),r}))}(e)))}async function l(e,t={}){const r=e.getUrl();if(Array.isArray(t)){const o=r.searchParams.get("iss")||r.searchParams.get("fhirServiceUrl");if(!o)throw new Error('Passing in an "iss" url parameter is required if authorize uses multiple configurations');const s=t.find((e=>{if(e.issMatch){if("function"==typeof e.issMatch)return!!e.issMatch(o);if("string"==typeof e.issMatch)return e.issMatch===o;if(e.issMatch instanceof RegExp)return e.issMatch.test(o)}return!1}));return(0,n.assert)(s,`No configuration found matching the current "iss" parameter "${o}"`),await l(e,s)}const{clientSecret:o,fakeTokenResponse:c,encounterId:d,target:g,width:y,height:m,pkceMode:w,clientPublicKeySetUrl:b,redirect_uri:C,client_id:v}=t;let{iss:S,launch:A,patientId:k,fhirServiceUrl:P,redirectUri:R,noRedirect:U,scope:E="",clientId:_,completeInTarget:x,clientPrivateJwk:F,stateKey:T}=t;const I=e.getStorage();S=r.searchParams.get("iss")||S,P=r.searchParams.get("fhirServiceUrl")||P,A=r.searchParams.get("launch")||A,k=r.searchParams.get("patientId")||k,_=r.searchParams.get("clientId")||_,_||(_=v),R||(R=C),R?R.match(/^https?\:\/\//)||(R=e.relative(R)):R=e.relative(".");const K=String(S||P||"");if(!K)throw new Error("No server url found. It must be specified as `iss` or as `fhirServiceUrl` parameter");if(S&&i("Making %s launch...",A?"EHR":"standalone"),A&&!E.match(/launch/)&&(E+=" launch"),a()){const e=h(),t=f();(e||t)&&!0!==x&&!1!==x&&(x=e,console.warn('Your app is being authorized from within an iframe or popup window. Please be explicit and provide a "completeInTarget" option. Use "true" to complete the authorization in the same window, or "false" to try to complete it in the parent or the opener window. See http://docs.smarthealthit.org/client-js/api.html'))}const j=await I.get(s.SMART_KEY);await I.unset(j),T=null!=T?T:(0,n.randomString)(16);const O={clientId:_,scope:E,redirectUri:R,serverUrl:K,clientSecret:o,clientPrivateJwk:F,tokenResponse:{},key:T,completeInTarget:x,clientPublicKeySetUrl:b};(!a()||(0,n.getPath)(e,"options.fullSessionStorageSupport"))&&await I.set(s.SMART_KEY,T),c&&Object.assign(O.tokenResponse,c),k&&Object.assign(O.tokenResponse,{patient:k}),d&&Object.assign(O.tokenResponse,{encounter:d});let M=R+"?state="+encodeURIComponent(T);if(P&&!S)return i("Making fake launch..."),await I.set(T,O),U?M:await e.redirect(M);const q=await u(K);if(Object.assign(O,q),await I.set(T,O),!O.authorizeUri)return U?M:await e.redirect(M);const B=["response_type=code","client_id="+encodeURIComponent(_||""),"scope="+encodeURIComponent(E),"redirect_uri="+encodeURIComponent(R),"aud="+encodeURIComponent(K),"state="+encodeURIComponent(T)];if(A&&B.push("launch="+encodeURIComponent(A)),function(e,t){if("disabled"===t)return!1;if("unsafeV1"===t)return!0;if("required"===t){if(!e)throw new Error("Required PKCE code challenge method (`S256`) was not found in the server's codeChallengeMethods declaration.");return!0}return e}(q.codeChallengeMethods.includes("S256"),w)){let t=await e.security.generatePKCEChallenge();Object.assign(O,t),await I.set(T,O),B.push("code_challenge="+O.codeChallenge),B.push("code_challenge_method=S256")}if(M=O.authorizeUri+"?"+B.join("&"),U)return M;if(!g||!a())return await e.redirect(M);{let e;if(e=await(0,n.getTargetWindow)(g,y,m),e!==self)try{e.sessionStorage.removeItem(j),e.sessionStorage.setItem(T,JSON.stringify(O))}catch(t){(0,n.debug)('Failed to modify window.sessionStorage. Perhaps it is from different origin?. Failing back to "_self". %s',t),e=self}if(e!==self)try{e.location.href=M,self.addEventListener("message",p)}catch(e){(0,n.debug)('Failed to modify window.location. Perhaps it is from different origin?. Failing back to "_self". %s',e),self.location.href=M}else self.location.href=M}}function h(){try{return self!==top&&parent!==self}catch(e){return!0}}function f(){try{return self===top&&!!opener&&opener!==self&&!!window.name}catch(e){return!1}}function p(e){"completeAuth"==e.data.type&&e.origin===new URL(self.location.href).origin&&(window.removeEventListener("message",p),window.location.href=e.data.url)}async function d(e,t={}){var r,c;const u=e.getUrl(),l=e.getStorage(),p=u.searchParams;let d=p.get("state")||t.stateKey;const y=p.get("code")||t.code,m=p.get("error"),w=p.get("error_description");if(d||(d=await l.get(s.SMART_KEY)),m||w)throw new Error([m,w].filter(Boolean).join(": "));i("key: %s, code: %s",d,y),(0,n.assert)(d,"No 'state' parameter found. Please (re)launch the app.");let b=await l.get(d);const C=!a()||(0,n.getPath)(e,"options.fullSessionStorageSupport");if(a()&&b&&!b.completeInTarget){const e=h(),t=f();if((e||t)&&!u.searchParams.get("complete")){u.searchParams.set("complete","1");const{href:r,origin:n}=u;return e&&parent.postMessage({type:"completeAuth",url:r},n),t&&(opener.postMessage({type:"completeAuth",url:r},n),window.close()),new Promise((()=>{}))}}u.searchParams.delete("complete");const v=!(!p.has("state")&&!t.stateKey);if(a()&&(0,n.getPath)(e,"options.replaceBrowserHistory")&&(y||v)&&(y&&(p.delete("code"),i("Removed code parameter from the url.")),v&&C&&(p.delete("state"),i("Removed state parameter from the url.")),window.history.replaceState&&window.history.replaceState({},"",u.href)),(0,n.assert)(b,"No state found! Please (re)launch the app."),y&&!(null===(r=b.tokenResponse)||void 0===r?void 0:r.access_token)&&b.tokenUri){(0,n.assert)(y,"'code' url parameter is required"),i("Preparing to exchange the code for access token...");const r=await g(e,{code:y,state:b,clientPublicKeySetUrl:t.clientPublicKeySetUrl,privateKey:t.privateKey||b.clientPrivateJwk});i("Token request options: %O",r);const o=await(0,n.request)(b.tokenUri,r);i("Token response: %O",o),(0,n.assert)(o.access_token,"Failed to obtain access token."),b.expiresAt=(0,n.getAccessTokenExpiration)(o,e),b={...b,tokenResponse:o},await l.set(d,b),i("Authorization successful!")}else i((null===(c=b.tokenResponse)||void 0===c?void 0:c.access_token)?"Already authorized":"No authorization needed");C&&await l.set(s.SMART_KEY,d);const S=new o.default(e,b);return i("Created client instance: %O",S),S}async function g(e,{code:t,state:r,clientPublicKeySetUrl:o,privateKey:s}){const{redirectUri:a,clientSecret:c,tokenUri:u,clientId:l,codeVerifier:h}=r;(0,n.assert)(a,"Missing state.redirectUri"),(0,n.assert)(u,"Missing state.tokenUri"),(0,n.assert)(l,"Missing state.clientId");const f={method:"POST",headers:{"content-type":"application/x-www-form-urlencoded"},body:`code=${t}&grant_type=authorization_code&redirect_uri=${encodeURIComponent(a)}`};if(c)f.headers.authorization="Basic "+e.btoa(l+":"+c),i("Using state.clientSecret to construct the authorization header: %s",f.headers.authorization);else if(s){const t="key"in s?s.key:await e.security.importJWK(s),a={typ:"JWT",kid:s.kid,jku:o||r.clientPublicKeySetUrl},c={iss:l,sub:l,aud:u,jti:e.base64urlencode(e.security.randomBytes(32)),exp:(0,n.getTimeInFuture)(120)},h=await e.security.signCompactJws(s.alg,t,a,c);f.body+=`&client_assertion_type=${encodeURIComponent("urn:ietf:params:oauth:client-assertion-type:jwt-bearer")}`,f.body+=`&client_assertion=${encodeURIComponent(h)}`,i("Using state.clientPrivateJwk to add a client_assertion to the POST body")}else i("Public client detected; adding state.clientId to the POST body"),f.body+=`&client_id=${encodeURIComponent(l)}`;return h&&(i("Found state.codeVerifier, adding to the POST body"),f.body+="&code_verifier="+h),f}t.fetchWellKnownJson=c,t.getSecurityExtensions=u,t.authorize=l,t.isInFrame=h,t.isInPopUp=f,t.onMessage=p,t.ready=d,t.buildTokenRequest=g,t.init=async function(e,t,r){const n=e.getUrl(),i=n.searchParams.get("code"),a=n.searchParams.get("state");if(i&&a)return d(e,r);const c=e.getStorage(),u=a||await c.get(s.SMART_KEY),h=await c.get(u);return h?new o.default(e,h):l(e,t).then((()=>new Promise((()=>{}))))}},188:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{async get(e){const t=sessionStorage[e];return t?JSON.parse(t):null}async set(e,t){return sessionStorage[e]=JSON.stringify(t),t}async unset(e){return e in sessionStorage&&(delete sessionStorage[e],!0)}}},725:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={expired:"Session expired! Please re-launch the app",noScopeForId:"Trying to get the ID of the selected %s. Please add 'launch' or 'launch/%s' to the requested scopes and try again.",noIfNoAuth:"You are trying to get %s but the app is not authorized yet.",noFreeContext:"Please don't use open fhir servers if you need to access launch context items like the %S."}},833:(e,t,r)=>{t.formatArgs=function(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const r="color: "+this.color;t.splice(1,0,r,"color: inherit");let n=0,o=0;t[0].replace(/%[a-zA-Z%]/g,(e=>{"%%"!==e&&(n++,"%c"===e&&(o=n))})),t.splice(o,0,r)},t.save=function(e){try{e?t.storage.setItem("debug",e):t.storage.removeItem("debug")}catch(e){}},t.load=function(){let e;try{e=t.storage.getItem("debug")}catch(e){}return!e&&"undefined"!=typeof process&&"env"in process&&(e=process.env.DEBUG),e},t.useColors=function(){if("undefined"!=typeof window&&window.process&&("renderer"===window.process.type||window.process.__nwjs))return!0;if("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let e;return"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},t.storage=function(){try{return localStorage}catch(e){}}(),t.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.log=console.debug||console.log||(()=>{}),e.exports=r(736)(t);const{formatters:n}=e.exports;n.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}},736:(e,t,r)=>{e.exports=function(e){function t(e){let r,o,s,i=null;function a(...e){if(!a.enabled)return;const n=a,o=Number(new Date),s=o-(r||o);n.diff=s,n.prev=r,n.curr=o,r=o,e[0]=t.coerce(e[0]),"string"!=typeof e[0]&&e.unshift("%O");let i=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,((r,o)=>{if("%%"===r)return"%";i++;const s=t.formatters[o];if("function"==typeof s){const t=e[i];r=s.call(n,t),e.splice(i,1),i--}return r})),t.formatArgs.call(n,e),(n.log||t.log).apply(n,e)}return a.namespace=e,a.useColors=t.useColors(),a.color=t.selectColor(e),a.extend=n,a.destroy=t.destroy,Object.defineProperty(a,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==i?i:(o!==t.namespaces&&(o=t.namespaces,s=t.enabled(e)),s),set:e=>{i=e}}),"function"==typeof t.init&&t.init(a),a}function n(e,r){const n=t(this.namespace+(void 0===r?":":r)+e);return n.log=this.log,n}function o(e){return e.toString().substring(2,e.toString().length-2).replace(/\.\*\?$/,"*")}return t.debug=t,t.default=t,t.coerce=function(e){return e instanceof Error?e.stack||e.message:e},t.disable=function(){const e=[...t.names.map(o),...t.skips.map(o).map((e=>"-"+e))].join(",");return t.enable(""),e},t.enable=function(e){let r;t.save(e),t.namespaces=e,t.names=[],t.skips=[];const n=("string"==typeof e?e:"").split(/[\s,]+/),o=n.length;for(r=0;r{t[r]=e[r]})),t.names=[],t.skips=[],t.formatters={},t.selectColor=function(e){let r=0;for(let t=0;t255||(n=e.charCodeAt(c++))>255||(o=e.charCodeAt(c++))>255)throw new TypeError("invalid character found");s+=i[(t=r<<16|n<<8|o)>>18&63]+i[t>>12&63]+i[t>>6&63]+i[63&t]}return a?s.slice(0,a-3)+"===".substring(a):s},d="function"==typeof btoa?function(e){return btoa(e)}:n?function(e){return Buffer.from(e,"binary").toString("base64")}:p,g=n?function(e){return Buffer.from(e).toString("base64")}:function(e){for(var t=[],r=0,n=e.length;r>>6)+u(128|63&t):u(224|t>>>12&15)+u(128|t>>>6&63)+u(128|63&t);var t=65536+1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320);return u(240|t>>>18&7)+u(128|t>>>12&63)+u(128|t>>>6&63)+u(128|63&t)},w=/[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g,b=function(e){return e.replace(w,m)},C=n?function(e){return Buffer.from(e,"utf8").toString("base64")}:s?function(e){return g(s.encode(e))}:function(e){return d(b(e))},v=function(e,t){return void 0===t&&(t=!1),t?h(C(e)):C(e)},S=function(e){return v(e,!0)},A=/[\xC0-\xDF][\x80-\xBF]|[\xE0-\xEF][\x80-\xBF]{2}|[\xF0-\xF7][\x80-\xBF]{3}/g,k=function(e){switch(e.length){case 4:var t=((7&e.charCodeAt(0))<<18|(63&e.charCodeAt(1))<<12|(63&e.charCodeAt(2))<<6|63&e.charCodeAt(3))-65536;return u(55296+(t>>>10))+u(56320+(1023&t));case 3:return u((15&e.charCodeAt(0))<<12|(63&e.charCodeAt(1))<<6|63&e.charCodeAt(2));default:return u((31&e.charCodeAt(0))<<6|63&e.charCodeAt(1))}},P=function(e){return e.replace(A,k)},R=function(e){if(e=e.replace(/\s+/g,""),!c.test(e))throw new TypeError("malformed base64.");e+="==".slice(2-(3&e.length));for(var t,r,n,o="",s=0;s>16&255):64===n?u(t>>16&255,t>>8&255):u(t>>16&255,t>>8&255,255&t);return o},U="function"==typeof atob?function(e){return atob(f(e))}:n?function(e){return Buffer.from(e,"base64").toString("binary")}:R,E=n?function(e){return l(Buffer.from(e,"base64"))}:function(e){return l(U(e).split("").map((function(e){return e.charCodeAt(0)})))},_=function(e){return E(F(e))},x=n?function(e){return Buffer.from(e,"base64").toString("utf8")}:o?function(e){return o.decode(E(e))}:function(e){return P(U(e))},F=function(e){return f(e.replace(/[-_]/g,(function(e){return"-"==e?"+":"/"})))},T=function(e){return x(F(e))},I=function(e){return{value:e,enumerable:!1,writable:!0,configurable:!0}},K=function(){var e=function(e,t){return Object.defineProperty(String.prototype,e,I(t))};e("fromBase64",(function(){return T(this)})),e("toBase64",(function(e){return v(this,e)})),e("toBase64URI",(function(){return v(this,!0)})),e("toBase64URL",(function(){return v(this,!0)})),e("toUint8Array",(function(){return _(this)}))},j=function(){var e=function(e,t){return Object.defineProperty(Uint8Array.prototype,e,I(t))};e("toBase64",(function(e){return y(this,e)})),e("toBase64URI",(function(){return y(this,!0)})),e("toBase64URL",(function(){return y(this,!0)}))},O={version:t,VERSION:r,atob:U,atobPolyfill:R,btoa:d,btoaPolyfill:p,fromBase64:T,toBase64:v,encode:v,encodeURI:S,encodeURL:S,utob:b,btou:P,decode:T,isValid:function(e){if("string"!=typeof e)return!1;var t=e.replace(/\s+/g,"").replace(/={0,2}$/,"");return!/[^\s0-9a-zA-Z\+/]/.test(t)||!/[^\s0-9a-zA-Z\-_]/.test(t)},fromUint8Array:y,toUint8Array:_,extendString:K,extendUint8Array:j,extendBuiltins:function(){K(),j()},Base64:{}};return Object.keys(O).forEach((function(e){return O.Base64[e]=O[e]})),O}()},585:e=>{var t=1e3,r=60*t,n=60*r,o=24*n,s=7*o;function i(e,t,r,n){var o=t>=1.5*r;return Math.round(e/r)+" "+n+(o?"s":"")}e.exports=function(e,a){a=a||{};var c,u,l=typeof e;if("string"===l&&e.length>0)return function(e){if(!((e=String(e)).length>100)){var i=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(i){var a=parseFloat(i[1]);switch((i[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*a;case"weeks":case"week":case"w":return a*s;case"days":case"day":case"d":return a*o;case"hours":case"hour":case"hrs":case"hr":case"h":return a*n;case"minutes":case"minute":case"mins":case"min":case"m":return a*r;case"seconds":case"second":case"secs":case"sec":case"s":return a*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return a;default:return}}}}(e);if("number"===l&&isFinite(e))return a.long?(c=e,(u=Math.abs(c))>=o?i(c,u,o,"day"):u>=n?i(c,u,n,"hour"):u>=r?i(c,u,r,"minute"):u>=t?i(c,u,t,"second"):c+" ms"):function(e){var s=Math.abs(e);return s>=o?Math.round(e/o)+"d":s>=n?Math.round(e/n)+"h":s>=r?Math.round(e/r)+"m":s>=t?Math.round(e/t)+"s":e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},525:(e,t,r)=>{"use strict";r.d(t,{default:()=>n}),r(358);const n=window.crypto},358:()=>{"use strict";var e,t;e="undefined"!=typeof self?self:void 0,t=function(e){if("function"!=typeof Promise)throw"Promise support required";var t=e.crypto||e.msCrypto;if(t){var r=t.subtle||t.webkitSubtle;if(r){var n=e.Crypto||t.constructor||Object,o=e.SubtleCrypto||r.constructor||Object,s=(e.CryptoKey||e.Key,e.navigator.userAgent.indexOf("Edge/")>-1),i=!!e.msCrypto&&!s,a=!t.subtle&&!!t.webkitSubtle;if(i||a){var c={KoZIhvcNAQEB:"1.2.840.113549.1.1.1"},u={"1.2.840.113549.1.1.1":"KoZIhvcNAQEB"};if(["generateKey","importKey","unwrapKey"].forEach((function(e){var n=r[e];r[e]=function(o,s,c){var u,l,b,A,k,P=[].slice.call(arguments);switch(e){case"generateKey":u=g(o),l=s,b=c;break;case"importKey":u=g(c),l=P[3],b=P[4],"jwk"===o&&((s=m(s)).alg||(s.alg=y(u)),s.key_ops||(s.key_ops="oct"!==s.kty?"d"in s?b.filter(S):b.filter(v):b.slice()),P[1]=(A=m(s),i&&(A.extractable=A.ext,delete A.ext),p(unescape(encodeURIComponent(JSON.stringify(A)))).buffer));break;case"unwrapKey":u=P[4],l=P[5],b=P[6],P[2]=c._key}if("generateKey"===e&&"HMAC"===u.name&&u.hash)return u.length=u.length||{"SHA-1":512,"SHA-256":512,"SHA-384":1024,"SHA-512":1024}[u.hash.name],r.importKey("raw",t.getRandomValues(new Uint8Array(u.length+7>>3)),u,l,b);if(a&&"generateKey"===e&&"RSASSA-PKCS1-v1_5"===u.name&&(!u.modulusLength||u.modulusLength>=2048))return(o=g(o)).name="RSAES-PKCS1-v1_5",delete o.hash,r.generateKey(o,!0,["encrypt","decrypt"]).then((function(e){return Promise.all([r.exportKey("jwk",e.publicKey),r.exportKey("jwk",e.privateKey)])})).then((function(e){return e[0].alg=e[1].alg=y(u),e[0].key_ops=b.filter(v),e[1].key_ops=b.filter(S),Promise.all([r.importKey("jwk",e[0],u,!0,e[0].key_ops),r.importKey("jwk",e[1],u,l,e[1].key_ops)])})).then((function(e){return{publicKey:e[0],privateKey:e[1]}}));if((a||i&&"SHA-1"===(u.hash||{}).name)&&"importKey"===e&&"jwk"===o&&"HMAC"===u.name&&"oct"===s.kty)return r.importKey("raw",p(f(s.k)),c,P[3],P[4]);if(a&&"importKey"===e&&("spki"===o||"pkcs8"===o))return r.importKey("jwk",function(e){var t=w(e),r=!1;t.length>2&&(r=!0,t.shift());var n={ext:!0};if("1.2.840.113549.1.1.1"!==t[0][0])throw new TypeError("Unsupported key type");var o=["n","e","d","p","q","dp","dq","qi"],s=w(t[1]);r&&s.shift();for(var i=0;i2&&(n=!0,s.unshift(new Uint8Array([0]))),r[0][0]="1.2.840.113549.1.1.1",t=s,r.push(new Uint8Array(b(t)).buffer),n?r.unshift(new Uint8Array([0])):r[1]={tag:3,value:r[1]},new Uint8Array(b(r)).buffer}(m(e)),e}))),c}})),["encrypt","decrypt","sign","verify"].forEach((function(e){var t=r[e];r[e]=function(n,o,s,a){if(i&&(!s.byteLength||a&&!a.byteLength))throw new Error("Empy input is not allowed");var c,u=[].slice.call(arguments),l=g(n);if(i&&"decrypt"===e&&"AES-GCM"===l.name){var h=n.tagLength>>3;u[2]=(s.buffer||s).slice(0,s.byteLength-h),n.tag=(s.buffer||s).slice(s.byteLength-h)}u[1]=o._key;try{c=t.apply(r,u)}catch(e){return Promise.reject(e)}return i&&(c=new Promise((function(t,r){c.onabort=c.onerror=function(e){r(e)},c.oncomplete=function(r){if(r=r.target.result,"encrypt"===e&&r instanceof AesGcmEncryptResult){var n=r.ciphertext,o=r.tag;(r=new Uint8Array(n.byteLength+o.byteLength)).set(new Uint8Array(n),0),r.set(new Uint8Array(o),n.byteLength),r=r.buffer}t(r)}}))),c}})),i){var l=r.digest;r.digest=function(e,t){if(!t.byteLength)throw new Error("Empy input is not allowed");var n;try{n=l.call(r,e,t)}catch(e){return Promise.reject(e)}return n=new Promise((function(e,t){n.onabort=n.onerror=function(e){t(e)},n.oncomplete=function(t){e(t.target.result)}}))},e.crypto=Object.create(t,{getRandomValues:{value:function(e){return t.getRandomValues(e)}},subtle:{value:r}}),e.CryptoKey=C}a&&(t.subtle=r,e.Crypto=n,e.SubtleCrypto=o,e.CryptoKey=C)}}}function h(e){return btoa(e).replace(/\=+$/,"").replace(/\+/g,"-").replace(/\//g,"_")}function f(e){return e=(e+="===").slice(0,-e.length%4),atob(e.replace(/-/g,"+").replace(/_/g,"/"))}function p(e){for(var t=new Uint8Array(e.length),r=0;re.length)throw new RangeError("Malformed DER");var r,n=e[t.pos++],o=e[t.pos++];if(o>=128){if(o&=127,t.end-t.pos=128){var a=n;for(n=4,t.splice(o,0,a>>24&255,a>>16&255,a>>8&255,255&a);n>1&&!(a>>24);)a<<=8,n--;n<4&&t.splice(o,4-n),n|=128}return t.splice(o-2,2,r,n),t}function C(e,t,r,n){Object.defineProperties(this,{_key:{value:e},type:{value:e.type,enumerable:!0},extractable:{value:void 0===r?e.extractable:r,enumerable:!0},algorithm:{value:void 0===t?e.algorithm:t,enumerable:!0},usages:{value:void 0===n?e.usages:n,enumerable:!0}})}function v(e){return"verify"===e||"encrypt"===e||"wrapKey"===e}function S(e){return"sign"===e||"decrypt"===e||"unwrapKey"===e}},"function"==typeof define&&define.amd?define([],(function(){return t(e)})):"object"==typeof module&&module.exports?module.exports=t(e):t(e)}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var s=t[n]={exports:{}};return e[n].call(s.exports,s,s.exports,r),s.exports}r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var n=r(952);window.FHIR=n})(); //# sourceMappingURL=fhir-client.pure.min.js.map \ No newline at end of file diff --git a/dist/build/fhir-client.pure.min.js.map b/dist/build/fhir-client.pure.min.js.map index 262a34f1..143dd594 100644 --- a/dist/build/fhir-client.pure.min.js.map +++ b/dist/build/fhir-client.pure.min.js.map @@ -1 +1 @@ -{"version":3,"file":"fhir-client.pure.min.js","mappings":"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","sources":["webpack://FHIR/./src/Client.ts","webpack://FHIR/./src/HttpError.ts","webpack://FHIR/./src/adapters/BrowserAdapter.ts","webpack://FHIR/./src/entry/browser.ts","webpack://FHIR/./src/lib.ts","webpack://FHIR/./src/security/browser.ts","webpack://FHIR/./src/settings.ts","webpack://FHIR/./src/smart.ts","webpack://FHIR/./src/storage/BrowserStorage.ts","webpack://FHIR/./src/strings.ts","webpack://FHIR/./node_modules/debug/src/browser.js","webpack://FHIR/./node_modules/debug/src/common.js","webpack://FHIR/./node_modules/js-base64/base64.js","webpack://FHIR/./node_modules/ms/index.js","webpack://FHIR/./node_modules/isomorphic-webcrypto/src/browser.mjs","webpack://FHIR/./node_modules/isomorphic-webcrypto/src/webcrypto-shim.mjs","webpack://FHIR/webpack/bootstrap","webpack://FHIR/webpack/runtime/define property getters","webpack://FHIR/webpack/runtime/global","webpack://FHIR/webpack/runtime/hasOwnProperty shorthand","webpack://FHIR/webpack/startup"],"sourcesContent":["import {\n absolute,\n debug as _debug,\n getPath,\n setPath,\n jwtDecode,\n makeArray,\n request,\n byCode,\n byCodes,\n units,\n getPatientParam,\n fetchConformanceStatement,\n getAccessTokenExpiration,\n assertJsonPatch,\n assert\n} from \"./lib\";\n\nimport str from \"./strings\";\nimport { SMART_KEY, patientCompartment, fhirVersions } from \"./settings\";\nimport HttpError from \"./HttpError\";\nimport BrowserAdapter from \"./adapters/BrowserAdapter\";\nimport { fhirclient } from \"./types\";\n\n// $lab:coverage:off$\n// @ts-ignore\nconst { Response } = typeof FHIRCLIENT_PURE !== \"undefined\" ? window : require(\"cross-fetch\");\n// $lab:coverage:on$\n\nconst debug = _debug.extend(\"client\");\n\n/**\n * Adds patient context to requestOptions object to be used with [[Client.request]]\n * @param requestOptions Can be a string URL (relative to the serviceUrl), or an\n * object which will be passed to fetch()\n * @param client Current FHIR client object containing patient context\n * @return requestOptions object contextualized to current patient\n */\nasync function contextualize(\n requestOptions: string | URL | fhirclient.RequestOptions,\n client: Client\n): Promise\n{\n const base = absolute(\"/\", client.state.serverUrl);\n\n async function contextualURL(_url: URL) {\n const resourceType = _url.pathname.split(\"/\").pop();\n assert(resourceType, `Invalid url \"${_url}\"`);\n assert(patientCompartment.indexOf(resourceType) > -1, `Cannot filter \"${resourceType}\" resources by patient`);\n const conformance = await fetchConformanceStatement(client.state.serverUrl);\n const searchParam = getPatientParam(conformance, resourceType);\n _url.searchParams.set(searchParam, client.patient.id as string);\n return _url.href;\n }\n\n if (typeof requestOptions == \"string\" || requestOptions instanceof URL) {\n return { url: await contextualURL(new URL(requestOptions + \"\", base)) };\n }\n\n requestOptions.url = await contextualURL(new URL(requestOptions.url + \"\", base));\n return requestOptions;\n}\n\n/**\n * Gets single reference by id. Caches the result.\n * @param refId\n * @param cache A map to store the resolved refs\n * @param client The client instance\n * @param requestOptions Only signal and headers are currently used if provided\n * @returns The resolved reference\n * @private\n */\nfunction getRef(\n refId: string,\n cache: Record,\n client: Client,\n requestOptions: RequestInit\n): Promise {\n if (!cache[refId]) {\n\n const { signal, headers } = requestOptions;\n\n // Note that we set cache[refId] immediately! When the promise is\n // settled it will be updated. This is to avoid a ref being fetched\n // twice because some of these requests are executed in parallel.\n cache[refId] = client.request({\n url: refId,\n headers,\n signal\n }).then(res => {\n cache[refId] = res;\n return res;\n }, (error: Error) => {\n delete cache[refId];\n throw error;\n });\n }\n\n return Promise.resolve(cache[refId]);\n}\n\n/**\n * Resolves a reference in the given resource.\n * @param obj FHIR Resource\n */\nfunction resolveRef(\n obj: fhirclient.FHIR.Resource,\n path: string,\n graph: boolean,\n cache: fhirclient.JsonObject,\n client: Client,\n requestOptions: fhirclient.RequestOptions\n) {\n const node = getPath(obj, path);\n if (node) {\n const isArray = Array.isArray(node);\n return Promise.all(makeArray(node).filter(Boolean).map((item, i) => {\n const ref = item.reference;\n if (ref) {\n return getRef(ref, cache, client, requestOptions).then(sub => {\n if (graph) {\n if (isArray) {\n if (path.indexOf(\"..\") > -1) {\n setPath(obj, `${path.replace(\"..\", `.${i}.`)}`, sub); \n } else {\n setPath(obj, `${path}.${i}`, sub);\n }\n } else {\n setPath(obj, path, sub);\n }\n }\n }).catch((ex) => {\n /* ignore missing references */\n if (ex.status !== 404) {\n throw ex;\n }\n });\n }\n }));\n }\n}\n\n/**\n * Given a resource and a list of ref paths - resolves them all\n * @param obj FHIR Resource\n * @param fhirOptions The fhir options of the initiating request call\n * @param cache A map to store fetched refs\n * @param client The client instance\n * @private\n */\nfunction resolveRefs(\n obj: fhirclient.FHIR.Resource,\n fhirOptions: fhirclient.FhirOptions,\n cache: fhirclient.JsonObject,\n client: Client,\n requestOptions: fhirclient.RequestOptions\n) {\n\n // 1. Sanitize paths, remove any invalid ones\n let paths = makeArray(fhirOptions.resolveReferences)\n .filter(Boolean) // No false, 0, null, undefined or \"\"\n .map(path => String(path).trim())\n .filter(Boolean); // No space-only strings\n\n // 2. Remove duplicates\n paths = paths.filter((p, i) => {\n const index = paths.indexOf(p, i + 1);\n if (index > -1) {\n debug(\"Duplicated reference path \\\"%s\\\"\", p);\n return false;\n }\n return true;\n });\n\n // 3. Early exit if no valid paths are found\n if (!paths.length) {\n return Promise.resolve();\n }\n\n // 4. Group the paths by depth so that child refs are looked up\n // after their parents!\n const groups: Record = {};\n paths.forEach(path => {\n const len = path.split(\".\").length;\n if (!groups[len]) {\n groups[len] = [];\n }\n groups[len].push(path);\n });\n\n // 5. Execute groups sequentially! Paths within same group are\n // fetched in parallel!\n let task: Promise = Promise.resolve();\n Object.keys(groups).sort().forEach(len => {\n const group = groups[len];\n task = task.then(() => Promise.all(group.map((path: string) => {\n return resolveRef(obj, path, !!fhirOptions.graph, cache, client, requestOptions);\n })));\n });\n return task;\n}\n\n/**\n * This is a FHIR client that is returned to you from the `ready()` call of the\n * **SMART API**. You can also create it yourself if needed:\n *\n * ```js\n * // BROWSER\n * const client = FHIR.client(\"https://r4.smarthealthit.org\");\n *\n * // SERVER\n * const client = smart(req, res).client(\"https://r4.smarthealthit.org\");\n * ```\n */\nexport default class Client\n{\n /**\n * The state of the client instance is an object with various properties.\n * It contains some details about how the client has been authorized and\n * determines the behavior of the client instance. This state is persisted\n * in `SessionStorage` in browsers or in request session on the servers.\n */\n readonly state: fhirclient.ClientState;\n\n /**\n * The adapter to use to connect to the current environment. Currently we have:\n * - BrowserAdapter - for browsers\n * - NodeAdapter - for Express or vanilla NodeJS servers\n * - HapiAdapter - for HAPI NodeJS servers\n */\n readonly environment: fhirclient.Adapter;\n\n /**\n * A SMART app is typically associated with a patient. This is a namespace\n * for the patient-related functionality of the client.\n */\n readonly patient: {\n\n /**\n * The ID of the current patient or `null` if there is no current patient\n */\n id: string | null\n\n /**\n * A method to fetch the current patient resource from the FHIR server.\n * If there is no patient context, it will reject with an error.\n * @param {fhirclient.FetchOptions} [requestOptions] Any options to pass to the `fetch` call.\n * @category Request\n */\n read: fhirclient.RequestFunction\n \n /**\n * This is similar to [[request]] but it makes requests in the\n * context of the current patient. For example, instead of doing\n * ```js\n * client.request(\"Observation?patient=\" + client.patient.id)\n * ```\n * you can do\n * ```js\n * client.patient.request(\"Observation\")\n * ```\n * The return type depends on the arguments. Typically it will be the\n * response payload JSON object. Can also be a string or the `Response`\n * object itself if we have received a non-json result, which allows us\n * to handle even binary responses. Can also be a [[CombinedFetchResult]]\n * object if the `requestOptions.includeResponse`s has been set to true.\n * @category Request\n */\n request: (\n requestOptions: string|URL|fhirclient.RequestOptions,\n fhirOptions?: fhirclient.FhirOptions\n ) => Promise\n\n /**\n * This is the FhirJS Patient API. It will ONLY exist if the `Client`\n * instance is \"connected\" to FhirJS.\n */\n api?: Record\n };\n\n /**\n * The client may be associated with a specific encounter, if the scopes\n * permit that and if the back-end server supports that. This is a namespace\n * for encounter-related functionality.\n */\n readonly encounter: {\n\n /**\n * The ID of the current encounter or `null` if there is no current\n * encounter\n */\n id: string | null\n\n /**\n * A method to fetch the current encounter resource from the FHIR server.\n * If there is no encounter context, it will reject with an error.\n * @param [requestOptions] Any options to pass to the `fetch` call.\n * @category Request\n */\n read: fhirclient.RequestFunction\n };\n\n /**\n * The client may be associated with a specific user, if the scopes\n * permit that. This is a namespace for user-related functionality.\n */\n readonly user: {\n\n /**\n * The ID of the current user or `null` if there is no current user\n */\n id: string | null\n\n /**\n * A method to fetch the current user resource from the FHIR server.\n * If there is no user context, it will reject with an error.\n * @param [requestOptions] Any options to pass to the `fetch` call.\n * @category Request\n */\n read: fhirclient.RequestFunction<\n fhirclient.FHIR.Patient |\n fhirclient.FHIR.Practitioner |\n fhirclient.FHIR.RelatedPerson\n >\n\n /**\n * Returns the profile of the logged_in user (if any), or null if the\n * user is not available. This is a string having the shape\n * `{user type}/{user id}`. For example `Practitioner/abc` or\n * `Patient/xyz`.\n * @alias client.getFhirUser()\n */\n fhirUser: string | null\n\n /**\n * Returns the type of the logged-in user or null. The result can be\n * `Practitioner`, `Patient` or `RelatedPerson`.\n * @alias client.getUserType()\n */\n resourceType: string | null\n };\n\n /**\n * The [FhirJS](https://github.com/FHIR/fhir.js/blob/master/README.md) API.\n * **NOTE:** This will only be available if `fhir.js` is used. Otherwise it\n * will be `undefined`.\n */\n api: Record | undefined;\n\n /**\n * Refers to the refresh task while it is being performed.\n * @see [[refresh]]\n */\n private _refreshTask: Promise | null;\n\n /**\n * Validates the parameters, creates an instance and tries to connect it to\n * FhirJS, if one is available globally.\n */\n constructor(environment: fhirclient.Adapter, state: fhirclient.ClientState | string)\n {\n const _state = typeof state == \"string\" ? { serverUrl: state } : state;\n\n // Valid serverUrl is required!\n assert(\n _state.serverUrl && _state.serverUrl.match(/https?:\\/\\/.+/),\n \"A \\\"serverUrl\\\" option is required and must begin with \\\"http(s)\\\"\"\n );\n\n this.state = _state;\n this.environment = environment;\n this._refreshTask = null;\n\n const client = this;\n\n // patient api ---------------------------------------------------------\n this.patient = {\n get id() { return client.getPatientId(); },\n read: (requestOptions) => {\n const id = this.patient.id;\n return id ?\n this.request({ ...requestOptions, url: `Patient/${id}` }) :\n Promise.reject(new Error(\"Patient is not available\"));\n },\n request: (requestOptions, fhirOptions = {}) => {\n if (this.patient.id) {\n return (async () => {\n const options = await contextualize(requestOptions, this);\n return this.request(options, fhirOptions);\n })();\n } else {\n return Promise.reject(new Error(\"Patient is not available\"));\n }\n }\n };\n\n // encounter api -------------------------------------------------------\n this.encounter = {\n get id() { return client.getEncounterId(); },\n read: requestOptions => {\n const id = this.encounter.id;\n return id ?\n this.request({ ...requestOptions, url: `Encounter/${id}` }) :\n Promise.reject(new Error(\"Encounter is not available\"));\n }\n };\n\n // user api ------------------------------------------------------------\n this.user = {\n get fhirUser() { return client.getFhirUser(); },\n get id() { return client.getUserId(); },\n get resourceType() { return client.getUserType(); },\n read: requestOptions => {\n const fhirUser = this.user.fhirUser;\n return fhirUser ?\n this.request({ ...requestOptions, url: fhirUser }) :\n Promise.reject(new Error(\"User is not available\"));\n }\n };\n\n // fhir.js api (attached automatically in browser)\n // ---------------------------------------------------------------------\n this.connect((environment as BrowserAdapter).fhir);\n }\n\n /**\n * This method is used to make the \"link\" between the `fhirclient` and the\n * `fhir.js`, if one is available.\n * **Note:** This is called by the constructor. If fhir.js is available in\n * the global scope as `fhir`, it will automatically be linked to any [[Client]]\n * instance. You should only use this method to connect to `fhir.js` which\n * is not global.\n */\n connect(fhirJs?: (options: Record) => Record): Client\n {\n if (typeof fhirJs == \"function\") {\n const options: Record = {\n baseUrl: this.state.serverUrl.replace(/\\/$/, \"\")\n };\n\n const accessToken = this.getState(\"tokenResponse.access_token\");\n if (accessToken) {\n options.auth = { token: accessToken };\n }\n else {\n const { username, password } = this.state;\n if (username && password) {\n options.auth = {\n user: username,\n pass: password\n };\n }\n }\n this.api = fhirJs(options);\n\n const patientId = this.getState(\"tokenResponse.patient\");\n if (patientId) {\n this.patient.api = fhirJs({\n ...options,\n patient: patientId\n });\n }\n }\n return this;\n }\n\n /**\n * Returns the ID of the selected patient or null. You should have requested\n * \"launch/patient\" scope. Otherwise this will return null.\n */\n getPatientId(): string | null\n {\n const tokenResponse = this.state.tokenResponse;\n if (tokenResponse) {\n // We have been authorized against this server but we don't know\n // the patient. This should be a scope issue.\n if (!tokenResponse.patient) {\n if (!(this.state.scope || \"\").match(/\\blaunch(\\/patient)?\\b/)) {\n debug(str.noScopeForId, \"patient\", \"patient\");\n }\n else {\n // The server should have returned the patient!\n debug(\"The ID of the selected patient is not available. Please check if your server supports that.\");\n }\n return null;\n }\n return tokenResponse.patient;\n }\n\n if (this.state.authorizeUri) {\n debug(str.noIfNoAuth, \"the ID of the selected patient\");\n }\n else {\n debug(str.noFreeContext, \"selected patient\");\n }\n return null;\n }\n\n /**\n * Returns the ID of the selected encounter or null. You should have\n * requested \"launch/encounter\" scope. Otherwise this will return null.\n * Note that not all servers support the \"launch/encounter\" scope so this\n * will be null if they don't.\n */\n getEncounterId(): string | null\n {\n const tokenResponse = this.state.tokenResponse;\n if (tokenResponse) {\n // We have been authorized against this server but we don't know\n // the encounter. This should be a scope issue.\n if (!tokenResponse.encounter) {\n if (!(this.state.scope || \"\").match(/\\blaunch(\\/encounter)?\\b/)) {\n debug(str.noScopeForId, \"encounter\", \"encounter\");\n }\n else {\n // The server should have returned the encounter!\n debug(\"The ID of the selected encounter is not available. Please check if your server supports that, and that the selected patient has any recorded encounters.\");\n }\n return null;\n }\n return tokenResponse.encounter;\n }\n\n if (this.state.authorizeUri) {\n debug(str.noIfNoAuth, \"the ID of the selected encounter\");\n }\n else {\n debug(str.noFreeContext, \"selected encounter\");\n }\n return null;\n }\n\n /**\n * Returns the (decoded) id_token if any. You need to request \"openid\" and\n * \"profile\" scopes if you need to receive an id_token (if you need to know\n * who the logged-in user is).\n */\n getIdToken(): fhirclient.IDToken | null\n {\n const tokenResponse = this.state.tokenResponse;\n if (tokenResponse) {\n const idToken = tokenResponse.id_token;\n const scope = this.state.scope || \"\";\n\n // We have been authorized against this server but we don't have\n // the id_token. This should be a scope issue.\n if (!idToken) {\n const hasOpenid = scope.match(/\\bopenid\\b/);\n const hasProfile = scope.match(/\\bprofile\\b/);\n const hasFhirUser = scope.match(/\\bfhirUser\\b/);\n if (!hasOpenid || !(hasFhirUser || hasProfile)) {\n debug(\n \"You are trying to get the id_token but you are not \" +\n \"using the right scopes. Please add 'openid' and \" +\n \"'fhirUser' or 'profile' to the scopes you are \" +\n \"requesting.\"\n );\n }\n else {\n // The server should have returned the id_token!\n debug(\"The id_token is not available. Please check if your server supports that.\");\n }\n return null;\n }\n return jwtDecode(idToken, this.environment) as fhirclient.IDToken;\n }\n if (this.state.authorizeUri) {\n debug(str.noIfNoAuth, \"the id_token\");\n }\n else {\n debug(str.noFreeContext, \"id_token\");\n }\n return null;\n }\n\n /**\n * Returns the profile of the logged_in user (if any). This is a string\n * having the following shape `\"{user type}/{user id}\"`. For example:\n * `\"Practitioner/abc\"` or `\"Patient/xyz\"`.\n */\n getFhirUser(): string | null\n {\n const idToken = this.getIdToken();\n if (idToken) {\n // Epic may return a full url\n // @see https://github.com/smart-on-fhir/client-js/issues/105\n if (idToken.fhirUser) {\n return idToken.fhirUser.split(\"/\").slice(-2).join(\"/\");\n }\n return idToken.profile\n }\n return null;\n }\n\n /**\n * Returns the user ID or null.\n */\n getUserId(): string | null\n {\n const profile = this.getFhirUser();\n if (profile) {\n return profile.split(\"/\")[1];\n }\n return null;\n }\n\n /**\n * Returns the type of the logged-in user or null. The result can be\n * \"Practitioner\", \"Patient\" or \"RelatedPerson\".\n */\n getUserType(): string | null\n {\n const profile = this.getFhirUser();\n if (profile) {\n return profile.split(\"/\")[0];\n }\n return null;\n }\n\n /**\n * Builds and returns the value of the `Authorization` header that can be\n * sent to the FHIR server\n */\n getAuthorizationHeader(): string | null\n {\n const accessToken = this.getState(\"tokenResponse.access_token\");\n if (accessToken) {\n return \"Bearer \" + accessToken;\n }\n const { username, password } = this.state;\n if (username && password) {\n return \"Basic \" + this.environment.btoa(username + \":\" + password);\n }\n return null;\n }\n\n /**\n * Used internally to clear the state of the instance and the state in the\n * associated storage.\n */\n private async _clearState() {\n const storage = this.environment.getStorage();\n const key = await storage.get(SMART_KEY);\n if (key) {\n await storage.unset(key);\n }\n await storage.unset(SMART_KEY);\n this.state.tokenResponse = {};\n }\n\n /**\n * Creates a new resource in a server-assigned location\n * @see http://hl7.org/fhir/http.html#create\n * @param resource A FHIR resource to be created\n * @param [requestOptions] Any options to be passed to the fetch call.\n * Note that `method` and `body` will be ignored.\n * @category Request\n */\n create(\n resource: fhirclient.FHIR.Resource,\n requestOptions?: O\n ): Promise : R>\n {\n return this.request({\n ...requestOptions,\n url: `${resource.resourceType}`,\n method: \"POST\",\n body: JSON.stringify(resource),\n headers: {\n // TODO: Do we need to alternate with \"application/json+fhir\"?\n \"content-type\": \"application/json\",\n ...(requestOptions || {}).headers\n }\n });\n }\n\n /**\n * Creates a new current version for an existing resource or creates an\n * initial version if no resource already exists for the given id.\n * @see http://hl7.org/fhir/http.html#update\n * @param resource A FHIR resource to be updated\n * @param requestOptions Any options to be passed to the fetch call.\n * Note that `method` and `body` will be ignored.\n * @category Request\n */\n update(\n resource: fhirclient.FHIR.Resource,\n requestOptions?: O\n ): Promise : R>\n {\n return this.request({\n ...requestOptions,\n url: `${resource.resourceType}/${resource.id}`,\n method: \"PUT\",\n body: JSON.stringify(resource),\n headers: {\n // TODO: Do we need to alternate with \"application/json+fhir\"?\n \"content-type\": \"application/json\",\n ...(requestOptions || {}).headers\n }\n });\n }\n\n /**\n * Removes an existing resource.\n * @see http://hl7.org/fhir/http.html#delete\n * @param url Relative URI of the FHIR resource to be deleted\n * (format: `resourceType/id`)\n * @param requestOptions Any options (except `method` which will be fixed\n * to `DELETE`) to be passed to the fetch call.\n * @category Request\n */\n delete(url: string, requestOptions: fhirclient.FetchOptions = {}): Promise\n {\n return this.request({\n ...requestOptions,\n url,\n method: \"DELETE\"\n });\n }\n\n /**\n * Makes a JSON Patch to the given resource\n * @see http://hl7.org/fhir/http.html#patch\n * @param url Relative URI of the FHIR resource to be patched\n * (format: `resourceType/id`)\n * @param patch A JSON Patch array to send to the server, For details\n * see https://datatracker.ietf.org/doc/html/rfc6902\n * @param requestOptions Any options to be passed to the fetch call,\n * except for `method`, `url` and `body` which cannot be overridden.\n * @since 2.4.0\n * @category Request\n * @typeParam ResolveType This method would typically resolve with the\n * patched resource or reject with an OperationOutcome. However, this may\n * depend on the server implementation or even on the request headers.\n * For that reason, if the default resolve type (which is\n * [[fhirclient.FHIR.Resource]]) does not work for you, you can pass\n * in your own resolve type parameter.\n */\n async patch(url: string, patch: fhirclient.JsonPatch, requestOptions: fhirclient.FetchOptions = {}): Promise\n {\n assertJsonPatch(patch);\n return this.request({\n ...requestOptions,\n url,\n method: \"PATCH\",\n body: JSON.stringify(patch),\n headers: {\n \"prefer\": \"return=presentation\",\n \"content-type\": \"application/json-patch+json; charset=UTF-8\",\n ...requestOptions.headers,\n }\n });\n }\n\n /**\n * @param requestOptions Can be a string URL (relative to the serviceUrl),\n * or an object which will be passed to fetch()\n * @param fhirOptions Additional options to control the behavior\n * @param _resolvedRefs DO NOT USE! Used internally.\n * @category Request\n */\n async request(\n requestOptions: string|URL|fhirclient.RequestOptions,\n fhirOptions: fhirclient.FhirOptions = {},\n _resolvedRefs: fhirclient.JsonObject = {}\n ): Promise\n {\n const debugRequest = _debug.extend(\"client:request\");\n assert(requestOptions, \"request requires an url or request options as argument\");\n\n // url -----------------------------------------------------------------\n let url: string;\n if (typeof requestOptions == \"string\" || requestOptions instanceof URL) {\n url = String(requestOptions);\n requestOptions = {} as fhirclient.RequestOptions;\n }\n else {\n url = String(requestOptions.url);\n }\n\n url = absolute(url, this.state.serverUrl);\n\n const options = {\n graph: fhirOptions.graph !== false,\n flat : !!fhirOptions.flat,\n pageLimit: fhirOptions.pageLimit ?? 1,\n resolveReferences: (fhirOptions.resolveReferences || []) as string[],\n useRefreshToken: fhirOptions.useRefreshToken !== false,\n onPage: typeof fhirOptions.onPage == \"function\" ?\n fhirOptions.onPage as (\n data: fhirclient.JsonObject | fhirclient.JsonObject[],\n references?: fhirclient.JsonObject | undefined) => any :\n undefined\n };\n\n const signal = (requestOptions as RequestInit).signal || undefined;\n\n // Refresh the access token if needed\n const job = options.useRefreshToken ?\n this.refreshIfNeeded({ signal }).then(() => requestOptions as fhirclient.RequestOptions) :\n Promise.resolve(requestOptions as fhirclient.RequestOptions);\n\n let response: Response | undefined;\n\n return job\n\n // Add the Authorization header now, after the access token might\n // have been updated\n .then(requestOptions => {\n const authHeader = this.getAuthorizationHeader();\n if (authHeader) {\n requestOptions.headers = {\n ...requestOptions.headers,\n authorization: authHeader\n };\n }\n return requestOptions;\n })\n \n // Make the request\n .then(requestOptions => {\n debugRequest(\n \"%s, options: %O, fhirOptions: %O\",\n url,\n requestOptions,\n options\n );\n return request(url, requestOptions).then(result => {\n if (requestOptions.includeResponse) {\n response = (result as fhirclient.CombinedFetchResult).response;\n return (result as fhirclient.CombinedFetchResult).body;\n }\n return result;\n });\n })\n\n // Handle 401 ------------------------------------------------------\n .catch(async (error: HttpError) => {\n if (error.status == 401) {\n\n // !accessToken -> not authorized -> No session. Need to launch.\n if (!this.getState(\"tokenResponse.access_token\")) {\n error.message += \"\\nThis app cannot be accessed directly. Please launch it as SMART app!\";\n throw error;\n }\n\n // auto-refresh not enabled and Session expired.\n // Need to re-launch. Clear state to start over!\n if (!options.useRefreshToken) {\n debugRequest(\"Your session has expired and the useRefreshToken option is set to false. Please re-launch the app.\");\n await this._clearState();\n error.message += \"\\n\" + str.expired;\n throw error;\n }\n\n // In rare cases we may have a valid access token and a refresh\n // token and the request might still fail with 401 just because\n // the access token has just been revoked.\n\n // otherwise -> auto-refresh failed. Session expired.\n // Need to re-launch. Clear state to start over!\n debugRequest(\"Auto-refresh failed! Please re-launch the app.\");\n await this._clearState();\n error.message += \"\\n\" + str.expired;\n throw error;\n }\n throw error;\n })\n\n // Handle 403 ------------------------------------------------------\n .catch((error: HttpError) => {\n if (error.status == 403) {\n debugRequest(\"Permission denied! Please make sure that you have requested the proper scopes.\");\n }\n throw error;\n })\n\n .then((data: any) => {\n\n // At this point we don't know what `data` actually is!\n\n // We might get an empty or falsy result. If so return it as is\n // Also handle raw responses\n if (!data || typeof data == \"string\" || data instanceof Response) {\n if ((requestOptions as fhirclient.FetchOptions).includeResponse) {\n return {\n body: data,\n response\n }\n }\n return data;\n }\n \n // Resolve References ------------------------------------------\n return (async (_data: fhirclient.FHIR.Resource) => {\n\n if (_data.resourceType == \"Bundle\") {\n await Promise.all(((_data as fhirclient.FHIR.Bundle).entry || []).map(item => resolveRefs(\n item.resource,\n options,\n _resolvedRefs,\n this,\n requestOptions as fhirclient.RequestOptions\n )));\n }\n else {\n await resolveRefs(\n _data,\n options,\n _resolvedRefs,\n this,\n requestOptions as fhirclient.RequestOptions\n );\n }\n\n return _data;\n })(data)\n\n // Pagination ----------------------------------------------\n .then(async _data => {\n if (_data && _data.resourceType == \"Bundle\") {\n const links = (_data.link || []) as fhirclient.FHIR.BundleLink[];\n\n if (options.flat) {\n _data = (_data.entry || []).map(\n (entry: fhirclient.FHIR.BundleEntry) => entry.resource\n );\n }\n\n if (options.onPage) {\n await options.onPage(_data, { ..._resolvedRefs });\n }\n\n if (--options.pageLimit) {\n const next = links.find(l => l.relation == \"next\");\n _data = makeArray(_data);\n if (next && next.url) {\n const nextPage = await this.request(\n {\n url: next.url,\n\n // Aborting the main request (even after it is complete)\n // must propagate to any child requests and abort them!\n // To do so, just pass the same AbortSignal if one is\n // provided.\n signal\n },\n options,\n _resolvedRefs\n );\n\n if (options.onPage) {\n return null;\n }\n\n if (options.resolveReferences.length) {\n Object.assign(_resolvedRefs, nextPage.references);\n return _data.concat(makeArray(nextPage.data || nextPage));\n }\n return _data.concat(makeArray(nextPage));\n }\n }\n }\n return _data;\n })\n\n // Finalize ------------------------------------------------\n .then(_data => {\n if (options.graph) {\n _resolvedRefs = {};\n }\n else if (!options.onPage && options.resolveReferences.length) {\n return {\n data: _data,\n references: _resolvedRefs\n };\n }\n return _data;\n })\n .then(_data => {\n if ((requestOptions as fhirclient.FetchOptions).includeResponse) {\n return {\n body: _data,\n response\n }\n }\n return _data;\n });\n });\n }\n\n /**\n * Checks if access token and refresh token are present. If they are, and if\n * the access token is expired or is about to expire in the next 10 seconds,\n * calls `this.refresh()` to obtain new access token.\n * @param requestOptions Any options to pass to the fetch call. Most of them\n * will be overridden, bit it might still be useful for passing additional\n * request options or an abort signal.\n * @category Request\n */\n refreshIfNeeded(requestOptions: RequestInit = {}): Promise\n {\n const accessToken = this.getState(\"tokenResponse.access_token\");\n const refreshToken = this.getState(\"tokenResponse.refresh_token\");\n const expiresAt = this.state.expiresAt || 0;\n\n if (accessToken && refreshToken && expiresAt - 10 < Date.now() / 1000) {\n return this.refresh(requestOptions);\n }\n\n return Promise.resolve(this.state);\n }\n\n /**\n * Use the refresh token to obtain new access token. If the refresh token is\n * expired (or this fails for any other reason) it will be deleted from the\n * state, so that we don't enter into loops trying to re-authorize.\n *\n * This method is typically called internally from [[request]] if\n * certain request fails with 401.\n *\n * @param requestOptions Any options to pass to the fetch call. Most of them\n * will be overridden, bit it might still be useful for passing additional\n * request options or an abort signal.\n * @category Request\n */\n refresh(requestOptions: RequestInit = {}): Promise\n {\n const debugRefresh = _debug.extend(\"client:refresh\");\n debugRefresh(\"Attempting to refresh with refresh_token...\");\n\n const refreshToken = this.state?.tokenResponse?.refresh_token;\n assert(refreshToken, \"Unable to refresh. No refresh_token found.\");\n\n const tokenUri = this.state.tokenUri;\n assert(tokenUri, \"Unable to refresh. No tokenUri found.\");\n\n const scopes = this.getState(\"tokenResponse.scope\") || \"\";\n const hasOfflineAccess = scopes.search(/\\boffline_access\\b/) > -1;\n const hasOnlineAccess = scopes.search(/\\bonline_access\\b/) > -1;\n assert(hasOfflineAccess || hasOnlineAccess, \"Unable to refresh. No offline_access or online_access scope found.\");\n\n // This method is typically called internally from `request` if certain\n // request fails with 401. However, clients will often run multiple\n // requests in parallel which may result in multiple refresh calls.\n // To avoid that, we keep a reference to the current refresh task (if any).\n if (!this._refreshTask) {\n let body = `grant_type=refresh_token&refresh_token=${encodeURIComponent(refreshToken)}`;\n if (this.environment.options.refreshTokenWithClientId) {\n body += `&client_id=${this.state.clientId}`;\n }\n const refreshRequestOptions = {\n credentials: this.environment.options.refreshTokenWithCredentials || \"same-origin\",\n ...requestOptions,\n method : \"POST\",\n mode : \"cors\" as RequestMode,\n headers: {\n ...(requestOptions.headers || {}),\n \"content-type\": \"application/x-www-form-urlencoded\"\n },\n body: body\n };\n\n // custom authorization header can be passed on manual calls\n if (!(\"authorization\" in refreshRequestOptions.headers)) {\n const { clientSecret, clientId } = this.state;\n if (clientSecret) {\n // @ts-ignore\n refreshRequestOptions.headers.authorization = \"Basic \" + this.environment.btoa(\n clientId + \":\" + clientSecret\n );\n }\n }\n\n this._refreshTask = request(tokenUri, refreshRequestOptions)\n .then(data => {\n assert(data.access_token, \"No access token received\");\n debugRefresh(\"Received new access token response %O\", data);\n this.state.tokenResponse = { ...this.state.tokenResponse, ...data };\n this.state.expiresAt = getAccessTokenExpiration(data, this.environment);\n return this.state;\n })\n .catch((error: Error) => {\n if (this.state?.tokenResponse?.refresh_token) {\n debugRefresh(\"Deleting the expired or invalid refresh token.\");\n delete this.state.tokenResponse.refresh_token;\n }\n throw error;\n })\n .finally(() => {\n this._refreshTask = null;\n const key = this.state.key;\n if (key) {\n this.environment.getStorage().set(key, this.state);\n } else {\n debugRefresh(\"No 'key' found in Clint.state. Cannot persist the instance.\");\n }\n });\n }\n\n return this._refreshTask;\n }\n\n // utils -------------------------------------------------------------------\n\n /**\n * Groups the observations by code. Returns a map that will look like:\n * ```js\n * const map = client.byCodes(observations, \"code\");\n * // map = {\n * // \"55284-4\": [ observation1, observation2 ],\n * // \"6082-2\": [ observation3 ]\n * // }\n * ```\n * @param observations Array of observations\n * @param property The name of a CodeableConcept property to group by\n * @todo This should be deprecated and moved elsewhere. One should not have\n * to obtain an instance of [[Client]] just to use utility functions like this.\n * @deprecated\n * @category Utility\n */\n byCode(\n observations: fhirclient.FHIR.Observation | fhirclient.FHIR.Observation[],\n property: string\n ): fhirclient.ObservationMap\n {\n return byCode(observations, property);\n }\n\n /**\n * First groups the observations by code using `byCode`. Then returns a function\n * that accepts codes as arguments and will return a flat array of observations\n * having that codes. Example:\n * ```js\n * const filter = client.byCodes(observations, \"category\");\n * filter(\"laboratory\") // => [ observation1, observation2 ]\n * filter(\"vital-signs\") // => [ observation3 ]\n * filter(\"laboratory\", \"vital-signs\") // => [ observation1, observation2, observation3 ]\n * ```\n * @param observations Array of observations\n * @param property The name of a CodeableConcept property to group by\n * @todo This should be deprecated and moved elsewhere. One should not have\n * to obtain an instance of [[Client]] just to use utility functions like this.\n * @deprecated\n * @category Utility\n */\n byCodes(\n observations: fhirclient.FHIR.Observation | fhirclient.FHIR.Observation[],\n property: string\n ): (...codes: string[]) => any[]\n {\n return byCodes(observations, property);\n }\n\n /**\n * @category Utility\n */\n units = units;\n\n /**\n * Walks through an object (or array) and returns the value found at the\n * provided path. This function is very simple so it intentionally does not\n * support any argument polymorphism, meaning that the path can only be a\n * dot-separated string. If the path is invalid returns undefined.\n * @param obj The object (or Array) to walk through\n * @param path The path (eg. \"a.b.4.c\")\n * @returns {*} Whatever is found in the path or undefined\n * @todo This should be deprecated and moved elsewhere. One should not have\n * to obtain an instance of [[Client]] just to use utility functions like this.\n * @deprecated\n * @category Utility\n */\n getPath(obj: Record, path = \"\"): any {\n return getPath(obj, path);\n }\n\n /**\n * Returns a copy of the client state. Accepts a dot-separated path argument\n * (same as for `getPath`) to allow for selecting specific properties.\n * Examples:\n * ```js\n * client.getState(); // -> the entire state object\n * client.getState(\"serverUrl\"); // -> the URL we are connected to\n * client.getState(\"tokenResponse.patient\"); // -> The selected patient ID (if any)\n * ```\n * @param path The path (eg. \"a.b.4.c\")\n * @returns {*} Whatever is found in the path or undefined\n */\n getState(path = \"\") {\n return getPath({ ...this.state }, path);\n }\n\n /**\n * Returns a promise that will be resolved with the fhir version as defined\n * in the CapabilityStatement.\n */\n getFhirVersion(): Promise {\n return fetchConformanceStatement(this.state.serverUrl)\n .then((metadata) => metadata.fhirVersion);\n }\n\n /**\n * Returns a promise that will be resolved with the numeric fhir version\n * - 2 for DSTU2\n * - 3 for STU3\n * - 4 for R4\n * - 0 if the version is not known\n */\n getFhirRelease(): Promise {\n return this.getFhirVersion().then(v => (fhirVersions as any)[v] ?? 0);\n }\n}\n","import { fhirclient } from \"./types\";\n\n\nexport default class HttpError extends Error\n{\n /**\n * The HTTP status code for this error\n */\n statusCode: number;\n\n /**\n * The HTTP status code for this error.\n * Note that this is the same as `status`, i.e. the code is available\n * through any of these.\n */\n status: number;\n\n /**\n * The HTTP status text corresponding to this error\n */\n statusText: string;\n\n /**\n * Reference to the HTTP Response object\n */\n response: Response;\n\n constructor(response: Response) {\n super(`${response.status} ${response.statusText}\\nURL: ${response.url}`);\n this.name = \"HttpError\";\n this.response = response;\n this.statusCode = response.status;\n this.status = response.status;\n this.statusText = response.statusText;\n }\n\n async parse()\n {\n if (!this.response.bodyUsed) {\n try {\n const type = this.response.headers.get(\"content-type\") || \"text/plain\";\n if (type.match(/\\bjson\\b/i)) {\n let body = await this.response.json();\n if (body.error) {\n this.message += \"\\n\" + body.error;\n if (body.error_description) {\n this.message += \": \" + body.error_description;\n }\n }\n else {\n this.message += \"\\n\\n\" + JSON.stringify(body, null, 4);\n }\n }\n else if (type.match(/^text\\//i)) {\n let body = await this.response.text();\n if (body) {\n this.message += \"\\n\\n\" + body;\n }\n }\n } catch {\n // ignore\n }\n }\n\n return this;\n }\n\n toJSON() {\n return {\n name : this.name,\n statusCode: this.statusCode,\n status : this.status,\n statusText: this.statusText,\n message : this.message\n };\n }\n}\n","import { ready, authorize, init } from \"../smart\";\nimport Client from \"../Client\";\nimport BrowserStorage from \"../storage/BrowserStorage\";\nimport { fhirclient } from \"../types\";\nimport * as security from \"../security/browser\"\nimport { encodeURL, decode, fromUint8Array } from \"js-base64\"\n\n/**\n * Browser Adapter\n */\nexport default class BrowserAdapter implements fhirclient.Adapter\n{\n /**\n * Stores the URL instance associated with this adapter\n */\n private _url: URL | null = null;\n\n /**\n * Holds the Storage instance associated with this instance\n */\n private _storage: fhirclient.Storage | null = null;\n\n /**\n * Environment-specific options\n */\n options: fhirclient.BrowserFHIRSettings;\n\n security = security;\n\n /**\n * @param options Environment-specific options\n */\n constructor(options: fhirclient.BrowserFHIRSettings = {})\n {\n this.options = {\n // Replaces the browser's current URL\n // using window.history.replaceState API or by reloading.\n replaceBrowserHistory: true,\n\n // When set to true, this variable will fully utilize\n // HTML5 sessionStorage API.\n // This variable can be overridden to false by setting\n // FHIR.oauth2.settings.fullSessionStorageSupport = false.\n // When set to false, the sessionStorage will be keyed\n // by a state variable. This is to allow the embedded IE browser\n // instances instantiated on a single thread to continue to\n // function without having sessionStorage data shared\n // across the embedded IE instances.\n fullSessionStorageSupport: true,\n\n // Do we want to send cookies while making a request to the token\n // endpoint in order to obtain new access token using existing\n // refresh token. In rare cases the auth server might require the\n // client to send cookies along with those requests. In this case\n // developers will have to change this before initializing the app\n // like so:\n // `FHIR.oauth2.settings.refreshTokenWithCredentials = \"include\";`\n // or\n // `FHIR.oauth2.settings.refreshTokenWithCredentials = \"same-origin\";`\n // Can be one of:\n // \"include\" - always send cookies\n // \"same-origin\" - only send cookies if we are on the same domain (default)\n // \"omit\" - do not send cookies\n refreshTokenWithCredentials: \"same-origin\",\n\n ...options\n };\n }\n\n /**\n * Given a relative path, returns an absolute url using the instance base URL\n */\n relative(path: string): string\n {\n return new URL(path, this.getUrl().href).href;\n }\n\n /**\n * In browsers we need to be able to (dynamically) check if fhir.js is\n * included in the page. If it is, it should have created a \"fhir\" variable\n * in the global scope.\n */\n get fhir()\n {\n // @ts-ignore\n return typeof fhir === \"function\" ? fhir : null;\n }\n\n /**\n * Given the current environment, this method must return the current url\n * as URL instance\n */\n getUrl(): URL\n {\n if (!this._url) {\n this._url = new URL(location + \"\");\n }\n return this._url;\n }\n\n /**\n * Given the current environment, this method must redirect to the given\n * path\n */\n redirect(to: string): void\n {\n location.href = to;\n }\n\n /**\n * Returns a BrowserStorage object which is just a wrapper around\n * sessionStorage\n */\n getStorage(): BrowserStorage\n {\n if (!this._storage) {\n this._storage = new BrowserStorage();\n }\n return this._storage;\n }\n\n /**\n * Returns a reference to the AbortController constructor. In browsers,\n * AbortController will always be available as global (native or polyfilled)\n */\n getAbortController()\n {\n return AbortController;\n }\n\n /**\n * ASCII string to Base64\n */\n atob(str: string): string\n {\n return window.atob(str);\n }\n\n /**\n * Base64 to ASCII string\n */\n btoa(str: string): string\n {\n return window.btoa(str);\n }\n\n base64urlencode(input: string | Uint8Array)\n {\n if (typeof input == \"string\") {\n return encodeURL(input)\n }\n return fromUint8Array(input, true)\n }\n\n base64urldecode(input: string)\n {\n return decode(input)\n }\n\n /**\n * Creates and returns adapter-aware SMART api. Not that while the shape of\n * the returned object is well known, the arguments to this function are not.\n * Those who override this method are free to require any environment-specific\n * arguments. For example in node we will need a request, a response and\n * optionally a storage or storage factory function.\n */\n getSmartApi(): fhirclient.SMART\n {\n return {\n ready : (...args: any[]) => ready(this, ...args),\n authorize: options => authorize(this, options),\n init : options => init(this, options),\n client : (state: string | fhirclient.ClientState) => new Client(this, state),\n options : this.options,\n utils: {\n security\n }\n };\n }\n}\n","\n// Note: the following 2 imports appear as unused but they affect how tsc is\n// generating type definitions!\nimport { fhirclient } from \"../types\";\nimport Client from \"../Client\";\n\n// In Browsers we create an adapter, get the SMART api from it and build the\n// global FHIR object\nimport BrowserAdapter from \"../adapters/BrowserAdapter\";\n\nconst adapter = new BrowserAdapter();\nconst { ready, authorize, init, client, options, utils } = adapter.getSmartApi();\n\n// We have two kinds of browser builds - \"pure\" for new browsers and \"legacy\"\n// for old ones. In pure builds we assume that the browser supports everything\n// we need. In legacy mode, the library also acts as a polyfill. Babel will\n// automatically polyfill everything except \"fetch\", which we have to handle\n// manually.\n// @ts-ignore\nif (typeof FHIRCLIENT_PURE == \"undefined\") {\n const fetch = require(\"cross-fetch\");\n require(\"abortcontroller-polyfill/dist/abortcontroller-polyfill-only\");\n if (!window.fetch) {\n window.fetch = fetch.default;\n window.Headers = fetch.Headers;\n window.Request = fetch.Request;\n window.Response = fetch.Response;\n }\n}\n\n// $lab:coverage:off$\nconst FHIR = {\n AbortController: window.AbortController,\n client,\n utils,\n oauth2: {\n settings: options,\n ready,\n authorize,\n init\n }\n};\n\nexport = FHIR;\n// $lab:coverage:on$\n","/*\n * This file contains some shared functions. They are used by other modules, but\n * are defined here so that tests can import this library and test them.\n */\n\nimport HttpError from \"./HttpError\";\nimport { patientParams } from \"./settings\";\nimport { fhirclient } from \"./types\";\nconst debug = require(\"debug\");\n\n// $lab:coverage:off$\n// @ts-ignore\nconst { fetch } = typeof FHIRCLIENT_PURE !== \"undefined\" ? window : require(\"cross-fetch\");\n// $lab:coverage:on$\n\nconst _debug = debug(\"FHIR\");\nexport { _debug as debug };\n\n/**\n * The cache for the `getAndCache` function\n */\nconst cache: Record = {};\n\n/**\n * A namespace with functions for converting between different measurement units\n */\nexport const units = {\n cm({ code, value }: fhirclient.CodeValue) {\n ensureNumerical({ code, value });\n if (code == \"cm\" ) return value;\n if (code == \"m\" ) return value * 100;\n if (code == \"in\" ) return value * 2.54;\n if (code == \"[in_us]\") return value * 2.54;\n if (code == \"[in_i]\" ) return value * 2.54;\n if (code == \"ft\" ) return value * 30.48;\n if (code == \"[ft_us]\") return value * 30.48;\n throw new Error(\"Unrecognized length unit: \" + code);\n },\n kg({ code, value }: fhirclient.CodeValue){\n ensureNumerical({ code, value });\n if (code == \"kg\" ) return value;\n if (code == \"g\" ) return value / 1000;\n if (code.match(/lb/)) return value / 2.20462;\n if (code.match(/oz/)) return value / 35.274;\n throw new Error(\"Unrecognized weight unit: \" + code);\n },\n any(pq: fhirclient.CodeValue){\n ensureNumerical(pq);\n return pq.value;\n }\n};\n\n/**\n * Assertion function to guard arguments for `units` functions\n */\nfunction ensureNumerical({ value, code }: fhirclient.CodeValue) {\n if (typeof value !== \"number\") {\n throw new Error(\"Found a non-numerical unit: \" + value + \" \" + code);\n }\n}\n\n/**\n * Used in fetch Promise chains to reject if the \"ok\" property is not true\n */\nexport async function checkResponse(resp: Response): Promise {\n if (!resp.ok) {\n const error = new HttpError(resp);\n await error.parse();\n throw error;\n }\n return resp;\n}\n\n/**\n * Used in fetch Promise chains to return the JSON version of the response.\n * Note that `resp.json()` will throw on empty body so we use resp.text()\n * instead.\n */\nexport function responseToJSON(resp: Response): Promise {\n return resp.text().then(text => text.length ? JSON.parse(text) : \"\");\n}\n\nexport function loweCaseKeys | any[] | undefined>(obj: T): T {\n \n // Can be undefined to signal that this key should be removed\n if (!obj) {\n return obj as T\n }\n\n // Arrays are valid values in case of recursive calls\n if (Array.isArray(obj)) {\n return obj.map(v => v && typeof v === \"object\" ? loweCaseKeys(v) : v) as unknown as T;\n }\n\n // Plain object\n let out: Record = {};\n Object.keys(obj).forEach(key => {\n const lowerKey = key.toLowerCase()\n const v = (obj as Record)[key]\n out[lowerKey] = v && typeof v == \"object\" ? loweCaseKeys(v) : v;\n });\n return out as T;\n}\n\n/**\n * This is our built-in request function. It does a few things by default\n * (unless told otherwise):\n * - Makes CORS requests\n * - Sets accept header to \"application/json\"\n * - Handles errors\n * - If the response is json return the json object\n * - If the response is text return the result text\n * - Otherwise return the response object on which we call stuff like `.blob()`\n */\nexport function request(\n url: string | Request,\n requestOptions: fhirclient.FetchOptions = {}\n): Promise\n{\n const { includeResponse, ...options } = requestOptions;\n return fetch(url, {\n mode: \"cors\",\n ...options,\n headers: {\n accept: \"application/json\",\n ...loweCaseKeys(options.headers)\n }\n })\n .then(checkResponse)\n .then((res: Response) => {\n const type = res.headers.get(\"content-type\") + \"\";\n if (type.match(/\\bjson\\b/i)) {\n return responseToJSON(res).then(body => ({ res, body }));\n }\n if (type.match(/^text\\//i)) {\n return res.text().then(body => ({ res, body }));\n }\n return { res };\n })\n .then(({res, body}: {res:Response, body?:fhirclient.JsonObject|string}) => {\n\n // Some servers will reply after CREATE with json content type but with\n // empty body. In this case check if a location header is received and\n // fetch that to use it as the final result.\n if (!body && res.status == 201) {\n const location = res.headers.get(\"location\");\n if (location) {\n return request(location, { ...options, method: \"GET\", body: null, includeResponse });\n }\n }\n\n if (includeResponse) {\n return { body, response: res };\n }\n\n // For any non-text and non-json response return the Response object.\n // This to let users decide if they want to call text(), blob() or\n // something else on it\n if (body === undefined) {\n return res;\n }\n\n // Otherwise just return the parsed body (can also be \"\" or null)\n return body;\n });\n}\n\n/**\n * Makes a request using `fetch` and stores the result in internal memory cache.\n * The cache is cleared when the page is unloaded.\n * @param url The URL to request\n * @param requestOptions Request options\n * @param force If true, reload from source and update the cache, even if it has\n * already been cached.\n */\nexport function getAndCache(url: string, requestOptions?: RequestInit, force: boolean = process.env.NODE_ENV === \"test\"): Promise {\n if (force || !cache[url]) {\n cache[url] = request(url, requestOptions);\n return cache[url];\n }\n return Promise.resolve(cache[url]);\n}\n\n/**\n * Fetches the conformance statement from the given base URL.\n * Note that the result is cached in memory (until the page is reloaded in the\n * browser) because it might have to be re-used by the client\n * @param baseUrl The base URL of the FHIR server\n * @param [requestOptions] Any options passed to the fetch call\n */\nexport function fetchConformanceStatement(baseUrl = \"/\", requestOptions?: RequestInit): Promise\n{\n const url = String(baseUrl).replace(/\\/*$/, \"/\") + \"metadata\";\n return getAndCache(url, requestOptions).catch((ex: Error) => {\n throw new Error(\n `Failed to fetch the conformance statement from \"${url}\". ${ex}`\n );\n });\n}\n\n\n/**\n * Walks through an object (or array) and returns the value found at the\n * provided path. This function is very simple so it intentionally does not\n * support any argument polymorphism, meaning that the path can only be a\n * dot-separated string. If the path is invalid returns undefined.\n * @param obj The object (or Array) to walk through\n * @param path The path (eg. \"a.b.4.c\")\n * @returns {*} Whatever is found in the path or undefined\n */\nexport function getPath(obj: Record, path = \"\"): any {\n path = path.trim();\n if (!path) {\n return obj;\n }\n\n let segments = path.split(\".\");\n let result = obj;\n\n while (result && segments.length) {\n const key = segments.shift();\n if (!key && Array.isArray(result)) {\n return result.map(o => getPath(o, segments.join(\".\")));\n } else {\n result = result[key as string];\n }\n }\n\n return result;\n}\n\n/**\n * Like getPath, but if the node is found, its value is set to @value\n * @param obj The object (or Array) to walk through\n * @param path The path (eg. \"a.b.4.c\")\n * @param value The value to set\n * @param createEmpty If true, create missing intermediate objects or arrays\n * @returns The modified object\n */\nexport function setPath(obj: Record, path: string, value: any, createEmpty = false): Record {\n path.trim().split(\".\").reduce(\n (out, key, idx, arr) => {\n if (out && idx === arr.length - 1) {\n out[key] = value;\n }\n else {\n if (out && out[key] === undefined && createEmpty) {\n out[key] = arr[idx + 1].match(/^[0-9]+$/) ? [] : {};\n }\n return out ? out[key] : undefined;\n }\n },\n obj\n );\n return obj;\n}\n\n/**\n * If the argument is an array returns it as is. Otherwise puts it in an array\n * (`[arg]`) and returns the result\n * @param arg The element to test and possibly convert to array\n * @category Utility\n */\nexport function makeArray(arg: any): T[] {\n if (Array.isArray(arg)) {\n return arg;\n }\n return [arg];\n}\n\n/**\n * Given a path, converts it to absolute url based on the `baseUrl`. If baseUrl\n * is not provided, the result would be a rooted path (one that starts with `/`).\n * @param path The path to convert\n * @param baseUrl The base URL\n */\nexport function absolute(path: string, baseUrl?: string): string\n{\n if (path.match(/^http/)) return path;\n if (path.match(/^urn/)) return path;\n return String(baseUrl || \"\").replace(/\\/+$/, \"\") + \"/\" + path.replace(/^\\/+/, \"\");\n}\n\n/**\n * Generates random strings. By default this returns random 8 characters long\n * alphanumeric strings.\n * @param strLength The length of the output string. Defaults to 8.\n * @param charSet A string containing all the possible characters.\n * Defaults to all the upper and lower-case letters plus digits.\n * @category Utility\n */\nexport function randomString(\n strLength = 8,\n charSet = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\"\n): string\n{\n const result = [];\n const len = charSet.length;\n while (strLength--) {\n result.push(charSet.charAt(Math.floor(Math.random() * len)));\n }\n return result.join(\"\");\n}\n\n/**\n * Decodes a JWT token and returns it's body.\n * @param token The token to read\n * @param env An `Adapter` or any other object that has an `atob` method\n * @category Utility\n */\nexport function jwtDecode(token: string, env: fhirclient.Adapter): Record | null\n{\n const payload = token.split(\".\")[1];\n return payload ? JSON.parse(env.atob(payload)) : null;\n}\n\n/**\n * Add a supplied number of seconds to the supplied Date, returning\n * an integer number of seconds since the epoch\n * @param secondsAhead How far ahead, in seconds (defaults to 120 seconds)\n * @param from Initial time (defaults to current time)\n */\nexport function getTimeInFuture(secondsAhead: number = 120, from?: Date | number): number {\n return Math.floor(+(from || new Date()) / 1000 + secondsAhead) \n}\n\n/**\n * Given a token response, computes and returns the expiresAt timestamp.\n * Note that this should only be used immediately after an access token is\n * received, otherwise the computed timestamp will be incorrect.\n * @param tokenResponse \n * @param env \n */\nexport function getAccessTokenExpiration(tokenResponse: fhirclient.TokenResponse, env: fhirclient.Adapter): number\n{\n const now = Math.floor(Date.now() / 1000);\n\n // Option 1 - using the expires_in property of the token response\n if (tokenResponse.expires_in) {\n return now + tokenResponse.expires_in;\n }\n\n // Option 2 - using the exp property of JWT tokens (must not assume JWT!)\n if (tokenResponse.access_token) {\n let tokenBody = jwtDecode(tokenResponse.access_token, env);\n if (tokenBody && tokenBody.exp) {\n return tokenBody.exp;\n }\n }\n\n // Option 3 - if none of the above worked set this to 5 minutes after now\n return now + 300;\n}\n\n/**\n * Groups the observations by code. Returns a map that will look like:\n * ```js\n * const map = client.byCodes(observations, \"code\");\n * // map = {\n * // \"55284-4\": [ observation1, observation2 ],\n * // \"6082-2\": [ observation3 ]\n * // }\n * ```\n * @param observations Array of observations\n * @param property The name of a CodeableConcept property to group by\n */\nexport function byCode(\n observations: fhirclient.FHIR.Observation | fhirclient.FHIR.Observation[],\n property: string\n): fhirclient.ObservationMap\n{\n const ret: fhirclient.ObservationMap = {};\n\n function handleCodeableConcept(concept: fhirclient.FHIR.CodeableConcept, observation: fhirclient.FHIR.Observation) {\n if (concept && Array.isArray(concept.coding)) {\n concept.coding.forEach(({ code }) => {\n if (code) {\n ret[code] = ret[code] || [] as fhirclient.FHIR.Observation[];\n ret[code].push(observation);\n }\n });\n }\n }\n\n makeArray(observations).forEach(o => {\n if (o.resourceType === \"Observation\" && o[property]) {\n if (Array.isArray(o[property])) {\n o[property].forEach((concept: fhirclient.FHIR.CodeableConcept) => handleCodeableConcept(concept, o));\n } else {\n handleCodeableConcept(o[property], o);\n }\n }\n });\n\n return ret;\n}\n\n/**\n * First groups the observations by code using `byCode`. Then returns a function\n * that accepts codes as arguments and will return a flat array of observations\n * having that codes. Example:\n * ```js\n * const filter = client.byCodes(observations, \"category\");\n * filter(\"laboratory\") // => [ observation1, observation2 ]\n * filter(\"vital-signs\") // => [ observation3 ]\n * filter(\"laboratory\", \"vital-signs\") // => [ observation1, observation2, observation3 ]\n * ```\n * @param observations Array of observations\n * @param property The name of a CodeableConcept property to group by\n */\nexport function byCodes(\n observations: fhirclient.FHIR.Observation | fhirclient.FHIR.Observation[],\n property: string\n): (...codes: string[]) => any[]\n{\n const bank = byCode(observations, property);\n return (...codes) => codes\n .filter(code => (code + \"\") in bank)\n .reduce(\n (prev, code) => prev.concat(bank[code + \"\"]),\n [] as fhirclient.FHIR.Observation[]\n );\n}\n\n/**\n * Given a conformance statement and a resource type, returns the name of the\n * URL parameter that can be used to scope the resource type by patient ID.\n */\nexport function getPatientParam(conformance: fhirclient.FHIR.CapabilityStatement, resourceType: string): string\n{\n // Find what resources are supported by this server\n const resources = getPath(conformance, \"rest.0.resource\") || [];\n\n // Check if this resource is supported\n const meta = resources.find((r: any) => r.type === resourceType);\n if (!meta) {\n throw new Error(`Resource \"${resourceType}\" is not supported by this FHIR server`);\n }\n\n // Check if any search parameters are available for this resource\n if (!Array.isArray(meta.searchParam)) {\n throw new Error(`No search parameters supported for \"${resourceType}\" on this FHIR server`);\n }\n\n // This is a rare case but could happen in generic workflows\n if (resourceType == \"Patient\" && meta.searchParam.find((x: any) => x.name == \"_id\")) {\n return \"_id\";\n }\n\n // Now find the first possible parameter name\n const out = patientParams.find(p => meta.searchParam.find((x: any) => x.name == p));\n\n // If there is no match\n if (!out) {\n throw new Error(\"I don't know what param to use for \" + resourceType);\n }\n\n return out;\n}\n\n/**\n * Resolves a reference to target window. It may also open new window or tab if\n * the `target = \"popup\"` or `target = \"_blank\"`.\n * @param target\n * @param width Only used when `target = \"popup\"`\n * @param height Only used when `target = \"popup\"`\n */\nexport async function getTargetWindow(target: fhirclient.WindowTarget, width: number = 800, height: number = 720): Promise\n{\n // The target can be a function that returns the target. This can be\n // used to open a layer pop-up with an iframe and then return a reference\n // to that iframe (or its name)\n if (typeof target == \"function\") {\n target = await target();\n }\n\n // The target can be a window reference\n if (target && typeof target == \"object\") {\n return target;\n }\n\n // At this point target must be a string\n if (typeof target != \"string\") {\n _debug(\"Invalid target type '%s'. Failing back to '_self'.\", typeof target);\n return self;\n }\n\n // Current window\n if (target == \"_self\") {\n return self;\n }\n\n // The parent frame\n if (target == \"_parent\") {\n return parent;\n }\n\n // The top window\n if (target == \"_top\") {\n return top || self;\n }\n\n // New tab or window\n if (target == \"_blank\") {\n let error, targetWindow: Window | null = null;\n try {\n targetWindow = window.open(\"\", \"SMARTAuthPopup\");\n if (!targetWindow) {\n throw new Error(\"Perhaps window.open was blocked\");\n }\n } catch (e) {\n error = e;\n }\n\n if (!targetWindow) {\n _debug(\"Cannot open window. Failing back to '_self'. %s\", error);\n return self;\n } else {\n return targetWindow;\n }\n }\n\n // Popup window\n if (target == \"popup\") {\n let error, targetWindow: Window | null = null;\n // if (!targetWindow || targetWindow.closed) {\n try {\n targetWindow = window.open(\"\", \"SMARTAuthPopup\", [\n \"height=\" + height,\n \"width=\" + width,\n \"menubar=0\",\n \"resizable=1\",\n \"status=0\",\n \"top=\" + (screen.height - height) / 2,\n \"left=\" + (screen.width - width) / 2\n ].join(\",\"));\n if (!targetWindow) {\n throw new Error(\"Perhaps the popup window was blocked\");\n }\n } catch (e) {\n error = e;\n }\n\n if (!targetWindow) {\n _debug(\"Cannot open window. Failing back to '_self'. %s\", error);\n return self;\n } else {\n return targetWindow;\n }\n }\n\n // Frame or window by name\n const winOrFrame: Window = frames[target as any];\n if (winOrFrame) {\n return winOrFrame;\n }\n\n _debug(\"Unknown target '%s'. Failing back to '_self'.\", target);\n return self;\n}\n\nexport function assert(condition: any, message: string): asserts condition {\n if (!(condition)) {\n throw new Error(message)\n }\n}\n\nexport function assertJsonPatch(patch: fhirclient.JsonPatch): asserts patch {\n assert(Array.isArray(patch), \"The JSON patch must be an array\")\n assert(patch.length > 0, \"The JSON patch array should not be empty\")\n patch.forEach((operation: fhirclient.JsonPatchOperation) => {\n assert(\n [\"add\", \"replace\", \"test\", \"move\", \"copy\", \"remove\"].indexOf(operation.op) > -1,\n 'Each patch operation must have an \"op\" property which must be one of: \"add\", \"replace\", \"test\", \"move\", \"copy\", \"remove\"'\n )\n assert(operation.path && typeof operation.path, `Invalid \"${operation.op}\" operation. Missing \"path\" property`)\n \n if (operation.op == \"add\" || operation.op == \"replace\" || operation.op == \"test\") {\n assert(\"value\" in operation, `Invalid \"${operation.op}\" operation. Missing \"value\" property`)\n assert(Object.keys(operation).length == 3, `Invalid \"${operation.op}\" operation. Contains unknown properties`)\n }\n\n else if (operation.op == \"move\" || operation.op == \"copy\") {\n assert(typeof operation.from == \"string\", `Invalid \"${operation.op}\" operation. Requires a string \"from\" property`)\n assert(Object.keys(operation).length == 3, `Invalid \"${operation.op}\" operation. Contains unknown properties`)\n }\n\n else {\n assert(Object.keys(operation).length == 2, `Invalid \"${operation.op}\" operation. Contains unknown properties`)\n }\n })\n}\n","import { encodeURL, fromUint8Array } from \"js-base64\"\nimport { fhirclient } from \"../types\"\n\n\nconst crypto: Crypto = typeof globalThis === \"object\" && globalThis.crypto ?\n globalThis.crypto :\n require(\"isomorphic-webcrypto\").default;\n\nconst subtle = () => {\n if (!crypto.subtle) {\n if (!globalThis.isSecureContext) {\n throw new Error(\n \"Some of the required subtle crypto functionality is not \" +\n \"available unless you run this app in secure context (using \" +\n \"HTTPS or running locally). See \" +\n \"https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts\"\n )\n }\n throw new Error(\n \"Some of the required subtle crypto functionality is not \" +\n \"available in the current environment (no crypto.subtle)\"\n )\n }\n return crypto.subtle\n}\n\n\ninterface PkcePair {\n codeChallenge: string\n codeVerifier: string\n}\n\nconst ALGS = {\n ES384: {\n name: \"ECDSA\",\n namedCurve: \"P-384\"\n } as EcKeyGenParams,\n RS384: {\n name: \"RSASSA-PKCS1-v1_5\",\n modulusLength: 4096,\n publicExponent: new Uint8Array([1, 0, 1]),\n hash: {\n name: 'SHA-384'\n }\n } as RsaHashedKeyGenParams\n};\n\nexport function randomBytes(count: number): Uint8Array {\n return crypto.getRandomValues(new Uint8Array(count));\n}\n\nexport async function digestSha256(payload: string): Promise {\n const prepared = new TextEncoder().encode(payload);\n const hash = await subtle().digest('SHA-256', prepared);\n return new Uint8Array(hash);\n}\n\nexport const generatePKCEChallenge = async (entropy = 96): Promise => {\n const inputBytes = randomBytes(entropy)\n const codeVerifier = fromUint8Array(inputBytes, true)\n const codeChallenge = fromUint8Array(await digestSha256(codeVerifier), true)\n return { codeChallenge, codeVerifier }\n}\n\nexport async function importJWK(jwk: fhirclient.JWK): Promise {\n // alg is optional in JWK but we need it here!\n if (!jwk.alg) {\n throw new Error('The \"alg\" property of the JWK must be set to \"ES384\" or \"RS384\"')\n }\n\n // Use of the \"key_ops\" member is OPTIONAL, unless the application requires its presence.\n // https://www.rfc-editor.org/rfc/rfc7517.html#section-4.3\n // \n // In our case the app will only import private keys so we can assume \"sign\"\n if (!Array.isArray(jwk.key_ops)) {\n jwk.key_ops = [\"sign\"]\n }\n\n // In this case the JWK has a \"key_ops\" array and \"sign\" is not listed\n if (!jwk.key_ops.includes(\"sign\")) {\n throw new Error('The \"key_ops\" property of the JWK does not contain \"sign\"')\n }\n\n try {\n return await subtle().importKey(\n \"jwk\",\n jwk,\n ALGS[jwk.alg],\n jwk.ext === true,\n jwk.key_ops// || ['sign']\n )\n } catch (e) {\n throw new Error(`The ${jwk.alg} is not supported by this browser: ${e}`)\n }\n}\n\nexport async function signCompactJws(alg: keyof typeof ALGS, privateKey: CryptoKey, header: any, payload: any): Promise {\n\n const jwtHeader = JSON.stringify({ ...header, alg });\n const jwtPayload = JSON.stringify(payload);\n const jwtAuthenticatedContent = `${encodeURL(jwtHeader)}.${encodeURL(jwtPayload)}`;\n\n const signature = await subtle().sign(\n { ...privateKey.algorithm, hash: 'SHA-384' },\n privateKey,\n new TextEncoder().encode(jwtAuthenticatedContent)\n );\n\n return `${jwtAuthenticatedContent}.${fromUint8Array(new Uint8Array(signature), true)}`\n}\n","/**\n * Combined list of FHIR resource types accepting patient parameter in FHIR R2-R4\n */\nexport const patientCompartment = [\n \"Account\",\n \"AdverseEvent\",\n \"AllergyIntolerance\",\n \"Appointment\",\n \"AppointmentResponse\",\n \"AuditEvent\",\n \"Basic\",\n \"BodySite\",\n \"BodyStructure\",\n \"CarePlan\",\n \"CareTeam\",\n \"ChargeItem\",\n \"Claim\",\n \"ClaimResponse\",\n \"ClinicalImpression\",\n \"Communication\",\n \"CommunicationRequest\",\n \"Composition\",\n \"Condition\",\n \"Consent\",\n \"Coverage\",\n \"CoverageEligibilityRequest\",\n \"CoverageEligibilityResponse\",\n \"DetectedIssue\",\n \"DeviceRequest\",\n \"DeviceUseRequest\",\n \"DeviceUseStatement\",\n \"DiagnosticOrder\",\n \"DiagnosticReport\",\n \"DocumentManifest\",\n \"DocumentReference\",\n \"EligibilityRequest\",\n \"Encounter\",\n \"EnrollmentRequest\",\n \"EpisodeOfCare\",\n \"ExplanationOfBenefit\",\n \"FamilyMemberHistory\",\n \"Flag\",\n \"Goal\",\n \"Group\",\n \"ImagingManifest\",\n \"ImagingObjectSelection\",\n \"ImagingStudy\",\n \"Immunization\",\n \"ImmunizationEvaluation\",\n \"ImmunizationRecommendation\",\n \"Invoice\",\n \"List\",\n \"MeasureReport\",\n \"Media\",\n \"MedicationAdministration\",\n \"MedicationDispense\",\n \"MedicationOrder\",\n \"MedicationRequest\",\n \"MedicationStatement\",\n \"MolecularSequence\",\n \"NutritionOrder\",\n \"Observation\",\n \"Order\",\n \"Patient\",\n \"Person\",\n \"Procedure\",\n \"ProcedureRequest\",\n \"Provenance\",\n \"QuestionnaireResponse\",\n \"ReferralRequest\",\n \"RelatedPerson\",\n \"RequestGroup\",\n \"ResearchSubject\",\n \"RiskAssessment\",\n \"Schedule\",\n \"ServiceRequest\",\n \"Specimen\",\n \"SupplyDelivery\",\n \"SupplyRequest\",\n \"VisionPrescription\"\n];\n\n/**\n * Map of FHIR releases and their abstract version as number\n */\nexport const fhirVersions = {\n \"0.4.0\": 2,\n \"0.5.0\": 2,\n \"1.0.0\": 2,\n \"1.0.1\": 2,\n \"1.0.2\": 2,\n \"1.1.0\": 3,\n \"1.4.0\": 3,\n \"1.6.0\": 3,\n \"1.8.0\": 3,\n \"3.0.0\": 3,\n \"3.0.1\": 3,\n \"3.3.0\": 4,\n \"3.5.0\": 4,\n \"4.0.0\": 4,\n \"4.0.1\": 4\n};\n\n/**\n * Combined (FHIR R2-R4) list of search parameters that can be used to scope\n * a request by patient ID.\n */\nexport const patientParams = [\n \"patient\",\n \"subject\",\n \"requester\",\n \"member\",\n \"actor\",\n \"beneficiary\"\n];\n\n/**\n * The name of the sessionStorage entry that contains the current key\n */\nexport const SMART_KEY = \"SMART_KEY\";\n","/* global window */\nimport {\n debug as _debug,\n request,\n getPath,\n getTimeInFuture,\n randomString,\n getAndCache,\n fetchConformanceStatement,\n getAccessTokenExpiration,\n getTargetWindow,\n assert\n} from \"./lib\";\nimport Client from \"./Client\";\nimport { SMART_KEY } from \"./settings\";\nimport { fhirclient } from \"./types\";\n\nconst debug = _debug.extend(\"oauth2\");\n\nexport { SMART_KEY as KEY };\n\nfunction isBrowser() {\n return typeof window === \"object\";\n}\n\n/**\n * Fetches the well-known json file from the given base URL.\n * Note that the result is cached in memory (until the page is reloaded in the\n * browser) because it might have to be re-used by the client\n * @param baseUrl The base URL of the FHIR server\n */\nexport function fetchWellKnownJson(baseUrl = \"/\", requestOptions?: RequestInit): Promise\n{\n const url = String(baseUrl).replace(/\\/*$/, \"/\") + \".well-known/smart-configuration\";\n return getAndCache(url, requestOptions).catch((ex: Error) => {\n throw new Error(`Failed to fetch the well-known json \"${url}\". ${ex.message}`);\n });\n}\n\n/**\n * Fetch a \"WellKnownJson\" and extract the SMART endpoints from it\n */\nfunction getSecurityExtensionsFromWellKnownJson(baseUrl = \"/\", requestOptions?: RequestInit): Promise\n{\n return fetchWellKnownJson(baseUrl, requestOptions).then(meta => {\n if (!meta.authorization_endpoint || !meta.token_endpoint) {\n throw new Error(\"Invalid wellKnownJson\");\n }\n return {\n registrationUri : meta.registration_endpoint || \"\",\n authorizeUri : meta.authorization_endpoint,\n tokenUri : meta.token_endpoint,\n codeChallengeMethods: meta.code_challenge_methods_supported || []\n };\n });\n}\n\n/**\n * Fetch a `CapabilityStatement` and extract the SMART endpoints from it\n */\nfunction getSecurityExtensionsFromConformanceStatement(baseUrl = \"/\", requestOptions?: RequestInit): Promise\n{\n return fetchConformanceStatement(baseUrl, requestOptions).then(meta => {\n const nsUri = \"http://fhir-registry.smarthealthit.org/StructureDefinition/oauth-uris\";\n const extensions = ((getPath(meta || {}, \"rest.0.security.extension\") || []) as Array>)\n .filter(e => e.url === nsUri)\n .map(o => o.extension)[0];\n\n const out:fhirclient.OAuthSecurityExtensions = {\n registrationUri : \"\",\n authorizeUri : \"\",\n tokenUri : \"\",\n codeChallengeMethods: [],\n };\n\n if (extensions) {\n extensions.forEach(ext => {\n if (ext.url === \"register\") {\n out.registrationUri = ext.valueUri;\n }\n if (ext.url === \"authorize\") {\n out.authorizeUri = ext.valueUri;\n }\n if (ext.url === \"token\") {\n out.tokenUri = ext.valueUri;\n }\n });\n }\n\n return out;\n });\n}\n\n\n/**\n * Given a FHIR server, returns an object with it's Oauth security endpoints\n * that we are interested in. This will try to find the info in both the\n * `CapabilityStatement` and the `.well-known/smart-configuration`. Whatever\n * Arrives first will be used and the other request will be aborted.\n * @param [baseUrl = \"/\"] Fhir server base URL\n */\nexport function getSecurityExtensions(baseUrl = \"/\"): Promise\n{\n return getSecurityExtensionsFromWellKnownJson(baseUrl)\n .catch(() => getSecurityExtensionsFromConformanceStatement(baseUrl));\n}\n\n/**\n * Starts the SMART Launch Sequence.\n * > **IMPORTANT**:\n * `authorize()` will end up redirecting you to the authorization server.\n * This means that you should not add anything to the returned promise chain.\n * Any code written directly after the authorize() call might not be executed\n * due to that redirect!\n * @param env\n * @param [params]\n */\nexport async function authorize(\n env: fhirclient.Adapter,\n params: fhirclient.AuthorizeParams | fhirclient.AuthorizeParams[] = {}\n): Promise\n{\n const url = env.getUrl();\n\n // Multiple config for EHR launches ---------------------------------------\n if (Array.isArray(params)) {\n const urlISS = url.searchParams.get(\"iss\") || url.searchParams.get(\"fhirServiceUrl\");\n if (!urlISS) {\n throw new Error(\n 'Passing in an \"iss\" url parameter is required if authorize ' +\n 'uses multiple configurations'\n );\n }\n // pick the right config\n const cfg = params.find(x => {\n if (x.issMatch) {\n if (typeof x.issMatch === \"function\") {\n return !!x.issMatch(urlISS);\n }\n if (typeof x.issMatch === \"string\") {\n return x.issMatch === urlISS;\n }\n if (x.issMatch instanceof RegExp) {\n return x.issMatch.test(urlISS);\n }\n }\n return false;\n });\n assert(cfg, `No configuration found matching the current \"iss\" parameter \"${urlISS}\"`);\n return await authorize(env, cfg);\n }\n // ------------------------------------------------------------------------\n\n // Obtain input\n const {\n clientSecret,\n fakeTokenResponse,\n encounterId,\n target,\n width,\n height,\n pkceMode,\n clientPublicKeySetUrl,\n // Two deprecated values to use as fall-back values later\n redirect_uri,\n client_id,\n } = params;\n \n let {\n iss,\n launch,\n patientId,\n fhirServiceUrl,\n redirectUri,\n noRedirect,\n scope = \"\",\n clientId,\n completeInTarget,\n clientPrivateJwk,\n stateKey\n } = params;\n\n const storage = env.getStorage();\n\n // For these, a url param takes precedence over inline option\n iss = url.searchParams.get(\"iss\") || iss;\n fhirServiceUrl = url.searchParams.get(\"fhirServiceUrl\") || fhirServiceUrl;\n launch = url.searchParams.get(\"launch\") || launch;\n patientId = url.searchParams.get(\"patientId\") || patientId;\n clientId = url.searchParams.get(\"clientId\") || clientId;\n\n // If there's still no clientId or redirectUri, check deprecated params \n if (!clientId) {\n clientId = client_id;\n }\n if (!redirectUri) {\n redirectUri = redirect_uri;\n }\n\n if (!redirectUri) {\n redirectUri = env.relative(\".\");\n } else if (!redirectUri.match(/^https?\\:\\/\\//)) {\n redirectUri = env.relative(redirectUri);\n }\n\n const serverUrl = String(iss || fhirServiceUrl || \"\");\n\n // Validate input\n if (!serverUrl) {\n throw new Error(\n \"No server url found. It must be specified as `iss` or as \" +\n \"`fhirServiceUrl` parameter\"\n );\n }\n\n if (iss) {\n debug(\"Making %s launch...\", launch ? \"EHR\" : \"standalone\");\n }\n\n // append launch scope if needed\n if (launch && !scope.match(/launch/)) {\n scope += \" launch\";\n }\n\n if (isBrowser()) {\n const inFrame = isInFrame();\n const inPopUp = isInPopUp();\n\n if ((inFrame || inPopUp) && completeInTarget !== true && completeInTarget !== false) {\n \n // completeInTarget will default to true if authorize is called from\n // within an iframe. This is to avoid issues when the entire app\n // happens to be rendered in an iframe (including in some EHRs),\n // even though that was not how the app developer's intention.\n completeInTarget = inFrame;\n\n // In this case we can't always make the best decision so ask devs\n // to be explicit in their configuration.\n console.warn(\n 'Your app is being authorized from within an iframe or popup ' +\n 'window. Please be explicit and provide a \"completeInTarget\" ' +\n 'option. Use \"true\" to complete the authorization in the ' +\n 'same window, or \"false\" to try to complete it in the parent ' +\n 'or the opener window. See http://docs.smarthealthit.org/client-js/api.html'\n );\n }\n }\n\n // If `authorize` is called, make sure we clear any previous state (in case\n // this is a re-authorize)\n const oldKey = await storage.get(SMART_KEY);\n await storage.unset(oldKey);\n\n stateKey = stateKey ?? randomString(16);\n\n // Create initial state\n const state: fhirclient.ClientState = {\n clientId,\n scope,\n redirectUri,\n serverUrl,\n clientSecret,\n clientPrivateJwk,\n tokenResponse: {},\n key: stateKey,\n completeInTarget,\n clientPublicKeySetUrl\n };\n\n const fullSessionStorageSupport = isBrowser() ?\n getPath(env, \"options.fullSessionStorageSupport\") :\n true;\n\n if (fullSessionStorageSupport) {\n await storage.set(SMART_KEY, stateKey);\n }\n\n // fakeTokenResponse to override stuff (useful in development)\n if (fakeTokenResponse) {\n Object.assign(state.tokenResponse!, fakeTokenResponse);\n }\n\n // Fixed patientId (useful in development)\n if (patientId) {\n Object.assign(state.tokenResponse!, { patient: patientId });\n }\n\n // Fixed encounterId (useful in development)\n if (encounterId) {\n Object.assign(state.tokenResponse!, { encounter: encounterId });\n }\n\n let redirectUrl = redirectUri + \"?state=\" + encodeURIComponent(stateKey);\n\n // bypass oauth if fhirServiceUrl is used (but iss takes precedence)\n if (fhirServiceUrl && !iss) {\n debug(\"Making fake launch...\");\n await storage.set(stateKey, state);\n if (noRedirect) {\n return redirectUrl;\n }\n return await env.redirect(redirectUrl);\n }\n\n // Get oauth endpoints and add them to the state\n const extensions = await getSecurityExtensions(serverUrl);\n Object.assign(state, extensions);\n await storage.set(stateKey, state);\n\n // If this happens to be an open server and there is no authorizeUri\n if (!state.authorizeUri) {\n if (noRedirect) {\n return redirectUrl;\n }\n return await env.redirect(redirectUrl);\n }\n\n // build the redirect uri\n const redirectParams = [\n \"response_type=code\",\n \"client_id=\" + encodeURIComponent(clientId || \"\"),\n \"scope=\" + encodeURIComponent(scope),\n \"redirect_uri=\" + encodeURIComponent(redirectUri),\n \"aud=\" + encodeURIComponent(serverUrl),\n \"state=\" + encodeURIComponent(stateKey)\n ];\n\n // also pass this in case of EHR launch\n if (launch) {\n redirectParams.push(\"launch=\" + encodeURIComponent(launch));\n }\n\n if (shouldIncludeChallenge(extensions.codeChallengeMethods.includes('S256'), pkceMode)) {\n let codes = await env.security.generatePKCEChallenge()\n Object.assign(state, codes);\n await storage.set(stateKey, state);\n redirectParams.push(\"code_challenge=\" + state.codeChallenge);// note that the challenge is ALREADY encoded properly\n redirectParams.push(\"code_challenge_method=S256\");\n }\n \n redirectUrl = state.authorizeUri + \"?\" + redirectParams.join(\"&\");\n\n if (noRedirect) {\n return redirectUrl;\n }\n\n if (target && isBrowser()) {\n let win: Window;\n\n win = await getTargetWindow(target, width, height);\n\n if (win !== self) {\n try {\n // Also remove any old state from the target window and then\n // transfer the current state there\n win.sessionStorage.removeItem(oldKey);\n win.sessionStorage.setItem(stateKey, JSON.stringify(state));\n } catch (ex) {\n _debug(`Failed to modify window.sessionStorage. Perhaps it is from different origin?. Failing back to \"_self\". %s`, ex);\n win = self;\n }\n }\n\n if (win !== self) {\n try {\n win.location.href = redirectUrl;\n self.addEventListener(\"message\", onMessage);\n } catch (ex) {\n _debug(`Failed to modify window.location. Perhaps it is from different origin?. Failing back to \"_self\". %s`, ex);\n self.location.href = redirectUrl;\n }\n } else {\n self.location.href = redirectUrl;\n }\n\n return;\n }\n else {\n return await env.redirect(redirectUrl);\n }\n}\n\nfunction shouldIncludeChallenge(S256supported: boolean, pkceMode?: string) {\n if (pkceMode === \"disabled\") {\n return false;\n }\n if (pkceMode === \"unsafeV1\") {\n return true;\n }\n if (pkceMode === \"required\") {\n if (!S256supported) {\n throw new Error(\"Required PKCE code challenge method (`S256`) was not found in the server's codeChallengeMethods declaration.\");\n }\n return true;\n }\n return S256supported;\n}\n\n/**\n * Checks if called within a frame. Only works in browsers!\n * If the current window has a `parent` or `top` properties that refer to\n * another window, returns true. If trying to access `top` or `parent` throws an\n * error, returns true. Otherwise returns `false`.\n */\nexport function isInFrame() {\n try {\n return self !== top && parent !== self;\n } catch (e) {\n return true;\n }\n}\n\n/**\n * Checks if called within another window (popup or tab). Only works in browsers!\n * To consider itself called in a new window, this function verifies that:\n * 1. `self === top` (not in frame)\n * 2. `!!opener && opener !== self` The window has an opener\n * 3. `!!window.name` The window has a `name` set\n */\nexport function isInPopUp() {\n try {\n return self === top &&\n !!opener &&\n opener !== self &&\n !!window.name;\n } catch (e) {\n return false;\n }\n}\n\n/**\n * Another window can send a \"completeAuth\" message to this one, making it to\n * navigate to e.data.url\n * @param e The message event\n */\nexport function onMessage(e: MessageEvent) {\n if (e.data.type == \"completeAuth\" && e.origin === new URL(self.location.href).origin) {\n window.removeEventListener(\"message\", onMessage);\n window.location.href = e.data.url;\n }\n}\n\n/**\n * The ready function should only be called on the page that represents\n * the redirectUri. We typically land there after a redirect from the\n * authorization server, but this code will also be executed upon subsequent\n * navigation or page refresh.\n */\nexport async function ready(env: fhirclient.Adapter, options: fhirclient.ReadyOptions = {}): Promise\n{\n const url = env.getUrl();\n const Storage = env.getStorage();\n const params = url.searchParams;\n\n let key = params.get(\"state\");\n const code = params.get(\"code\");\n const authError = params.get(\"error\");\n const authErrorDescription = params.get(\"error_description\");\n\n if (!key) {\n key = await Storage.get(SMART_KEY);\n }\n\n // Start by checking the url for `error` and `error_description` parameters.\n // This happens when the auth server rejects our authorization attempt. In\n // this case it has no other way to tell us what the error was, other than\n // appending these parameters to the redirect url.\n // From client's point of view, this is not very reliable (because we can't\n // know how we have landed on this page - was it a redirect or was it loaded\n // manually). However, if `ready()` is being called, we can assume\n // that the url comes from the auth server (otherwise the app won't work\n // anyway).\n if (authError || authErrorDescription) {\n throw new Error([\n authError,\n authErrorDescription\n ].filter(Boolean).join(\": \"));\n }\n\n debug(\"key: %s, code: %s\", key, code);\n\n // key might be coming from the page url so it might be empty or missing\n assert(key, \"No 'state' parameter found. Please (re)launch the app.\");\n\n // Check if we have a previous state\n let state = (await Storage.get(key)) as fhirclient.ClientState;\n\n const fullSessionStorageSupport = isBrowser() ?\n getPath(env, \"options.fullSessionStorageSupport\") :\n true;\n\n // If we are in a popup window or an iframe and the authorization is\n // complete, send the location back to our opener and exit.\n if (isBrowser() && state && !state.completeInTarget) {\n\n const inFrame = isInFrame();\n const inPopUp = isInPopUp();\n\n // we are about to return to the opener/parent where completeAuth will\n // be called again. In rare cases the opener or parent might also be\n // a frame or popup. Then inFrame or inPopUp will be true but we still\n // have to stop going up the chain. To guard against that weird form of\n // recursion we pass one additional parameter to the url which we later\n // remove.\n if ((inFrame || inPopUp) && !url.searchParams.get(\"complete\")) {\n url.searchParams.set(\"complete\", \"1\");\n const { href, origin } = url;\n if (inFrame) {\n parent.postMessage({ type: \"completeAuth\", url: href }, origin);\n }\n if (inPopUp) {\n opener.postMessage({ type: \"completeAuth\", url: href }, origin);\n window.close();\n }\n\n return new Promise(() => { /* leave it pending!!! */ });\n }\n }\n\n url.searchParams.delete(\"complete\");\n\n // Do we have to remove the `code` and `state` params from the URL?\n const hasState = params.has(\"state\");\n\n if (isBrowser() && getPath(env, \"options.replaceBrowserHistory\") && (code || hasState)) {\n // `code` is the flag that tell us to request an access token.\n // We have to remove it, otherwise the page will authorize on\n // every load!\n if (code) {\n params.delete(\"code\");\n debug(\"Removed code parameter from the url.\");\n }\n\n // If we have `fullSessionStorageSupport` it means we no longer\n // need the `state` key. It will be stored to a well know\n // location - sessionStorage[SMART_KEY]. However, no\n // fullSessionStorageSupport means that this \"well know location\"\n // might be shared between windows and tabs. In this case we\n // MUST keep the `state` url parameter.\n if (hasState && fullSessionStorageSupport) {\n params.delete(\"state\");\n debug(\"Removed state parameter from the url.\");\n }\n\n // If the browser does not support the replaceState method for the\n // History Web API, the \"code\" parameter cannot be removed. As a\n // consequence, the page will (re)authorize on every load. The\n // workaround is to reload the page to new location without those\n // parameters. If that is not acceptable replaceBrowserHistory\n // should be set to false.\n if (window.history.replaceState) {\n window.history.replaceState({}, \"\", url.href);\n }\n }\n\n // If the state does not exist, it means the page has been loaded directly.\n assert(state, \"No state found! Please (re)launch the app.\");\n\n // Assume the client has already completed a token exchange when\n // there is no code (but we have a state) or access token is found in state\n const authorized = !code || state.tokenResponse?.access_token;\n\n // If we are authorized already, then this is just a reload.\n // Otherwise, we have to complete the code flow\n if (!authorized && state.tokenUri) {\n\n assert(code, \"'code' url parameter is required\");\n\n debug(\"Preparing to exchange the code for access token...\");\n const requestOptions = await buildTokenRequest(env, {\n code,\n state,\n clientPublicKeySetUrl: options.clientPublicKeySetUrl,\n privateKey: options.privateKey || state.clientPrivateJwk\n });\n debug(\"Token request options: %O\", requestOptions);\n\n // The EHR authorization server SHALL return a JSON structure that\n // includes an access token or a message indicating that the\n // authorization request has been denied.\n const tokenResponse = await request(state.tokenUri, requestOptions);\n debug(\"Token response: %O\", tokenResponse);\n assert(tokenResponse.access_token, \"Failed to obtain access token.\");\n\n // Now we need to determine when is this authorization going to expire\n state.expiresAt = getAccessTokenExpiration(tokenResponse, env);\n\n // save the tokenResponse so that we don't have to re-authorize on\n // every page reload\n state = { ...state, tokenResponse };\n await Storage.set(key, state);\n debug(\"Authorization successful!\");\n }\n else {\n debug(state.tokenResponse?.access_token ?\n \"Already authorized\" :\n \"No authorization needed\"\n );\n }\n\n if (fullSessionStorageSupport) {\n await Storage.set(SMART_KEY, key);\n }\n\n const client = new Client(env, state);\n debug(\"Created client instance: %O\", client);\n return client;\n}\n\n/**\n * Builds the token request options. Does not make the request, just\n * creates it's configuration and returns it in a Promise.\n */\nexport async function buildTokenRequest(\n env: fhirclient.Adapter,\n {\n code,\n state,\n clientPublicKeySetUrl,\n privateKey\n }: {\n /**\n * The `code` URL parameter received from the auth redirect\n */\n code: string,\n \n /**\n * The app state\n */\n state: fhirclient.ClientState\n\n /**\n * If provided overrides the `clientPublicKeySetUrl` from the authorize\n * options (if any). Used for `jku` token header in case of asymmetric auth.\n */\n clientPublicKeySetUrl?: string\n\n /**\n * Can be a private JWK, or an object with alg, kid and key properties,\n * where `key` is an un-extractable private CryptoKey object.\n */\n privateKey?: fhirclient.JWK | {\n key: CryptoKey\n alg: \"RS384\" | \"ES384\"\n kid: string\n }\n }\n): Promise\n{\n const { redirectUri, clientSecret, tokenUri, clientId, codeVerifier } = state;\n\n assert(redirectUri, \"Missing state.redirectUri\");\n assert(tokenUri, \"Missing state.tokenUri\");\n assert(clientId, \"Missing state.clientId\");\n\n const requestOptions: Record = {\n method: \"POST\",\n headers: { \"content-type\": \"application/x-www-form-urlencoded\" },\n body: `code=${code}&grant_type=authorization_code&redirect_uri=${\n encodeURIComponent(redirectUri)}`\n };\n\n // For public apps, authentication is not possible (and thus not required),\n // since a client with no secret cannot prove its identity when it issues a\n // call. (The end-to-end system can still be secure because the client comes\n // from a known, https protected endpoint specified and enforced by the\n // redirect uri.) For confidential apps, an Authorization header using HTTP\n // Basic authentication is required, where the username is the app’s\n // client_id and the password is the app’s client_secret (see example).\n if (clientSecret) {\n requestOptions.headers.authorization = \"Basic \" + env.btoa(\n clientId + \":\" + clientSecret\n );\n debug(\n \"Using state.clientSecret to construct the authorization header: %s\",\n requestOptions.headers.authorization\n );\n }\n \n // Asymmetric auth\n else if (privateKey) {\n\n const pk = \"key\" in privateKey ?\n privateKey.key as CryptoKey:\n await env.security.importJWK(privateKey as fhirclient.JWK)\n\n const jwtHeaders = {\n typ: \"JWT\",\n kid: privateKey.kid,\n jku: clientPublicKeySetUrl || state.clientPublicKeySetUrl\n };\n\n const jwtClaims = {\n iss: clientId,\n sub: clientId,\n aud: tokenUri,\n jti: env.base64urlencode(env.security.randomBytes(32)),\n exp: getTimeInFuture(120) // two minutes in the future\n };\n \n const clientAssertion = await env.security.signCompactJws(privateKey.alg, pk, jwtHeaders, jwtClaims);\n requestOptions.body += `&client_assertion_type=${encodeURIComponent(\"urn:ietf:params:oauth:client-assertion-type:jwt-bearer\")}`;\n requestOptions.body += `&client_assertion=${encodeURIComponent(clientAssertion)}`;\n debug(\"Using state.clientPrivateJwk to add a client_assertion to the POST body\")\n }\n \n // Public client\n else {\n debug(\"Public client detected; adding state.clientId to the POST body\");\n requestOptions.body += `&client_id=${encodeURIComponent(clientId)}`;\n }\n\n if (codeVerifier) {\n debug(\"Found state.codeVerifier, adding to the POST body\")\n // Note that the codeVerifier is ALREADY encoded properly \n requestOptions.body += \"&code_verifier=\" + codeVerifier;\n }\n \n return requestOptions as RequestInit;\n}\n\n/**\n * This function can be used when you want to handle everything in one page\n * (no launch endpoint needed). You can think of it as if it does:\n * ```js\n * authorize(options).then(ready)\n * ```\n *\n * **Be careful with init()!** There are some details you need to be aware of:\n *\n * 1. It will only work if your launch_uri is the same as your redirect_uri.\n * While this should be valid, we can’t promise that every EHR will allow you\n * to register client with such settings.\n * 2. Internally, `init()` will be called twice. First it will redirect to the\n * EHR, then the EHR will redirect back to the page where init() will be\n * called again to complete the authorization. This is generally fine,\n * because the returned promise will only be resolved once, after the second\n * execution, but please also consider the following:\n * - You should wrap all your app’s code in a function that is only executed\n * after `init()` resolves!\n * - Since the page will be loaded twice, you must be careful if your code\n * has global side effects that can persist between page reloads\n * (for example writing to localStorage).\n * 3. For standalone launch, only use init in combination with offline_access\n * scope. Once the access_token expires, if you don’t have a refresh_token\n * there is no way to re-authorize properly. We detect that and delete the\n * expired access token, but it still means that the user will have to\n * refresh the page twice to re-authorize.\n * @param env The adapter\n * @param authorizeOptions The authorize options\n */\nexport async function init(\n env: fhirclient.Adapter,\n authorizeOptions: fhirclient.AuthorizeParams,\n readyOptions?: fhirclient.ReadyOptions\n): Promise\n{\n const url = env.getUrl();\n const code = url.searchParams.get(\"code\");\n const state = url.searchParams.get(\"state\");\n\n // if `code` and `state` params are present we need to complete the auth flow\n if (code && state) {\n return ready(env, readyOptions);\n }\n\n // Check for existing client state. If state is found, it means a client\n // instance have already been created in this session and we should try to\n // \"revive\" it.\n const storage = env.getStorage();\n const key = state || await storage.get(SMART_KEY);\n const cached = await storage.get(key);\n if (cached) {\n return new Client(env, cached);\n }\n\n // Otherwise try to launch\n return authorize(env, authorizeOptions).then(() => {\n // `init` promises a Client but that cannot happen in this case. The\n // browser will be redirected (unload the page and be redirected back\n // to it later and the same init function will be called again). On\n // success, authorize will resolve with the redirect url but we don't\n // want to return that from this promise chain because it is not a\n // Client instance. At the same time, if authorize fails, we do want to\n // pass the error to those waiting for a client instance.\n return new Promise(() => { /* leave it pending!!! */ });\n });\n}\n","export default class Storage\n{\n /**\n * Gets the value at `key`. Returns a promise that will be resolved\n * with that value (or undefined for missing keys).\n */\n async get(key: string): Promise\n {\n const value = sessionStorage[key];\n if (value) {\n return JSON.parse(value);\n }\n return null;\n }\n\n /**\n * Sets the `value` on `key` and returns a promise that will be resolved\n * with the value that was set.\n */\n async set(key: string, value: any): Promise\n {\n sessionStorage[key] = JSON.stringify(value);\n return value;\n }\n\n /**\n * Deletes the value at `key`. Returns a promise that will be resolved\n * with true if the key was deleted or with false if it was not (eg. if\n * did not exist).\n */\n async unset(key: string): Promise\n {\n if (key in sessionStorage) {\n delete sessionStorage[key];\n return true;\n }\n return false;\n }\n\n}\n","// This map contains reusable debug messages (only those used in multiple places)\nexport default {\n expired : \"Session expired! Please re-launch the app\",\n noScopeForId : \"Trying to get the ID of the selected %s. Please add 'launch' or 'launch/%s' to the requested scopes and try again.\",\n noIfNoAuth : \"You are trying to get %s but the app is not authorized yet.\",\n noFreeContext: \"Please don't use open fhir servers if you need to access launch context items like the %S.\"\n};\n","/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\nexports.destroy = (() => {\n\tlet warned = false;\n\n\treturn () => {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t\t}\n\t};\n})();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\tlet m;\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)) && parseInt(m[1], 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.debug()` when available.\n * No-op when `console.debug` is not a \"function\".\n * If `console.debug` is not available, falls back\n * to `console.log`.\n *\n * @api public\n */\nexports.log = console.debug || console.log || (() => {});\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug');\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = require('ms');\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tlet i;\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n\t\tconst len = split.length;\n\n\t\tfor (i = 0; i < len; i++) {\n\t\t\tif (!split[i]) {\n\t\t\t\t// ignore empty strings\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tnamespaces = split[i].replace(/\\*/g, '.*?');\n\n\t\t\tif (namespaces[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(new RegExp('^' + namespaces.slice(1) + '$'));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(new RegExp('^' + namespaces + '$'));\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names.map(toNamespace),\n\t\t\t...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tif (name[name.length - 1] === '*') {\n\t\t\treturn true;\n\t\t}\n\n\t\tlet i;\n\t\tlet len;\n\n\t\tfor (i = 0, len = createDebug.skips.length; i < len; i++) {\n\t\t\tif (createDebug.skips[i].test(name)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (i = 0, len = createDebug.names.length; i < len; i++) {\n\t\t\tif (createDebug.names[i].test(name)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Convert regexp to namespace\n\t*\n\t* @param {RegExp} regxep\n\t* @return {String} namespace\n\t* @api private\n\t*/\n\tfunction toNamespace(regexp) {\n\t\treturn regexp.toString()\n\t\t\t.substring(2, regexp.toString().length - 2)\n\t\t\t.replace(/\\.\\*\\?$/, '*');\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n","//\n// THIS FILE IS AUTOMATICALLY GENERATED! DO NOT EDIT BY HAND!\n//\n;\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n ? module.exports = factory()\n : typeof define === 'function' && define.amd\n ? define(factory) :\n // cf. https://github.com/dankogai/js-base64/issues/119\n (function () {\n // existing version for noConflict()\n var _Base64 = global.Base64;\n var gBase64 = factory();\n gBase64.noConflict = function () {\n global.Base64 = _Base64;\n return gBase64;\n };\n if (global.Meteor) { // Meteor.js\n Base64 = gBase64;\n }\n global.Base64 = gBase64;\n })();\n}((typeof self !== 'undefined' ? self\n : typeof window !== 'undefined' ? window\n : typeof global !== 'undefined' ? global\n : this), function () {\n 'use strict';\n /**\n * base64.ts\n *\n * Licensed under the BSD 3-Clause License.\n * http://opensource.org/licenses/BSD-3-Clause\n *\n * References:\n * http://en.wikipedia.org/wiki/Base64\n *\n * @author Dan Kogai (https://github.com/dankogai)\n */\n var version = '3.7.7';\n /**\n * @deprecated use lowercase `version`.\n */\n var VERSION = version;\n var _hasBuffer = typeof Buffer === 'function';\n var _TD = typeof TextDecoder === 'function' ? new TextDecoder() : undefined;\n var _TE = typeof TextEncoder === 'function' ? new TextEncoder() : undefined;\n var b64ch = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n var b64chs = Array.prototype.slice.call(b64ch);\n var b64tab = (function (a) {\n var tab = {};\n a.forEach(function (c, i) { return tab[c] = i; });\n return tab;\n })(b64chs);\n var b64re = /^(?:[A-Za-z\\d+\\/]{4})*?(?:[A-Za-z\\d+\\/]{2}(?:==)?|[A-Za-z\\d+\\/]{3}=?)?$/;\n var _fromCC = String.fromCharCode.bind(String);\n var _U8Afrom = typeof Uint8Array.from === 'function'\n ? Uint8Array.from.bind(Uint8Array)\n : function (it) { return new Uint8Array(Array.prototype.slice.call(it, 0)); };\n var _mkUriSafe = function (src) { return src\n .replace(/=/g, '').replace(/[+\\/]/g, function (m0) { return m0 == '+' ? '-' : '_'; }); };\n var _tidyB64 = function (s) { return s.replace(/[^A-Za-z0-9\\+\\/]/g, ''); };\n /**\n * polyfill version of `btoa`\n */\n var btoaPolyfill = function (bin) {\n // console.log('polyfilled');\n var u32, c0, c1, c2, asc = '';\n var pad = bin.length % 3;\n for (var i = 0; i < bin.length;) {\n if ((c0 = bin.charCodeAt(i++)) > 255 ||\n (c1 = bin.charCodeAt(i++)) > 255 ||\n (c2 = bin.charCodeAt(i++)) > 255)\n throw new TypeError('invalid character found');\n u32 = (c0 << 16) | (c1 << 8) | c2;\n asc += b64chs[u32 >> 18 & 63]\n + b64chs[u32 >> 12 & 63]\n + b64chs[u32 >> 6 & 63]\n + b64chs[u32 & 63];\n }\n return pad ? asc.slice(0, pad - 3) + \"===\".substring(pad) : asc;\n };\n /**\n * does what `window.btoa` of web browsers do.\n * @param {String} bin binary string\n * @returns {string} Base64-encoded string\n */\n var _btoa = typeof btoa === 'function' ? function (bin) { return btoa(bin); }\n : _hasBuffer ? function (bin) { return Buffer.from(bin, 'binary').toString('base64'); }\n : btoaPolyfill;\n var _fromUint8Array = _hasBuffer\n ? function (u8a) { return Buffer.from(u8a).toString('base64'); }\n : function (u8a) {\n // cf. https://stackoverflow.com/questions/12710001/how-to-convert-uint8-array-to-base64-encoded-string/12713326#12713326\n var maxargs = 0x1000;\n var strs = [];\n for (var i = 0, l = u8a.length; i < l; i += maxargs) {\n strs.push(_fromCC.apply(null, u8a.subarray(i, i + maxargs)));\n }\n return _btoa(strs.join(''));\n };\n /**\n * converts a Uint8Array to a Base64 string.\n * @param {boolean} [urlsafe] URL-and-filename-safe a la RFC4648 §5\n * @returns {string} Base64 string\n */\n var fromUint8Array = function (u8a, urlsafe) {\n if (urlsafe === void 0) { urlsafe = false; }\n return urlsafe ? _mkUriSafe(_fromUint8Array(u8a)) : _fromUint8Array(u8a);\n };\n // This trick is found broken https://github.com/dankogai/js-base64/issues/130\n // const utob = (src: string) => unescape(encodeURIComponent(src));\n // reverting good old fationed regexp\n var cb_utob = function (c) {\n if (c.length < 2) {\n var cc = c.charCodeAt(0);\n return cc < 0x80 ? c\n : cc < 0x800 ? (_fromCC(0xc0 | (cc >>> 6))\n + _fromCC(0x80 | (cc & 0x3f)))\n : (_fromCC(0xe0 | ((cc >>> 12) & 0x0f))\n + _fromCC(0x80 | ((cc >>> 6) & 0x3f))\n + _fromCC(0x80 | (cc & 0x3f)));\n }\n else {\n var cc = 0x10000\n + (c.charCodeAt(0) - 0xD800) * 0x400\n + (c.charCodeAt(1) - 0xDC00);\n return (_fromCC(0xf0 | ((cc >>> 18) & 0x07))\n + _fromCC(0x80 | ((cc >>> 12) & 0x3f))\n + _fromCC(0x80 | ((cc >>> 6) & 0x3f))\n + _fromCC(0x80 | (cc & 0x3f)));\n }\n };\n var re_utob = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFFF]|[^\\x00-\\x7F]/g;\n /**\n * @deprecated should have been internal use only.\n * @param {string} src UTF-8 string\n * @returns {string} UTF-16 string\n */\n var utob = function (u) { return u.replace(re_utob, cb_utob); };\n //\n var _encode = _hasBuffer\n ? function (s) { return Buffer.from(s, 'utf8').toString('base64'); }\n : _TE\n ? function (s) { return _fromUint8Array(_TE.encode(s)); }\n : function (s) { return _btoa(utob(s)); };\n /**\n * converts a UTF-8-encoded string to a Base64 string.\n * @param {boolean} [urlsafe] if `true` make the result URL-safe\n * @returns {string} Base64 string\n */\n var encode = function (src, urlsafe) {\n if (urlsafe === void 0) { urlsafe = false; }\n return urlsafe\n ? _mkUriSafe(_encode(src))\n : _encode(src);\n };\n /**\n * converts a UTF-8-encoded string to URL-safe Base64 RFC4648 §5.\n * @returns {string} Base64 string\n */\n var encodeURI = function (src) { return encode(src, true); };\n // This trick is found broken https://github.com/dankogai/js-base64/issues/130\n // const btou = (src: string) => decodeURIComponent(escape(src));\n // reverting good old fationed regexp\n var re_btou = /[\\xC0-\\xDF][\\x80-\\xBF]|[\\xE0-\\xEF][\\x80-\\xBF]{2}|[\\xF0-\\xF7][\\x80-\\xBF]{3}/g;\n var cb_btou = function (cccc) {\n switch (cccc.length) {\n case 4:\n var cp = ((0x07 & cccc.charCodeAt(0)) << 18)\n | ((0x3f & cccc.charCodeAt(1)) << 12)\n | ((0x3f & cccc.charCodeAt(2)) << 6)\n | (0x3f & cccc.charCodeAt(3)), offset = cp - 0x10000;\n return (_fromCC((offset >>> 10) + 0xD800)\n + _fromCC((offset & 0x3FF) + 0xDC00));\n case 3:\n return _fromCC(((0x0f & cccc.charCodeAt(0)) << 12)\n | ((0x3f & cccc.charCodeAt(1)) << 6)\n | (0x3f & cccc.charCodeAt(2)));\n default:\n return _fromCC(((0x1f & cccc.charCodeAt(0)) << 6)\n | (0x3f & cccc.charCodeAt(1)));\n }\n };\n /**\n * @deprecated should have been internal use only.\n * @param {string} src UTF-16 string\n * @returns {string} UTF-8 string\n */\n var btou = function (b) { return b.replace(re_btou, cb_btou); };\n /**\n * polyfill version of `atob`\n */\n var atobPolyfill = function (asc) {\n // console.log('polyfilled');\n asc = asc.replace(/\\s+/g, '');\n if (!b64re.test(asc))\n throw new TypeError('malformed base64.');\n asc += '=='.slice(2 - (asc.length & 3));\n var u24, bin = '', r1, r2;\n for (var i = 0; i < asc.length;) {\n u24 = b64tab[asc.charAt(i++)] << 18\n | b64tab[asc.charAt(i++)] << 12\n | (r1 = b64tab[asc.charAt(i++)]) << 6\n | (r2 = b64tab[asc.charAt(i++)]);\n bin += r1 === 64 ? _fromCC(u24 >> 16 & 255)\n : r2 === 64 ? _fromCC(u24 >> 16 & 255, u24 >> 8 & 255)\n : _fromCC(u24 >> 16 & 255, u24 >> 8 & 255, u24 & 255);\n }\n return bin;\n };\n /**\n * does what `window.atob` of web browsers do.\n * @param {String} asc Base64-encoded string\n * @returns {string} binary string\n */\n var _atob = typeof atob === 'function' ? function (asc) { return atob(_tidyB64(asc)); }\n : _hasBuffer ? function (asc) { return Buffer.from(asc, 'base64').toString('binary'); }\n : atobPolyfill;\n //\n var _toUint8Array = _hasBuffer\n ? function (a) { return _U8Afrom(Buffer.from(a, 'base64')); }\n : function (a) { return _U8Afrom(_atob(a).split('').map(function (c) { return c.charCodeAt(0); })); };\n /**\n * converts a Base64 string to a Uint8Array.\n */\n var toUint8Array = function (a) { return _toUint8Array(_unURI(a)); };\n //\n var _decode = _hasBuffer\n ? function (a) { return Buffer.from(a, 'base64').toString('utf8'); }\n : _TD\n ? function (a) { return _TD.decode(_toUint8Array(a)); }\n : function (a) { return btou(_atob(a)); };\n var _unURI = function (a) { return _tidyB64(a.replace(/[-_]/g, function (m0) { return m0 == '-' ? '+' : '/'; })); };\n /**\n * converts a Base64 string to a UTF-8 string.\n * @param {String} src Base64 string. Both normal and URL-safe are supported\n * @returns {string} UTF-8 string\n */\n var decode = function (src) { return _decode(_unURI(src)); };\n /**\n * check if a value is a valid Base64 string\n * @param {String} src a value to check\n */\n var isValid = function (src) {\n if (typeof src !== 'string')\n return false;\n var s = src.replace(/\\s+/g, '').replace(/={0,2}$/, '');\n return !/[^\\s0-9a-zA-Z\\+/]/.test(s) || !/[^\\s0-9a-zA-Z\\-_]/.test(s);\n };\n //\n var _noEnum = function (v) {\n return {\n value: v, enumerable: false, writable: true, configurable: true\n };\n };\n /**\n * extend String.prototype with relevant methods\n */\n var extendString = function () {\n var _add = function (name, body) { return Object.defineProperty(String.prototype, name, _noEnum(body)); };\n _add('fromBase64', function () { return decode(this); });\n _add('toBase64', function (urlsafe) { return encode(this, urlsafe); });\n _add('toBase64URI', function () { return encode(this, true); });\n _add('toBase64URL', function () { return encode(this, true); });\n _add('toUint8Array', function () { return toUint8Array(this); });\n };\n /**\n * extend Uint8Array.prototype with relevant methods\n */\n var extendUint8Array = function () {\n var _add = function (name, body) { return Object.defineProperty(Uint8Array.prototype, name, _noEnum(body)); };\n _add('toBase64', function (urlsafe) { return fromUint8Array(this, urlsafe); });\n _add('toBase64URI', function () { return fromUint8Array(this, true); });\n _add('toBase64URL', function () { return fromUint8Array(this, true); });\n };\n /**\n * extend Builtin prototypes with relevant methods\n */\n var extendBuiltins = function () {\n extendString();\n extendUint8Array();\n };\n var gBase64 = {\n version: version,\n VERSION: VERSION,\n atob: _atob,\n atobPolyfill: atobPolyfill,\n btoa: _btoa,\n btoaPolyfill: btoaPolyfill,\n fromBase64: decode,\n toBase64: encode,\n encode: encode,\n encodeURI: encodeURI,\n encodeURL: encodeURI,\n utob: utob,\n btou: btou,\n decode: decode,\n isValid: isValid,\n fromUint8Array: fromUint8Array,\n toUint8Array: toUint8Array,\n extendString: extendString,\n extendUint8Array: extendUint8Array,\n extendBuiltins: extendBuiltins\n };\n //\n // export Base64 to the namespace\n //\n // ES5 is yet to have Object.assign() that may make transpilers unhappy.\n // gBase64.Base64 = Object.assign({}, gBase64);\n gBase64.Base64 = {};\n Object.keys(gBase64).forEach(function (k) { return gBase64.Base64[k] = gBase64[k]; });\n return gBase64;\n}));\n","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function(val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isFinite(val)) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'weeks':\n case 'week':\n case 'w':\n return n * w;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (msAbs >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (msAbs >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (msAbs >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return plural(ms, msAbs, d, 'day');\n }\n if (msAbs >= h) {\n return plural(ms, msAbs, h, 'hour');\n }\n if (msAbs >= m) {\n return plural(ms, msAbs, m, 'minute');\n }\n if (msAbs >= s) {\n return plural(ms, msAbs, s, 'second');\n }\n return ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, msAbs, n, name) {\n var isPlural = msAbs >= n * 1.5;\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\n","import './webcrypto-shim.mjs'\nexport default window.crypto\n","/**\n * @file Web Cryptography API shim\n * @author Artem S Vybornov \n * @license MIT\n */\n(function (global, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define([], function () {\n return factory(global);\n });\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports\n module.exports = factory(global);\n } else {\n factory(global);\n }\n}(typeof self !== 'undefined' ? self : this, function (global) {\n 'use strict';\n\n if ( typeof Promise !== 'function' )\n throw \"Promise support required\";\n\n var _crypto = global.crypto || global.msCrypto;\n if ( !_crypto ) return;\n\n var _subtle = _crypto.subtle || _crypto.webkitSubtle;\n if ( !_subtle ) return;\n\n var _Crypto = global.Crypto || _crypto.constructor || Object,\n _SubtleCrypto = global.SubtleCrypto || _subtle.constructor || Object,\n _CryptoKey = global.CryptoKey || global.Key || Object;\n\n var isEdge = global.navigator.userAgent.indexOf('Edge/') > -1;\n var isIE = !!global.msCrypto && !isEdge;\n var isWebkit = !_crypto.subtle && !!_crypto.webkitSubtle;\n if ( !isIE && !isWebkit ) return;\n\n function s2a ( s ) {\n return btoa(s).replace(/\\=+$/, '').replace(/\\+/g, '-').replace(/\\//g, '_');\n }\n\n function a2s ( s ) {\n s += '===', s = s.slice( 0, -s.length % 4 );\n return atob( s.replace(/-/g, '+').replace(/_/g, '/') );\n }\n\n function s2b ( s ) {\n var b = new Uint8Array(s.length);\n for ( var i = 0; i < s.length; i++ ) b[i] = s.charCodeAt(i);\n return b;\n }\n\n function b2s ( b ) {\n if ( b instanceof ArrayBuffer ) b = new Uint8Array(b);\n return String.fromCharCode.apply( String, b );\n }\n\n function alg ( a ) {\n var r = { 'name': (a.name || a || '').toUpperCase().replace('V','v') };\n switch ( r.name ) {\n case 'SHA-1':\n case 'SHA-256':\n case 'SHA-384':\n case 'SHA-512':\n break;\n case 'AES-CBC':\n case 'AES-GCM':\n case 'AES-KW':\n if ( a.length ) r['length'] = a.length;\n break;\n case 'HMAC':\n if ( a.hash ) r['hash'] = alg(a.hash);\n if ( a.length ) r['length'] = a.length;\n break;\n case 'RSAES-PKCS1-v1_5':\n if ( a.publicExponent ) r['publicExponent'] = new Uint8Array(a.publicExponent);\n if ( a.modulusLength ) r['modulusLength'] = a.modulusLength;\n break;\n case 'RSASSA-PKCS1-v1_5':\n case 'RSA-OAEP':\n if ( a.hash ) r['hash'] = alg(a.hash);\n if ( a.publicExponent ) r['publicExponent'] = new Uint8Array(a.publicExponent);\n if ( a.modulusLength ) r['modulusLength'] = a.modulusLength;\n break;\n default:\n throw new SyntaxError(\"Bad algorithm name\");\n }\n return r;\n };\n\n function jwkAlg ( a ) {\n return {\n 'HMAC': {\n 'SHA-1': 'HS1',\n 'SHA-256': 'HS256',\n 'SHA-384': 'HS384',\n 'SHA-512': 'HS512',\n },\n 'RSASSA-PKCS1-v1_5': {\n 'SHA-1': 'RS1',\n 'SHA-256': 'RS256',\n 'SHA-384': 'RS384',\n 'SHA-512': 'RS512',\n },\n 'RSAES-PKCS1-v1_5': {\n '': 'RSA1_5',\n },\n 'RSA-OAEP': {\n 'SHA-1': 'RSA-OAEP',\n 'SHA-256': 'RSA-OAEP-256',\n },\n 'AES-KW': {\n '128': 'A128KW',\n '192': 'A192KW',\n '256': 'A256KW',\n },\n 'AES-GCM': {\n '128': 'A128GCM',\n '192': 'A192GCM',\n '256': 'A256GCM',\n },\n 'AES-CBC': {\n '128': 'A128CBC',\n '192': 'A192CBC',\n '256': 'A256CBC',\n },\n }[a.name][ ( a.hash || {} ).name || a.length || '' ];\n }\n\n function b2jwk ( k ) {\n if ( k instanceof ArrayBuffer || k instanceof Uint8Array ) k = JSON.parse( decodeURIComponent( escape( b2s(k) ) ) );\n var jwk = { 'kty': k.kty, 'alg': k.alg, 'ext': k.ext || k.extractable };\n switch ( jwk.kty ) {\n case 'oct':\n jwk.k = k.k;\n case 'RSA':\n [ 'n', 'e', 'd', 'p', 'q', 'dp', 'dq', 'qi', 'oth' ].forEach( function ( x ) { if ( x in k ) jwk[x] = k[x] } );\n break;\n default:\n throw new TypeError(\"Unsupported key type\");\n }\n return jwk;\n }\n\n function jwk2b ( k ) {\n var jwk = b2jwk(k);\n if ( isIE ) jwk['extractable'] = jwk.ext, delete jwk.ext;\n return s2b( unescape( encodeURIComponent( JSON.stringify(jwk) ) ) ).buffer;\n }\n\n function pkcs2jwk ( k ) {\n var info = b2der(k), prv = false;\n if ( info.length > 2 ) prv = true, info.shift(); // remove version from PKCS#8 PrivateKeyInfo structure\n var jwk = { 'ext': true };\n switch ( info[0][0] ) {\n case '1.2.840.113549.1.1.1':\n var rsaComp = [ 'n', 'e', 'd', 'p', 'q', 'dp', 'dq', 'qi' ],\n rsaKey = b2der( info[1] );\n if ( prv ) rsaKey.shift(); // remove version from PKCS#1 RSAPrivateKey structure\n for ( var i = 0; i < rsaKey.length; i++ ) {\n if ( !rsaKey[i][0] ) rsaKey[i] = rsaKey[i].subarray(1);\n jwk[ rsaComp[i] ] = s2a( b2s( rsaKey[i] ) );\n }\n jwk['kty'] = 'RSA';\n break;\n default:\n throw new TypeError(\"Unsupported key type\");\n }\n return jwk;\n }\n\n function jwk2pkcs ( k ) {\n var key, info = [ [ '', null ] ], prv = false;\n switch ( k.kty ) {\n case 'RSA':\n var rsaComp = [ 'n', 'e', 'd', 'p', 'q', 'dp', 'dq', 'qi' ],\n rsaKey = [];\n for ( var i = 0; i < rsaComp.length; i++ ) {\n if ( !( rsaComp[i] in k ) ) break;\n var b = rsaKey[i] = s2b( a2s( k[ rsaComp[i] ] ) );\n if ( b[0] & 0x80 ) rsaKey[i] = new Uint8Array(b.length + 1), rsaKey[i].set( b, 1 );\n }\n if ( rsaKey.length > 2 ) prv = true, rsaKey.unshift( new Uint8Array([0]) ); // add version to PKCS#1 RSAPrivateKey structure\n info[0][0] = '1.2.840.113549.1.1.1';\n key = rsaKey;\n break;\n default:\n throw new TypeError(\"Unsupported key type\");\n }\n info.push( new Uint8Array( der2b(key) ).buffer );\n if ( !prv ) info[1] = { 'tag': 0x03, 'value': info[1] };\n else info.unshift( new Uint8Array([0]) ); // add version to PKCS#8 PrivateKeyInfo structure\n return new Uint8Array( der2b(info) ).buffer;\n }\n\n var oid2str = { 'KoZIhvcNAQEB': '1.2.840.113549.1.1.1' },\n str2oid = { '1.2.840.113549.1.1.1': 'KoZIhvcNAQEB' };\n\n function b2der ( buf, ctx ) {\n if ( buf instanceof ArrayBuffer ) buf = new Uint8Array(buf);\n if ( !ctx ) ctx = { pos: 0, end: buf.length };\n\n if ( ctx.end - ctx.pos < 2 || ctx.end > buf.length ) throw new RangeError(\"Malformed DER\");\n\n var tag = buf[ctx.pos++],\n len = buf[ctx.pos++];\n\n if ( len >= 0x80 ) {\n len &= 0x7f;\n if ( ctx.end - ctx.pos < len ) throw new RangeError(\"Malformed DER\");\n for ( var xlen = 0; len--; ) xlen <<= 8, xlen |= buf[ctx.pos++];\n len = xlen;\n }\n\n if ( ctx.end - ctx.pos < len ) throw new RangeError(\"Malformed DER\");\n\n var rv;\n\n switch ( tag ) {\n case 0x02: // Universal Primitive INTEGER\n rv = buf.subarray( ctx.pos, ctx.pos += len );\n break;\n case 0x03: // Universal Primitive BIT STRING\n if ( buf[ctx.pos++] ) throw new Error( \"Unsupported bit string\" );\n len--;\n case 0x04: // Universal Primitive OCTET STRING\n rv = new Uint8Array( buf.subarray( ctx.pos, ctx.pos += len ) ).buffer;\n break;\n case 0x05: // Universal Primitive NULL\n rv = null;\n break;\n case 0x06: // Universal Primitive OBJECT IDENTIFIER\n var oid = btoa( b2s( buf.subarray( ctx.pos, ctx.pos += len ) ) );\n if ( !( oid in oid2str ) ) throw new Error( \"Unsupported OBJECT ID \" + oid );\n rv = oid2str[oid];\n break;\n case 0x30: // Universal Constructed SEQUENCE\n rv = [];\n for ( var end = ctx.pos + len; ctx.pos < end; ) rv.push( b2der( buf, ctx ) );\n break;\n default:\n throw new Error( \"Unsupported DER tag 0x\" + tag.toString(16) );\n }\n\n return rv;\n }\n\n function der2b ( val, buf ) {\n if ( !buf ) buf = [];\n\n var tag = 0, len = 0,\n pos = buf.length + 2;\n\n buf.push( 0, 0 ); // placeholder\n\n if ( val instanceof Uint8Array ) { // Universal Primitive INTEGER\n tag = 0x02, len = val.length;\n for ( var i = 0; i < len; i++ ) buf.push( val[i] );\n }\n else if ( val instanceof ArrayBuffer ) { // Universal Primitive OCTET STRING\n tag = 0x04, len = val.byteLength, val = new Uint8Array(val);\n for ( var i = 0; i < len; i++ ) buf.push( val[i] );\n }\n else if ( val === null ) { // Universal Primitive NULL\n tag = 0x05, len = 0;\n }\n else if ( typeof val === 'string' && val in str2oid ) { // Universal Primitive OBJECT IDENTIFIER\n var oid = s2b( atob( str2oid[val] ) );\n tag = 0x06, len = oid.length;\n for ( var i = 0; i < len; i++ ) buf.push( oid[i] );\n }\n else if ( val instanceof Array ) { // Universal Constructed SEQUENCE\n for ( var i = 0; i < val.length; i++ ) der2b( val[i], buf );\n tag = 0x30, len = buf.length - pos;\n }\n else if ( typeof val === 'object' && val.tag === 0x03 && val.value instanceof ArrayBuffer ) { // Tag hint\n val = new Uint8Array(val.value), tag = 0x03, len = val.byteLength;\n buf.push(0); for ( var i = 0; i < len; i++ ) buf.push( val[i] );\n len++;\n }\n else {\n throw new Error( \"Unsupported DER value \" + val );\n }\n\n if ( len >= 0x80 ) {\n var xlen = len, len = 4;\n buf.splice( pos, 0, (xlen >> 24) & 0xff, (xlen >> 16) & 0xff, (xlen >> 8) & 0xff, xlen & 0xff );\n while ( len > 1 && !(xlen >> 24) ) xlen <<= 8, len--;\n if ( len < 4 ) buf.splice( pos, 4 - len );\n len |= 0x80;\n }\n\n buf.splice( pos - 2, 2, tag, len );\n\n return buf;\n }\n\n function CryptoKey ( key, alg, ext, use ) {\n Object.defineProperties( this, {\n _key: {\n value: key\n },\n type: {\n value: key.type,\n enumerable: true,\n },\n extractable: {\n value: (ext === undefined) ? key.extractable : ext,\n enumerable: true,\n },\n algorithm: {\n value: (alg === undefined) ? key.algorithm : alg,\n enumerable: true,\n },\n usages: {\n value: (use === undefined) ? key.usages : use,\n enumerable: true,\n },\n });\n }\n\n function isPubKeyUse ( u ) {\n return u === 'verify' || u === 'encrypt' || u === 'wrapKey';\n }\n\n function isPrvKeyUse ( u ) {\n return u === 'sign' || u === 'decrypt' || u === 'unwrapKey';\n }\n\n [ 'generateKey', 'importKey', 'unwrapKey' ]\n .forEach( function ( m ) {\n var _fn = _subtle[m];\n\n _subtle[m] = function ( a, b, c ) {\n var args = [].slice.call(arguments),\n ka, kx, ku;\n\n switch ( m ) {\n case 'generateKey':\n ka = alg(a), kx = b, ku = c;\n break;\n case 'importKey':\n ka = alg(c), kx = args[3], ku = args[4];\n if ( a === 'jwk' ) {\n b = b2jwk(b);\n if ( !b.alg ) b.alg = jwkAlg(ka);\n if ( !b.key_ops ) b.key_ops = ( b.kty !== 'oct' ) ? ( 'd' in b ) ? ku.filter(isPrvKeyUse) : ku.filter(isPubKeyUse) : ku.slice();\n args[1] = jwk2b(b);\n }\n break;\n case 'unwrapKey':\n ka = args[4], kx = args[5], ku = args[6];\n args[2] = c._key;\n break;\n }\n\n if ( m === 'generateKey' && ka.name === 'HMAC' && ka.hash ) {\n ka.length = ka.length || { 'SHA-1': 512, 'SHA-256': 512, 'SHA-384': 1024, 'SHA-512': 1024 }[ka.hash.name];\n return _subtle.importKey( 'raw', _crypto.getRandomValues( new Uint8Array( (ka.length+7)>>3 ) ), ka, kx, ku );\n }\n\n if ( isWebkit && m === 'generateKey' && ka.name === 'RSASSA-PKCS1-v1_5' && ( !ka.modulusLength || ka.modulusLength >= 2048 ) ) {\n a = alg(a), a.name = 'RSAES-PKCS1-v1_5', delete a.hash;\n return _subtle.generateKey( a, true, [ 'encrypt', 'decrypt' ] )\n .then( function ( k ) {\n return Promise.all([\n _subtle.exportKey( 'jwk', k.publicKey ),\n _subtle.exportKey( 'jwk', k.privateKey ),\n ]);\n })\n .then( function ( keys ) {\n keys[0].alg = keys[1].alg = jwkAlg(ka);\n keys[0].key_ops = ku.filter(isPubKeyUse), keys[1].key_ops = ku.filter(isPrvKeyUse);\n return Promise.all([\n _subtle.importKey( 'jwk', keys[0], ka, true, keys[0].key_ops ),\n _subtle.importKey( 'jwk', keys[1], ka, kx, keys[1].key_ops ),\n ]);\n })\n .then( function ( keys ) {\n return {\n publicKey: keys[0],\n privateKey: keys[1],\n };\n });\n }\n\n if ( ( isWebkit || ( isIE && ( ka.hash || {} ).name === 'SHA-1' ) )\n && m === 'importKey' && a === 'jwk' && ka.name === 'HMAC' && b.kty === 'oct' ) {\n return _subtle.importKey( 'raw', s2b( a2s(b.k) ), c, args[3], args[4] );\n }\n\n if ( isWebkit && m === 'importKey' && ( a === 'spki' || a === 'pkcs8' ) ) {\n return _subtle.importKey( 'jwk', pkcs2jwk(b), c, args[3], args[4] );\n }\n\n if ( isIE && m === 'unwrapKey' ) {\n return _subtle.decrypt( args[3], c, b )\n .then( function ( k ) {\n return _subtle.importKey( a, k, args[4], args[5], args[6] );\n });\n }\n\n var op;\n try {\n op = _fn.apply( _subtle, args );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n if ( isIE ) {\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) { rej(e) };\n op.oncomplete = function ( r ) { res(r.target.result) };\n });\n }\n\n op = op.then( function ( k ) {\n if ( ka.name === 'HMAC' ) {\n if ( !ka.length ) ka.length = 8 * k.algorithm.length;\n }\n if ( ka.name.search('RSA') == 0 ) {\n if ( !ka.modulusLength ) ka.modulusLength = (k.publicKey || k).algorithm.modulusLength;\n if ( !ka.publicExponent ) ka.publicExponent = (k.publicKey || k).algorithm.publicExponent;\n }\n if ( k.publicKey && k.privateKey ) {\n k = {\n publicKey: new CryptoKey( k.publicKey, ka, kx, ku.filter(isPubKeyUse) ),\n privateKey: new CryptoKey( k.privateKey, ka, kx, ku.filter(isPrvKeyUse) ),\n };\n }\n else {\n k = new CryptoKey( k, ka, kx, ku );\n }\n return k;\n });\n\n return op;\n }\n });\n\n [ 'exportKey', 'wrapKey' ]\n .forEach( function ( m ) {\n var _fn = _subtle[m];\n\n _subtle[m] = function ( a, b, c ) {\n var args = [].slice.call(arguments);\n\n switch ( m ) {\n case 'exportKey':\n args[1] = b._key;\n break;\n case 'wrapKey':\n args[1] = b._key, args[2] = c._key;\n break;\n }\n\n if ( ( isWebkit || ( isIE && ( b.algorithm.hash || {} ).name === 'SHA-1' ) )\n && m === 'exportKey' && a === 'jwk' && b.algorithm.name === 'HMAC' ) {\n args[0] = 'raw';\n }\n\n if ( isWebkit && m === 'exportKey' && ( a === 'spki' || a === 'pkcs8' ) ) {\n args[0] = 'jwk';\n }\n\n if ( isIE && m === 'wrapKey' ) {\n return _subtle.exportKey( a, b )\n .then( function ( k ) {\n if ( a === 'jwk' ) k = s2b( unescape( encodeURIComponent( JSON.stringify( b2jwk(k) ) ) ) );\n return _subtle.encrypt( args[3], c, k );\n });\n }\n\n var op;\n try {\n op = _fn.apply( _subtle, args );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n if ( isIE ) {\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) { rej(e) };\n op.oncomplete = function ( r ) { res(r.target.result) };\n });\n }\n\n if ( m === 'exportKey' && a === 'jwk' ) {\n op = op.then( function ( k ) {\n if ( ( isWebkit || ( isIE && ( b.algorithm.hash || {} ).name === 'SHA-1' ) )\n && b.algorithm.name === 'HMAC') {\n return { 'kty': 'oct', 'alg': jwkAlg(b.algorithm), 'key_ops': b.usages.slice(), 'ext': true, 'k': s2a( b2s(k) ) };\n }\n k = b2jwk(k);\n if ( !k.alg ) k['alg'] = jwkAlg(b.algorithm);\n if ( !k.key_ops ) k['key_ops'] = ( b.type === 'public' ) ? b.usages.filter(isPubKeyUse) : ( b.type === 'private' ) ? b.usages.filter(isPrvKeyUse) : b.usages.slice();\n return k;\n });\n }\n\n if ( isWebkit && m === 'exportKey' && ( a === 'spki' || a === 'pkcs8' ) ) {\n op = op.then( function ( k ) {\n k = jwk2pkcs( b2jwk(k) );\n return k;\n });\n }\n\n return op;\n }\n });\n\n [ 'encrypt', 'decrypt', 'sign', 'verify' ]\n .forEach( function ( m ) {\n var _fn = _subtle[m];\n\n _subtle[m] = function ( a, b, c, d ) {\n if ( isIE && ( !c.byteLength || ( d && !d.byteLength ) ) )\n throw new Error(\"Empy input is not allowed\");\n\n var args = [].slice.call(arguments),\n ka = alg(a);\n\n if ( isIE && m === 'decrypt' && ka.name === 'AES-GCM' ) {\n var tl = a.tagLength >> 3;\n args[2] = (c.buffer || c).slice( 0, c.byteLength - tl ),\n a.tag = (c.buffer || c).slice( c.byteLength - tl );\n }\n\n args[1] = b._key;\n\n var op;\n try {\n op = _fn.apply( _subtle, args );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n if ( isIE ) {\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) {\n rej(e);\n };\n\n op.oncomplete = function ( r ) {\n var r = r.target.result;\n\n if ( m === 'encrypt' && r instanceof AesGcmEncryptResult ) {\n var c = r.ciphertext, t = r.tag;\n r = new Uint8Array( c.byteLength + t.byteLength );\n r.set( new Uint8Array(c), 0 );\n r.set( new Uint8Array(t), c.byteLength );\n r = r.buffer;\n }\n\n res(r);\n };\n });\n }\n\n return op;\n }\n });\n\n if ( isIE ) {\n var _digest = _subtle.digest;\n\n _subtle['digest'] = function ( a, b ) {\n if ( !b.byteLength )\n throw new Error(\"Empy input is not allowed\");\n\n var op;\n try {\n op = _digest.call( _subtle, a, b );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) { rej(e) };\n op.oncomplete = function ( r ) { res(r.target.result) };\n });\n\n return op;\n };\n\n global.crypto = Object.create( _crypto, {\n getRandomValues: { value: function ( a ) { return _crypto.getRandomValues(a) } },\n subtle: { value: _subtle },\n });\n\n global.CryptoKey = CryptoKey;\n }\n\n if ( isWebkit ) {\n _crypto.subtle = _subtle;\n\n global.Crypto = _Crypto;\n global.SubtleCrypto = _SubtleCrypto;\n global.CryptoKey = CryptoKey;\n }\n}));\n\n export default {} // section modified by isomorphic-webcrypto build \n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(952);\n"],"names":["lib_1","require","strings_1","settings_1","Response","window","debug","extend","resolveRefs","obj","fhirOptions","cache","client","requestOptions","paths","makeArray","resolveReferences","filter","Boolean","map","path","String","trim","p","i","indexOf","length","Promise","resolve","groups","forEach","len","split","push","task","Object","keys","sort","group","then","all","graph","node","getPath","isArray","Array","item","ref","reference","refId","signal","headers","request","url","res","error","getRef","sub","setPath","replace","catch","ex","status","resolveRef","exports","constructor","environment","state","units","_state","serverUrl","assert","match","this","_refreshTask","patient","id","getPatientId","read","reject","Error","options","async","base","absolute","contextualURL","_url","resourceType","pathname","pop","patientCompartment","conformance","fetchConformanceStatement","searchParam","getPatientParam","searchParams","set","href","URL","contextualize","encounter","getEncounterId","user","fhirUser","getFhirUser","getUserId","getUserType","connect","fhir","fhirJs","baseUrl","accessToken","getState","auth","token","username","password","pass","api","patientId","tokenResponse","scope","default","noScopeForId","authorizeUri","noIfNoAuth","noFreeContext","getIdToken","idToken","id_token","hasOpenid","hasProfile","hasFhirUser","jwtDecode","slice","join","profile","getAuthorizationHeader","btoa","_clearState","storage","getStorage","key","get","SMART_KEY","unset","create","resource","method","body","JSON","stringify","update","delete","patch","assertJsonPatch","_resolvedRefs","debugRequest","flat","pageLimit","_a","useRefreshToken","onPage","undefined","response","refreshIfNeeded","authHeader","authorization","result","includeResponse","message","expired","data","_data","entry","links","link","next","find","l","relation","nextPage","assign","references","concat","refreshToken","expiresAt","Date","now","refresh","debugRefresh","_b","refresh_token","tokenUri","scopes","hasOfflineAccess","search","hasOnlineAccess","encodeURIComponent","refreshTokenWithClientId","clientId","refreshRequestOptions","credentials","refreshTokenWithCredentials","mode","clientSecret","access_token","getAccessTokenExpiration","finally","byCode","observations","property","byCodes","getFhirVersion","metadata","fhirVersion","getFhirRelease","v","fhirVersions","HttpError","super","statusText","name","statusCode","parse","bodyUsed","type","json","error_description","text","toJSON","smart_1","Client_1","BrowserStorage_1","security","js_base64_1","_storage","replaceBrowserHistory","fullSessionStorageSupport","relative","getUrl","location","redirect","to","getAbortController","AbortController","atob","str","base64urlencode","input","encodeURL","fromUint8Array","base64urldecode","decode","getSmartApi","ready","args","authorize","init","utils","adapter","FHIR","oauth2","settings","module","HttpError_1","fetch","_debug","ensureNumerical","value","code","checkResponse","resp","ok","responseToJSON","loweCaseKeys","out","lowerKey","toLowerCase","accept","getAndCache","force","process","segments","shift","o","arg","env","payload","ret","handleCodeableConcept","concept","observation","coding","condition","cm","kg","any","pq","createEmpty","reduce","idx","arr","strLength","charSet","charAt","Math","floor","random","secondsAhead","from","expires_in","tokenBody","exp","bank","codes","prev","meta","r","x","patientParams","target","width","height","self","parent","top","targetWindow","open","e","screen","frames","operation","op","crypto","globalThis","subtle","isSecureContext","ALGS","ES384","namedCurve","RS384","modulusLength","publicExponent","Uint8Array","hash","randomBytes","count","getRandomValues","digestSha256","prepared","TextEncoder","encode","digest","entropy","inputBytes","codeVerifier","codeChallenge","jwk","alg","key_ops","includes","importKey","ext","privateKey","header","jwtHeader","jwtPayload","jwtAuthenticatedContent","signature","sign","algorithm","enumerable","isBrowser","fetchWellKnownJson","getSecurityExtensions","authorization_endpoint","token_endpoint","registrationUri","registration_endpoint","codeChallengeMethods","code_challenge_methods_supported","getSecurityExtensionsFromWellKnownJson","extensions","extension","valueUri","getSecurityExtensionsFromConformanceStatement","params","urlISS","cfg","issMatch","RegExp","test","fakeTokenResponse","encounterId","pkceMode","clientPublicKeySetUrl","redirect_uri","client_id","iss","launch","fhirServiceUrl","redirectUri","noRedirect","completeInTarget","clientPrivateJwk","stateKey","inFrame","isInFrame","inPopUp","isInPopUp","console","warn","oldKey","randomString","redirectUrl","redirectParams","S256supported","shouldIncludeChallenge","generatePKCEChallenge","win","getTargetWindow","sessionStorage","removeItem","setItem","addEventListener","onMessage","opener","origin","removeEventListener","Storage","authError","authErrorDescription","postMessage","close","hasState","has","history","replaceState","buildTokenRequest","pk","importJWK","jwtHeaders","typ","kid","jku","jwtClaims","aud","jti","getTimeInFuture","clientAssertion","signCompactJws","authorizeOptions","readyOptions","cached","formatArgs","useColors","namespace","humanize","diff","c","color","splice","index","lastC","save","namespaces","load","getItem","DEBUG","__nwjs","navigator","userAgent","m","document","documentElement","style","WebkitAppearance","firebug","exception","table","parseInt","localStorage","localstorage","destroy","warned","colors","log","formatters","j","createDebug","prevTime","namespacesCache","enabledCache","enableOverride","enabled","curr","Number","ms","coerce","unshift","format","formatter","val","call","apply","selectColor","defineProperty","configurable","delimiter","newDebug","toNamespace","regexp","toString","substring","stack","disable","names","skips","enable","charCodeAt","abs","g","tab","version","VERSION","_hasBuffer","Buffer","_TD","TextDecoder","_TE","b64chs","prototype","b64tab","b64re","_fromCC","fromCharCode","bind","_U8Afrom","it","_mkUriSafe","src","m0","_tidyB64","s","btoaPolyfill","bin","u32","c0","c1","c2","asc","pad","TypeError","_btoa","_fromUint8Array","u8a","strs","subarray","urlsafe","cb_utob","cc","re_utob","utob","u","_encode","encodeURI","re_btou","cb_btou","cccc","offset","btou","b","atobPolyfill","u24","r1","r2","_atob","_toUint8Array","a","toUint8Array","_unURI","_decode","_noEnum","writable","extendString","_add","extendUint8Array","gBase64","fromBase64","toBase64","isValid","extendBuiltins","k","Base64","factory","h","d","w","plural","msAbs","n","isPlural","round","exec","parseFloat","isFinite","long","fmtShort","global","_crypto","msCrypto","_subtle","webkitSubtle","_Crypto","Crypto","_SubtleCrypto","SubtleCrypto","isEdge","CryptoKey","Key","isIE","isWebkit","oid2str","str2oid","_fn","ka","kx","ku","arguments","b2jwk","jwkAlg","kty","isPrvKeyUse","isPubKeyUse","s2b","unescape","buffer","_key","generateKey","exportKey","publicKey","a2s","info","b2der","prv","rsaComp","rsaKey","s2a","b2s","pkcs2jwk","decrypt","rej","onabort","onerror","oncomplete","encrypt","usages","der2b","jwk2pkcs","byteLength","tl","tagLength","tag","AesGcmEncryptResult","ciphertext","t","_digest","ArrayBuffer","toUpperCase","SyntaxError","decodeURIComponent","escape","extractable","buf","ctx","pos","end","RangeError","rv","xlen","oid","use","defineProperties","define","amd","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","definition","Function","prop","hasOwnProperty","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"fhir-client.pure.min.js","mappings":"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","sources":["webpack://FHIR/./src/Client.ts","webpack://FHIR/./src/HttpError.ts","webpack://FHIR/./src/adapters/BrowserAdapter.ts","webpack://FHIR/./src/entry/browser.ts","webpack://FHIR/./src/lib.ts","webpack://FHIR/./src/security/browser.ts","webpack://FHIR/./src/settings.ts","webpack://FHIR/./src/smart.ts","webpack://FHIR/./src/storage/BrowserStorage.ts","webpack://FHIR/./src/strings.ts","webpack://FHIR/./node_modules/debug/src/browser.js","webpack://FHIR/./node_modules/debug/src/common.js","webpack://FHIR/./node_modules/js-base64/base64.js","webpack://FHIR/./node_modules/ms/index.js","webpack://FHIR/./node_modules/isomorphic-webcrypto/src/browser.mjs","webpack://FHIR/./node_modules/isomorphic-webcrypto/src/webcrypto-shim.mjs","webpack://FHIR/webpack/bootstrap","webpack://FHIR/webpack/runtime/define property getters","webpack://FHIR/webpack/runtime/global","webpack://FHIR/webpack/runtime/hasOwnProperty shorthand","webpack://FHIR/webpack/startup"],"sourcesContent":["import {\r\n absolute,\r\n debug as _debug,\r\n getPath,\r\n setPath,\r\n jwtDecode,\r\n makeArray,\r\n request,\r\n byCode,\r\n byCodes,\r\n units,\r\n getPatientParam,\r\n fetchConformanceStatement,\r\n getAccessTokenExpiration,\r\n assertJsonPatch,\r\n assert\r\n} from \"./lib\";\r\n\r\nimport str from \"./strings\";\r\nimport { SMART_KEY, patientCompartment, fhirVersions } from \"./settings\";\r\nimport HttpError from \"./HttpError\";\r\nimport BrowserAdapter from \"./adapters/BrowserAdapter\";\r\nimport { fhirclient } from \"./types\";\r\n\r\n// $lab:coverage:off$\r\n// @ts-ignore\r\nconst { Response } = typeof FHIRCLIENT_PURE !== \"undefined\" ? window : require(\"cross-fetch\");\r\n// $lab:coverage:on$\r\n\r\nconst debug = _debug.extend(\"client\");\r\n\r\n/**\r\n * Adds patient context to requestOptions object to be used with [[Client.request]]\r\n * @param requestOptions Can be a string URL (relative to the serviceUrl), or an\r\n * object which will be passed to fetch()\r\n * @param client Current FHIR client object containing patient context\r\n * @return requestOptions object contextualized to current patient\r\n */\r\nasync function contextualize(\r\n requestOptions: string | URL | fhirclient.RequestOptions,\r\n client: Client\r\n): Promise\r\n{\r\n const base = absolute(\"/\", client.state.serverUrl);\r\n\r\n async function contextualURL(_url: URL) {\r\n const resourceType = _url.pathname.split(\"/\").pop();\r\n assert(resourceType, `Invalid url \"${_url}\"`);\r\n assert(patientCompartment.indexOf(resourceType) > -1, `Cannot filter \"${resourceType}\" resources by patient`);\r\n const conformance = await fetchConformanceStatement(client.state.serverUrl);\r\n const searchParam = getPatientParam(conformance, resourceType);\r\n _url.searchParams.set(searchParam, client.patient.id as string);\r\n return _url.href;\r\n }\r\n\r\n if (typeof requestOptions == \"string\" || requestOptions instanceof URL) {\r\n return { url: await contextualURL(new URL(requestOptions + \"\", base)) };\r\n }\r\n\r\n requestOptions.url = await contextualURL(new URL(requestOptions.url + \"\", base));\r\n return requestOptions;\r\n}\r\n\r\n/**\r\n * Gets single reference by id. Caches the result.\r\n * @param refId\r\n * @param cache A map to store the resolved refs\r\n * @param client The client instance\r\n * @param requestOptions Only signal and headers are currently used if provided\r\n * @returns The resolved reference\r\n * @private\r\n */\r\nfunction getRef(\r\n refId: string,\r\n cache: Record,\r\n client: Client,\r\n requestOptions: RequestInit\r\n): Promise {\r\n if (!cache[refId]) {\r\n\r\n const { signal, headers } = requestOptions;\r\n\r\n // Note that we set cache[refId] immediately! When the promise is\r\n // settled it will be updated. This is to avoid a ref being fetched\r\n // twice because some of these requests are executed in parallel.\r\n cache[refId] = client.request({\r\n url: refId,\r\n headers,\r\n signal\r\n }).then(res => {\r\n cache[refId] = res;\r\n return res;\r\n }, (error: Error) => {\r\n delete cache[refId];\r\n throw error;\r\n });\r\n }\r\n\r\n return Promise.resolve(cache[refId]);\r\n}\r\n\r\n/**\r\n * Resolves a reference in the given resource.\r\n * @param obj FHIR Resource\r\n */\r\nfunction resolveRef(\r\n obj: fhirclient.FHIR.Resource,\r\n path: string,\r\n graph: boolean,\r\n cache: fhirclient.JsonObject,\r\n client: Client,\r\n requestOptions: fhirclient.RequestOptions\r\n) {\r\n const node = getPath(obj, path);\r\n if (node) {\r\n const isArray = Array.isArray(node);\r\n return Promise.all(makeArray(node).filter(Boolean).map((item, i) => {\r\n const ref = item.reference;\r\n if (ref) {\r\n return getRef(ref, cache, client, requestOptions).then(sub => {\r\n if (graph) {\r\n if (isArray) {\r\n if (path.indexOf(\"..\") > -1) {\r\n setPath(obj, `${path.replace(\"..\", `.${i}.`)}`, sub); \r\n } else {\r\n setPath(obj, `${path}.${i}`, sub);\r\n }\r\n } else {\r\n setPath(obj, path, sub);\r\n }\r\n }\r\n }).catch((ex) => {\r\n /* ignore missing references */\r\n if (ex.status !== 404) {\r\n throw ex;\r\n }\r\n });\r\n }\r\n }));\r\n }\r\n}\r\n\r\n/**\r\n * Given a resource and a list of ref paths - resolves them all\r\n * @param obj FHIR Resource\r\n * @param fhirOptions The fhir options of the initiating request call\r\n * @param cache A map to store fetched refs\r\n * @param client The client instance\r\n * @private\r\n */\r\nfunction resolveRefs(\r\n obj: fhirclient.FHIR.Resource,\r\n fhirOptions: fhirclient.FhirOptions,\r\n cache: fhirclient.JsonObject,\r\n client: Client,\r\n requestOptions: fhirclient.RequestOptions\r\n) {\r\n\r\n // 1. Sanitize paths, remove any invalid ones\r\n let paths = makeArray(fhirOptions.resolveReferences)\r\n .filter(Boolean) // No false, 0, null, undefined or \"\"\r\n .map(path => String(path).trim())\r\n .filter(Boolean); // No space-only strings\r\n\r\n // 2. Remove duplicates\r\n paths = paths.filter((p, i) => {\r\n const index = paths.indexOf(p, i + 1);\r\n if (index > -1) {\r\n debug(\"Duplicated reference path \\\"%s\\\"\", p);\r\n return false;\r\n }\r\n return true;\r\n });\r\n\r\n // 3. Early exit if no valid paths are found\r\n if (!paths.length) {\r\n return Promise.resolve();\r\n }\r\n\r\n // 4. Group the paths by depth so that child refs are looked up\r\n // after their parents!\r\n const groups: Record = {};\r\n paths.forEach(path => {\r\n const len = path.split(\".\").length;\r\n if (!groups[len]) {\r\n groups[len] = [];\r\n }\r\n groups[len].push(path);\r\n });\r\n\r\n // 5. Execute groups sequentially! Paths within same group are\r\n // fetched in parallel!\r\n let task: Promise = Promise.resolve();\r\n Object.keys(groups).sort().forEach(len => {\r\n const group = groups[len];\r\n task = task.then(() => Promise.all(group.map((path: string) => {\r\n return resolveRef(obj, path, !!fhirOptions.graph, cache, client, requestOptions);\r\n })));\r\n });\r\n return task;\r\n}\r\n\r\n/**\r\n * This is a FHIR client that is returned to you from the `ready()` call of the\r\n * **SMART API**. You can also create it yourself if needed:\r\n *\r\n * ```js\r\n * // BROWSER\r\n * const client = FHIR.client(\"https://r4.smarthealthit.org\");\r\n *\r\n * // SERVER\r\n * const client = smart(req, res).client(\"https://r4.smarthealthit.org\");\r\n * ```\r\n */\r\nexport default class Client\r\n{\r\n /**\r\n * The state of the client instance is an object with various properties.\r\n * It contains some details about how the client has been authorized and\r\n * determines the behavior of the client instance. This state is persisted\r\n * in `SessionStorage` in browsers or in request session on the servers.\r\n */\r\n readonly state: fhirclient.ClientState;\r\n\r\n /**\r\n * The adapter to use to connect to the current environment. Currently we have:\r\n * - BrowserAdapter - for browsers\r\n * - NodeAdapter - for Express or vanilla NodeJS servers\r\n * - HapiAdapter - for HAPI NodeJS servers\r\n */\r\n readonly environment: fhirclient.Adapter;\r\n\r\n /**\r\n * A SMART app is typically associated with a patient. This is a namespace\r\n * for the patient-related functionality of the client.\r\n */\r\n readonly patient: {\r\n\r\n /**\r\n * The ID of the current patient or `null` if there is no current patient\r\n */\r\n id: string | null\r\n\r\n /**\r\n * A method to fetch the current patient resource from the FHIR server.\r\n * If there is no patient context, it will reject with an error.\r\n * @param {fhirclient.FetchOptions} [requestOptions] Any options to pass to the `fetch` call.\r\n * @category Request\r\n */\r\n read: fhirclient.RequestFunction\r\n \r\n /**\r\n * This is similar to [[request]] but it makes requests in the\r\n * context of the current patient. For example, instead of doing\r\n * ```js\r\n * client.request(\"Observation?patient=\" + client.patient.id)\r\n * ```\r\n * you can do\r\n * ```js\r\n * client.patient.request(\"Observation\")\r\n * ```\r\n * The return type depends on the arguments. Typically it will be the\r\n * response payload JSON object. Can also be a string or the `Response`\r\n * object itself if we have received a non-json result, which allows us\r\n * to handle even binary responses. Can also be a [[CombinedFetchResult]]\r\n * object if the `requestOptions.includeResponse`s has been set to true.\r\n * @category Request\r\n */\r\n request: (\r\n requestOptions: string|URL|fhirclient.RequestOptions,\r\n fhirOptions?: fhirclient.FhirOptions\r\n ) => Promise\r\n\r\n /**\r\n * This is the FhirJS Patient API. It will ONLY exist if the `Client`\r\n * instance is \"connected\" to FhirJS.\r\n */\r\n api?: Record\r\n };\r\n\r\n /**\r\n * The client may be associated with a specific encounter, if the scopes\r\n * permit that and if the back-end server supports that. This is a namespace\r\n * for encounter-related functionality.\r\n */\r\n readonly encounter: {\r\n\r\n /**\r\n * The ID of the current encounter or `null` if there is no current\r\n * encounter\r\n */\r\n id: string | null\r\n\r\n /**\r\n * A method to fetch the current encounter resource from the FHIR server.\r\n * If there is no encounter context, it will reject with an error.\r\n * @param [requestOptions] Any options to pass to the `fetch` call.\r\n * @category Request\r\n */\r\n read: fhirclient.RequestFunction\r\n };\r\n\r\n /**\r\n * The client may be associated with a specific user, if the scopes\r\n * permit that. This is a namespace for user-related functionality.\r\n */\r\n readonly user: {\r\n\r\n /**\r\n * The ID of the current user or `null` if there is no current user\r\n */\r\n id: string | null\r\n\r\n /**\r\n * A method to fetch the current user resource from the FHIR server.\r\n * If there is no user context, it will reject with an error.\r\n * @param [requestOptions] Any options to pass to the `fetch` call.\r\n * @category Request\r\n */\r\n read: fhirclient.RequestFunction<\r\n fhirclient.FHIR.Patient |\r\n fhirclient.FHIR.Practitioner |\r\n fhirclient.FHIR.RelatedPerson\r\n >\r\n\r\n /**\r\n * Returns the profile of the logged_in user (if any), or null if the\r\n * user is not available. This is a string having the shape\r\n * `{user type}/{user id}`. For example `Practitioner/abc` or\r\n * `Patient/xyz`.\r\n * @alias client.getFhirUser()\r\n */\r\n fhirUser: string | null\r\n\r\n /**\r\n * Returns the type of the logged-in user or null. The result can be\r\n * `Practitioner`, `Patient` or `RelatedPerson`.\r\n * @alias client.getUserType()\r\n */\r\n resourceType: string | null\r\n };\r\n\r\n /**\r\n * The [FhirJS](https://github.com/FHIR/fhir.js/blob/master/README.md) API.\r\n * **NOTE:** This will only be available if `fhir.js` is used. Otherwise it\r\n * will be `undefined`.\r\n */\r\n api: Record | undefined;\r\n\r\n /**\r\n * Refers to the refresh task while it is being performed.\r\n * @see [[refresh]]\r\n */\r\n private _refreshTask: Promise | null;\r\n\r\n /**\r\n * Validates the parameters, creates an instance and tries to connect it to\r\n * FhirJS, if one is available globally.\r\n */\r\n constructor(environment: fhirclient.Adapter, state: fhirclient.ClientState | string)\r\n {\r\n const _state = typeof state == \"string\" ? { serverUrl: state } : state;\r\n\r\n // Valid serverUrl is required!\r\n assert(\r\n _state.serverUrl && _state.serverUrl.match(/https?:\\/\\/.+/),\r\n \"A \\\"serverUrl\\\" option is required and must begin with \\\"http(s)\\\"\"\r\n );\r\n\r\n this.state = _state;\r\n this.environment = environment;\r\n this._refreshTask = null;\r\n\r\n const client = this;\r\n\r\n // patient api ---------------------------------------------------------\r\n this.patient = {\r\n get id() { return client.getPatientId(); },\r\n read: (requestOptions) => {\r\n const id = this.patient.id;\r\n return id ?\r\n this.request({ ...requestOptions, url: `Patient/${id}` }) :\r\n Promise.reject(new Error(\"Patient is not available\"));\r\n },\r\n request: (requestOptions, fhirOptions = {}) => {\r\n if (this.patient.id) {\r\n return (async () => {\r\n const options = await contextualize(requestOptions, this);\r\n return this.request(options, fhirOptions);\r\n })();\r\n } else {\r\n return Promise.reject(new Error(\"Patient is not available\"));\r\n }\r\n }\r\n };\r\n\r\n // encounter api -------------------------------------------------------\r\n this.encounter = {\r\n get id() { return client.getEncounterId(); },\r\n read: requestOptions => {\r\n const id = this.encounter.id;\r\n return id ?\r\n this.request({ ...requestOptions, url: `Encounter/${id}` }) :\r\n Promise.reject(new Error(\"Encounter is not available\"));\r\n }\r\n };\r\n\r\n // user api ------------------------------------------------------------\r\n this.user = {\r\n get fhirUser() { return client.getFhirUser(); },\r\n get id() { return client.getUserId(); },\r\n get resourceType() { return client.getUserType(); },\r\n read: requestOptions => {\r\n const fhirUser = this.user.fhirUser;\r\n return fhirUser ?\r\n this.request({ ...requestOptions, url: fhirUser }) :\r\n Promise.reject(new Error(\"User is not available\"));\r\n }\r\n };\r\n\r\n // fhir.js api (attached automatically in browser)\r\n // ---------------------------------------------------------------------\r\n this.connect((environment as BrowserAdapter).fhir);\r\n }\r\n\r\n /**\r\n * This method is used to make the \"link\" between the `fhirclient` and the\r\n * `fhir.js`, if one is available.\r\n * **Note:** This is called by the constructor. If fhir.js is available in\r\n * the global scope as `fhir`, it will automatically be linked to any [[Client]]\r\n * instance. You should only use this method to connect to `fhir.js` which\r\n * is not global.\r\n */\r\n connect(fhirJs?: (options: Record) => Record): Client\r\n {\r\n if (typeof fhirJs == \"function\") {\r\n const options: Record = {\r\n baseUrl: this.state.serverUrl.replace(/\\/$/, \"\")\r\n };\r\n\r\n const accessToken = this.getState(\"tokenResponse.access_token\");\r\n if (accessToken) {\r\n options.auth = { token: accessToken };\r\n }\r\n else {\r\n const { username, password } = this.state;\r\n if (username && password) {\r\n options.auth = {\r\n user: username,\r\n pass: password\r\n };\r\n }\r\n }\r\n this.api = fhirJs(options);\r\n\r\n const patientId = this.getState(\"tokenResponse.patient\");\r\n if (patientId) {\r\n this.patient.api = fhirJs({\r\n ...options,\r\n patient: patientId\r\n });\r\n }\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Returns the ID of the selected patient or null. You should have requested\r\n * \"launch/patient\" scope. Otherwise this will return null.\r\n */\r\n getPatientId(): string | null\r\n {\r\n const tokenResponse = this.state.tokenResponse;\r\n if (tokenResponse) {\r\n // We have been authorized against this server but we don't know\r\n // the patient. This should be a scope issue.\r\n if (!tokenResponse.patient) {\r\n if (!(this.state.scope || \"\").match(/\\blaunch(\\/patient)?\\b/)) {\r\n debug(str.noScopeForId, \"patient\", \"patient\");\r\n }\r\n else {\r\n // The server should have returned the patient!\r\n debug(\"The ID of the selected patient is not available. Please check if your server supports that.\");\r\n }\r\n return null;\r\n }\r\n return tokenResponse.patient;\r\n }\r\n\r\n if (this.state.authorizeUri) {\r\n debug(str.noIfNoAuth, \"the ID of the selected patient\");\r\n }\r\n else {\r\n debug(str.noFreeContext, \"selected patient\");\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Returns the ID of the selected encounter or null. You should have\r\n * requested \"launch/encounter\" scope. Otherwise this will return null.\r\n * Note that not all servers support the \"launch/encounter\" scope so this\r\n * will be null if they don't.\r\n */\r\n getEncounterId(): string | null\r\n {\r\n const tokenResponse = this.state.tokenResponse;\r\n if (tokenResponse) {\r\n // We have been authorized against this server but we don't know\r\n // the encounter. This should be a scope issue.\r\n if (!tokenResponse.encounter) {\r\n if (!(this.state.scope || \"\").match(/\\blaunch(\\/encounter)?\\b/)) {\r\n debug(str.noScopeForId, \"encounter\", \"encounter\");\r\n }\r\n else {\r\n // The server should have returned the encounter!\r\n debug(\"The ID of the selected encounter is not available. Please check if your server supports that, and that the selected patient has any recorded encounters.\");\r\n }\r\n return null;\r\n }\r\n return tokenResponse.encounter;\r\n }\r\n\r\n if (this.state.authorizeUri) {\r\n debug(str.noIfNoAuth, \"the ID of the selected encounter\");\r\n }\r\n else {\r\n debug(str.noFreeContext, \"selected encounter\");\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Returns the (decoded) id_token if any. You need to request \"openid\" and\r\n * \"profile\" scopes if you need to receive an id_token (if you need to know\r\n * who the logged-in user is).\r\n */\r\n getIdToken(): fhirclient.IDToken | null\r\n {\r\n const tokenResponse = this.state.tokenResponse;\r\n if (tokenResponse) {\r\n const idToken = tokenResponse.id_token;\r\n const scope = this.state.scope || \"\";\r\n\r\n // We have been authorized against this server but we don't have\r\n // the id_token. This should be a scope issue.\r\n if (!idToken) {\r\n const hasOpenid = scope.match(/\\bopenid\\b/);\r\n const hasProfile = scope.match(/\\bprofile\\b/);\r\n const hasFhirUser = scope.match(/\\bfhirUser\\b/);\r\n if (!hasOpenid || !(hasFhirUser || hasProfile)) {\r\n debug(\r\n \"You are trying to get the id_token but you are not \" +\r\n \"using the right scopes. Please add 'openid' and \" +\r\n \"'fhirUser' or 'profile' to the scopes you are \" +\r\n \"requesting.\"\r\n );\r\n }\r\n else {\r\n // The server should have returned the id_token!\r\n debug(\"The id_token is not available. Please check if your server supports that.\");\r\n }\r\n return null;\r\n }\r\n return jwtDecode(idToken, this.environment) as fhirclient.IDToken;\r\n }\r\n if (this.state.authorizeUri) {\r\n debug(str.noIfNoAuth, \"the id_token\");\r\n }\r\n else {\r\n debug(str.noFreeContext, \"id_token\");\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Returns the profile of the logged_in user (if any). This is a string\r\n * having the following shape `\"{user type}/{user id}\"`. For example:\r\n * `\"Practitioner/abc\"` or `\"Patient/xyz\"`.\r\n */\r\n getFhirUser(): string | null\r\n {\r\n const idToken = this.getIdToken();\r\n if (idToken) {\r\n // Epic may return a full url\r\n // @see https://github.com/smart-on-fhir/client-js/issues/105\r\n if (idToken.fhirUser) {\r\n return idToken.fhirUser.split(\"/\").slice(-2).join(\"/\");\r\n }\r\n return idToken.profile\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Returns the user ID or null.\r\n */\r\n getUserId(): string | null\r\n {\r\n const profile = this.getFhirUser();\r\n if (profile) {\r\n return profile.split(\"/\")[1];\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Returns the type of the logged-in user or null. The result can be\r\n * \"Practitioner\", \"Patient\" or \"RelatedPerson\".\r\n */\r\n getUserType(): string | null\r\n {\r\n const profile = this.getFhirUser();\r\n if (profile) {\r\n return profile.split(\"/\")[0];\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Builds and returns the value of the `Authorization` header that can be\r\n * sent to the FHIR server\r\n */\r\n getAuthorizationHeader(): string | null\r\n {\r\n const accessToken = this.getState(\"tokenResponse.access_token\");\r\n if (accessToken) {\r\n return \"Bearer \" + accessToken;\r\n }\r\n const { username, password } = this.state;\r\n if (username && password) {\r\n return \"Basic \" + this.environment.btoa(username + \":\" + password);\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Used internally to clear the state of the instance and the state in the\r\n * associated storage.\r\n */\r\n private async _clearState() {\r\n const storage = this.environment.getStorage();\r\n const key = await storage.get(SMART_KEY);\r\n if (key) {\r\n await storage.unset(key);\r\n }\r\n await storage.unset(SMART_KEY);\r\n this.state.tokenResponse = {};\r\n }\r\n\r\n /**\r\n * Creates a new resource in a server-assigned location\r\n * @see http://hl7.org/fhir/http.html#create\r\n * @param resource A FHIR resource to be created\r\n * @param [requestOptions] Any options to be passed to the fetch call.\r\n * Note that `method` and `body` will be ignored.\r\n * @category Request\r\n */\r\n create(\r\n resource: fhirclient.FHIR.Resource,\r\n requestOptions?: O\r\n ): Promise : R>\r\n {\r\n return this.request({\r\n ...requestOptions,\r\n url: `${resource.resourceType}`,\r\n method: \"POST\",\r\n body: JSON.stringify(resource),\r\n headers: {\r\n // TODO: Do we need to alternate with \"application/json+fhir\"?\r\n \"content-type\": \"application/json\",\r\n ...(requestOptions || {}).headers\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Creates a new current version for an existing resource or creates an\r\n * initial version if no resource already exists for the given id.\r\n * @see http://hl7.org/fhir/http.html#update\r\n * @param resource A FHIR resource to be updated\r\n * @param requestOptions Any options to be passed to the fetch call.\r\n * Note that `method` and `body` will be ignored.\r\n * @category Request\r\n */\r\n update(\r\n resource: fhirclient.FHIR.Resource,\r\n requestOptions?: O\r\n ): Promise : R>\r\n {\r\n return this.request({\r\n ...requestOptions,\r\n url: `${resource.resourceType}/${resource.id}`,\r\n method: \"PUT\",\r\n body: JSON.stringify(resource),\r\n headers: {\r\n // TODO: Do we need to alternate with \"application/json+fhir\"?\r\n \"content-type\": \"application/json\",\r\n ...(requestOptions || {}).headers\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Removes an existing resource.\r\n * @see http://hl7.org/fhir/http.html#delete\r\n * @param url Relative URI of the FHIR resource to be deleted\r\n * (format: `resourceType/id`)\r\n * @param requestOptions Any options (except `method` which will be fixed\r\n * to `DELETE`) to be passed to the fetch call.\r\n * @category Request\r\n */\r\n delete(url: string, requestOptions: fhirclient.FetchOptions = {}): Promise\r\n {\r\n return this.request({\r\n ...requestOptions,\r\n url,\r\n method: \"DELETE\"\r\n });\r\n }\r\n\r\n /**\r\n * Makes a JSON Patch to the given resource\r\n * @see http://hl7.org/fhir/http.html#patch\r\n * @param url Relative URI of the FHIR resource to be patched\r\n * (format: `resourceType/id`)\r\n * @param patch A JSON Patch array to send to the server, For details\r\n * see https://datatracker.ietf.org/doc/html/rfc6902\r\n * @param requestOptions Any options to be passed to the fetch call,\r\n * except for `method`, `url` and `body` which cannot be overridden.\r\n * @since 2.4.0\r\n * @category Request\r\n * @typeParam ResolveType This method would typically resolve with the\r\n * patched resource or reject with an OperationOutcome. However, this may\r\n * depend on the server implementation or even on the request headers.\r\n * For that reason, if the default resolve type (which is\r\n * [[fhirclient.FHIR.Resource]]) does not work for you, you can pass\r\n * in your own resolve type parameter.\r\n */\r\n async patch(url: string, patch: fhirclient.JsonPatch, requestOptions: fhirclient.FetchOptions = {}): Promise\r\n {\r\n assertJsonPatch(patch);\r\n return this.request({\r\n ...requestOptions,\r\n url,\r\n method: \"PATCH\",\r\n body: JSON.stringify(patch),\r\n headers: {\r\n \"prefer\": \"return=presentation\",\r\n \"content-type\": \"application/json-patch+json; charset=UTF-8\",\r\n ...requestOptions.headers,\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * @param requestOptions Can be a string URL (relative to the serviceUrl),\r\n * or an object which will be passed to fetch()\r\n * @param fhirOptions Additional options to control the behavior\r\n * @param _resolvedRefs DO NOT USE! Used internally.\r\n * @category Request\r\n */\r\n async request(\r\n requestOptions: string|URL|fhirclient.RequestOptions,\r\n fhirOptions: fhirclient.FhirOptions = {},\r\n _resolvedRefs: fhirclient.JsonObject = {}\r\n ): Promise\r\n {\r\n const debugRequest = _debug.extend(\"client:request\");\r\n assert(requestOptions, \"request requires an url or request options as argument\");\r\n\r\n // url -----------------------------------------------------------------\r\n let url: string;\r\n if (typeof requestOptions == \"string\" || requestOptions instanceof URL) {\r\n url = String(requestOptions);\r\n requestOptions = {} as fhirclient.RequestOptions;\r\n }\r\n else {\r\n url = String(requestOptions.url);\r\n }\r\n\r\n url = absolute(url, this.state.serverUrl);\r\n\r\n const options = {\r\n graph: fhirOptions.graph !== false,\r\n flat : !!fhirOptions.flat,\r\n pageLimit: fhirOptions.pageLimit ?? 1,\r\n resolveReferences: (fhirOptions.resolveReferences || []) as string[],\r\n useRefreshToken: fhirOptions.useRefreshToken !== false,\r\n onPage: typeof fhirOptions.onPage == \"function\" ?\r\n fhirOptions.onPage as (\r\n data: fhirclient.JsonObject | fhirclient.JsonObject[],\r\n references?: fhirclient.JsonObject | undefined) => any :\r\n undefined\r\n };\r\n\r\n const signal = (requestOptions as RequestInit).signal || undefined;\r\n\r\n // Refresh the access token if needed\r\n const job = options.useRefreshToken ?\r\n this.refreshIfNeeded({ signal }).then(() => requestOptions as fhirclient.RequestOptions) :\r\n Promise.resolve(requestOptions as fhirclient.RequestOptions);\r\n\r\n let response: Response | undefined;\r\n\r\n return job\r\n\r\n // Add the Authorization header now, after the access token might\r\n // have been updated\r\n .then(requestOptions => {\r\n const authHeader = this.getAuthorizationHeader();\r\n if (authHeader) {\r\n requestOptions.headers = {\r\n ...requestOptions.headers,\r\n authorization: authHeader\r\n };\r\n }\r\n return requestOptions;\r\n })\r\n \r\n // Make the request\r\n .then(requestOptions => {\r\n debugRequest(\r\n \"%s, options: %O, fhirOptions: %O\",\r\n url,\r\n requestOptions,\r\n options\r\n );\r\n return request(url, requestOptions).then(result => {\r\n if (requestOptions.includeResponse) {\r\n response = (result as fhirclient.CombinedFetchResult).response;\r\n return (result as fhirclient.CombinedFetchResult).body;\r\n }\r\n return result;\r\n });\r\n })\r\n\r\n // Handle 401 ------------------------------------------------------\r\n .catch(async (error: HttpError) => {\r\n if (error.status == 401) {\r\n\r\n // !accessToken -> not authorized -> No session. Need to launch.\r\n if (!this.getState(\"tokenResponse.access_token\")) {\r\n error.message += \"\\nThis app cannot be accessed directly. Please launch it as SMART app!\";\r\n throw error;\r\n }\r\n\r\n // auto-refresh not enabled and Session expired.\r\n // Need to re-launch. Clear state to start over!\r\n if (!options.useRefreshToken) {\r\n debugRequest(\"Your session has expired and the useRefreshToken option is set to false. Please re-launch the app.\");\r\n await this._clearState();\r\n error.message += \"\\n\" + str.expired;\r\n throw error;\r\n }\r\n\r\n // In rare cases we may have a valid access token and a refresh\r\n // token and the request might still fail with 401 just because\r\n // the access token has just been revoked.\r\n\r\n // otherwise -> auto-refresh failed. Session expired.\r\n // Need to re-launch. Clear state to start over!\r\n debugRequest(\"Auto-refresh failed! Please re-launch the app.\");\r\n await this._clearState();\r\n error.message += \"\\n\" + str.expired;\r\n throw error;\r\n }\r\n throw error;\r\n })\r\n\r\n // Handle 403 ------------------------------------------------------\r\n .catch((error: HttpError) => {\r\n if (error.status == 403) {\r\n debugRequest(\"Permission denied! Please make sure that you have requested the proper scopes.\");\r\n }\r\n throw error;\r\n })\r\n\r\n .then((data: any) => {\r\n\r\n // At this point we don't know what `data` actually is!\r\n\r\n // We might get an empty or falsy result. If so return it as is\r\n // Also handle raw responses\r\n if (!data || typeof data == \"string\" || data instanceof Response) {\r\n if ((requestOptions as fhirclient.FetchOptions).includeResponse) {\r\n return {\r\n body: data,\r\n response\r\n }\r\n }\r\n return data;\r\n }\r\n \r\n // Resolve References ------------------------------------------\r\n return (async (_data: fhirclient.FHIR.Resource) => {\r\n\r\n if (_data.resourceType == \"Bundle\") {\r\n await Promise.all(((_data as fhirclient.FHIR.Bundle).entry || []).map(item => resolveRefs(\r\n item.resource,\r\n options,\r\n _resolvedRefs,\r\n this,\r\n requestOptions as fhirclient.RequestOptions\r\n )));\r\n }\r\n else {\r\n await resolveRefs(\r\n _data,\r\n options,\r\n _resolvedRefs,\r\n this,\r\n requestOptions as fhirclient.RequestOptions\r\n );\r\n }\r\n\r\n return _data;\r\n })(data)\r\n\r\n // Pagination ----------------------------------------------\r\n .then(async _data => {\r\n if (_data && _data.resourceType == \"Bundle\") {\r\n const links = (_data.link || []) as fhirclient.FHIR.BundleLink[];\r\n\r\n if (options.flat) {\r\n _data = (_data.entry || []).map(\r\n (entry: fhirclient.FHIR.BundleEntry) => entry.resource\r\n );\r\n }\r\n\r\n if (options.onPage) {\r\n await options.onPage(_data, { ..._resolvedRefs });\r\n }\r\n\r\n if (--options.pageLimit) {\r\n const next = links.find(l => l.relation == \"next\");\r\n _data = makeArray(_data);\r\n if (next && next.url) {\r\n const nextPage = await this.request(\r\n {\r\n url: next.url,\r\n\r\n // Aborting the main request (even after it is complete)\r\n // must propagate to any child requests and abort them!\r\n // To do so, just pass the same AbortSignal if one is\r\n // provided.\r\n signal\r\n },\r\n options,\r\n _resolvedRefs\r\n );\r\n\r\n if (options.onPage) {\r\n return null;\r\n }\r\n\r\n if (options.resolveReferences.length) {\r\n Object.assign(_resolvedRefs, nextPage.references);\r\n return _data.concat(makeArray(nextPage.data || nextPage));\r\n }\r\n return _data.concat(makeArray(nextPage));\r\n }\r\n }\r\n }\r\n return _data;\r\n })\r\n\r\n // Finalize ------------------------------------------------\r\n .then(_data => {\r\n if (options.graph) {\r\n _resolvedRefs = {};\r\n }\r\n else if (!options.onPage && options.resolveReferences.length) {\r\n return {\r\n data: _data,\r\n references: _resolvedRefs\r\n };\r\n }\r\n return _data;\r\n })\r\n .then(_data => {\r\n if ((requestOptions as fhirclient.FetchOptions).includeResponse) {\r\n return {\r\n body: _data,\r\n response\r\n }\r\n }\r\n return _data;\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * Checks if access token and refresh token are present. If they are, and if\r\n * the access token is expired or is about to expire in the next 10 seconds,\r\n * calls `this.refresh()` to obtain new access token.\r\n * @param requestOptions Any options to pass to the fetch call. Most of them\r\n * will be overridden, bit it might still be useful for passing additional\r\n * request options or an abort signal.\r\n * @category Request\r\n */\r\n refreshIfNeeded(requestOptions: RequestInit = {}): Promise\r\n {\r\n const accessToken = this.getState(\"tokenResponse.access_token\");\r\n const refreshToken = this.getState(\"tokenResponse.refresh_token\");\r\n const expiresAt = this.state.expiresAt || 0;\r\n\r\n if (accessToken && refreshToken && expiresAt - 10 < Date.now() / 1000) {\r\n return this.refresh(requestOptions);\r\n }\r\n\r\n return Promise.resolve(this.state);\r\n }\r\n\r\n /**\r\n * Use the refresh token to obtain new access token. If the refresh token is\r\n * expired (or this fails for any other reason) it will be deleted from the\r\n * state, so that we don't enter into loops trying to re-authorize.\r\n *\r\n * This method is typically called internally from [[request]] if\r\n * certain request fails with 401.\r\n *\r\n * @param requestOptions Any options to pass to the fetch call. Most of them\r\n * will be overridden, bit it might still be useful for passing additional\r\n * request options or an abort signal.\r\n * @category Request\r\n */\r\n refresh(requestOptions: RequestInit = {}): Promise\r\n {\r\n const debugRefresh = _debug.extend(\"client:refresh\");\r\n debugRefresh(\"Attempting to refresh with refresh_token...\");\r\n\r\n const refreshToken = this.state?.tokenResponse?.refresh_token;\r\n assert(refreshToken, \"Unable to refresh. No refresh_token found.\");\r\n\r\n const tokenUri = this.state.tokenUri;\r\n assert(tokenUri, \"Unable to refresh. No tokenUri found.\");\r\n\r\n const scopes = this.getState(\"tokenResponse.scope\") || \"\";\r\n const hasOfflineAccess = scopes.search(/\\boffline_access\\b/) > -1;\r\n const hasOnlineAccess = scopes.search(/\\bonline_access\\b/) > -1;\r\n assert(hasOfflineAccess || hasOnlineAccess, \"Unable to refresh. No offline_access or online_access scope found.\");\r\n\r\n // This method is typically called internally from `request` if certain\r\n // request fails with 401. However, clients will often run multiple\r\n // requests in parallel which may result in multiple refresh calls.\r\n // To avoid that, we keep a reference to the current refresh task (if any).\r\n if (!this._refreshTask) {\r\n let body = `grant_type=refresh_token&refresh_token=${encodeURIComponent(refreshToken)}`;\r\n if (this.environment.options.refreshTokenWithClientId) {\r\n body += `&client_id=${this.state.clientId}`;\r\n }\r\n const refreshRequestOptions = {\r\n credentials: this.environment.options.refreshTokenWithCredentials || \"same-origin\",\r\n ...requestOptions,\r\n method : \"POST\",\r\n mode : \"cors\" as RequestMode,\r\n headers: {\r\n ...(requestOptions.headers || {}),\r\n \"content-type\": \"application/x-www-form-urlencoded\"\r\n },\r\n body: body\r\n };\r\n\r\n // custom authorization header can be passed on manual calls\r\n if (!(\"authorization\" in refreshRequestOptions.headers)) {\r\n const { clientSecret, clientId } = this.state;\r\n if (clientSecret) {\r\n // @ts-ignore\r\n refreshRequestOptions.headers.authorization = \"Basic \" + this.environment.btoa(\r\n clientId + \":\" + clientSecret\r\n );\r\n }\r\n }\r\n\r\n this._refreshTask = request(tokenUri, refreshRequestOptions)\r\n .then(data => {\r\n assert(data.access_token, \"No access token received\");\r\n debugRefresh(\"Received new access token response %O\", data);\r\n this.state.tokenResponse = { ...this.state.tokenResponse, ...data };\r\n this.state.expiresAt = getAccessTokenExpiration(data, this.environment);\r\n return this.state;\r\n })\r\n .catch((error: Error) => {\r\n if (this.state?.tokenResponse?.refresh_token) {\r\n debugRefresh(\"Deleting the expired or invalid refresh token.\");\r\n delete this.state.tokenResponse.refresh_token;\r\n }\r\n throw error;\r\n })\r\n .finally(() => {\r\n this._refreshTask = null;\r\n const key = this.state.key;\r\n if (key) {\r\n this.environment.getStorage().set(key, this.state);\r\n } else {\r\n debugRefresh(\"No 'key' found in Clint.state. Cannot persist the instance.\");\r\n }\r\n });\r\n }\r\n\r\n return this._refreshTask;\r\n }\r\n\r\n // utils -------------------------------------------------------------------\r\n\r\n /**\r\n * Groups the observations by code. Returns a map that will look like:\r\n * ```js\r\n * const map = client.byCodes(observations, \"code\");\r\n * // map = {\r\n * // \"55284-4\": [ observation1, observation2 ],\r\n * // \"6082-2\": [ observation3 ]\r\n * // }\r\n * ```\r\n * @param observations Array of observations\r\n * @param property The name of a CodeableConcept property to group by\r\n * @todo This should be deprecated and moved elsewhere. One should not have\r\n * to obtain an instance of [[Client]] just to use utility functions like this.\r\n * @deprecated\r\n * @category Utility\r\n */\r\n byCode(\r\n observations: fhirclient.FHIR.Observation | fhirclient.FHIR.Observation[],\r\n property: string\r\n ): fhirclient.ObservationMap\r\n {\r\n return byCode(observations, property);\r\n }\r\n\r\n /**\r\n * First groups the observations by code using `byCode`. Then returns a function\r\n * that accepts codes as arguments and will return a flat array of observations\r\n * having that codes. Example:\r\n * ```js\r\n * const filter = client.byCodes(observations, \"category\");\r\n * filter(\"laboratory\") // => [ observation1, observation2 ]\r\n * filter(\"vital-signs\") // => [ observation3 ]\r\n * filter(\"laboratory\", \"vital-signs\") // => [ observation1, observation2, observation3 ]\r\n * ```\r\n * @param observations Array of observations\r\n * @param property The name of a CodeableConcept property to group by\r\n * @todo This should be deprecated and moved elsewhere. One should not have\r\n * to obtain an instance of [[Client]] just to use utility functions like this.\r\n * @deprecated\r\n * @category Utility\r\n */\r\n byCodes(\r\n observations: fhirclient.FHIR.Observation | fhirclient.FHIR.Observation[],\r\n property: string\r\n ): (...codes: string[]) => any[]\r\n {\r\n return byCodes(observations, property);\r\n }\r\n\r\n /**\r\n * @category Utility\r\n */\r\n units = units;\r\n\r\n /**\r\n * Walks through an object (or array) and returns the value found at the\r\n * provided path. This function is very simple so it intentionally does not\r\n * support any argument polymorphism, meaning that the path can only be a\r\n * dot-separated string. If the path is invalid returns undefined.\r\n * @param obj The object (or Array) to walk through\r\n * @param path The path (eg. \"a.b.4.c\")\r\n * @returns {*} Whatever is found in the path or undefined\r\n * @todo This should be deprecated and moved elsewhere. One should not have\r\n * to obtain an instance of [[Client]] just to use utility functions like this.\r\n * @deprecated\r\n * @category Utility\r\n */\r\n getPath(obj: Record, path = \"\"): any {\r\n return getPath(obj, path);\r\n }\r\n\r\n /**\r\n * Returns a copy of the client state. Accepts a dot-separated path argument\r\n * (same as for `getPath`) to allow for selecting specific properties.\r\n * Examples:\r\n * ```js\r\n * client.getState(); // -> the entire state object\r\n * client.getState(\"serverUrl\"); // -> the URL we are connected to\r\n * client.getState(\"tokenResponse.patient\"); // -> The selected patient ID (if any)\r\n * ```\r\n * @param path The path (eg. \"a.b.4.c\")\r\n * @returns {*} Whatever is found in the path or undefined\r\n */\r\n getState(path = \"\") {\r\n return getPath({ ...this.state }, path);\r\n }\r\n\r\n /**\r\n * Returns a promise that will be resolved with the fhir version as defined\r\n * in the CapabilityStatement.\r\n */\r\n getFhirVersion(): Promise {\r\n return fetchConformanceStatement(this.state.serverUrl)\r\n .then((metadata) => metadata.fhirVersion);\r\n }\r\n\r\n /**\r\n * Returns a promise that will be resolved with the numeric fhir version\r\n * - 2 for DSTU2\r\n * - 3 for STU3\r\n * - 4 for R4\r\n * - 0 if the version is not known\r\n */\r\n getFhirRelease(): Promise {\r\n return this.getFhirVersion().then(v => (fhirVersions as any)[v] ?? 0);\r\n }\r\n}\r\n","import { fhirclient } from \"./types\";\r\n\r\n\r\nexport default class HttpError extends Error\r\n{\r\n /**\r\n * The HTTP status code for this error\r\n */\r\n statusCode: number;\r\n\r\n /**\r\n * The HTTP status code for this error.\r\n * Note that this is the same as `status`, i.e. the code is available\r\n * through any of these.\r\n */\r\n status: number;\r\n\r\n /**\r\n * The HTTP status text corresponding to this error\r\n */\r\n statusText: string;\r\n\r\n /**\r\n * Reference to the HTTP Response object\r\n */\r\n response: Response;\r\n\r\n constructor(response: Response) {\r\n super(`${response.status} ${response.statusText}\\nURL: ${response.url}`);\r\n this.name = \"HttpError\";\r\n this.response = response;\r\n this.statusCode = response.status;\r\n this.status = response.status;\r\n this.statusText = response.statusText;\r\n }\r\n\r\n async parse()\r\n {\r\n if (!this.response.bodyUsed) {\r\n try {\r\n const type = this.response.headers.get(\"content-type\") || \"text/plain\";\r\n if (type.match(/\\bjson\\b/i)) {\r\n let body = await this.response.json();\r\n if (body.error) {\r\n this.message += \"\\n\" + body.error;\r\n if (body.error_description) {\r\n this.message += \": \" + body.error_description;\r\n }\r\n }\r\n else {\r\n this.message += \"\\n\\n\" + JSON.stringify(body, null, 4);\r\n }\r\n }\r\n else if (type.match(/^text\\//i)) {\r\n let body = await this.response.text();\r\n if (body) {\r\n this.message += \"\\n\\n\" + body;\r\n }\r\n }\r\n } catch {\r\n // ignore\r\n }\r\n }\r\n\r\n return this;\r\n }\r\n\r\n toJSON() {\r\n return {\r\n name : this.name,\r\n statusCode: this.statusCode,\r\n status : this.status,\r\n statusText: this.statusText,\r\n message : this.message\r\n };\r\n }\r\n}\r\n","import { ready, authorize, init } from \"../smart\";\r\nimport Client from \"../Client\";\r\nimport BrowserStorage from \"../storage/BrowserStorage\";\r\nimport { fhirclient } from \"../types\";\r\nimport * as security from \"../security/browser\"\r\nimport { encodeURL, decode, fromUint8Array } from \"js-base64\"\r\n\r\n/**\r\n * Browser Adapter\r\n */\r\nexport default class BrowserAdapter implements fhirclient.Adapter\r\n{\r\n /**\r\n * Stores the URL instance associated with this adapter\r\n */\r\n private _url: URL | null = null;\r\n\r\n /**\r\n * Holds the Storage instance associated with this instance\r\n */\r\n private _storage: fhirclient.Storage | null = null;\r\n\r\n /**\r\n * Environment-specific options\r\n */\r\n options: fhirclient.BrowserFHIRSettings;\r\n\r\n security = security;\r\n\r\n /**\r\n * @param options Environment-specific options\r\n */\r\n constructor(options: fhirclient.BrowserFHIRSettings = {})\r\n {\r\n this.options = {\r\n // Replaces the browser's current URL\r\n // using window.history.replaceState API or by reloading.\r\n replaceBrowserHistory: true,\r\n\r\n // When set to true, this variable will fully utilize\r\n // HTML5 sessionStorage API.\r\n // This variable can be overridden to false by setting\r\n // FHIR.oauth2.settings.fullSessionStorageSupport = false.\r\n // When set to false, the sessionStorage will be keyed\r\n // by a state variable. This is to allow the embedded IE browser\r\n // instances instantiated on a single thread to continue to\r\n // function without having sessionStorage data shared\r\n // across the embedded IE instances.\r\n fullSessionStorageSupport: true,\r\n\r\n // Do we want to send cookies while making a request to the token\r\n // endpoint in order to obtain new access token using existing\r\n // refresh token. In rare cases the auth server might require the\r\n // client to send cookies along with those requests. In this case\r\n // developers will have to change this before initializing the app\r\n // like so:\r\n // `FHIR.oauth2.settings.refreshTokenWithCredentials = \"include\";`\r\n // or\r\n // `FHIR.oauth2.settings.refreshTokenWithCredentials = \"same-origin\";`\r\n // Can be one of:\r\n // \"include\" - always send cookies\r\n // \"same-origin\" - only send cookies if we are on the same domain (default)\r\n // \"omit\" - do not send cookies\r\n refreshTokenWithCredentials: \"same-origin\",\r\n\r\n ...options\r\n };\r\n }\r\n\r\n /**\r\n * Given a relative path, returns an absolute url using the instance base URL\r\n */\r\n relative(path: string): string\r\n {\r\n return new URL(path, this.getUrl().href).href;\r\n }\r\n\r\n /**\r\n * In browsers we need to be able to (dynamically) check if fhir.js is\r\n * included in the page. If it is, it should have created a \"fhir\" variable\r\n * in the global scope.\r\n */\r\n get fhir()\r\n {\r\n // @ts-ignore\r\n return typeof fhir === \"function\" ? fhir : null;\r\n }\r\n\r\n /**\r\n * Given the current environment, this method must return the current url\r\n * as URL instance\r\n */\r\n getUrl(): URL\r\n {\r\n if (!this._url) {\r\n this._url = new URL(location + \"\");\r\n }\r\n return this._url;\r\n }\r\n\r\n /**\r\n * Given the current environment, this method must redirect to the given\r\n * path\r\n */\r\n redirect(to: string): void\r\n {\r\n location.href = to;\r\n }\r\n\r\n /**\r\n * Returns a BrowserStorage object which is just a wrapper around\r\n * sessionStorage\r\n */\r\n getStorage(): BrowserStorage\r\n {\r\n if (!this._storage) {\r\n this._storage = new BrowserStorage();\r\n }\r\n return this._storage;\r\n }\r\n\r\n /**\r\n * Returns a reference to the AbortController constructor. In browsers,\r\n * AbortController will always be available as global (native or polyfilled)\r\n */\r\n getAbortController()\r\n {\r\n return AbortController;\r\n }\r\n\r\n /**\r\n * ASCII string to Base64\r\n */\r\n atob(str: string): string\r\n {\r\n return window.atob(str);\r\n }\r\n\r\n /**\r\n * Base64 to ASCII string\r\n */\r\n btoa(str: string): string\r\n {\r\n return window.btoa(str);\r\n }\r\n\r\n base64urlencode(input: string | Uint8Array)\r\n {\r\n if (typeof input == \"string\") {\r\n return encodeURL(input)\r\n }\r\n return fromUint8Array(input, true)\r\n }\r\n\r\n base64urldecode(input: string)\r\n {\r\n return decode(input)\r\n }\r\n\r\n /**\r\n * Creates and returns adapter-aware SMART api. Not that while the shape of\r\n * the returned object is well known, the arguments to this function are not.\r\n * Those who override this method are free to require any environment-specific\r\n * arguments. For example in node we will need a request, a response and\r\n * optionally a storage or storage factory function.\r\n */\r\n getSmartApi(): fhirclient.SMART\r\n {\r\n return {\r\n ready : (...args: any[]) => ready(this, ...args),\r\n authorize: options => authorize(this, options),\r\n init : options => init(this, options),\r\n client : (state: string | fhirclient.ClientState) => new Client(this, state),\r\n options : this.options,\r\n utils: {\r\n security\r\n }\r\n };\r\n }\r\n}\r\n","\r\n// Note: the following 2 imports appear as unused but they affect how tsc is\r\n// generating type definitions!\r\nimport { fhirclient } from \"../types\";\r\nimport Client from \"../Client\";\r\n\r\n// In Browsers we create an adapter, get the SMART api from it and build the\r\n// global FHIR object\r\nimport BrowserAdapter from \"../adapters/BrowserAdapter\";\r\n\r\nconst adapter = new BrowserAdapter();\r\nconst { ready, authorize, init, client, options, utils } = adapter.getSmartApi();\r\n\r\n// We have two kinds of browser builds - \"pure\" for new browsers and \"legacy\"\r\n// for old ones. In pure builds we assume that the browser supports everything\r\n// we need. In legacy mode, the library also acts as a polyfill. Babel will\r\n// automatically polyfill everything except \"fetch\", which we have to handle\r\n// manually.\r\n// @ts-ignore\r\nif (typeof FHIRCLIENT_PURE == \"undefined\") {\r\n const fetch = require(\"cross-fetch\");\r\n require(\"abortcontroller-polyfill/dist/abortcontroller-polyfill-only\");\r\n if (!window.fetch) {\r\n window.fetch = fetch.default;\r\n window.Headers = fetch.Headers;\r\n window.Request = fetch.Request;\r\n window.Response = fetch.Response;\r\n }\r\n}\r\n\r\n// $lab:coverage:off$\r\nconst FHIR = {\r\n AbortController: window.AbortController,\r\n client,\r\n utils,\r\n oauth2: {\r\n settings: options,\r\n ready,\r\n authorize,\r\n init\r\n }\r\n};\r\n\r\nexport = FHIR;\r\n// $lab:coverage:on$\r\n","/*\r\n * This file contains some shared functions. They are used by other modules, but\r\n * are defined here so that tests can import this library and test them.\r\n */\r\n\r\nimport HttpError from \"./HttpError\";\r\nimport { patientParams } from \"./settings\";\r\nimport { fhirclient } from \"./types\";\r\nconst debug = require(\"debug\");\r\n\r\n// $lab:coverage:off$\r\n// @ts-ignore\r\nconst { fetch } = typeof FHIRCLIENT_PURE !== \"undefined\" ? window : require(\"cross-fetch\");\r\n// $lab:coverage:on$\r\n\r\nconst _debug = debug(\"FHIR\");\r\nexport { _debug as debug };\r\n\r\n/**\r\n * The cache for the `getAndCache` function\r\n */\r\nconst cache: Record = {};\r\n\r\n/**\r\n * A namespace with functions for converting between different measurement units\r\n */\r\nexport const units = {\r\n cm({ code, value }: fhirclient.CodeValue) {\r\n ensureNumerical({ code, value });\r\n if (code == \"cm\" ) return value;\r\n if (code == \"m\" ) return value * 100;\r\n if (code == \"in\" ) return value * 2.54;\r\n if (code == \"[in_us]\") return value * 2.54;\r\n if (code == \"[in_i]\" ) return value * 2.54;\r\n if (code == \"ft\" ) return value * 30.48;\r\n if (code == \"[ft_us]\") return value * 30.48;\r\n throw new Error(\"Unrecognized length unit: \" + code);\r\n },\r\n kg({ code, value }: fhirclient.CodeValue){\r\n ensureNumerical({ code, value });\r\n if (code == \"kg\" ) return value;\r\n if (code == \"g\" ) return value / 1000;\r\n if (code.match(/lb/)) return value / 2.20462;\r\n if (code.match(/oz/)) return value / 35.274;\r\n throw new Error(\"Unrecognized weight unit: \" + code);\r\n },\r\n any(pq: fhirclient.CodeValue){\r\n ensureNumerical(pq);\r\n return pq.value;\r\n }\r\n};\r\n\r\n/**\r\n * Assertion function to guard arguments for `units` functions\r\n */\r\nfunction ensureNumerical({ value, code }: fhirclient.CodeValue) {\r\n if (typeof value !== \"number\") {\r\n throw new Error(\"Found a non-numerical unit: \" + value + \" \" + code);\r\n }\r\n}\r\n\r\n/**\r\n * Used in fetch Promise chains to reject if the \"ok\" property is not true\r\n */\r\nexport async function checkResponse(resp: Response): Promise {\r\n if (!resp.ok) {\r\n const error = new HttpError(resp);\r\n await error.parse();\r\n throw error;\r\n }\r\n return resp;\r\n}\r\n\r\n/**\r\n * Used in fetch Promise chains to return the JSON version of the response.\r\n * Note that `resp.json()` will throw on empty body so we use resp.text()\r\n * instead.\r\n */\r\nexport function responseToJSON(resp: Response): Promise {\r\n return resp.text().then(text => text.length ? JSON.parse(text) : \"\");\r\n}\r\n\r\nexport function loweCaseKeys | any[] | undefined>(obj: T): T {\r\n \r\n // Can be undefined to signal that this key should be removed\r\n if (!obj) {\r\n return obj as T\r\n }\r\n\r\n // Arrays are valid values in case of recursive calls\r\n if (Array.isArray(obj)) {\r\n return obj.map(v => v && typeof v === \"object\" ? loweCaseKeys(v) : v) as unknown as T;\r\n }\r\n\r\n // Plain object\r\n let out: Record = {};\r\n Object.keys(obj).forEach(key => {\r\n const lowerKey = key.toLowerCase()\r\n const v = (obj as Record)[key]\r\n out[lowerKey] = v && typeof v == \"object\" ? loweCaseKeys(v) : v;\r\n });\r\n return out as T;\r\n}\r\n\r\n/**\r\n * This is our built-in request function. It does a few things by default\r\n * (unless told otherwise):\r\n * - Makes CORS requests\r\n * - Sets accept header to \"application/json\"\r\n * - Handles errors\r\n * - If the response is json return the json object\r\n * - If the response is text return the result text\r\n * - Otherwise return the response object on which we call stuff like `.blob()`\r\n */\r\nexport function request(\r\n url: string | Request,\r\n requestOptions: fhirclient.FetchOptions = {}\r\n): Promise\r\n{\r\n const { includeResponse, ...options } = requestOptions;\r\n return fetch(url, {\r\n mode: \"cors\",\r\n ...options,\r\n headers: {\r\n accept: \"application/json\",\r\n ...loweCaseKeys(options.headers)\r\n }\r\n })\r\n .then(checkResponse)\r\n .then((res: Response) => {\r\n const type = res.headers.get(\"content-type\") + \"\";\r\n if (type.match(/\\bjson\\b/i)) {\r\n return responseToJSON(res).then(body => ({ res, body }));\r\n }\r\n if (type.match(/^text\\//i)) {\r\n return res.text().then(body => ({ res, body }));\r\n }\r\n return { res };\r\n })\r\n .then(({res, body}: {res:Response, body?:fhirclient.JsonObject|string}) => {\r\n\r\n // Some servers will reply after CREATE with json content type but with\r\n // empty body. In this case check if a location header is received and\r\n // fetch that to use it as the final result.\r\n if (!body && res.status == 201) {\r\n const location = res.headers.get(\"location\");\r\n if (location) {\r\n return request(location, { ...options, method: \"GET\", body: null, includeResponse });\r\n }\r\n }\r\n\r\n if (includeResponse) {\r\n return { body, response: res };\r\n }\r\n\r\n // For any non-text and non-json response return the Response object.\r\n // This to let users decide if they want to call text(), blob() or\r\n // something else on it\r\n if (body === undefined) {\r\n return res;\r\n }\r\n\r\n // Otherwise just return the parsed body (can also be \"\" or null)\r\n return body;\r\n });\r\n}\r\n\r\n/**\r\n * Makes a request using `fetch` and stores the result in internal memory cache.\r\n * The cache is cleared when the page is unloaded.\r\n * @param url The URL to request\r\n * @param requestOptions Request options\r\n * @param force If true, reload from source and update the cache, even if it has\r\n * already been cached.\r\n */\r\nexport function getAndCache(url: string, requestOptions?: RequestInit, force: boolean = process.env.NODE_ENV === \"test\"): Promise {\r\n if (force || !cache[url]) {\r\n cache[url] = request(url, requestOptions);\r\n return cache[url];\r\n }\r\n return Promise.resolve(cache[url]);\r\n}\r\n\r\n/**\r\n * Fetches the conformance statement from the given base URL.\r\n * Note that the result is cached in memory (until the page is reloaded in the\r\n * browser) because it might have to be re-used by the client\r\n * @param baseUrl The base URL of the FHIR server\r\n * @param [requestOptions] Any options passed to the fetch call\r\n */\r\nexport function fetchConformanceStatement(baseUrl = \"/\", requestOptions?: RequestInit): Promise\r\n{\r\n const url = String(baseUrl).replace(/\\/*$/, \"/\") + \"metadata\";\r\n return getAndCache(url, requestOptions).catch((ex: Error) => {\r\n throw new Error(\r\n `Failed to fetch the conformance statement from \"${url}\". ${ex}`\r\n );\r\n });\r\n}\r\n\r\n\r\n/**\r\n * Walks through an object (or array) and returns the value found at the\r\n * provided path. This function is very simple so it intentionally does not\r\n * support any argument polymorphism, meaning that the path can only be a\r\n * dot-separated string. If the path is invalid returns undefined.\r\n * @param obj The object (or Array) to walk through\r\n * @param path The path (eg. \"a.b.4.c\")\r\n * @returns {*} Whatever is found in the path or undefined\r\n */\r\nexport function getPath(obj: Record, path = \"\"): any {\r\n path = path.trim();\r\n if (!path) {\r\n return obj;\r\n }\r\n\r\n let segments = path.split(\".\");\r\n let result = obj;\r\n\r\n while (result && segments.length) {\r\n const key = segments.shift();\r\n if (!key && Array.isArray(result)) {\r\n return result.map(o => getPath(o, segments.join(\".\")));\r\n } else {\r\n result = result[key as string];\r\n }\r\n }\r\n\r\n return result;\r\n}\r\n\r\n/**\r\n * Like getPath, but if the node is found, its value is set to @value\r\n * @param obj The object (or Array) to walk through\r\n * @param path The path (eg. \"a.b.4.c\")\r\n * @param value The value to set\r\n * @param createEmpty If true, create missing intermediate objects or arrays\r\n * @returns The modified object\r\n */\r\nexport function setPath(obj: Record, path: string, value: any, createEmpty = false): Record {\r\n path.trim().split(\".\").reduce(\r\n (out, key, idx, arr) => {\r\n if (out && idx === arr.length - 1) {\r\n out[key] = value;\r\n }\r\n else {\r\n if (out && out[key] === undefined && createEmpty) {\r\n out[key] = arr[idx + 1].match(/^[0-9]+$/) ? [] : {};\r\n }\r\n return out ? out[key] : undefined;\r\n }\r\n },\r\n obj\r\n );\r\n return obj;\r\n}\r\n\r\n/**\r\n * If the argument is an array returns it as is. Otherwise puts it in an array\r\n * (`[arg]`) and returns the result\r\n * @param arg The element to test and possibly convert to array\r\n * @category Utility\r\n */\r\nexport function makeArray(arg: any): T[] {\r\n if (Array.isArray(arg)) {\r\n return arg;\r\n }\r\n return [arg];\r\n}\r\n\r\n/**\r\n * Given a path, converts it to absolute url based on the `baseUrl`. If baseUrl\r\n * is not provided, the result would be a rooted path (one that starts with `/`).\r\n * @param path The path to convert\r\n * @param baseUrl The base URL\r\n */\r\nexport function absolute(path: string, baseUrl?: string): string\r\n{\r\n if (path.match(/^http/)) return path;\r\n if (path.match(/^urn/)) return path;\r\n return String(baseUrl || \"\").replace(/\\/+$/, \"\") + \"/\" + path.replace(/^\\/+/, \"\");\r\n}\r\n\r\n/**\r\n * Generates random strings. By default this returns random 8 characters long\r\n * alphanumeric strings.\r\n * @param strLength The length of the output string. Defaults to 8.\r\n * @param charSet A string containing all the possible characters.\r\n * Defaults to all the upper and lower-case letters plus digits.\r\n * @category Utility\r\n */\r\nexport function randomString(\r\n strLength = 8,\r\n charSet = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\"\r\n): string\r\n{\r\n const result = [];\r\n const len = charSet.length;\r\n while (strLength--) {\r\n result.push(charSet.charAt(Math.floor(Math.random() * len)));\r\n }\r\n return result.join(\"\");\r\n}\r\n\r\n/**\r\n * Decodes a JWT token and returns it's body.\r\n * @param token The token to read\r\n * @param env An `Adapter` or any other object that has an `atob` method\r\n * @category Utility\r\n */\r\nexport function jwtDecode(token: string, env: fhirclient.Adapter): Record | null\r\n{\r\n const payload = token.split(\".\")[1];\r\n return payload ? JSON.parse(env.atob(payload)) : null;\r\n}\r\n\r\n/**\r\n * Add a supplied number of seconds to the supplied Date, returning\r\n * an integer number of seconds since the epoch\r\n * @param secondsAhead How far ahead, in seconds (defaults to 120 seconds)\r\n * @param from Initial time (defaults to current time)\r\n */\r\nexport function getTimeInFuture(secondsAhead: number = 120, from?: Date | number): number {\r\n return Math.floor(+(from || new Date()) / 1000 + secondsAhead) \r\n}\r\n\r\n/**\r\n * Given a token response, computes and returns the expiresAt timestamp.\r\n * Note that this should only be used immediately after an access token is\r\n * received, otherwise the computed timestamp will be incorrect.\r\n * @param tokenResponse \r\n * @param env \r\n */\r\nexport function getAccessTokenExpiration(tokenResponse: fhirclient.TokenResponse, env: fhirclient.Adapter): number\r\n{\r\n const now = Math.floor(Date.now() / 1000);\r\n\r\n // Option 1 - using the expires_in property of the token response\r\n if (tokenResponse.expires_in) {\r\n return now + tokenResponse.expires_in;\r\n }\r\n\r\n // Option 2 - using the exp property of JWT tokens (must not assume JWT!)\r\n if (tokenResponse.access_token) {\r\n let tokenBody = jwtDecode(tokenResponse.access_token, env);\r\n if (tokenBody && tokenBody.exp) {\r\n return tokenBody.exp;\r\n }\r\n }\r\n\r\n // Option 3 - if none of the above worked set this to 5 minutes after now\r\n return now + 300;\r\n}\r\n\r\n/**\r\n * Groups the observations by code. Returns a map that will look like:\r\n * ```js\r\n * const map = client.byCodes(observations, \"code\");\r\n * // map = {\r\n * // \"55284-4\": [ observation1, observation2 ],\r\n * // \"6082-2\": [ observation3 ]\r\n * // }\r\n * ```\r\n * @param observations Array of observations\r\n * @param property The name of a CodeableConcept property to group by\r\n */\r\nexport function byCode(\r\n observations: fhirclient.FHIR.Observation | fhirclient.FHIR.Observation[],\r\n property: string\r\n): fhirclient.ObservationMap\r\n{\r\n const ret: fhirclient.ObservationMap = {};\r\n\r\n function handleCodeableConcept(concept: fhirclient.FHIR.CodeableConcept, observation: fhirclient.FHIR.Observation) {\r\n if (concept && Array.isArray(concept.coding)) {\r\n concept.coding.forEach(({ code }) => {\r\n if (code) {\r\n ret[code] = ret[code] || [] as fhirclient.FHIR.Observation[];\r\n ret[code].push(observation);\r\n }\r\n });\r\n }\r\n }\r\n\r\n makeArray(observations).forEach(o => {\r\n if (o.resourceType === \"Observation\" && o[property]) {\r\n if (Array.isArray(o[property])) {\r\n o[property].forEach((concept: fhirclient.FHIR.CodeableConcept) => handleCodeableConcept(concept, o));\r\n } else {\r\n handleCodeableConcept(o[property], o);\r\n }\r\n }\r\n });\r\n\r\n return ret;\r\n}\r\n\r\n/**\r\n * First groups the observations by code using `byCode`. Then returns a function\r\n * that accepts codes as arguments and will return a flat array of observations\r\n * having that codes. Example:\r\n * ```js\r\n * const filter = client.byCodes(observations, \"category\");\r\n * filter(\"laboratory\") // => [ observation1, observation2 ]\r\n * filter(\"vital-signs\") // => [ observation3 ]\r\n * filter(\"laboratory\", \"vital-signs\") // => [ observation1, observation2, observation3 ]\r\n * ```\r\n * @param observations Array of observations\r\n * @param property The name of a CodeableConcept property to group by\r\n */\r\nexport function byCodes(\r\n observations: fhirclient.FHIR.Observation | fhirclient.FHIR.Observation[],\r\n property: string\r\n): (...codes: string[]) => any[]\r\n{\r\n const bank = byCode(observations, property);\r\n return (...codes) => codes\r\n .filter(code => (code + \"\") in bank)\r\n .reduce(\r\n (prev, code) => prev.concat(bank[code + \"\"]),\r\n [] as fhirclient.FHIR.Observation[]\r\n );\r\n}\r\n\r\n/**\r\n * Given a conformance statement and a resource type, returns the name of the\r\n * URL parameter that can be used to scope the resource type by patient ID.\r\n */\r\nexport function getPatientParam(conformance: fhirclient.FHIR.CapabilityStatement, resourceType: string): string\r\n{\r\n // Find what resources are supported by this server\r\n const resources = getPath(conformance, \"rest.0.resource\") || [];\r\n\r\n // Check if this resource is supported\r\n const meta = resources.find((r: any) => r.type === resourceType);\r\n if (!meta) {\r\n throw new Error(`Resource \"${resourceType}\" is not supported by this FHIR server`);\r\n }\r\n\r\n // Check if any search parameters are available for this resource\r\n if (!Array.isArray(meta.searchParam)) {\r\n throw new Error(`No search parameters supported for \"${resourceType}\" on this FHIR server`);\r\n }\r\n\r\n // This is a rare case but could happen in generic workflows\r\n if (resourceType == \"Patient\" && meta.searchParam.find((x: any) => x.name == \"_id\")) {\r\n return \"_id\";\r\n }\r\n\r\n // Now find the first possible parameter name\r\n const out = patientParams.find(p => meta.searchParam.find((x: any) => x.name == p));\r\n\r\n // If there is no match\r\n if (!out) {\r\n throw new Error(\"I don't know what param to use for \" + resourceType);\r\n }\r\n\r\n return out;\r\n}\r\n\r\n/**\r\n * Resolves a reference to target window. It may also open new window or tab if\r\n * the `target = \"popup\"` or `target = \"_blank\"`.\r\n * @param target\r\n * @param width Only used when `target = \"popup\"`\r\n * @param height Only used when `target = \"popup\"`\r\n */\r\nexport async function getTargetWindow(target: fhirclient.WindowTarget, width: number = 800, height: number = 720): Promise\r\n{\r\n // The target can be a function that returns the target. This can be\r\n // used to open a layer pop-up with an iframe and then return a reference\r\n // to that iframe (or its name)\r\n if (typeof target == \"function\") {\r\n target = await target();\r\n }\r\n\r\n // The target can be a window reference\r\n if (target && typeof target == \"object\") {\r\n return target;\r\n }\r\n\r\n // At this point target must be a string\r\n if (typeof target != \"string\") {\r\n _debug(\"Invalid target type '%s'. Failing back to '_self'.\", typeof target);\r\n return self;\r\n }\r\n\r\n // Current window\r\n if (target == \"_self\") {\r\n return self;\r\n }\r\n\r\n // The parent frame\r\n if (target == \"_parent\") {\r\n return parent;\r\n }\r\n\r\n // The top window\r\n if (target == \"_top\") {\r\n return top || self;\r\n }\r\n\r\n // New tab or window\r\n if (target == \"_blank\") {\r\n let error, targetWindow: Window | null = null;\r\n try {\r\n targetWindow = window.open(\"\", \"SMARTAuthPopup\");\r\n if (!targetWindow) {\r\n throw new Error(\"Perhaps window.open was blocked\");\r\n }\r\n } catch (e) {\r\n error = e;\r\n }\r\n\r\n if (!targetWindow) {\r\n _debug(\"Cannot open window. Failing back to '_self'. %s\", error);\r\n return self;\r\n } else {\r\n return targetWindow;\r\n }\r\n }\r\n\r\n // Popup window\r\n if (target == \"popup\") {\r\n let error, targetWindow: Window | null = null;\r\n // if (!targetWindow || targetWindow.closed) {\r\n try {\r\n targetWindow = window.open(\"\", \"SMARTAuthPopup\", [\r\n \"height=\" + height,\r\n \"width=\" + width,\r\n \"menubar=0\",\r\n \"resizable=1\",\r\n \"status=0\",\r\n \"top=\" + (screen.height - height) / 2,\r\n \"left=\" + (screen.width - width) / 2\r\n ].join(\",\"));\r\n if (!targetWindow) {\r\n throw new Error(\"Perhaps the popup window was blocked\");\r\n }\r\n } catch (e) {\r\n error = e;\r\n }\r\n\r\n if (!targetWindow) {\r\n _debug(\"Cannot open window. Failing back to '_self'. %s\", error);\r\n return self;\r\n } else {\r\n return targetWindow;\r\n }\r\n }\r\n\r\n // Frame or window by name\r\n const winOrFrame: Window = frames[target as any];\r\n if (winOrFrame) {\r\n return winOrFrame;\r\n }\r\n\r\n _debug(\"Unknown target '%s'. Failing back to '_self'.\", target);\r\n return self;\r\n}\r\n\r\nexport function assert(condition: any, message: string): asserts condition {\r\n if (!(condition)) {\r\n throw new Error(message)\r\n }\r\n}\r\n\r\nexport function assertJsonPatch(patch: fhirclient.JsonPatch): asserts patch {\r\n assert(Array.isArray(patch), \"The JSON patch must be an array\")\r\n assert(patch.length > 0, \"The JSON patch array should not be empty\")\r\n patch.forEach((operation: fhirclient.JsonPatchOperation) => {\r\n assert(\r\n [\"add\", \"replace\", \"test\", \"move\", \"copy\", \"remove\"].indexOf(operation.op) > -1,\r\n 'Each patch operation must have an \"op\" property which must be one of: \"add\", \"replace\", \"test\", \"move\", \"copy\", \"remove\"'\r\n )\r\n assert(operation.path && typeof operation.path, `Invalid \"${operation.op}\" operation. Missing \"path\" property`)\r\n \r\n if (operation.op == \"add\" || operation.op == \"replace\" || operation.op == \"test\") {\r\n assert(\"value\" in operation, `Invalid \"${operation.op}\" operation. Missing \"value\" property`)\r\n assert(Object.keys(operation).length == 3, `Invalid \"${operation.op}\" operation. Contains unknown properties`)\r\n }\r\n\r\n else if (operation.op == \"move\" || operation.op == \"copy\") {\r\n assert(typeof operation.from == \"string\", `Invalid \"${operation.op}\" operation. Requires a string \"from\" property`)\r\n assert(Object.keys(operation).length == 3, `Invalid \"${operation.op}\" operation. Contains unknown properties`)\r\n }\r\n\r\n else {\r\n assert(Object.keys(operation).length == 2, `Invalid \"${operation.op}\" operation. Contains unknown properties`)\r\n }\r\n })\r\n}\r\n","import { encodeURL, fromUint8Array } from \"js-base64\"\r\nimport { fhirclient } from \"../types\"\r\n\r\n\r\nconst crypto: Crypto = typeof globalThis === \"object\" && globalThis.crypto ?\r\n globalThis.crypto :\r\n require(\"isomorphic-webcrypto\").default;\r\n\r\nconst subtle = () => {\r\n if (!crypto.subtle) {\r\n if (!globalThis.isSecureContext) {\r\n throw new Error(\r\n \"Some of the required subtle crypto functionality is not \" +\r\n \"available unless you run this app in secure context (using \" +\r\n \"HTTPS or running locally). See \" +\r\n \"https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts\"\r\n )\r\n }\r\n throw new Error(\r\n \"Some of the required subtle crypto functionality is not \" +\r\n \"available in the current environment (no crypto.subtle)\"\r\n )\r\n }\r\n return crypto.subtle\r\n}\r\n\r\n\r\ninterface PkcePair {\r\n codeChallenge: string\r\n codeVerifier: string\r\n}\r\n\r\nconst ALGS = {\r\n ES384: {\r\n name: \"ECDSA\",\r\n namedCurve: \"P-384\"\r\n } as EcKeyGenParams,\r\n RS384: {\r\n name: \"RSASSA-PKCS1-v1_5\",\r\n modulusLength: 4096,\r\n publicExponent: new Uint8Array([1, 0, 1]),\r\n hash: {\r\n name: 'SHA-384'\r\n }\r\n } as RsaHashedKeyGenParams\r\n};\r\n\r\nexport function randomBytes(count: number): Uint8Array {\r\n return crypto.getRandomValues(new Uint8Array(count));\r\n}\r\n\r\nexport async function digestSha256(payload: string): Promise {\r\n const prepared = new TextEncoder().encode(payload);\r\n const hash = await subtle().digest('SHA-256', prepared);\r\n return new Uint8Array(hash);\r\n}\r\n\r\nexport const generatePKCEChallenge = async (entropy = 96): Promise => {\r\n const inputBytes = randomBytes(entropy)\r\n const codeVerifier = fromUint8Array(inputBytes, true)\r\n const codeChallenge = fromUint8Array(await digestSha256(codeVerifier), true)\r\n return { codeChallenge, codeVerifier }\r\n}\r\n\r\nexport async function importJWK(jwk: fhirclient.JWK): Promise {\r\n // alg is optional in JWK but we need it here!\r\n if (!jwk.alg) {\r\n throw new Error('The \"alg\" property of the JWK must be set to \"ES384\" or \"RS384\"')\r\n }\r\n\r\n // Use of the \"key_ops\" member is OPTIONAL, unless the application requires its presence.\r\n // https://www.rfc-editor.org/rfc/rfc7517.html#section-4.3\r\n // \r\n // In our case the app will only import private keys so we can assume \"sign\"\r\n if (!Array.isArray(jwk.key_ops)) {\r\n jwk.key_ops = [\"sign\"]\r\n }\r\n\r\n // In this case the JWK has a \"key_ops\" array and \"sign\" is not listed\r\n if (!jwk.key_ops.includes(\"sign\")) {\r\n throw new Error('The \"key_ops\" property of the JWK does not contain \"sign\"')\r\n }\r\n\r\n try {\r\n return await subtle().importKey(\r\n \"jwk\",\r\n jwk,\r\n ALGS[jwk.alg],\r\n jwk.ext === true,\r\n jwk.key_ops// || ['sign']\r\n )\r\n } catch (e) {\r\n throw new Error(`The ${jwk.alg} is not supported by this browser: ${e}`)\r\n }\r\n}\r\n\r\nexport async function signCompactJws(alg: keyof typeof ALGS, privateKey: CryptoKey, header: any, payload: any): Promise {\r\n\r\n const jwtHeader = JSON.stringify({ ...header, alg });\r\n const jwtPayload = JSON.stringify(payload);\r\n const jwtAuthenticatedContent = `${encodeURL(jwtHeader)}.${encodeURL(jwtPayload)}`;\r\n\r\n const signature = await subtle().sign(\r\n { ...privateKey.algorithm, hash: 'SHA-384' },\r\n privateKey,\r\n new TextEncoder().encode(jwtAuthenticatedContent)\r\n );\r\n\r\n return `${jwtAuthenticatedContent}.${fromUint8Array(new Uint8Array(signature), true)}`\r\n}\r\n","/**\r\n * Combined list of FHIR resource types accepting patient parameter in FHIR R2-R4\r\n */\r\nexport const patientCompartment = [\r\n \"Account\",\r\n \"AdverseEvent\",\r\n \"AllergyIntolerance\",\r\n \"Appointment\",\r\n \"AppointmentResponse\",\r\n \"AuditEvent\",\r\n \"Basic\",\r\n \"BodySite\",\r\n \"BodyStructure\",\r\n \"CarePlan\",\r\n \"CareTeam\",\r\n \"ChargeItem\",\r\n \"Claim\",\r\n \"ClaimResponse\",\r\n \"ClinicalImpression\",\r\n \"Communication\",\r\n \"CommunicationRequest\",\r\n \"Composition\",\r\n \"Condition\",\r\n \"Consent\",\r\n \"Coverage\",\r\n \"CoverageEligibilityRequest\",\r\n \"CoverageEligibilityResponse\",\r\n \"DetectedIssue\",\r\n \"DeviceRequest\",\r\n \"DeviceUseRequest\",\r\n \"DeviceUseStatement\",\r\n \"DiagnosticOrder\",\r\n \"DiagnosticReport\",\r\n \"DocumentManifest\",\r\n \"DocumentReference\",\r\n \"EligibilityRequest\",\r\n \"Encounter\",\r\n \"EnrollmentRequest\",\r\n \"EpisodeOfCare\",\r\n \"ExplanationOfBenefit\",\r\n \"FamilyMemberHistory\",\r\n \"Flag\",\r\n \"Goal\",\r\n \"Group\",\r\n \"ImagingManifest\",\r\n \"ImagingObjectSelection\",\r\n \"ImagingStudy\",\r\n \"Immunization\",\r\n \"ImmunizationEvaluation\",\r\n \"ImmunizationRecommendation\",\r\n \"Invoice\",\r\n \"List\",\r\n \"MeasureReport\",\r\n \"Media\",\r\n \"MedicationAdministration\",\r\n \"MedicationDispense\",\r\n \"MedicationOrder\",\r\n \"MedicationRequest\",\r\n \"MedicationStatement\",\r\n \"MolecularSequence\",\r\n \"NutritionOrder\",\r\n \"Observation\",\r\n \"Order\",\r\n \"Patient\",\r\n \"Person\",\r\n \"Procedure\",\r\n \"ProcedureRequest\",\r\n \"Provenance\",\r\n \"QuestionnaireResponse\",\r\n \"ReferralRequest\",\r\n \"RelatedPerson\",\r\n \"RequestGroup\",\r\n \"ResearchSubject\",\r\n \"RiskAssessment\",\r\n \"Schedule\",\r\n \"ServiceRequest\",\r\n \"Specimen\",\r\n \"SupplyDelivery\",\r\n \"SupplyRequest\",\r\n \"VisionPrescription\"\r\n];\r\n\r\n/**\r\n * Map of FHIR releases and their abstract version as number\r\n */\r\nexport const fhirVersions = {\r\n \"0.4.0\": 2,\r\n \"0.5.0\": 2,\r\n \"1.0.0\": 2,\r\n \"1.0.1\": 2,\r\n \"1.0.2\": 2,\r\n \"1.1.0\": 3,\r\n \"1.4.0\": 3,\r\n \"1.6.0\": 3,\r\n \"1.8.0\": 3,\r\n \"3.0.0\": 3,\r\n \"3.0.1\": 3,\r\n \"3.3.0\": 4,\r\n \"3.5.0\": 4,\r\n \"4.0.0\": 4,\r\n \"4.0.1\": 4\r\n};\r\n\r\n/**\r\n * Combined (FHIR R2-R4) list of search parameters that can be used to scope\r\n * a request by patient ID.\r\n */\r\nexport const patientParams = [\r\n \"patient\",\r\n \"subject\",\r\n \"requester\",\r\n \"member\",\r\n \"actor\",\r\n \"beneficiary\"\r\n];\r\n\r\n/**\r\n * The name of the sessionStorage entry that contains the current key\r\n */\r\nexport const SMART_KEY = \"SMART_KEY\";\r\n","/* global window */\r\nimport {\r\n debug as _debug,\r\n request,\r\n getPath,\r\n getTimeInFuture,\r\n randomString,\r\n getAndCache,\r\n fetchConformanceStatement,\r\n getAccessTokenExpiration,\r\n getTargetWindow,\r\n assert\r\n} from \"./lib\";\r\nimport Client from \"./Client\";\r\nimport { SMART_KEY } from \"./settings\";\r\nimport { fhirclient } from \"./types\";\r\n\r\nconst debug = _debug.extend(\"oauth2\");\r\n\r\nexport { SMART_KEY as KEY };\r\n\r\nfunction isBrowser() {\r\n return typeof window === \"object\";\r\n}\r\n\r\n/**\r\n * Fetches the well-known json file from the given base URL.\r\n * Note that the result is cached in memory (until the page is reloaded in the\r\n * browser) because it might have to be re-used by the client\r\n * @param baseUrl The base URL of the FHIR server\r\n */\r\nexport function fetchWellKnownJson(baseUrl = \"/\", requestOptions?: RequestInit): Promise\r\n{\r\n const url = String(baseUrl).replace(/\\/*$/, \"/\") + \".well-known/smart-configuration\";\r\n return getAndCache(url, requestOptions).catch((ex: Error) => {\r\n throw new Error(`Failed to fetch the well-known json \"${url}\". ${ex.message}`);\r\n });\r\n}\r\n\r\n/**\r\n * Fetch a \"WellKnownJson\" and extract the SMART endpoints from it\r\n */\r\nfunction getSecurityExtensionsFromWellKnownJson(baseUrl = \"/\", requestOptions?: RequestInit): Promise\r\n{\r\n return fetchWellKnownJson(baseUrl, requestOptions).then(meta => {\r\n if (!meta.authorization_endpoint || !meta.token_endpoint) {\r\n throw new Error(\"Invalid wellKnownJson\");\r\n }\r\n return {\r\n registrationUri : meta.registration_endpoint || \"\",\r\n authorizeUri : meta.authorization_endpoint,\r\n tokenUri : meta.token_endpoint,\r\n codeChallengeMethods: meta.code_challenge_methods_supported || []\r\n };\r\n });\r\n}\r\n\r\n/**\r\n * Fetch a `CapabilityStatement` and extract the SMART endpoints from it\r\n */\r\nfunction getSecurityExtensionsFromConformanceStatement(baseUrl = \"/\", requestOptions?: RequestInit): Promise\r\n{\r\n return fetchConformanceStatement(baseUrl, requestOptions).then(meta => {\r\n const nsUri = \"http://fhir-registry.smarthealthit.org/StructureDefinition/oauth-uris\";\r\n const extensions = ((getPath(meta || {}, \"rest.0.security.extension\") || []) as Array>)\r\n .filter(e => e.url === nsUri)\r\n .map(o => o.extension)[0];\r\n\r\n const out:fhirclient.OAuthSecurityExtensions = {\r\n registrationUri : \"\",\r\n authorizeUri : \"\",\r\n tokenUri : \"\",\r\n codeChallengeMethods: [],\r\n };\r\n\r\n if (extensions) {\r\n extensions.forEach(ext => {\r\n if (ext.url === \"register\") {\r\n out.registrationUri = ext.valueUri;\r\n }\r\n if (ext.url === \"authorize\") {\r\n out.authorizeUri = ext.valueUri;\r\n }\r\n if (ext.url === \"token\") {\r\n out.tokenUri = ext.valueUri;\r\n }\r\n });\r\n }\r\n\r\n return out;\r\n });\r\n}\r\n\r\n\r\n/**\r\n * Given a FHIR server, returns an object with it's Oauth security endpoints\r\n * that we are interested in. This will try to find the info in both the\r\n * `CapabilityStatement` and the `.well-known/smart-configuration`. Whatever\r\n * Arrives first will be used and the other request will be aborted.\r\n * @param [baseUrl = \"/\"] Fhir server base URL\r\n */\r\nexport function getSecurityExtensions(baseUrl = \"/\"): Promise\r\n{\r\n return getSecurityExtensionsFromWellKnownJson(baseUrl)\r\n .catch(() => getSecurityExtensionsFromConformanceStatement(baseUrl));\r\n}\r\n\r\n/**\r\n * Starts the SMART Launch Sequence.\r\n * > **IMPORTANT**:\r\n * `authorize()` will end up redirecting you to the authorization server.\r\n * This means that you should not add anything to the returned promise chain.\r\n * Any code written directly after the authorize() call might not be executed\r\n * due to that redirect!\r\n * @param env\r\n * @param [params]\r\n */\r\nexport async function authorize(\r\n env: fhirclient.Adapter,\r\n params: fhirclient.AuthorizeParams | fhirclient.AuthorizeParams[] = {}\r\n): Promise\r\n{\r\n const url = env.getUrl();\r\n\r\n // Multiple config for EHR launches ---------------------------------------\r\n if (Array.isArray(params)) {\r\n const urlISS = url.searchParams.get(\"iss\") || url.searchParams.get(\"fhirServiceUrl\");\r\n if (!urlISS) {\r\n throw new Error(\r\n 'Passing in an \"iss\" url parameter is required if authorize ' +\r\n 'uses multiple configurations'\r\n );\r\n }\r\n // pick the right config\r\n const cfg = params.find(x => {\r\n if (x.issMatch) {\r\n if (typeof x.issMatch === \"function\") {\r\n return !!x.issMatch(urlISS);\r\n }\r\n if (typeof x.issMatch === \"string\") {\r\n return x.issMatch === urlISS;\r\n }\r\n if (x.issMatch instanceof RegExp) {\r\n return x.issMatch.test(urlISS);\r\n }\r\n }\r\n return false;\r\n });\r\n assert(cfg, `No configuration found matching the current \"iss\" parameter \"${urlISS}\"`);\r\n return await authorize(env, cfg);\r\n }\r\n // ------------------------------------------------------------------------\r\n\r\n // Obtain input\r\n const {\r\n clientSecret,\r\n fakeTokenResponse,\r\n encounterId,\r\n target,\r\n width,\r\n height,\r\n pkceMode,\r\n clientPublicKeySetUrl,\r\n // Two deprecated values to use as fall-back values later\r\n redirect_uri,\r\n client_id,\r\n } = params;\r\n \r\n let {\r\n iss,\r\n launch,\r\n patientId,\r\n fhirServiceUrl,\r\n redirectUri,\r\n noRedirect,\r\n scope = \"\",\r\n clientId,\r\n completeInTarget,\r\n clientPrivateJwk,\r\n stateKey\r\n } = params;\r\n\r\n const storage = env.getStorage();\r\n\r\n // For these, a url param takes precedence over inline option\r\n iss = url.searchParams.get(\"iss\") || iss;\r\n fhirServiceUrl = url.searchParams.get(\"fhirServiceUrl\") || fhirServiceUrl;\r\n launch = url.searchParams.get(\"launch\") || launch;\r\n patientId = url.searchParams.get(\"patientId\") || patientId;\r\n clientId = url.searchParams.get(\"clientId\") || clientId;\r\n\r\n // If there's still no clientId or redirectUri, check deprecated params \r\n if (!clientId) {\r\n clientId = client_id;\r\n }\r\n if (!redirectUri) {\r\n redirectUri = redirect_uri;\r\n }\r\n\r\n if (!redirectUri) {\r\n redirectUri = env.relative(\".\");\r\n } else if (!redirectUri.match(/^https?\\:\\/\\//)) {\r\n redirectUri = env.relative(redirectUri);\r\n }\r\n\r\n const serverUrl = String(iss || fhirServiceUrl || \"\");\r\n\r\n // Validate input\r\n if (!serverUrl) {\r\n throw new Error(\r\n \"No server url found. It must be specified as `iss` or as \" +\r\n \"`fhirServiceUrl` parameter\"\r\n );\r\n }\r\n\r\n if (iss) {\r\n debug(\"Making %s launch...\", launch ? \"EHR\" : \"standalone\");\r\n }\r\n\r\n // append launch scope if needed\r\n if (launch && !scope.match(/launch/)) {\r\n scope += \" launch\";\r\n }\r\n\r\n if (isBrowser()) {\r\n const inFrame = isInFrame();\r\n const inPopUp = isInPopUp();\r\n\r\n if ((inFrame || inPopUp) && completeInTarget !== true && completeInTarget !== false) {\r\n \r\n // completeInTarget will default to true if authorize is called from\r\n // within an iframe. This is to avoid issues when the entire app\r\n // happens to be rendered in an iframe (including in some EHRs),\r\n // even though that was not how the app developer's intention.\r\n completeInTarget = inFrame;\r\n\r\n // In this case we can't always make the best decision so ask devs\r\n // to be explicit in their configuration.\r\n console.warn(\r\n 'Your app is being authorized from within an iframe or popup ' +\r\n 'window. Please be explicit and provide a \"completeInTarget\" ' +\r\n 'option. Use \"true\" to complete the authorization in the ' +\r\n 'same window, or \"false\" to try to complete it in the parent ' +\r\n 'or the opener window. See http://docs.smarthealthit.org/client-js/api.html'\r\n );\r\n }\r\n }\r\n\r\n // If `authorize` is called, make sure we clear any previous state (in case\r\n // this is a re-authorize)\r\n const oldKey = await storage.get(SMART_KEY);\r\n await storage.unset(oldKey);\r\n\r\n stateKey = stateKey ?? randomString(16);\r\n\r\n // Create initial state\r\n const state: fhirclient.ClientState = {\r\n clientId,\r\n scope,\r\n redirectUri,\r\n serverUrl,\r\n clientSecret,\r\n clientPrivateJwk,\r\n tokenResponse: {},\r\n key: stateKey,\r\n completeInTarget,\r\n clientPublicKeySetUrl\r\n };\r\n\r\n const fullSessionStorageSupport = isBrowser() ?\r\n getPath(env, \"options.fullSessionStorageSupport\") :\r\n true;\r\n\r\n if (fullSessionStorageSupport) {\r\n await storage.set(SMART_KEY, stateKey);\r\n }\r\n\r\n // fakeTokenResponse to override stuff (useful in development)\r\n if (fakeTokenResponse) {\r\n Object.assign(state.tokenResponse!, fakeTokenResponse);\r\n }\r\n\r\n // Fixed patientId (useful in development)\r\n if (patientId) {\r\n Object.assign(state.tokenResponse!, { patient: patientId });\r\n }\r\n\r\n // Fixed encounterId (useful in development)\r\n if (encounterId) {\r\n Object.assign(state.tokenResponse!, { encounter: encounterId });\r\n }\r\n\r\n let redirectUrl = redirectUri + \"?state=\" + encodeURIComponent(stateKey);\r\n\r\n // bypass oauth if fhirServiceUrl is used (but iss takes precedence)\r\n if (fhirServiceUrl && !iss) {\r\n debug(\"Making fake launch...\");\r\n await storage.set(stateKey, state);\r\n if (noRedirect) {\r\n return redirectUrl;\r\n }\r\n return await env.redirect(redirectUrl);\r\n }\r\n\r\n // Get oauth endpoints and add them to the state\r\n const extensions = await getSecurityExtensions(serverUrl);\r\n Object.assign(state, extensions);\r\n await storage.set(stateKey, state);\r\n\r\n // If this happens to be an open server and there is no authorizeUri\r\n if (!state.authorizeUri) {\r\n if (noRedirect) {\r\n return redirectUrl;\r\n }\r\n return await env.redirect(redirectUrl);\r\n }\r\n\r\n // build the redirect uri\r\n const redirectParams = [\r\n \"response_type=code\",\r\n \"client_id=\" + encodeURIComponent(clientId || \"\"),\r\n \"scope=\" + encodeURIComponent(scope),\r\n \"redirect_uri=\" + encodeURIComponent(redirectUri),\r\n \"aud=\" + encodeURIComponent(serverUrl),\r\n \"state=\" + encodeURIComponent(stateKey)\r\n ];\r\n\r\n // also pass this in case of EHR launch\r\n if (launch) {\r\n redirectParams.push(\"launch=\" + encodeURIComponent(launch));\r\n }\r\n\r\n if (shouldIncludeChallenge(extensions.codeChallengeMethods.includes('S256'), pkceMode)) {\r\n let codes = await env.security.generatePKCEChallenge()\r\n Object.assign(state, codes);\r\n await storage.set(stateKey, state);\r\n redirectParams.push(\"code_challenge=\" + state.codeChallenge);// note that the challenge is ALREADY encoded properly\r\n redirectParams.push(\"code_challenge_method=S256\");\r\n }\r\n \r\n redirectUrl = state.authorizeUri + \"?\" + redirectParams.join(\"&\");\r\n\r\n if (noRedirect) {\r\n return redirectUrl;\r\n }\r\n\r\n if (target && isBrowser()) {\r\n let win: Window;\r\n\r\n win = await getTargetWindow(target, width, height);\r\n\r\n if (win !== self) {\r\n try {\r\n // Also remove any old state from the target window and then\r\n // transfer the current state there\r\n win.sessionStorage.removeItem(oldKey);\r\n win.sessionStorage.setItem(stateKey, JSON.stringify(state));\r\n } catch (ex) {\r\n _debug(`Failed to modify window.sessionStorage. Perhaps it is from different origin?. Failing back to \"_self\". %s`, ex);\r\n win = self;\r\n }\r\n }\r\n\r\n if (win !== self) {\r\n try {\r\n win.location.href = redirectUrl;\r\n self.addEventListener(\"message\", onMessage);\r\n } catch (ex) {\r\n _debug(`Failed to modify window.location. Perhaps it is from different origin?. Failing back to \"_self\". %s`, ex);\r\n self.location.href = redirectUrl;\r\n }\r\n } else {\r\n self.location.href = redirectUrl;\r\n }\r\n\r\n return;\r\n }\r\n else {\r\n return await env.redirect(redirectUrl);\r\n }\r\n}\r\n\r\nfunction shouldIncludeChallenge(S256supported: boolean, pkceMode?: string) {\r\n if (pkceMode === \"disabled\") {\r\n return false;\r\n }\r\n if (pkceMode === \"unsafeV1\") {\r\n return true;\r\n }\r\n if (pkceMode === \"required\") {\r\n if (!S256supported) {\r\n throw new Error(\"Required PKCE code challenge method (`S256`) was not found in the server's codeChallengeMethods declaration.\");\r\n }\r\n return true;\r\n }\r\n return S256supported;\r\n}\r\n\r\n/**\r\n * Checks if called within a frame. Only works in browsers!\r\n * If the current window has a `parent` or `top` properties that refer to\r\n * another window, returns true. If trying to access `top` or `parent` throws an\r\n * error, returns true. Otherwise returns `false`.\r\n */\r\nexport function isInFrame() {\r\n try {\r\n return self !== top && parent !== self;\r\n } catch (e) {\r\n return true;\r\n }\r\n}\r\n\r\n/**\r\n * Checks if called within another window (popup or tab). Only works in browsers!\r\n * To consider itself called in a new window, this function verifies that:\r\n * 1. `self === top` (not in frame)\r\n * 2. `!!opener && opener !== self` The window has an opener\r\n * 3. `!!window.name` The window has a `name` set\r\n */\r\nexport function isInPopUp() {\r\n try {\r\n return self === top &&\r\n !!opener &&\r\n opener !== self &&\r\n !!window.name;\r\n } catch (e) {\r\n return false;\r\n }\r\n}\r\n\r\n/**\r\n * Another window can send a \"completeAuth\" message to this one, making it to\r\n * navigate to e.data.url\r\n * @param e The message event\r\n */\r\nexport function onMessage(e: MessageEvent) {\r\n if (e.data.type == \"completeAuth\" && e.origin === new URL(self.location.href).origin) {\r\n window.removeEventListener(\"message\", onMessage);\r\n window.location.href = e.data.url;\r\n }\r\n}\r\n\r\n/**\r\n * The ready function should only be called on the page that represents\r\n * the redirectUri. We typically land there after a redirect from the\r\n * authorization server, but this code will also be executed upon subsequent\r\n * navigation or page refresh.\r\n */\r\nexport async function ready(env: fhirclient.Adapter, options: fhirclient.ReadyOptions = {}): Promise\r\n{\r\n const url = env.getUrl();\r\n const Storage = env.getStorage();\r\n const params = url.searchParams;\r\n\r\n let key = params.get(\"state\") || options.stateKey;\r\n const code = params.get(\"code\") || options.code;\r\n const authError = params.get(\"error\");\r\n const authErrorDescription = params.get(\"error_description\");\r\n\r\n if (!key) {\r\n key = await Storage.get(SMART_KEY);\r\n }\r\n\r\n // Start by checking the url for `error` and `error_description` parameters.\r\n // This happens when the auth server rejects our authorization attempt. In\r\n // this case it has no other way to tell us what the error was, other than\r\n // appending these parameters to the redirect url.\r\n // From client's point of view, this is not very reliable (because we can't\r\n // know how we have landed on this page - was it a redirect or was it loaded\r\n // manually). However, if `ready()` is being called, we can assume\r\n // that the url comes from the auth server (otherwise the app won't work\r\n // anyway).\r\n if (authError || authErrorDescription) {\r\n throw new Error([\r\n authError,\r\n authErrorDescription\r\n ].filter(Boolean).join(\": \"));\r\n }\r\n\r\n debug(\"key: %s, code: %s\", key, code);\r\n\r\n // key might be coming from the page url so it might be empty or missing\r\n assert(key, \"No 'state' parameter found. Please (re)launch the app.\");\r\n\r\n // Check if we have a previous state\r\n let state = (await Storage.get(key)) as fhirclient.ClientState;\r\n\r\n const fullSessionStorageSupport = isBrowser() ?\r\n getPath(env, \"options.fullSessionStorageSupport\") :\r\n true;\r\n\r\n // If we are in a popup window or an iframe and the authorization is\r\n // complete, send the location back to our opener and exit.\r\n if (isBrowser() && state && !state.completeInTarget) {\r\n\r\n const inFrame = isInFrame();\r\n const inPopUp = isInPopUp();\r\n\r\n // we are about to return to the opener/parent where completeAuth will\r\n // be called again. In rare cases the opener or parent might also be\r\n // a frame or popup. Then inFrame or inPopUp will be true but we still\r\n // have to stop going up the chain. To guard against that weird form of\r\n // recursion we pass one additional parameter to the url which we later\r\n // remove.\r\n if ((inFrame || inPopUp) && !url.searchParams.get(\"complete\")) {\r\n url.searchParams.set(\"complete\", \"1\");\r\n const { href, origin } = url;\r\n if (inFrame) {\r\n parent.postMessage({ type: \"completeAuth\", url: href }, origin);\r\n }\r\n if (inPopUp) {\r\n opener.postMessage({ type: \"completeAuth\", url: href }, origin);\r\n window.close();\r\n }\r\n\r\n return new Promise(() => { /* leave it pending!!! */ });\r\n }\r\n }\r\n\r\n url.searchParams.delete(\"complete\");\r\n\r\n // Do we have to remove the `code` and `state` params from the URL?\r\n const hasState = params.has(\"state\") || options.stateKey ? true : false;\r\n\r\n if (isBrowser() && getPath(env, \"options.replaceBrowserHistory\") && (code || hasState)) {\r\n // `code` is the flag that tell us to request an access token.\r\n // We have to remove it, otherwise the page will authorize on\r\n // every load!\r\n if (code) {\r\n params.delete(\"code\");\r\n debug(\"Removed code parameter from the url.\");\r\n }\r\n\r\n // If we have `fullSessionStorageSupport` it means we no longer\r\n // need the `state` key. It will be stored to a well know\r\n // location - sessionStorage[SMART_KEY]. However, no\r\n // fullSessionStorageSupport means that this \"well know location\"\r\n // might be shared between windows and tabs. In this case we\r\n // MUST keep the `state` url parameter.\r\n if (hasState && fullSessionStorageSupport) {\r\n params.delete(\"state\");\r\n debug(\"Removed state parameter from the url.\");\r\n }\r\n\r\n // If the browser does not support the replaceState method for the\r\n // History Web API, the \"code\" parameter cannot be removed. As a\r\n // consequence, the page will (re)authorize on every load. The\r\n // workaround is to reload the page to new location without those\r\n // parameters. If that is not acceptable replaceBrowserHistory\r\n // should be set to false.\r\n if (window.history.replaceState) {\r\n window.history.replaceState({}, \"\", url.href);\r\n }\r\n }\r\n\r\n // If the state does not exist, it means the page has been loaded directly.\r\n assert(state, \"No state found! Please (re)launch the app.\");\r\n\r\n // Assume the client has already completed a token exchange when\r\n // there is no code (but we have a state) or access token is found in state\r\n const authorized = !code || state.tokenResponse?.access_token;\r\n\r\n // If we are authorized already, then this is just a reload.\r\n // Otherwise, we have to complete the code flow\r\n if (!authorized && state.tokenUri) {\r\n\r\n assert(code, \"'code' url parameter is required\");\r\n\r\n debug(\"Preparing to exchange the code for access token...\");\r\n const requestOptions = await buildTokenRequest(env, {\r\n code,\r\n state,\r\n clientPublicKeySetUrl: options.clientPublicKeySetUrl,\r\n privateKey: options.privateKey || state.clientPrivateJwk\r\n });\r\n debug(\"Token request options: %O\", requestOptions);\r\n\r\n // The EHR authorization server SHALL return a JSON structure that\r\n // includes an access token or a message indicating that the\r\n // authorization request has been denied.\r\n const tokenResponse = await request(state.tokenUri, requestOptions);\r\n debug(\"Token response: %O\", tokenResponse);\r\n assert(tokenResponse.access_token, \"Failed to obtain access token.\");\r\n\r\n // Now we need to determine when is this authorization going to expire\r\n state.expiresAt = getAccessTokenExpiration(tokenResponse, env);\r\n\r\n // save the tokenResponse so that we don't have to re-authorize on\r\n // every page reload\r\n state = { ...state, tokenResponse };\r\n await Storage.set(key, state);\r\n debug(\"Authorization successful!\");\r\n }\r\n else {\r\n debug(state.tokenResponse?.access_token ?\r\n \"Already authorized\" :\r\n \"No authorization needed\"\r\n );\r\n }\r\n\r\n if (fullSessionStorageSupport) {\r\n await Storage.set(SMART_KEY, key);\r\n }\r\n\r\n const client = new Client(env, state);\r\n debug(\"Created client instance: %O\", client);\r\n return client;\r\n}\r\n\r\n/**\r\n * Builds the token request options. Does not make the request, just\r\n * creates it's configuration and returns it in a Promise.\r\n */\r\nexport async function buildTokenRequest(\r\n env: fhirclient.Adapter,\r\n {\r\n code,\r\n state,\r\n clientPublicKeySetUrl,\r\n privateKey\r\n }: {\r\n /**\r\n * The `code` URL parameter received from the auth redirect\r\n */\r\n code: string,\r\n \r\n /**\r\n * The app state\r\n */\r\n state: fhirclient.ClientState\r\n\r\n /**\r\n * If provided overrides the `clientPublicKeySetUrl` from the authorize\r\n * options (if any). Used for `jku` token header in case of asymmetric auth.\r\n */\r\n clientPublicKeySetUrl?: string\r\n\r\n /**\r\n * Can be a private JWK, or an object with alg, kid and key properties,\r\n * where `key` is an un-extractable private CryptoKey object.\r\n */\r\n privateKey?: fhirclient.JWK | {\r\n key: CryptoKey\r\n alg: \"RS384\" | \"ES384\"\r\n kid: string\r\n }\r\n }\r\n): Promise\r\n{\r\n const { redirectUri, clientSecret, tokenUri, clientId, codeVerifier } = state;\r\n\r\n assert(redirectUri, \"Missing state.redirectUri\");\r\n assert(tokenUri, \"Missing state.tokenUri\");\r\n assert(clientId, \"Missing state.clientId\");\r\n\r\n const requestOptions: Record = {\r\n method: \"POST\",\r\n headers: { \"content-type\": \"application/x-www-form-urlencoded\" },\r\n body: `code=${code}&grant_type=authorization_code&redirect_uri=${\r\n encodeURIComponent(redirectUri)}`\r\n };\r\n\r\n // For public apps, authentication is not possible (and thus not required),\r\n // since a client with no secret cannot prove its identity when it issues a\r\n // call. (The end-to-end system can still be secure because the client comes\r\n // from a known, https protected endpoint specified and enforced by the\r\n // redirect uri.) For confidential apps, an Authorization header using HTTP\r\n // Basic authentication is required, where the username is the app’s\r\n // client_id and the password is the app’s client_secret (see example).\r\n if (clientSecret) {\r\n requestOptions.headers.authorization = \"Basic \" + env.btoa(\r\n clientId + \":\" + clientSecret\r\n );\r\n debug(\r\n \"Using state.clientSecret to construct the authorization header: %s\",\r\n requestOptions.headers.authorization\r\n );\r\n }\r\n \r\n // Asymmetric auth\r\n else if (privateKey) {\r\n\r\n const pk = \"key\" in privateKey ?\r\n privateKey.key as CryptoKey:\r\n await env.security.importJWK(privateKey as fhirclient.JWK)\r\n\r\n const jwtHeaders = {\r\n typ: \"JWT\",\r\n kid: privateKey.kid,\r\n jku: clientPublicKeySetUrl || state.clientPublicKeySetUrl\r\n };\r\n\r\n const jwtClaims = {\r\n iss: clientId,\r\n sub: clientId,\r\n aud: tokenUri,\r\n jti: env.base64urlencode(env.security.randomBytes(32)),\r\n exp: getTimeInFuture(120) // two minutes in the future\r\n };\r\n \r\n const clientAssertion = await env.security.signCompactJws(privateKey.alg, pk, jwtHeaders, jwtClaims);\r\n requestOptions.body += `&client_assertion_type=${encodeURIComponent(\"urn:ietf:params:oauth:client-assertion-type:jwt-bearer\")}`;\r\n requestOptions.body += `&client_assertion=${encodeURIComponent(clientAssertion)}`;\r\n debug(\"Using state.clientPrivateJwk to add a client_assertion to the POST body\")\r\n }\r\n \r\n // Public client\r\n else {\r\n debug(\"Public client detected; adding state.clientId to the POST body\");\r\n requestOptions.body += `&client_id=${encodeURIComponent(clientId)}`;\r\n }\r\n\r\n if (codeVerifier) {\r\n debug(\"Found state.codeVerifier, adding to the POST body\")\r\n // Note that the codeVerifier is ALREADY encoded properly \r\n requestOptions.body += \"&code_verifier=\" + codeVerifier;\r\n }\r\n \r\n return requestOptions as RequestInit;\r\n}\r\n\r\n/**\r\n * This function can be used when you want to handle everything in one page\r\n * (no launch endpoint needed). You can think of it as if it does:\r\n * ```js\r\n * authorize(options).then(ready)\r\n * ```\r\n *\r\n * **Be careful with init()!** There are some details you need to be aware of:\r\n *\r\n * 1. It will only work if your launch_uri is the same as your redirect_uri.\r\n * While this should be valid, we can’t promise that every EHR will allow you\r\n * to register client with such settings.\r\n * 2. Internally, `init()` will be called twice. First it will redirect to the\r\n * EHR, then the EHR will redirect back to the page where init() will be\r\n * called again to complete the authorization. This is generally fine,\r\n * because the returned promise will only be resolved once, after the second\r\n * execution, but please also consider the following:\r\n * - You should wrap all your app’s code in a function that is only executed\r\n * after `init()` resolves!\r\n * - Since the page will be loaded twice, you must be careful if your code\r\n * has global side effects that can persist between page reloads\r\n * (for example writing to localStorage).\r\n * 3. For standalone launch, only use init in combination with offline_access\r\n * scope. Once the access_token expires, if you don’t have a refresh_token\r\n * there is no way to re-authorize properly. We detect that and delete the\r\n * expired access token, but it still means that the user will have to\r\n * refresh the page twice to re-authorize.\r\n * @param env The adapter\r\n * @param authorizeOptions The authorize options\r\n */\r\nexport async function init(\r\n env: fhirclient.Adapter,\r\n authorizeOptions: fhirclient.AuthorizeParams,\r\n readyOptions?: fhirclient.ReadyOptions\r\n): Promise\r\n{\r\n const url = env.getUrl();\r\n const code = url.searchParams.get(\"code\");\r\n const state = url.searchParams.get(\"state\");\r\n\r\n // if `code` and `state` params are present we need to complete the auth flow\r\n if (code && state) {\r\n return ready(env, readyOptions);\r\n }\r\n\r\n // Check for existing client state. If state is found, it means a client\r\n // instance have already been created in this session and we should try to\r\n // \"revive\" it.\r\n const storage = env.getStorage();\r\n const key = state || await storage.get(SMART_KEY);\r\n const cached = await storage.get(key);\r\n if (cached) {\r\n return new Client(env, cached);\r\n }\r\n\r\n // Otherwise try to launch\r\n return authorize(env, authorizeOptions).then(() => {\r\n // `init` promises a Client but that cannot happen in this case. The\r\n // browser will be redirected (unload the page and be redirected back\r\n // to it later and the same init function will be called again). On\r\n // success, authorize will resolve with the redirect url but we don't\r\n // want to return that from this promise chain because it is not a\r\n // Client instance. At the same time, if authorize fails, we do want to\r\n // pass the error to those waiting for a client instance.\r\n return new Promise(() => { /* leave it pending!!! */ });\r\n });\r\n}\r\n","export default class Storage\r\n{\r\n /**\r\n * Gets the value at `key`. Returns a promise that will be resolved\r\n * with that value (or undefined for missing keys).\r\n */\r\n async get(key: string): Promise\r\n {\r\n const value = sessionStorage[key];\r\n if (value) {\r\n return JSON.parse(value);\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Sets the `value` on `key` and returns a promise that will be resolved\r\n * with the value that was set.\r\n */\r\n async set(key: string, value: any): Promise\r\n {\r\n sessionStorage[key] = JSON.stringify(value);\r\n return value;\r\n }\r\n\r\n /**\r\n * Deletes the value at `key`. Returns a promise that will be resolved\r\n * with true if the key was deleted or with false if it was not (eg. if\r\n * did not exist).\r\n */\r\n async unset(key: string): Promise\r\n {\r\n if (key in sessionStorage) {\r\n delete sessionStorage[key];\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n}\r\n","// This map contains reusable debug messages (only those used in multiple places)\r\nexport default {\r\n expired : \"Session expired! Please re-launch the app\",\r\n noScopeForId : \"Trying to get the ID of the selected %s. Please add 'launch' or 'launch/%s' to the requested scopes and try again.\",\r\n noIfNoAuth : \"You are trying to get %s but the app is not authorized yet.\",\r\n noFreeContext: \"Please don't use open fhir servers if you need to access launch context items like the %S.\"\r\n};\r\n","/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\nexports.destroy = (() => {\n\tlet warned = false;\n\n\treturn () => {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t\t}\n\t};\n})();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\tlet m;\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/)) && parseInt(m[1], 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.debug()` when available.\n * No-op when `console.debug` is not a \"function\".\n * If `console.debug` is not available, falls back\n * to `console.log`.\n *\n * @api public\n */\nexports.log = console.debug || console.log || (() => {});\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug');\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = require('ms');\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tlet i;\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n\t\tconst len = split.length;\n\n\t\tfor (i = 0; i < len; i++) {\n\t\t\tif (!split[i]) {\n\t\t\t\t// ignore empty strings\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tnamespaces = split[i].replace(/\\*/g, '.*?');\n\n\t\t\tif (namespaces[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(new RegExp('^' + namespaces.slice(1) + '$'));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(new RegExp('^' + namespaces + '$'));\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names.map(toNamespace),\n\t\t\t...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tif (name[name.length - 1] === '*') {\n\t\t\treturn true;\n\t\t}\n\n\t\tlet i;\n\t\tlet len;\n\n\t\tfor (i = 0, len = createDebug.skips.length; i < len; i++) {\n\t\t\tif (createDebug.skips[i].test(name)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (i = 0, len = createDebug.names.length; i < len; i++) {\n\t\t\tif (createDebug.names[i].test(name)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Convert regexp to namespace\n\t*\n\t* @param {RegExp} regxep\n\t* @return {String} namespace\n\t* @api private\n\t*/\n\tfunction toNamespace(regexp) {\n\t\treturn regexp.toString()\n\t\t\t.substring(2, regexp.toString().length - 2)\n\t\t\t.replace(/\\.\\*\\?$/, '*');\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n","//\n// THIS FILE IS AUTOMATICALLY GENERATED! DO NOT EDIT BY HAND!\n//\n;\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n ? module.exports = factory()\n : typeof define === 'function' && define.amd\n ? define(factory) :\n // cf. https://github.com/dankogai/js-base64/issues/119\n (function () {\n // existing version for noConflict()\n var _Base64 = global.Base64;\n var gBase64 = factory();\n gBase64.noConflict = function () {\n global.Base64 = _Base64;\n return gBase64;\n };\n if (global.Meteor) { // Meteor.js\n Base64 = gBase64;\n }\n global.Base64 = gBase64;\n })();\n}((typeof self !== 'undefined' ? self\n : typeof window !== 'undefined' ? window\n : typeof global !== 'undefined' ? global\n : this), function () {\n 'use strict';\n /**\n * base64.ts\n *\n * Licensed under the BSD 3-Clause License.\n * http://opensource.org/licenses/BSD-3-Clause\n *\n * References:\n * http://en.wikipedia.org/wiki/Base64\n *\n * @author Dan Kogai (https://github.com/dankogai)\n */\n var version = '3.7.7';\n /**\n * @deprecated use lowercase `version`.\n */\n var VERSION = version;\n var _hasBuffer = typeof Buffer === 'function';\n var _TD = typeof TextDecoder === 'function' ? new TextDecoder() : undefined;\n var _TE = typeof TextEncoder === 'function' ? new TextEncoder() : undefined;\n var b64ch = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\n var b64chs = Array.prototype.slice.call(b64ch);\n var b64tab = (function (a) {\n var tab = {};\n a.forEach(function (c, i) { return tab[c] = i; });\n return tab;\n })(b64chs);\n var b64re = /^(?:[A-Za-z\\d+\\/]{4})*?(?:[A-Za-z\\d+\\/]{2}(?:==)?|[A-Za-z\\d+\\/]{3}=?)?$/;\n var _fromCC = String.fromCharCode.bind(String);\n var _U8Afrom = typeof Uint8Array.from === 'function'\n ? Uint8Array.from.bind(Uint8Array)\n : function (it) { return new Uint8Array(Array.prototype.slice.call(it, 0)); };\n var _mkUriSafe = function (src) { return src\n .replace(/=/g, '').replace(/[+\\/]/g, function (m0) { return m0 == '+' ? '-' : '_'; }); };\n var _tidyB64 = function (s) { return s.replace(/[^A-Za-z0-9\\+\\/]/g, ''); };\n /**\n * polyfill version of `btoa`\n */\n var btoaPolyfill = function (bin) {\n // console.log('polyfilled');\n var u32, c0, c1, c2, asc = '';\n var pad = bin.length % 3;\n for (var i = 0; i < bin.length;) {\n if ((c0 = bin.charCodeAt(i++)) > 255 ||\n (c1 = bin.charCodeAt(i++)) > 255 ||\n (c2 = bin.charCodeAt(i++)) > 255)\n throw new TypeError('invalid character found');\n u32 = (c0 << 16) | (c1 << 8) | c2;\n asc += b64chs[u32 >> 18 & 63]\n + b64chs[u32 >> 12 & 63]\n + b64chs[u32 >> 6 & 63]\n + b64chs[u32 & 63];\n }\n return pad ? asc.slice(0, pad - 3) + \"===\".substring(pad) : asc;\n };\n /**\n * does what `window.btoa` of web browsers do.\n * @param {String} bin binary string\n * @returns {string} Base64-encoded string\n */\n var _btoa = typeof btoa === 'function' ? function (bin) { return btoa(bin); }\n : _hasBuffer ? function (bin) { return Buffer.from(bin, 'binary').toString('base64'); }\n : btoaPolyfill;\n var _fromUint8Array = _hasBuffer\n ? function (u8a) { return Buffer.from(u8a).toString('base64'); }\n : function (u8a) {\n // cf. https://stackoverflow.com/questions/12710001/how-to-convert-uint8-array-to-base64-encoded-string/12713326#12713326\n var maxargs = 0x1000;\n var strs = [];\n for (var i = 0, l = u8a.length; i < l; i += maxargs) {\n strs.push(_fromCC.apply(null, u8a.subarray(i, i + maxargs)));\n }\n return _btoa(strs.join(''));\n };\n /**\n * converts a Uint8Array to a Base64 string.\n * @param {boolean} [urlsafe] URL-and-filename-safe a la RFC4648 §5\n * @returns {string} Base64 string\n */\n var fromUint8Array = function (u8a, urlsafe) {\n if (urlsafe === void 0) { urlsafe = false; }\n return urlsafe ? _mkUriSafe(_fromUint8Array(u8a)) : _fromUint8Array(u8a);\n };\n // This trick is found broken https://github.com/dankogai/js-base64/issues/130\n // const utob = (src: string) => unescape(encodeURIComponent(src));\n // reverting good old fationed regexp\n var cb_utob = function (c) {\n if (c.length < 2) {\n var cc = c.charCodeAt(0);\n return cc < 0x80 ? c\n : cc < 0x800 ? (_fromCC(0xc0 | (cc >>> 6))\n + _fromCC(0x80 | (cc & 0x3f)))\n : (_fromCC(0xe0 | ((cc >>> 12) & 0x0f))\n + _fromCC(0x80 | ((cc >>> 6) & 0x3f))\n + _fromCC(0x80 | (cc & 0x3f)));\n }\n else {\n var cc = 0x10000\n + (c.charCodeAt(0) - 0xD800) * 0x400\n + (c.charCodeAt(1) - 0xDC00);\n return (_fromCC(0xf0 | ((cc >>> 18) & 0x07))\n + _fromCC(0x80 | ((cc >>> 12) & 0x3f))\n + _fromCC(0x80 | ((cc >>> 6) & 0x3f))\n + _fromCC(0x80 | (cc & 0x3f)));\n }\n };\n var re_utob = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFFF]|[^\\x00-\\x7F]/g;\n /**\n * @deprecated should have been internal use only.\n * @param {string} src UTF-8 string\n * @returns {string} UTF-16 string\n */\n var utob = function (u) { return u.replace(re_utob, cb_utob); };\n //\n var _encode = _hasBuffer\n ? function (s) { return Buffer.from(s, 'utf8').toString('base64'); }\n : _TE\n ? function (s) { return _fromUint8Array(_TE.encode(s)); }\n : function (s) { return _btoa(utob(s)); };\n /**\n * converts a UTF-8-encoded string to a Base64 string.\n * @param {boolean} [urlsafe] if `true` make the result URL-safe\n * @returns {string} Base64 string\n */\n var encode = function (src, urlsafe) {\n if (urlsafe === void 0) { urlsafe = false; }\n return urlsafe\n ? _mkUriSafe(_encode(src))\n : _encode(src);\n };\n /**\n * converts a UTF-8-encoded string to URL-safe Base64 RFC4648 §5.\n * @returns {string} Base64 string\n */\n var encodeURI = function (src) { return encode(src, true); };\n // This trick is found broken https://github.com/dankogai/js-base64/issues/130\n // const btou = (src: string) => decodeURIComponent(escape(src));\n // reverting good old fationed regexp\n var re_btou = /[\\xC0-\\xDF][\\x80-\\xBF]|[\\xE0-\\xEF][\\x80-\\xBF]{2}|[\\xF0-\\xF7][\\x80-\\xBF]{3}/g;\n var cb_btou = function (cccc) {\n switch (cccc.length) {\n case 4:\n var cp = ((0x07 & cccc.charCodeAt(0)) << 18)\n | ((0x3f & cccc.charCodeAt(1)) << 12)\n | ((0x3f & cccc.charCodeAt(2)) << 6)\n | (0x3f & cccc.charCodeAt(3)), offset = cp - 0x10000;\n return (_fromCC((offset >>> 10) + 0xD800)\n + _fromCC((offset & 0x3FF) + 0xDC00));\n case 3:\n return _fromCC(((0x0f & cccc.charCodeAt(0)) << 12)\n | ((0x3f & cccc.charCodeAt(1)) << 6)\n | (0x3f & cccc.charCodeAt(2)));\n default:\n return _fromCC(((0x1f & cccc.charCodeAt(0)) << 6)\n | (0x3f & cccc.charCodeAt(1)));\n }\n };\n /**\n * @deprecated should have been internal use only.\n * @param {string} src UTF-16 string\n * @returns {string} UTF-8 string\n */\n var btou = function (b) { return b.replace(re_btou, cb_btou); };\n /**\n * polyfill version of `atob`\n */\n var atobPolyfill = function (asc) {\n // console.log('polyfilled');\n asc = asc.replace(/\\s+/g, '');\n if (!b64re.test(asc))\n throw new TypeError('malformed base64.');\n asc += '=='.slice(2 - (asc.length & 3));\n var u24, bin = '', r1, r2;\n for (var i = 0; i < asc.length;) {\n u24 = b64tab[asc.charAt(i++)] << 18\n | b64tab[asc.charAt(i++)] << 12\n | (r1 = b64tab[asc.charAt(i++)]) << 6\n | (r2 = b64tab[asc.charAt(i++)]);\n bin += r1 === 64 ? _fromCC(u24 >> 16 & 255)\n : r2 === 64 ? _fromCC(u24 >> 16 & 255, u24 >> 8 & 255)\n : _fromCC(u24 >> 16 & 255, u24 >> 8 & 255, u24 & 255);\n }\n return bin;\n };\n /**\n * does what `window.atob` of web browsers do.\n * @param {String} asc Base64-encoded string\n * @returns {string} binary string\n */\n var _atob = typeof atob === 'function' ? function (asc) { return atob(_tidyB64(asc)); }\n : _hasBuffer ? function (asc) { return Buffer.from(asc, 'base64').toString('binary'); }\n : atobPolyfill;\n //\n var _toUint8Array = _hasBuffer\n ? function (a) { return _U8Afrom(Buffer.from(a, 'base64')); }\n : function (a) { return _U8Afrom(_atob(a).split('').map(function (c) { return c.charCodeAt(0); })); };\n /**\n * converts a Base64 string to a Uint8Array.\n */\n var toUint8Array = function (a) { return _toUint8Array(_unURI(a)); };\n //\n var _decode = _hasBuffer\n ? function (a) { return Buffer.from(a, 'base64').toString('utf8'); }\n : _TD\n ? function (a) { return _TD.decode(_toUint8Array(a)); }\n : function (a) { return btou(_atob(a)); };\n var _unURI = function (a) { return _tidyB64(a.replace(/[-_]/g, function (m0) { return m0 == '-' ? '+' : '/'; })); };\n /**\n * converts a Base64 string to a UTF-8 string.\n * @param {String} src Base64 string. Both normal and URL-safe are supported\n * @returns {string} UTF-8 string\n */\n var decode = function (src) { return _decode(_unURI(src)); };\n /**\n * check if a value is a valid Base64 string\n * @param {String} src a value to check\n */\n var isValid = function (src) {\n if (typeof src !== 'string')\n return false;\n var s = src.replace(/\\s+/g, '').replace(/={0,2}$/, '');\n return !/[^\\s0-9a-zA-Z\\+/]/.test(s) || !/[^\\s0-9a-zA-Z\\-_]/.test(s);\n };\n //\n var _noEnum = function (v) {\n return {\n value: v, enumerable: false, writable: true, configurable: true\n };\n };\n /**\n * extend String.prototype with relevant methods\n */\n var extendString = function () {\n var _add = function (name, body) { return Object.defineProperty(String.prototype, name, _noEnum(body)); };\n _add('fromBase64', function () { return decode(this); });\n _add('toBase64', function (urlsafe) { return encode(this, urlsafe); });\n _add('toBase64URI', function () { return encode(this, true); });\n _add('toBase64URL', function () { return encode(this, true); });\n _add('toUint8Array', function () { return toUint8Array(this); });\n };\n /**\n * extend Uint8Array.prototype with relevant methods\n */\n var extendUint8Array = function () {\n var _add = function (name, body) { return Object.defineProperty(Uint8Array.prototype, name, _noEnum(body)); };\n _add('toBase64', function (urlsafe) { return fromUint8Array(this, urlsafe); });\n _add('toBase64URI', function () { return fromUint8Array(this, true); });\n _add('toBase64URL', function () { return fromUint8Array(this, true); });\n };\n /**\n * extend Builtin prototypes with relevant methods\n */\n var extendBuiltins = function () {\n extendString();\n extendUint8Array();\n };\n var gBase64 = {\n version: version,\n VERSION: VERSION,\n atob: _atob,\n atobPolyfill: atobPolyfill,\n btoa: _btoa,\n btoaPolyfill: btoaPolyfill,\n fromBase64: decode,\n toBase64: encode,\n encode: encode,\n encodeURI: encodeURI,\n encodeURL: encodeURI,\n utob: utob,\n btou: btou,\n decode: decode,\n isValid: isValid,\n fromUint8Array: fromUint8Array,\n toUint8Array: toUint8Array,\n extendString: extendString,\n extendUint8Array: extendUint8Array,\n extendBuiltins: extendBuiltins\n };\n //\n // export Base64 to the namespace\n //\n // ES5 is yet to have Object.assign() that may make transpilers unhappy.\n // gBase64.Base64 = Object.assign({}, gBase64);\n gBase64.Base64 = {};\n Object.keys(gBase64).forEach(function (k) { return gBase64.Base64[k] = gBase64[k]; });\n return gBase64;\n}));\n","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function(val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isFinite(val)) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'weeks':\n case 'week':\n case 'w':\n return n * w;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (msAbs >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (msAbs >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (msAbs >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return plural(ms, msAbs, d, 'day');\n }\n if (msAbs >= h) {\n return plural(ms, msAbs, h, 'hour');\n }\n if (msAbs >= m) {\n return plural(ms, msAbs, m, 'minute');\n }\n if (msAbs >= s) {\n return plural(ms, msAbs, s, 'second');\n }\n return ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, msAbs, n, name) {\n var isPlural = msAbs >= n * 1.5;\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\n","import './webcrypto-shim.mjs'\nexport default window.crypto\n","/**\n * @file Web Cryptography API shim\n * @author Artem S Vybornov \n * @license MIT\n */\n(function (global, factory) {\n if (typeof define === 'function' && define.amd) {\n // AMD. Register as an anonymous module.\n define([], function () {\n return factory(global);\n });\n } else if (typeof module === 'object' && module.exports) {\n // CommonJS-like environments that support module.exports\n module.exports = factory(global);\n } else {\n factory(global);\n }\n}(typeof self !== 'undefined' ? self : this, function (global) {\n 'use strict';\n\n if ( typeof Promise !== 'function' )\n throw \"Promise support required\";\n\n var _crypto = global.crypto || global.msCrypto;\n if ( !_crypto ) return;\n\n var _subtle = _crypto.subtle || _crypto.webkitSubtle;\n if ( !_subtle ) return;\n\n var _Crypto = global.Crypto || _crypto.constructor || Object,\n _SubtleCrypto = global.SubtleCrypto || _subtle.constructor || Object,\n _CryptoKey = global.CryptoKey || global.Key || Object;\n\n var isEdge = global.navigator.userAgent.indexOf('Edge/') > -1;\n var isIE = !!global.msCrypto && !isEdge;\n var isWebkit = !_crypto.subtle && !!_crypto.webkitSubtle;\n if ( !isIE && !isWebkit ) return;\n\n function s2a ( s ) {\n return btoa(s).replace(/\\=+$/, '').replace(/\\+/g, '-').replace(/\\//g, '_');\n }\n\n function a2s ( s ) {\n s += '===', s = s.slice( 0, -s.length % 4 );\n return atob( s.replace(/-/g, '+').replace(/_/g, '/') );\n }\n\n function s2b ( s ) {\n var b = new Uint8Array(s.length);\n for ( var i = 0; i < s.length; i++ ) b[i] = s.charCodeAt(i);\n return b;\n }\n\n function b2s ( b ) {\n if ( b instanceof ArrayBuffer ) b = new Uint8Array(b);\n return String.fromCharCode.apply( String, b );\n }\n\n function alg ( a ) {\n var r = { 'name': (a.name || a || '').toUpperCase().replace('V','v') };\n switch ( r.name ) {\n case 'SHA-1':\n case 'SHA-256':\n case 'SHA-384':\n case 'SHA-512':\n break;\n case 'AES-CBC':\n case 'AES-GCM':\n case 'AES-KW':\n if ( a.length ) r['length'] = a.length;\n break;\n case 'HMAC':\n if ( a.hash ) r['hash'] = alg(a.hash);\n if ( a.length ) r['length'] = a.length;\n break;\n case 'RSAES-PKCS1-v1_5':\n if ( a.publicExponent ) r['publicExponent'] = new Uint8Array(a.publicExponent);\n if ( a.modulusLength ) r['modulusLength'] = a.modulusLength;\n break;\n case 'RSASSA-PKCS1-v1_5':\n case 'RSA-OAEP':\n if ( a.hash ) r['hash'] = alg(a.hash);\n if ( a.publicExponent ) r['publicExponent'] = new Uint8Array(a.publicExponent);\n if ( a.modulusLength ) r['modulusLength'] = a.modulusLength;\n break;\n default:\n throw new SyntaxError(\"Bad algorithm name\");\n }\n return r;\n };\n\n function jwkAlg ( a ) {\n return {\n 'HMAC': {\n 'SHA-1': 'HS1',\n 'SHA-256': 'HS256',\n 'SHA-384': 'HS384',\n 'SHA-512': 'HS512',\n },\n 'RSASSA-PKCS1-v1_5': {\n 'SHA-1': 'RS1',\n 'SHA-256': 'RS256',\n 'SHA-384': 'RS384',\n 'SHA-512': 'RS512',\n },\n 'RSAES-PKCS1-v1_5': {\n '': 'RSA1_5',\n },\n 'RSA-OAEP': {\n 'SHA-1': 'RSA-OAEP',\n 'SHA-256': 'RSA-OAEP-256',\n },\n 'AES-KW': {\n '128': 'A128KW',\n '192': 'A192KW',\n '256': 'A256KW',\n },\n 'AES-GCM': {\n '128': 'A128GCM',\n '192': 'A192GCM',\n '256': 'A256GCM',\n },\n 'AES-CBC': {\n '128': 'A128CBC',\n '192': 'A192CBC',\n '256': 'A256CBC',\n },\n }[a.name][ ( a.hash || {} ).name || a.length || '' ];\n }\n\n function b2jwk ( k ) {\n if ( k instanceof ArrayBuffer || k instanceof Uint8Array ) k = JSON.parse( decodeURIComponent( escape( b2s(k) ) ) );\n var jwk = { 'kty': k.kty, 'alg': k.alg, 'ext': k.ext || k.extractable };\n switch ( jwk.kty ) {\n case 'oct':\n jwk.k = k.k;\n case 'RSA':\n [ 'n', 'e', 'd', 'p', 'q', 'dp', 'dq', 'qi', 'oth' ].forEach( function ( x ) { if ( x in k ) jwk[x] = k[x] } );\n break;\n default:\n throw new TypeError(\"Unsupported key type\");\n }\n return jwk;\n }\n\n function jwk2b ( k ) {\n var jwk = b2jwk(k);\n if ( isIE ) jwk['extractable'] = jwk.ext, delete jwk.ext;\n return s2b( unescape( encodeURIComponent( JSON.stringify(jwk) ) ) ).buffer;\n }\n\n function pkcs2jwk ( k ) {\n var info = b2der(k), prv = false;\n if ( info.length > 2 ) prv = true, info.shift(); // remove version from PKCS#8 PrivateKeyInfo structure\n var jwk = { 'ext': true };\n switch ( info[0][0] ) {\n case '1.2.840.113549.1.1.1':\n var rsaComp = [ 'n', 'e', 'd', 'p', 'q', 'dp', 'dq', 'qi' ],\n rsaKey = b2der( info[1] );\n if ( prv ) rsaKey.shift(); // remove version from PKCS#1 RSAPrivateKey structure\n for ( var i = 0; i < rsaKey.length; i++ ) {\n if ( !rsaKey[i][0] ) rsaKey[i] = rsaKey[i].subarray(1);\n jwk[ rsaComp[i] ] = s2a( b2s( rsaKey[i] ) );\n }\n jwk['kty'] = 'RSA';\n break;\n default:\n throw new TypeError(\"Unsupported key type\");\n }\n return jwk;\n }\n\n function jwk2pkcs ( k ) {\n var key, info = [ [ '', null ] ], prv = false;\n switch ( k.kty ) {\n case 'RSA':\n var rsaComp = [ 'n', 'e', 'd', 'p', 'q', 'dp', 'dq', 'qi' ],\n rsaKey = [];\n for ( var i = 0; i < rsaComp.length; i++ ) {\n if ( !( rsaComp[i] in k ) ) break;\n var b = rsaKey[i] = s2b( a2s( k[ rsaComp[i] ] ) );\n if ( b[0] & 0x80 ) rsaKey[i] = new Uint8Array(b.length + 1), rsaKey[i].set( b, 1 );\n }\n if ( rsaKey.length > 2 ) prv = true, rsaKey.unshift( new Uint8Array([0]) ); // add version to PKCS#1 RSAPrivateKey structure\n info[0][0] = '1.2.840.113549.1.1.1';\n key = rsaKey;\n break;\n default:\n throw new TypeError(\"Unsupported key type\");\n }\n info.push( new Uint8Array( der2b(key) ).buffer );\n if ( !prv ) info[1] = { 'tag': 0x03, 'value': info[1] };\n else info.unshift( new Uint8Array([0]) ); // add version to PKCS#8 PrivateKeyInfo structure\n return new Uint8Array( der2b(info) ).buffer;\n }\n\n var oid2str = { 'KoZIhvcNAQEB': '1.2.840.113549.1.1.1' },\n str2oid = { '1.2.840.113549.1.1.1': 'KoZIhvcNAQEB' };\n\n function b2der ( buf, ctx ) {\n if ( buf instanceof ArrayBuffer ) buf = new Uint8Array(buf);\n if ( !ctx ) ctx = { pos: 0, end: buf.length };\n\n if ( ctx.end - ctx.pos < 2 || ctx.end > buf.length ) throw new RangeError(\"Malformed DER\");\n\n var tag = buf[ctx.pos++],\n len = buf[ctx.pos++];\n\n if ( len >= 0x80 ) {\n len &= 0x7f;\n if ( ctx.end - ctx.pos < len ) throw new RangeError(\"Malformed DER\");\n for ( var xlen = 0; len--; ) xlen <<= 8, xlen |= buf[ctx.pos++];\n len = xlen;\n }\n\n if ( ctx.end - ctx.pos < len ) throw new RangeError(\"Malformed DER\");\n\n var rv;\n\n switch ( tag ) {\n case 0x02: // Universal Primitive INTEGER\n rv = buf.subarray( ctx.pos, ctx.pos += len );\n break;\n case 0x03: // Universal Primitive BIT STRING\n if ( buf[ctx.pos++] ) throw new Error( \"Unsupported bit string\" );\n len--;\n case 0x04: // Universal Primitive OCTET STRING\n rv = new Uint8Array( buf.subarray( ctx.pos, ctx.pos += len ) ).buffer;\n break;\n case 0x05: // Universal Primitive NULL\n rv = null;\n break;\n case 0x06: // Universal Primitive OBJECT IDENTIFIER\n var oid = btoa( b2s( buf.subarray( ctx.pos, ctx.pos += len ) ) );\n if ( !( oid in oid2str ) ) throw new Error( \"Unsupported OBJECT ID \" + oid );\n rv = oid2str[oid];\n break;\n case 0x30: // Universal Constructed SEQUENCE\n rv = [];\n for ( var end = ctx.pos + len; ctx.pos < end; ) rv.push( b2der( buf, ctx ) );\n break;\n default:\n throw new Error( \"Unsupported DER tag 0x\" + tag.toString(16) );\n }\n\n return rv;\n }\n\n function der2b ( val, buf ) {\n if ( !buf ) buf = [];\n\n var tag = 0, len = 0,\n pos = buf.length + 2;\n\n buf.push( 0, 0 ); // placeholder\n\n if ( val instanceof Uint8Array ) { // Universal Primitive INTEGER\n tag = 0x02, len = val.length;\n for ( var i = 0; i < len; i++ ) buf.push( val[i] );\n }\n else if ( val instanceof ArrayBuffer ) { // Universal Primitive OCTET STRING\n tag = 0x04, len = val.byteLength, val = new Uint8Array(val);\n for ( var i = 0; i < len; i++ ) buf.push( val[i] );\n }\n else if ( val === null ) { // Universal Primitive NULL\n tag = 0x05, len = 0;\n }\n else if ( typeof val === 'string' && val in str2oid ) { // Universal Primitive OBJECT IDENTIFIER\n var oid = s2b( atob( str2oid[val] ) );\n tag = 0x06, len = oid.length;\n for ( var i = 0; i < len; i++ ) buf.push( oid[i] );\n }\n else if ( val instanceof Array ) { // Universal Constructed SEQUENCE\n for ( var i = 0; i < val.length; i++ ) der2b( val[i], buf );\n tag = 0x30, len = buf.length - pos;\n }\n else if ( typeof val === 'object' && val.tag === 0x03 && val.value instanceof ArrayBuffer ) { // Tag hint\n val = new Uint8Array(val.value), tag = 0x03, len = val.byteLength;\n buf.push(0); for ( var i = 0; i < len; i++ ) buf.push( val[i] );\n len++;\n }\n else {\n throw new Error( \"Unsupported DER value \" + val );\n }\n\n if ( len >= 0x80 ) {\n var xlen = len, len = 4;\n buf.splice( pos, 0, (xlen >> 24) & 0xff, (xlen >> 16) & 0xff, (xlen >> 8) & 0xff, xlen & 0xff );\n while ( len > 1 && !(xlen >> 24) ) xlen <<= 8, len--;\n if ( len < 4 ) buf.splice( pos, 4 - len );\n len |= 0x80;\n }\n\n buf.splice( pos - 2, 2, tag, len );\n\n return buf;\n }\n\n function CryptoKey ( key, alg, ext, use ) {\n Object.defineProperties( this, {\n _key: {\n value: key\n },\n type: {\n value: key.type,\n enumerable: true,\n },\n extractable: {\n value: (ext === undefined) ? key.extractable : ext,\n enumerable: true,\n },\n algorithm: {\n value: (alg === undefined) ? key.algorithm : alg,\n enumerable: true,\n },\n usages: {\n value: (use === undefined) ? key.usages : use,\n enumerable: true,\n },\n });\n }\n\n function isPubKeyUse ( u ) {\n return u === 'verify' || u === 'encrypt' || u === 'wrapKey';\n }\n\n function isPrvKeyUse ( u ) {\n return u === 'sign' || u === 'decrypt' || u === 'unwrapKey';\n }\n\n [ 'generateKey', 'importKey', 'unwrapKey' ]\n .forEach( function ( m ) {\n var _fn = _subtle[m];\n\n _subtle[m] = function ( a, b, c ) {\n var args = [].slice.call(arguments),\n ka, kx, ku;\n\n switch ( m ) {\n case 'generateKey':\n ka = alg(a), kx = b, ku = c;\n break;\n case 'importKey':\n ka = alg(c), kx = args[3], ku = args[4];\n if ( a === 'jwk' ) {\n b = b2jwk(b);\n if ( !b.alg ) b.alg = jwkAlg(ka);\n if ( !b.key_ops ) b.key_ops = ( b.kty !== 'oct' ) ? ( 'd' in b ) ? ku.filter(isPrvKeyUse) : ku.filter(isPubKeyUse) : ku.slice();\n args[1] = jwk2b(b);\n }\n break;\n case 'unwrapKey':\n ka = args[4], kx = args[5], ku = args[6];\n args[2] = c._key;\n break;\n }\n\n if ( m === 'generateKey' && ka.name === 'HMAC' && ka.hash ) {\n ka.length = ka.length || { 'SHA-1': 512, 'SHA-256': 512, 'SHA-384': 1024, 'SHA-512': 1024 }[ka.hash.name];\n return _subtle.importKey( 'raw', _crypto.getRandomValues( new Uint8Array( (ka.length+7)>>3 ) ), ka, kx, ku );\n }\n\n if ( isWebkit && m === 'generateKey' && ka.name === 'RSASSA-PKCS1-v1_5' && ( !ka.modulusLength || ka.modulusLength >= 2048 ) ) {\n a = alg(a), a.name = 'RSAES-PKCS1-v1_5', delete a.hash;\n return _subtle.generateKey( a, true, [ 'encrypt', 'decrypt' ] )\n .then( function ( k ) {\n return Promise.all([\n _subtle.exportKey( 'jwk', k.publicKey ),\n _subtle.exportKey( 'jwk', k.privateKey ),\n ]);\n })\n .then( function ( keys ) {\n keys[0].alg = keys[1].alg = jwkAlg(ka);\n keys[0].key_ops = ku.filter(isPubKeyUse), keys[1].key_ops = ku.filter(isPrvKeyUse);\n return Promise.all([\n _subtle.importKey( 'jwk', keys[0], ka, true, keys[0].key_ops ),\n _subtle.importKey( 'jwk', keys[1], ka, kx, keys[1].key_ops ),\n ]);\n })\n .then( function ( keys ) {\n return {\n publicKey: keys[0],\n privateKey: keys[1],\n };\n });\n }\n\n if ( ( isWebkit || ( isIE && ( ka.hash || {} ).name === 'SHA-1' ) )\n && m === 'importKey' && a === 'jwk' && ka.name === 'HMAC' && b.kty === 'oct' ) {\n return _subtle.importKey( 'raw', s2b( a2s(b.k) ), c, args[3], args[4] );\n }\n\n if ( isWebkit && m === 'importKey' && ( a === 'spki' || a === 'pkcs8' ) ) {\n return _subtle.importKey( 'jwk', pkcs2jwk(b), c, args[3], args[4] );\n }\n\n if ( isIE && m === 'unwrapKey' ) {\n return _subtle.decrypt( args[3], c, b )\n .then( function ( k ) {\n return _subtle.importKey( a, k, args[4], args[5], args[6] );\n });\n }\n\n var op;\n try {\n op = _fn.apply( _subtle, args );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n if ( isIE ) {\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) { rej(e) };\n op.oncomplete = function ( r ) { res(r.target.result) };\n });\n }\n\n op = op.then( function ( k ) {\n if ( ka.name === 'HMAC' ) {\n if ( !ka.length ) ka.length = 8 * k.algorithm.length;\n }\n if ( ka.name.search('RSA') == 0 ) {\n if ( !ka.modulusLength ) ka.modulusLength = (k.publicKey || k).algorithm.modulusLength;\n if ( !ka.publicExponent ) ka.publicExponent = (k.publicKey || k).algorithm.publicExponent;\n }\n if ( k.publicKey && k.privateKey ) {\n k = {\n publicKey: new CryptoKey( k.publicKey, ka, kx, ku.filter(isPubKeyUse) ),\n privateKey: new CryptoKey( k.privateKey, ka, kx, ku.filter(isPrvKeyUse) ),\n };\n }\n else {\n k = new CryptoKey( k, ka, kx, ku );\n }\n return k;\n });\n\n return op;\n }\n });\n\n [ 'exportKey', 'wrapKey' ]\n .forEach( function ( m ) {\n var _fn = _subtle[m];\n\n _subtle[m] = function ( a, b, c ) {\n var args = [].slice.call(arguments);\n\n switch ( m ) {\n case 'exportKey':\n args[1] = b._key;\n break;\n case 'wrapKey':\n args[1] = b._key, args[2] = c._key;\n break;\n }\n\n if ( ( isWebkit || ( isIE && ( b.algorithm.hash || {} ).name === 'SHA-1' ) )\n && m === 'exportKey' && a === 'jwk' && b.algorithm.name === 'HMAC' ) {\n args[0] = 'raw';\n }\n\n if ( isWebkit && m === 'exportKey' && ( a === 'spki' || a === 'pkcs8' ) ) {\n args[0] = 'jwk';\n }\n\n if ( isIE && m === 'wrapKey' ) {\n return _subtle.exportKey( a, b )\n .then( function ( k ) {\n if ( a === 'jwk' ) k = s2b( unescape( encodeURIComponent( JSON.stringify( b2jwk(k) ) ) ) );\n return _subtle.encrypt( args[3], c, k );\n });\n }\n\n var op;\n try {\n op = _fn.apply( _subtle, args );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n if ( isIE ) {\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) { rej(e) };\n op.oncomplete = function ( r ) { res(r.target.result) };\n });\n }\n\n if ( m === 'exportKey' && a === 'jwk' ) {\n op = op.then( function ( k ) {\n if ( ( isWebkit || ( isIE && ( b.algorithm.hash || {} ).name === 'SHA-1' ) )\n && b.algorithm.name === 'HMAC') {\n return { 'kty': 'oct', 'alg': jwkAlg(b.algorithm), 'key_ops': b.usages.slice(), 'ext': true, 'k': s2a( b2s(k) ) };\n }\n k = b2jwk(k);\n if ( !k.alg ) k['alg'] = jwkAlg(b.algorithm);\n if ( !k.key_ops ) k['key_ops'] = ( b.type === 'public' ) ? b.usages.filter(isPubKeyUse) : ( b.type === 'private' ) ? b.usages.filter(isPrvKeyUse) : b.usages.slice();\n return k;\n });\n }\n\n if ( isWebkit && m === 'exportKey' && ( a === 'spki' || a === 'pkcs8' ) ) {\n op = op.then( function ( k ) {\n k = jwk2pkcs( b2jwk(k) );\n return k;\n });\n }\n\n return op;\n }\n });\n\n [ 'encrypt', 'decrypt', 'sign', 'verify' ]\n .forEach( function ( m ) {\n var _fn = _subtle[m];\n\n _subtle[m] = function ( a, b, c, d ) {\n if ( isIE && ( !c.byteLength || ( d && !d.byteLength ) ) )\n throw new Error(\"Empy input is not allowed\");\n\n var args = [].slice.call(arguments),\n ka = alg(a);\n\n if ( isIE && m === 'decrypt' && ka.name === 'AES-GCM' ) {\n var tl = a.tagLength >> 3;\n args[2] = (c.buffer || c).slice( 0, c.byteLength - tl ),\n a.tag = (c.buffer || c).slice( c.byteLength - tl );\n }\n\n args[1] = b._key;\n\n var op;\n try {\n op = _fn.apply( _subtle, args );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n if ( isIE ) {\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) {\n rej(e);\n };\n\n op.oncomplete = function ( r ) {\n var r = r.target.result;\n\n if ( m === 'encrypt' && r instanceof AesGcmEncryptResult ) {\n var c = r.ciphertext, t = r.tag;\n r = new Uint8Array( c.byteLength + t.byteLength );\n r.set( new Uint8Array(c), 0 );\n r.set( new Uint8Array(t), c.byteLength );\n r = r.buffer;\n }\n\n res(r);\n };\n });\n }\n\n return op;\n }\n });\n\n if ( isIE ) {\n var _digest = _subtle.digest;\n\n _subtle['digest'] = function ( a, b ) {\n if ( !b.byteLength )\n throw new Error(\"Empy input is not allowed\");\n\n var op;\n try {\n op = _digest.call( _subtle, a, b );\n }\n catch ( e ) {\n return Promise.reject(e);\n }\n\n op = new Promise( function ( res, rej ) {\n op.onabort =\n op.onerror = function ( e ) { rej(e) };\n op.oncomplete = function ( r ) { res(r.target.result) };\n });\n\n return op;\n };\n\n global.crypto = Object.create( _crypto, {\n getRandomValues: { value: function ( a ) { return _crypto.getRandomValues(a) } },\n subtle: { value: _subtle },\n });\n\n global.CryptoKey = CryptoKey;\n }\n\n if ( isWebkit ) {\n _crypto.subtle = _subtle;\n\n global.Crypto = _Crypto;\n global.SubtleCrypto = _SubtleCrypto;\n global.CryptoKey = CryptoKey;\n }\n}));\n\n export default {} // section modified by isomorphic-webcrypto build \n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(952);\n"],"names":["lib_1","require","strings_1","settings_1","Response","window","debug","extend","resolveRefs","obj","fhirOptions","cache","client","requestOptions","paths","makeArray","resolveReferences","filter","Boolean","map","path","String","trim","p","i","indexOf","length","Promise","resolve","groups","forEach","len","split","push","task","Object","keys","sort","group","then","all","graph","node","getPath","isArray","Array","item","ref","reference","refId","signal","headers","request","url","res","error","getRef","sub","setPath","replace","catch","ex","status","resolveRef","exports","constructor","environment","state","units","_state","serverUrl","assert","match","this","_refreshTask","patient","id","getPatientId","read","reject","Error","options","async","base","absolute","contextualURL","_url","resourceType","pathname","pop","patientCompartment","conformance","fetchConformanceStatement","searchParam","getPatientParam","searchParams","set","href","URL","contextualize","encounter","getEncounterId","user","fhirUser","getFhirUser","getUserId","getUserType","connect","fhir","fhirJs","baseUrl","accessToken","getState","auth","token","username","password","pass","api","patientId","tokenResponse","scope","default","noScopeForId","authorizeUri","noIfNoAuth","noFreeContext","getIdToken","idToken","id_token","hasOpenid","hasProfile","hasFhirUser","jwtDecode","slice","join","profile","getAuthorizationHeader","btoa","_clearState","storage","getStorage","key","get","SMART_KEY","unset","create","resource","method","body","JSON","stringify","update","delete","patch","assertJsonPatch","_resolvedRefs","debugRequest","flat","pageLimit","_a","useRefreshToken","onPage","undefined","response","refreshIfNeeded","authHeader","authorization","result","includeResponse","message","expired","data","_data","entry","links","link","next","find","l","relation","nextPage","assign","references","concat","refreshToken","expiresAt","Date","now","refresh","debugRefresh","_b","refresh_token","tokenUri","scopes","hasOfflineAccess","search","hasOnlineAccess","encodeURIComponent","refreshTokenWithClientId","clientId","refreshRequestOptions","credentials","refreshTokenWithCredentials","mode","clientSecret","access_token","getAccessTokenExpiration","finally","byCode","observations","property","byCodes","getFhirVersion","metadata","fhirVersion","getFhirRelease","v","fhirVersions","HttpError","super","statusText","name","statusCode","parse","bodyUsed","type","json","error_description","text","toJSON","smart_1","Client_1","BrowserStorage_1","security","js_base64_1","_storage","replaceBrowserHistory","fullSessionStorageSupport","relative","getUrl","location","redirect","to","getAbortController","AbortController","atob","str","base64urlencode","input","encodeURL","fromUint8Array","base64urldecode","decode","getSmartApi","ready","args","authorize","init","utils","adapter","FHIR","oauth2","settings","module","HttpError_1","fetch","_debug","ensureNumerical","value","code","checkResponse","resp","ok","responseToJSON","loweCaseKeys","out","lowerKey","toLowerCase","accept","getAndCache","force","process","segments","shift","o","arg","env","payload","ret","handleCodeableConcept","concept","observation","coding","condition","cm","kg","any","pq","createEmpty","reduce","idx","arr","strLength","charSet","charAt","Math","floor","random","secondsAhead","from","expires_in","tokenBody","exp","bank","codes","prev","meta","r","x","patientParams","target","width","height","self","parent","top","targetWindow","open","e","screen","frames","operation","op","crypto","globalThis","subtle","isSecureContext","ALGS","ES384","namedCurve","RS384","modulusLength","publicExponent","Uint8Array","hash","randomBytes","count","getRandomValues","digestSha256","prepared","TextEncoder","encode","digest","entropy","inputBytes","codeVerifier","codeChallenge","jwk","alg","key_ops","includes","importKey","ext","privateKey","header","jwtHeader","jwtPayload","jwtAuthenticatedContent","signature","sign","algorithm","enumerable","isBrowser","fetchWellKnownJson","getSecurityExtensions","authorization_endpoint","token_endpoint","registrationUri","registration_endpoint","codeChallengeMethods","code_challenge_methods_supported","getSecurityExtensionsFromWellKnownJson","extensions","extension","valueUri","getSecurityExtensionsFromConformanceStatement","params","urlISS","cfg","issMatch","RegExp","test","fakeTokenResponse","encounterId","pkceMode","clientPublicKeySetUrl","redirect_uri","client_id","iss","launch","fhirServiceUrl","redirectUri","noRedirect","completeInTarget","clientPrivateJwk","stateKey","inFrame","isInFrame","inPopUp","isInPopUp","console","warn","oldKey","randomString","redirectUrl","redirectParams","S256supported","shouldIncludeChallenge","generatePKCEChallenge","win","getTargetWindow","sessionStorage","removeItem","setItem","addEventListener","onMessage","opener","origin","removeEventListener","Storage","authError","authErrorDescription","postMessage","close","hasState","has","history","replaceState","buildTokenRequest","pk","importJWK","jwtHeaders","typ","kid","jku","jwtClaims","aud","jti","getTimeInFuture","clientAssertion","signCompactJws","authorizeOptions","readyOptions","cached","formatArgs","useColors","namespace","humanize","diff","c","color","splice","index","lastC","save","namespaces","load","getItem","DEBUG","__nwjs","navigator","userAgent","m","document","documentElement","style","WebkitAppearance","firebug","exception","table","parseInt","localStorage","localstorage","destroy","warned","colors","log","formatters","j","createDebug","prevTime","namespacesCache","enabledCache","enableOverride","enabled","curr","Number","ms","coerce","unshift","format","formatter","val","call","apply","selectColor","defineProperty","configurable","delimiter","newDebug","toNamespace","regexp","toString","substring","stack","disable","names","skips","enable","charCodeAt","abs","g","tab","version","VERSION","_hasBuffer","Buffer","_TD","TextDecoder","_TE","b64chs","prototype","b64tab","b64re","_fromCC","fromCharCode","bind","_U8Afrom","it","_mkUriSafe","src","m0","_tidyB64","s","btoaPolyfill","bin","u32","c0","c1","c2","asc","pad","TypeError","_btoa","_fromUint8Array","u8a","strs","subarray","urlsafe","cb_utob","cc","re_utob","utob","u","_encode","encodeURI","re_btou","cb_btou","cccc","offset","btou","b","atobPolyfill","u24","r1","r2","_atob","_toUint8Array","a","toUint8Array","_unURI","_decode","_noEnum","writable","extendString","_add","extendUint8Array","gBase64","fromBase64","toBase64","isValid","extendBuiltins","k","Base64","factory","h","d","w","plural","msAbs","n","isPlural","round","exec","parseFloat","isFinite","long","fmtShort","global","_crypto","msCrypto","_subtle","webkitSubtle","_Crypto","Crypto","_SubtleCrypto","SubtleCrypto","isEdge","CryptoKey","Key","isIE","isWebkit","oid2str","str2oid","_fn","ka","kx","ku","arguments","b2jwk","jwkAlg","kty","isPrvKeyUse","isPubKeyUse","s2b","unescape","buffer","_key","generateKey","exportKey","publicKey","a2s","info","b2der","prv","rsaComp","rsaKey","s2a","b2s","pkcs2jwk","decrypt","rej","onabort","onerror","oncomplete","encrypt","usages","der2b","jwk2pkcs","byteLength","tl","tagLength","tag","AesGcmEncryptResult","ciphertext","t","_digest","ArrayBuffer","toUpperCase","SyntaxError","decodeURIComponent","escape","extractable","buf","ctx","pos","end","RangeError","rv","xlen","oid","use","defineProperties","define","amd","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","definition","Function","prop","hasOwnProperty","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file diff --git a/dist/lib/smart.js b/dist/lib/smart.js index 1c2a927b..5e5ee773 100644 --- a/dist/lib/smart.js +++ b/dist/lib/smart.js @@ -370,8 +370,8 @@ async function ready(env, options = {}) { const url = env.getUrl(); const Storage = env.getStorage(); const params = url.searchParams; - let key = params.get("state"); - const code = params.get("code"); + let key = params.get("state") || options.stateKey; + const code = params.get("code") || options.code; const authError = params.get("error"); const authErrorDescription = params.get("error_description"); if (!key) { @@ -430,7 +430,7 @@ async function ready(env, options = {}) { } url.searchParams.delete("complete"); // Do we have to remove the `code` and `state` params from the URL? - const hasState = params.has("state"); + const hasState = params.has("state") || options.stateKey ? true : false; if (isBrowser() && (0, lib_1.getPath)(env, "options.replaceBrowserHistory") && (code || hasState)) { // `code` is the flag that tell us to request an access token. // We have to remove it, otherwise the page will authorize on diff --git a/dist/lib/types.d.ts b/dist/lib/types.d.ts index 1f3cc546..b7060cd4 100644 --- a/dist/lib/types.d.ts +++ b/dist/lib/types.d.ts @@ -670,6 +670,8 @@ declare namespace fhirclient { kid: string }; clientPublicKeySetUrl?: string; // for jku + code?: string; // Optional authorization code to use vs. from URL in ready() + stateKey?: string; // Optional state value to use vs. from URL in ready() // [key: string]: any; // Other options TBD } diff --git a/src/smart.ts b/src/smart.ts index 3991699a..a3f81c44 100644 --- a/src/smart.ts +++ b/src/smart.ts @@ -452,8 +452,8 @@ export async function ready(env: fhirclient.Adapter, options: fhirclient.ReadyOp const Storage = env.getStorage(); const params = url.searchParams; - let key = params.get("state"); - const code = params.get("code"); + let key = params.get("state") || options.stateKey; + const code = params.get("code") || options.code; const authError = params.get("error"); const authErrorDescription = params.get("error_description"); @@ -520,7 +520,7 @@ export async function ready(env: fhirclient.Adapter, options: fhirclient.ReadyOp url.searchParams.delete("complete"); // Do we have to remove the `code` and `state` params from the URL? - const hasState = params.has("state"); + const hasState = params.has("state") || options.stateKey ? true : false; if (isBrowser() && getPath(env, "options.replaceBrowserHistory") && (code || hasState)) { // `code` is the flag that tell us to request an access token. diff --git a/src/types.d.ts b/src/types.d.ts index 1f3cc546..b7060cd4 100644 --- a/src/types.d.ts +++ b/src/types.d.ts @@ -670,6 +670,8 @@ declare namespace fhirclient { kid: string }; clientPublicKeySetUrl?: string; // for jku + code?: string; // Optional authorization code to use vs. from URL in ready() + stateKey?: string; // Optional state value to use vs. from URL in ready() // [key: string]: any; // Other options TBD }