@scratch/scratch-svg-renderer 12.1.0-login-from-editor → 12.1.0-membership-program
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +656 -7
- package/TRADEMARK +1 -0
- package/dist/node/scratch-svg-renderer.js +518 -496
- package/dist/node/scratch-svg-renderer.js.map +1 -1
- package/dist/web/scratch-svg-renderer.js +52 -30
- package/dist/web/scratch-svg-renderer.js.map +1 -1
- package/package.json +14 -14
- package/src/bitmap-adapter.js +4 -4
- package/src/font-converter.js +1 -1
- package/src/font-inliner.js +1 -1
- package/src/load-svg-string.js +3 -3
- package/src/sanitize-svg.js +3 -3
- package/src/svg-renderer.js +4 -4
- package/src/transform-applier.js +1 -2
|
@@ -25100,7 +25100,7 @@ var __WEBPACK_AMD_DEFINE_RESULT__;;(function (globalScope) {
|
|
|
25100
25100
|
/***/ ((module) => {
|
|
25101
25101
|
|
|
25102
25102
|
"use strict";
|
|
25103
|
-
/*! @license DOMPurify 3.
|
|
25103
|
+
/*! @license DOMPurify 3.3.0 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.3.0/LICENSE */
|
|
25104
25104
|
|
|
25105
25105
|
|
|
25106
25106
|
|
|
@@ -25288,7 +25288,7 @@ function lookupGetter(object, prop) {
|
|
|
25288
25288
|
}
|
|
25289
25289
|
|
|
25290
25290
|
const html$1 = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'search', 'section', 'select', 'shadow', 'slot', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']);
|
|
25291
|
-
const svg$1 = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'enterkeyhint', 'exportparts', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'inputmode', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'part', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', '
|
|
25291
|
+
const svg$1 = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'enterkeyhint', 'exportparts', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'inputmode', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'part', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']);
|
|
25292
25292
|
const svgFilters = freeze(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feDropShadow', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']);
|
|
25293
25293
|
// List of SVG elements that are disallowed by default.
|
|
25294
25294
|
// We still need to know them so that we can do namespace
|
|
@@ -25302,7 +25302,7 @@ const mathMlDisallowed = freeze(['maction', 'maligngroup', 'malignmark', 'mlongd
|
|
|
25302
25302
|
const text = freeze(['#text']);
|
|
25303
25303
|
|
|
25304
25304
|
const html = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'exportparts', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inert', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'nonce', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'part', 'pattern', 'placeholder', 'playsinline', 'popover', 'popovertarget', 'popovertargetaction', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'slot', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'wrap', 'xmlns', 'slot']);
|
|
25305
|
-
const svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'amplitude', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'exponent', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'intercept', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'slope', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'tablevalues', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);
|
|
25305
|
+
const svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'amplitude', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'exponent', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'intercept', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'mask-type', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'slope', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'tablevalues', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);
|
|
25306
25306
|
const mathMl = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnsalign', 'columnlines', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lspace', 'lquote', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']);
|
|
25307
25307
|
const xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);
|
|
25308
25308
|
|
|
@@ -25409,7 +25409,7 @@ const _createHooksMap = function _createHooksMap() {
|
|
|
25409
25409
|
function createDOMPurify() {
|
|
25410
25410
|
let window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();
|
|
25411
25411
|
const DOMPurify = root => createDOMPurify(root);
|
|
25412
|
-
DOMPurify.version = '3.
|
|
25412
|
+
DOMPurify.version = '3.3.0';
|
|
25413
25413
|
DOMPurify.removed = [];
|
|
25414
25414
|
if (!window || !window.document || window.document.nodeType !== NODE_TYPE.document || !window.Element) {
|
|
25415
25415
|
// Not running in a browser, provide a factory function
|
|
@@ -25520,6 +25520,21 @@ function createDOMPurify() {
|
|
|
25520
25520
|
let FORBID_TAGS = null;
|
|
25521
25521
|
/* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */
|
|
25522
25522
|
let FORBID_ATTR = null;
|
|
25523
|
+
/* Config object to store ADD_TAGS/ADD_ATTR functions (when used as functions) */
|
|
25524
|
+
const EXTRA_ELEMENT_HANDLING = Object.seal(create(null, {
|
|
25525
|
+
tagCheck: {
|
|
25526
|
+
writable: true,
|
|
25527
|
+
configurable: false,
|
|
25528
|
+
enumerable: true,
|
|
25529
|
+
value: null
|
|
25530
|
+
},
|
|
25531
|
+
attributeCheck: {
|
|
25532
|
+
writable: true,
|
|
25533
|
+
configurable: false,
|
|
25534
|
+
enumerable: true,
|
|
25535
|
+
value: null
|
|
25536
|
+
}
|
|
25537
|
+
}));
|
|
25523
25538
|
/* Decide if ARIA attributes are okay */
|
|
25524
25539
|
let ALLOW_ARIA_ATTR = true;
|
|
25525
25540
|
/* Decide if custom data attributes are okay */
|
|
@@ -25712,16 +25727,24 @@ function createDOMPurify() {
|
|
|
25712
25727
|
}
|
|
25713
25728
|
/* Merge configuration parameters */
|
|
25714
25729
|
if (cfg.ADD_TAGS) {
|
|
25715
|
-
if (
|
|
25716
|
-
|
|
25730
|
+
if (typeof cfg.ADD_TAGS === 'function') {
|
|
25731
|
+
EXTRA_ELEMENT_HANDLING.tagCheck = cfg.ADD_TAGS;
|
|
25732
|
+
} else {
|
|
25733
|
+
if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {
|
|
25734
|
+
ALLOWED_TAGS = clone(ALLOWED_TAGS);
|
|
25735
|
+
}
|
|
25736
|
+
addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);
|
|
25717
25737
|
}
|
|
25718
|
-
addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);
|
|
25719
25738
|
}
|
|
25720
25739
|
if (cfg.ADD_ATTR) {
|
|
25721
|
-
if (
|
|
25722
|
-
|
|
25740
|
+
if (typeof cfg.ADD_ATTR === 'function') {
|
|
25741
|
+
EXTRA_ELEMENT_HANDLING.attributeCheck = cfg.ADD_ATTR;
|
|
25742
|
+
} else {
|
|
25743
|
+
if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {
|
|
25744
|
+
ALLOWED_ATTR = clone(ALLOWED_ATTR);
|
|
25745
|
+
}
|
|
25746
|
+
addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);
|
|
25723
25747
|
}
|
|
25724
|
-
addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);
|
|
25725
25748
|
}
|
|
25726
25749
|
if (cfg.ADD_URI_SAFE_ATTR) {
|
|
25727
25750
|
addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc);
|
|
@@ -26029,7 +26052,7 @@ function createDOMPurify() {
|
|
|
26029
26052
|
return true;
|
|
26030
26053
|
}
|
|
26031
26054
|
/* Remove element if anything forbids its presence */
|
|
26032
|
-
if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {
|
|
26055
|
+
if (!(EXTRA_ELEMENT_HANDLING.tagCheck instanceof Function && EXTRA_ELEMENT_HANDLING.tagCheck(tagName)) && (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName])) {
|
|
26033
26056
|
/* Check if we have a custom element to handle */
|
|
26034
26057
|
if (!FORBID_TAGS[tagName] && _isBasicCustomElement(tagName)) {
|
|
26035
26058
|
if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) {
|
|
@@ -26101,7 +26124,7 @@ function createDOMPurify() {
|
|
|
26101
26124
|
(https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes)
|
|
26102
26125
|
XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804)
|
|
26103
26126
|
We don't need to check the value; it's always URI safe. */
|
|
26104
|
-
if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR, lcName)) ; else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR, lcName)) ; else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {
|
|
26127
|
+
if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR, lcName)) ; else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR, lcName)) ; else if (EXTRA_ELEMENT_HANDLING.attributeCheck instanceof Function && EXTRA_ELEMENT_HANDLING.attributeCheck(lcName, lcTag)) ; else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {
|
|
26105
26128
|
if (
|
|
26106
26129
|
// First condition does a very basic check if a) it's basically a valid custom element tagname AND
|
|
26107
26130
|
// b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
|
|
@@ -141631,471 +141654,6 @@ module.exports = class VirtualConsole extends EventEmitter {
|
|
|
141631
141654
|
"use strict";
|
|
141632
141655
|
module.exports = /*#__PURE__*/JSON.parse('{"name":"jsdom","version":"26.1.0","description":"A JavaScript implementation of many web standards","keywords":["dom","html","whatwg","w3c"],"maintainers":["Elijah Insua <tmpvar@gmail.com> (http://tmpvar.com)","Domenic Denicola <d@domenic.me> (https://domenic.me/)","Sebastian Mayr <sebmaster16@gmail.com> (https://blog.smayr.name/)","Joris van der Wel <joris@jorisvanderwel.com>","Timothy Gu <timothygu99@gmail.com> (https://timothygu.me/)","Magne Andersson <code@zirro.se> (https://zirro.se/)","Pierre-Marie Dartus <dartus.pierremarie@gmail.com>"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/jsdom/jsdom.git"},"dependencies":{"cssstyle":"^4.2.1","data-urls":"^5.0.0","decimal.js":"^10.5.0","html-encoding-sniffer":"^4.0.0","http-proxy-agent":"^7.0.2","https-proxy-agent":"^7.0.6","is-potential-custom-element-name":"^1.0.1","nwsapi":"^2.2.16","parse5":"^7.2.1","rrweb-cssom":"^0.8.0","saxes":"^6.0.0","symbol-tree":"^3.2.4","tough-cookie":"^5.1.1","w3c-xmlserializer":"^5.0.0","webidl-conversions":"^7.0.0","whatwg-encoding":"^3.1.1","whatwg-mimetype":"^4.0.0","whatwg-url":"^14.1.1","ws":"^8.18.0","xml-name-validator":"^5.0.0"},"peerDependencies":{"canvas":"^3.0.0"},"peerDependenciesMeta":{"canvas":{"optional":true}},"devDependencies":{"@domenic/eslint-config":"^4.0.1","benchmark":"^2.1.4","eslint":"^9.20.0","eslint-plugin-html":"^8.1.2","globals":"^15.14.0","js-yaml":"^4.1.0","minimatch":"^9.0.5","mocha":"^11.1.0","mocha-sugar-free":"^1.4.0","pngjs":"^7.0.0","server-destroy":"^1.0.1","webidl2js":"^18.0.0","yargs":"^17.7.2"},"scripts":{"prepare":"npm run convert-idl && npm run generate-js-globals","pretest":"npm run prepare && npm run init-wpt","test-wpt":"mocha test/web-platform-tests/run-wpts.js","test-tuwpt":"mocha test/web-platform-tests/run-tuwpts.js","test-mocha":"mocha","test-api":"mocha test/api","test":"mocha test/index.js","lint":"eslint --cache","init-wpt":"git submodule update --init --recursive","reset-wpt":"rm -rf ./test/web-platform-tests/tests && npm run init-wpt","update-wpt":"git submodule update --init --recursive --remote && cd test/web-platform-tests/tests && python wpt.py manifest --path ../wpt-manifest.json","update-authors":"git log --format=\\"%aN <%aE>\\" | sort -f | uniq > AUTHORS.txt","benchmark":"node ./benchmark/runner","convert-idl":"node ./scripts/webidl/convert.js","generate-js-globals":"node ./scripts/generate-js-globals.js"},"main":"./lib/api.js","type":"commonjs","engines":{"node":">=18"}}');
|
|
141633
141656
|
|
|
141634
|
-
/***/ }),
|
|
141635
|
-
|
|
141636
|
-
/***/ "../../node_modules/isomorphic-dompurify/node_modules/punycode/punycode.es6.js":
|
|
141637
|
-
/*!*************************************************************************************!*\
|
|
141638
|
-
!*** ../../node_modules/isomorphic-dompurify/node_modules/punycode/punycode.es6.js ***!
|
|
141639
|
-
\*************************************************************************************/
|
|
141640
|
-
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
141641
|
-
|
|
141642
|
-
"use strict";
|
|
141643
|
-
__webpack_require__.r(__webpack_exports__);
|
|
141644
|
-
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
141645
|
-
/* harmony export */ decode: () => (/* binding */ decode),
|
|
141646
|
-
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__),
|
|
141647
|
-
/* harmony export */ encode: () => (/* binding */ encode),
|
|
141648
|
-
/* harmony export */ toASCII: () => (/* binding */ toASCII),
|
|
141649
|
-
/* harmony export */ toUnicode: () => (/* binding */ toUnicode),
|
|
141650
|
-
/* harmony export */ ucs2decode: () => (/* binding */ ucs2decode),
|
|
141651
|
-
/* harmony export */ ucs2encode: () => (/* binding */ ucs2encode)
|
|
141652
|
-
/* harmony export */ });
|
|
141653
|
-
|
|
141654
|
-
|
|
141655
|
-
/** Highest positive signed 32-bit float value */
|
|
141656
|
-
const maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1
|
|
141657
|
-
|
|
141658
|
-
/** Bootstring parameters */
|
|
141659
|
-
const base = 36;
|
|
141660
|
-
const tMin = 1;
|
|
141661
|
-
const tMax = 26;
|
|
141662
|
-
const skew = 38;
|
|
141663
|
-
const damp = 700;
|
|
141664
|
-
const initialBias = 72;
|
|
141665
|
-
const initialN = 128; // 0x80
|
|
141666
|
-
const delimiter = '-'; // '\x2D'
|
|
141667
|
-
|
|
141668
|
-
/** Regular expressions */
|
|
141669
|
-
const regexPunycode = /^xn--/;
|
|
141670
|
-
const regexNonASCII = /[^\0-\x7F]/; // Note: U+007F DEL is excluded too.
|
|
141671
|
-
const regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g; // RFC 3490 separators
|
|
141672
|
-
|
|
141673
|
-
/** Error messages */
|
|
141674
|
-
const errors = {
|
|
141675
|
-
'overflow': 'Overflow: input needs wider integers to process',
|
|
141676
|
-
'not-basic': 'Illegal input >= 0x80 (not a basic code point)',
|
|
141677
|
-
'invalid-input': 'Invalid input'
|
|
141678
|
-
};
|
|
141679
|
-
|
|
141680
|
-
/** Convenience shortcuts */
|
|
141681
|
-
const baseMinusTMin = base - tMin;
|
|
141682
|
-
const floor = Math.floor;
|
|
141683
|
-
const stringFromCharCode = String.fromCharCode;
|
|
141684
|
-
|
|
141685
|
-
/*--------------------------------------------------------------------------*/
|
|
141686
|
-
|
|
141687
|
-
/**
|
|
141688
|
-
* A generic error utility function.
|
|
141689
|
-
* @private
|
|
141690
|
-
* @param {String} type The error type.
|
|
141691
|
-
* @returns {Error} Throws a `RangeError` with the applicable error message.
|
|
141692
|
-
*/
|
|
141693
|
-
function error(type) {
|
|
141694
|
-
throw new RangeError(errors[type]);
|
|
141695
|
-
}
|
|
141696
|
-
|
|
141697
|
-
/**
|
|
141698
|
-
* A generic `Array#map` utility function.
|
|
141699
|
-
* @private
|
|
141700
|
-
* @param {Array} array The array to iterate over.
|
|
141701
|
-
* @param {Function} callback The function that gets called for every array
|
|
141702
|
-
* item.
|
|
141703
|
-
* @returns {Array} A new array of values returned by the callback function.
|
|
141704
|
-
*/
|
|
141705
|
-
function map(array, callback) {
|
|
141706
|
-
const result = [];
|
|
141707
|
-
let length = array.length;
|
|
141708
|
-
while (length--) {
|
|
141709
|
-
result[length] = callback(array[length]);
|
|
141710
|
-
}
|
|
141711
|
-
return result;
|
|
141712
|
-
}
|
|
141713
|
-
|
|
141714
|
-
/**
|
|
141715
|
-
* A simple `Array#map`-like wrapper to work with domain name strings or email
|
|
141716
|
-
* addresses.
|
|
141717
|
-
* @private
|
|
141718
|
-
* @param {String} domain The domain name or email address.
|
|
141719
|
-
* @param {Function} callback The function that gets called for every
|
|
141720
|
-
* character.
|
|
141721
|
-
* @returns {String} A new string of characters returned by the callback
|
|
141722
|
-
* function.
|
|
141723
|
-
*/
|
|
141724
|
-
function mapDomain(domain, callback) {
|
|
141725
|
-
const parts = domain.split('@');
|
|
141726
|
-
let result = '';
|
|
141727
|
-
if (parts.length > 1) {
|
|
141728
|
-
// In email addresses, only the domain name should be punycoded. Leave
|
|
141729
|
-
// the local part (i.e. everything up to `@`) intact.
|
|
141730
|
-
result = parts[0] + '@';
|
|
141731
|
-
domain = parts[1];
|
|
141732
|
-
}
|
|
141733
|
-
// Avoid `split(regex)` for IE8 compatibility. See #17.
|
|
141734
|
-
domain = domain.replace(regexSeparators, '\x2E');
|
|
141735
|
-
const labels = domain.split('.');
|
|
141736
|
-
const encoded = map(labels, callback).join('.');
|
|
141737
|
-
return result + encoded;
|
|
141738
|
-
}
|
|
141739
|
-
|
|
141740
|
-
/**
|
|
141741
|
-
* Creates an array containing the numeric code points of each Unicode
|
|
141742
|
-
* character in the string. While JavaScript uses UCS-2 internally,
|
|
141743
|
-
* this function will convert a pair of surrogate halves (each of which
|
|
141744
|
-
* UCS-2 exposes as separate characters) into a single code point,
|
|
141745
|
-
* matching UTF-16.
|
|
141746
|
-
* @see `punycode.ucs2.encode`
|
|
141747
|
-
* @see <https://mathiasbynens.be/notes/javascript-encoding>
|
|
141748
|
-
* @memberOf punycode.ucs2
|
|
141749
|
-
* @name decode
|
|
141750
|
-
* @param {String} string The Unicode input string (UCS-2).
|
|
141751
|
-
* @returns {Array} The new array of code points.
|
|
141752
|
-
*/
|
|
141753
|
-
function ucs2decode(string) {
|
|
141754
|
-
const output = [];
|
|
141755
|
-
let counter = 0;
|
|
141756
|
-
const length = string.length;
|
|
141757
|
-
while (counter < length) {
|
|
141758
|
-
const value = string.charCodeAt(counter++);
|
|
141759
|
-
if (value >= 0xD800 && value <= 0xDBFF && counter < length) {
|
|
141760
|
-
// It's a high surrogate, and there is a next character.
|
|
141761
|
-
const extra = string.charCodeAt(counter++);
|
|
141762
|
-
if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.
|
|
141763
|
-
output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);
|
|
141764
|
-
} else {
|
|
141765
|
-
// It's an unmatched surrogate; only append this code unit, in case the
|
|
141766
|
-
// next code unit is the high surrogate of a surrogate pair.
|
|
141767
|
-
output.push(value);
|
|
141768
|
-
counter--;
|
|
141769
|
-
}
|
|
141770
|
-
} else {
|
|
141771
|
-
output.push(value);
|
|
141772
|
-
}
|
|
141773
|
-
}
|
|
141774
|
-
return output;
|
|
141775
|
-
}
|
|
141776
|
-
|
|
141777
|
-
/**
|
|
141778
|
-
* Creates a string based on an array of numeric code points.
|
|
141779
|
-
* @see `punycode.ucs2.decode`
|
|
141780
|
-
* @memberOf punycode.ucs2
|
|
141781
|
-
* @name encode
|
|
141782
|
-
* @param {Array} codePoints The array of numeric code points.
|
|
141783
|
-
* @returns {String} The new Unicode string (UCS-2).
|
|
141784
|
-
*/
|
|
141785
|
-
const ucs2encode = codePoints => String.fromCodePoint(...codePoints);
|
|
141786
|
-
|
|
141787
|
-
/**
|
|
141788
|
-
* Converts a basic code point into a digit/integer.
|
|
141789
|
-
* @see `digitToBasic()`
|
|
141790
|
-
* @private
|
|
141791
|
-
* @param {Number} codePoint The basic numeric code point value.
|
|
141792
|
-
* @returns {Number} The numeric value of a basic code point (for use in
|
|
141793
|
-
* representing integers) in the range `0` to `base - 1`, or `base` if
|
|
141794
|
-
* the code point does not represent a value.
|
|
141795
|
-
*/
|
|
141796
|
-
const basicToDigit = function(codePoint) {
|
|
141797
|
-
if (codePoint >= 0x30 && codePoint < 0x3A) {
|
|
141798
|
-
return 26 + (codePoint - 0x30);
|
|
141799
|
-
}
|
|
141800
|
-
if (codePoint >= 0x41 && codePoint < 0x5B) {
|
|
141801
|
-
return codePoint - 0x41;
|
|
141802
|
-
}
|
|
141803
|
-
if (codePoint >= 0x61 && codePoint < 0x7B) {
|
|
141804
|
-
return codePoint - 0x61;
|
|
141805
|
-
}
|
|
141806
|
-
return base;
|
|
141807
|
-
};
|
|
141808
|
-
|
|
141809
|
-
/**
|
|
141810
|
-
* Converts a digit/integer into a basic code point.
|
|
141811
|
-
* @see `basicToDigit()`
|
|
141812
|
-
* @private
|
|
141813
|
-
* @param {Number} digit The numeric value of a basic code point.
|
|
141814
|
-
* @returns {Number} The basic code point whose value (when used for
|
|
141815
|
-
* representing integers) is `digit`, which needs to be in the range
|
|
141816
|
-
* `0` to `base - 1`. If `flag` is non-zero, the uppercase form is
|
|
141817
|
-
* used; else, the lowercase form is used. The behavior is undefined
|
|
141818
|
-
* if `flag` is non-zero and `digit` has no uppercase form.
|
|
141819
|
-
*/
|
|
141820
|
-
const digitToBasic = function(digit, flag) {
|
|
141821
|
-
// 0..25 map to ASCII a..z or A..Z
|
|
141822
|
-
// 26..35 map to ASCII 0..9
|
|
141823
|
-
return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);
|
|
141824
|
-
};
|
|
141825
|
-
|
|
141826
|
-
/**
|
|
141827
|
-
* Bias adaptation function as per section 3.4 of RFC 3492.
|
|
141828
|
-
* https://tools.ietf.org/html/rfc3492#section-3.4
|
|
141829
|
-
* @private
|
|
141830
|
-
*/
|
|
141831
|
-
const adapt = function(delta, numPoints, firstTime) {
|
|
141832
|
-
let k = 0;
|
|
141833
|
-
delta = firstTime ? floor(delta / damp) : delta >> 1;
|
|
141834
|
-
delta += floor(delta / numPoints);
|
|
141835
|
-
for (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {
|
|
141836
|
-
delta = floor(delta / baseMinusTMin);
|
|
141837
|
-
}
|
|
141838
|
-
return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));
|
|
141839
|
-
};
|
|
141840
|
-
|
|
141841
|
-
/**
|
|
141842
|
-
* Converts a Punycode string of ASCII-only symbols to a string of Unicode
|
|
141843
|
-
* symbols.
|
|
141844
|
-
* @memberOf punycode
|
|
141845
|
-
* @param {String} input The Punycode string of ASCII-only symbols.
|
|
141846
|
-
* @returns {String} The resulting string of Unicode symbols.
|
|
141847
|
-
*/
|
|
141848
|
-
const decode = function(input) {
|
|
141849
|
-
// Don't use UCS-2.
|
|
141850
|
-
const output = [];
|
|
141851
|
-
const inputLength = input.length;
|
|
141852
|
-
let i = 0;
|
|
141853
|
-
let n = initialN;
|
|
141854
|
-
let bias = initialBias;
|
|
141855
|
-
|
|
141856
|
-
// Handle the basic code points: let `basic` be the number of input code
|
|
141857
|
-
// points before the last delimiter, or `0` if there is none, then copy
|
|
141858
|
-
// the first basic code points to the output.
|
|
141859
|
-
|
|
141860
|
-
let basic = input.lastIndexOf(delimiter);
|
|
141861
|
-
if (basic < 0) {
|
|
141862
|
-
basic = 0;
|
|
141863
|
-
}
|
|
141864
|
-
|
|
141865
|
-
for (let j = 0; j < basic; ++j) {
|
|
141866
|
-
// if it's not a basic code point
|
|
141867
|
-
if (input.charCodeAt(j) >= 0x80) {
|
|
141868
|
-
error('not-basic');
|
|
141869
|
-
}
|
|
141870
|
-
output.push(input.charCodeAt(j));
|
|
141871
|
-
}
|
|
141872
|
-
|
|
141873
|
-
// Main decoding loop: start just after the last delimiter if any basic code
|
|
141874
|
-
// points were copied; start at the beginning otherwise.
|
|
141875
|
-
|
|
141876
|
-
for (let index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {
|
|
141877
|
-
|
|
141878
|
-
// `index` is the index of the next character to be consumed.
|
|
141879
|
-
// Decode a generalized variable-length integer into `delta`,
|
|
141880
|
-
// which gets added to `i`. The overflow checking is easier
|
|
141881
|
-
// if we increase `i` as we go, then subtract off its starting
|
|
141882
|
-
// value at the end to obtain `delta`.
|
|
141883
|
-
const oldi = i;
|
|
141884
|
-
for (let w = 1, k = base; /* no condition */; k += base) {
|
|
141885
|
-
|
|
141886
|
-
if (index >= inputLength) {
|
|
141887
|
-
error('invalid-input');
|
|
141888
|
-
}
|
|
141889
|
-
|
|
141890
|
-
const digit = basicToDigit(input.charCodeAt(index++));
|
|
141891
|
-
|
|
141892
|
-
if (digit >= base) {
|
|
141893
|
-
error('invalid-input');
|
|
141894
|
-
}
|
|
141895
|
-
if (digit > floor((maxInt - i) / w)) {
|
|
141896
|
-
error('overflow');
|
|
141897
|
-
}
|
|
141898
|
-
|
|
141899
|
-
i += digit * w;
|
|
141900
|
-
const t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);
|
|
141901
|
-
|
|
141902
|
-
if (digit < t) {
|
|
141903
|
-
break;
|
|
141904
|
-
}
|
|
141905
|
-
|
|
141906
|
-
const baseMinusT = base - t;
|
|
141907
|
-
if (w > floor(maxInt / baseMinusT)) {
|
|
141908
|
-
error('overflow');
|
|
141909
|
-
}
|
|
141910
|
-
|
|
141911
|
-
w *= baseMinusT;
|
|
141912
|
-
|
|
141913
|
-
}
|
|
141914
|
-
|
|
141915
|
-
const out = output.length + 1;
|
|
141916
|
-
bias = adapt(i - oldi, out, oldi == 0);
|
|
141917
|
-
|
|
141918
|
-
// `i` was supposed to wrap around from `out` to `0`,
|
|
141919
|
-
// incrementing `n` each time, so we'll fix that now:
|
|
141920
|
-
if (floor(i / out) > maxInt - n) {
|
|
141921
|
-
error('overflow');
|
|
141922
|
-
}
|
|
141923
|
-
|
|
141924
|
-
n += floor(i / out);
|
|
141925
|
-
i %= out;
|
|
141926
|
-
|
|
141927
|
-
// Insert `n` at position `i` of the output.
|
|
141928
|
-
output.splice(i++, 0, n);
|
|
141929
|
-
|
|
141930
|
-
}
|
|
141931
|
-
|
|
141932
|
-
return String.fromCodePoint(...output);
|
|
141933
|
-
};
|
|
141934
|
-
|
|
141935
|
-
/**
|
|
141936
|
-
* Converts a string of Unicode symbols (e.g. a domain name label) to a
|
|
141937
|
-
* Punycode string of ASCII-only symbols.
|
|
141938
|
-
* @memberOf punycode
|
|
141939
|
-
* @param {String} input The string of Unicode symbols.
|
|
141940
|
-
* @returns {String} The resulting Punycode string of ASCII-only symbols.
|
|
141941
|
-
*/
|
|
141942
|
-
const encode = function(input) {
|
|
141943
|
-
const output = [];
|
|
141944
|
-
|
|
141945
|
-
// Convert the input in UCS-2 to an array of Unicode code points.
|
|
141946
|
-
input = ucs2decode(input);
|
|
141947
|
-
|
|
141948
|
-
// Cache the length.
|
|
141949
|
-
const inputLength = input.length;
|
|
141950
|
-
|
|
141951
|
-
// Initialize the state.
|
|
141952
|
-
let n = initialN;
|
|
141953
|
-
let delta = 0;
|
|
141954
|
-
let bias = initialBias;
|
|
141955
|
-
|
|
141956
|
-
// Handle the basic code points.
|
|
141957
|
-
for (const currentValue of input) {
|
|
141958
|
-
if (currentValue < 0x80) {
|
|
141959
|
-
output.push(stringFromCharCode(currentValue));
|
|
141960
|
-
}
|
|
141961
|
-
}
|
|
141962
|
-
|
|
141963
|
-
const basicLength = output.length;
|
|
141964
|
-
let handledCPCount = basicLength;
|
|
141965
|
-
|
|
141966
|
-
// `handledCPCount` is the number of code points that have been handled;
|
|
141967
|
-
// `basicLength` is the number of basic code points.
|
|
141968
|
-
|
|
141969
|
-
// Finish the basic string with a delimiter unless it's empty.
|
|
141970
|
-
if (basicLength) {
|
|
141971
|
-
output.push(delimiter);
|
|
141972
|
-
}
|
|
141973
|
-
|
|
141974
|
-
// Main encoding loop:
|
|
141975
|
-
while (handledCPCount < inputLength) {
|
|
141976
|
-
|
|
141977
|
-
// All non-basic code points < n have been handled already. Find the next
|
|
141978
|
-
// larger one:
|
|
141979
|
-
let m = maxInt;
|
|
141980
|
-
for (const currentValue of input) {
|
|
141981
|
-
if (currentValue >= n && currentValue < m) {
|
|
141982
|
-
m = currentValue;
|
|
141983
|
-
}
|
|
141984
|
-
}
|
|
141985
|
-
|
|
141986
|
-
// Increase `delta` enough to advance the decoder's <n,i> state to <m,0>,
|
|
141987
|
-
// but guard against overflow.
|
|
141988
|
-
const handledCPCountPlusOne = handledCPCount + 1;
|
|
141989
|
-
if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {
|
|
141990
|
-
error('overflow');
|
|
141991
|
-
}
|
|
141992
|
-
|
|
141993
|
-
delta += (m - n) * handledCPCountPlusOne;
|
|
141994
|
-
n = m;
|
|
141995
|
-
|
|
141996
|
-
for (const currentValue of input) {
|
|
141997
|
-
if (currentValue < n && ++delta > maxInt) {
|
|
141998
|
-
error('overflow');
|
|
141999
|
-
}
|
|
142000
|
-
if (currentValue === n) {
|
|
142001
|
-
// Represent delta as a generalized variable-length integer.
|
|
142002
|
-
let q = delta;
|
|
142003
|
-
for (let k = base; /* no condition */; k += base) {
|
|
142004
|
-
const t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);
|
|
142005
|
-
if (q < t) {
|
|
142006
|
-
break;
|
|
142007
|
-
}
|
|
142008
|
-
const qMinusT = q - t;
|
|
142009
|
-
const baseMinusT = base - t;
|
|
142010
|
-
output.push(
|
|
142011
|
-
stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))
|
|
142012
|
-
);
|
|
142013
|
-
q = floor(qMinusT / baseMinusT);
|
|
142014
|
-
}
|
|
142015
|
-
|
|
142016
|
-
output.push(stringFromCharCode(digitToBasic(q, 0)));
|
|
142017
|
-
bias = adapt(delta, handledCPCountPlusOne, handledCPCount === basicLength);
|
|
142018
|
-
delta = 0;
|
|
142019
|
-
++handledCPCount;
|
|
142020
|
-
}
|
|
142021
|
-
}
|
|
142022
|
-
|
|
142023
|
-
++delta;
|
|
142024
|
-
++n;
|
|
142025
|
-
|
|
142026
|
-
}
|
|
142027
|
-
return output.join('');
|
|
142028
|
-
};
|
|
142029
|
-
|
|
142030
|
-
/**
|
|
142031
|
-
* Converts a Punycode string representing a domain name or an email address
|
|
142032
|
-
* to Unicode. Only the Punycoded parts of the input will be converted, i.e.
|
|
142033
|
-
* it doesn't matter if you call it on a string that has already been
|
|
142034
|
-
* converted to Unicode.
|
|
142035
|
-
* @memberOf punycode
|
|
142036
|
-
* @param {String} input The Punycoded domain name or email address to
|
|
142037
|
-
* convert to Unicode.
|
|
142038
|
-
* @returns {String} The Unicode representation of the given Punycode
|
|
142039
|
-
* string.
|
|
142040
|
-
*/
|
|
142041
|
-
const toUnicode = function(input) {
|
|
142042
|
-
return mapDomain(input, function(string) {
|
|
142043
|
-
return regexPunycode.test(string)
|
|
142044
|
-
? decode(string.slice(4).toLowerCase())
|
|
142045
|
-
: string;
|
|
142046
|
-
});
|
|
142047
|
-
};
|
|
142048
|
-
|
|
142049
|
-
/**
|
|
142050
|
-
* Converts a Unicode string representing a domain name or an email address to
|
|
142051
|
-
* Punycode. Only the non-ASCII parts of the domain name will be converted,
|
|
142052
|
-
* i.e. it doesn't matter if you call it with a domain that's already in
|
|
142053
|
-
* ASCII.
|
|
142054
|
-
* @memberOf punycode
|
|
142055
|
-
* @param {String} input The domain name or email address to convert, as a
|
|
142056
|
-
* Unicode string.
|
|
142057
|
-
* @returns {String} The Punycode representation of the given domain name or
|
|
142058
|
-
* email address.
|
|
142059
|
-
*/
|
|
142060
|
-
const toASCII = function(input) {
|
|
142061
|
-
return mapDomain(input, function(string) {
|
|
142062
|
-
return regexNonASCII.test(string)
|
|
142063
|
-
? 'xn--' + encode(string)
|
|
142064
|
-
: string;
|
|
142065
|
-
});
|
|
142066
|
-
};
|
|
142067
|
-
|
|
142068
|
-
/*--------------------------------------------------------------------------*/
|
|
142069
|
-
|
|
142070
|
-
/** Define the public API */
|
|
142071
|
-
const punycode = {
|
|
142072
|
-
/**
|
|
142073
|
-
* A string representing the current Punycode.js version number.
|
|
142074
|
-
* @memberOf punycode
|
|
142075
|
-
* @type String
|
|
142076
|
-
*/
|
|
142077
|
-
'version': '2.3.1',
|
|
142078
|
-
/**
|
|
142079
|
-
* An object of methods to convert from JavaScript's internal character
|
|
142080
|
-
* representation (UCS-2) to Unicode code points, and back.
|
|
142081
|
-
* @see <https://mathiasbynens.be/notes/javascript-encoding>
|
|
142082
|
-
* @memberOf punycode
|
|
142083
|
-
* @type Object
|
|
142084
|
-
*/
|
|
142085
|
-
'ucs2': {
|
|
142086
|
-
'decode': ucs2decode,
|
|
142087
|
-
'encode': ucs2encode
|
|
142088
|
-
},
|
|
142089
|
-
'decode': decode,
|
|
142090
|
-
'encode': encode,
|
|
142091
|
-
'toASCII': toASCII,
|
|
142092
|
-
'toUnicode': toUnicode
|
|
142093
|
-
};
|
|
142094
|
-
|
|
142095
|
-
|
|
142096
|
-
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (punycode);
|
|
142097
|
-
|
|
142098
|
-
|
|
142099
141657
|
/***/ }),
|
|
142100
141658
|
|
|
142101
141659
|
/***/ "../../node_modules/isomorphic-dompurify/node_modules/saxes/saxes.js":
|
|
@@ -147595,7 +147153,7 @@ exports.version = '5.1.2';
|
|
|
147595
147153
|
"use strict";
|
|
147596
147154
|
|
|
147597
147155
|
|
|
147598
|
-
const punycode = __webpack_require__(/*! punycode/ */ "../../node_modules/
|
|
147156
|
+
const punycode = __webpack_require__(/*! punycode/ */ "../../node_modules/punycode/punycode.es6.js");
|
|
147599
147157
|
const regexes = __webpack_require__(/*! ./lib/regexes.js */ "../../node_modules/isomorphic-dompurify/node_modules/tr46/lib/regexes.js");
|
|
147600
147158
|
const mappingTable = __webpack_require__(/*! ./lib/mappingTable.json */ "../../node_modules/isomorphic-dompurify/node_modules/tr46/lib/mappingTable.json");
|
|
147601
147159
|
const { STATUS_MAPPING } = __webpack_require__(/*! ./lib/statusMapping.js */ "../../node_modules/isomorphic-dompurify/node_modules/tr46/lib/statusMapping.js");
|
|
@@ -169431,6 +168989,471 @@ exports.xmlDecodeTree = new Uint16Array(
|
|
|
169431
168989
|
.map((c) => c.charCodeAt(0)));
|
|
169432
168990
|
//# sourceMappingURL=decode-data-xml.js.map
|
|
169433
168991
|
|
|
168992
|
+
/***/ }),
|
|
168993
|
+
|
|
168994
|
+
/***/ "../../node_modules/punycode/punycode.es6.js":
|
|
168995
|
+
/*!***************************************************!*\
|
|
168996
|
+
!*** ../../node_modules/punycode/punycode.es6.js ***!
|
|
168997
|
+
\***************************************************/
|
|
168998
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
168999
|
+
|
|
169000
|
+
"use strict";
|
|
169001
|
+
__webpack_require__.r(__webpack_exports__);
|
|
169002
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
169003
|
+
/* harmony export */ decode: () => (/* binding */ decode),
|
|
169004
|
+
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__),
|
|
169005
|
+
/* harmony export */ encode: () => (/* binding */ encode),
|
|
169006
|
+
/* harmony export */ toASCII: () => (/* binding */ toASCII),
|
|
169007
|
+
/* harmony export */ toUnicode: () => (/* binding */ toUnicode),
|
|
169008
|
+
/* harmony export */ ucs2decode: () => (/* binding */ ucs2decode),
|
|
169009
|
+
/* harmony export */ ucs2encode: () => (/* binding */ ucs2encode)
|
|
169010
|
+
/* harmony export */ });
|
|
169011
|
+
|
|
169012
|
+
|
|
169013
|
+
/** Highest positive signed 32-bit float value */
|
|
169014
|
+
const maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1
|
|
169015
|
+
|
|
169016
|
+
/** Bootstring parameters */
|
|
169017
|
+
const base = 36;
|
|
169018
|
+
const tMin = 1;
|
|
169019
|
+
const tMax = 26;
|
|
169020
|
+
const skew = 38;
|
|
169021
|
+
const damp = 700;
|
|
169022
|
+
const initialBias = 72;
|
|
169023
|
+
const initialN = 128; // 0x80
|
|
169024
|
+
const delimiter = '-'; // '\x2D'
|
|
169025
|
+
|
|
169026
|
+
/** Regular expressions */
|
|
169027
|
+
const regexPunycode = /^xn--/;
|
|
169028
|
+
const regexNonASCII = /[^\0-\x7F]/; // Note: U+007F DEL is excluded too.
|
|
169029
|
+
const regexSeparators = /[\x2E\u3002\uFF0E\uFF61]/g; // RFC 3490 separators
|
|
169030
|
+
|
|
169031
|
+
/** Error messages */
|
|
169032
|
+
const errors = {
|
|
169033
|
+
'overflow': 'Overflow: input needs wider integers to process',
|
|
169034
|
+
'not-basic': 'Illegal input >= 0x80 (not a basic code point)',
|
|
169035
|
+
'invalid-input': 'Invalid input'
|
|
169036
|
+
};
|
|
169037
|
+
|
|
169038
|
+
/** Convenience shortcuts */
|
|
169039
|
+
const baseMinusTMin = base - tMin;
|
|
169040
|
+
const floor = Math.floor;
|
|
169041
|
+
const stringFromCharCode = String.fromCharCode;
|
|
169042
|
+
|
|
169043
|
+
/*--------------------------------------------------------------------------*/
|
|
169044
|
+
|
|
169045
|
+
/**
|
|
169046
|
+
* A generic error utility function.
|
|
169047
|
+
* @private
|
|
169048
|
+
* @param {String} type The error type.
|
|
169049
|
+
* @returns {Error} Throws a `RangeError` with the applicable error message.
|
|
169050
|
+
*/
|
|
169051
|
+
function error(type) {
|
|
169052
|
+
throw new RangeError(errors[type]);
|
|
169053
|
+
}
|
|
169054
|
+
|
|
169055
|
+
/**
|
|
169056
|
+
* A generic `Array#map` utility function.
|
|
169057
|
+
* @private
|
|
169058
|
+
* @param {Array} array The array to iterate over.
|
|
169059
|
+
* @param {Function} callback The function that gets called for every array
|
|
169060
|
+
* item.
|
|
169061
|
+
* @returns {Array} A new array of values returned by the callback function.
|
|
169062
|
+
*/
|
|
169063
|
+
function map(array, callback) {
|
|
169064
|
+
const result = [];
|
|
169065
|
+
let length = array.length;
|
|
169066
|
+
while (length--) {
|
|
169067
|
+
result[length] = callback(array[length]);
|
|
169068
|
+
}
|
|
169069
|
+
return result;
|
|
169070
|
+
}
|
|
169071
|
+
|
|
169072
|
+
/**
|
|
169073
|
+
* A simple `Array#map`-like wrapper to work with domain name strings or email
|
|
169074
|
+
* addresses.
|
|
169075
|
+
* @private
|
|
169076
|
+
* @param {String} domain The domain name or email address.
|
|
169077
|
+
* @param {Function} callback The function that gets called for every
|
|
169078
|
+
* character.
|
|
169079
|
+
* @returns {String} A new string of characters returned by the callback
|
|
169080
|
+
* function.
|
|
169081
|
+
*/
|
|
169082
|
+
function mapDomain(domain, callback) {
|
|
169083
|
+
const parts = domain.split('@');
|
|
169084
|
+
let result = '';
|
|
169085
|
+
if (parts.length > 1) {
|
|
169086
|
+
// In email addresses, only the domain name should be punycoded. Leave
|
|
169087
|
+
// the local part (i.e. everything up to `@`) intact.
|
|
169088
|
+
result = parts[0] + '@';
|
|
169089
|
+
domain = parts[1];
|
|
169090
|
+
}
|
|
169091
|
+
// Avoid `split(regex)` for IE8 compatibility. See #17.
|
|
169092
|
+
domain = domain.replace(regexSeparators, '\x2E');
|
|
169093
|
+
const labels = domain.split('.');
|
|
169094
|
+
const encoded = map(labels, callback).join('.');
|
|
169095
|
+
return result + encoded;
|
|
169096
|
+
}
|
|
169097
|
+
|
|
169098
|
+
/**
|
|
169099
|
+
* Creates an array containing the numeric code points of each Unicode
|
|
169100
|
+
* character in the string. While JavaScript uses UCS-2 internally,
|
|
169101
|
+
* this function will convert a pair of surrogate halves (each of which
|
|
169102
|
+
* UCS-2 exposes as separate characters) into a single code point,
|
|
169103
|
+
* matching UTF-16.
|
|
169104
|
+
* @see `punycode.ucs2.encode`
|
|
169105
|
+
* @see <https://mathiasbynens.be/notes/javascript-encoding>
|
|
169106
|
+
* @memberOf punycode.ucs2
|
|
169107
|
+
* @name decode
|
|
169108
|
+
* @param {String} string The Unicode input string (UCS-2).
|
|
169109
|
+
* @returns {Array} The new array of code points.
|
|
169110
|
+
*/
|
|
169111
|
+
function ucs2decode(string) {
|
|
169112
|
+
const output = [];
|
|
169113
|
+
let counter = 0;
|
|
169114
|
+
const length = string.length;
|
|
169115
|
+
while (counter < length) {
|
|
169116
|
+
const value = string.charCodeAt(counter++);
|
|
169117
|
+
if (value >= 0xD800 && value <= 0xDBFF && counter < length) {
|
|
169118
|
+
// It's a high surrogate, and there is a next character.
|
|
169119
|
+
const extra = string.charCodeAt(counter++);
|
|
169120
|
+
if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.
|
|
169121
|
+
output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);
|
|
169122
|
+
} else {
|
|
169123
|
+
// It's an unmatched surrogate; only append this code unit, in case the
|
|
169124
|
+
// next code unit is the high surrogate of a surrogate pair.
|
|
169125
|
+
output.push(value);
|
|
169126
|
+
counter--;
|
|
169127
|
+
}
|
|
169128
|
+
} else {
|
|
169129
|
+
output.push(value);
|
|
169130
|
+
}
|
|
169131
|
+
}
|
|
169132
|
+
return output;
|
|
169133
|
+
}
|
|
169134
|
+
|
|
169135
|
+
/**
|
|
169136
|
+
* Creates a string based on an array of numeric code points.
|
|
169137
|
+
* @see `punycode.ucs2.decode`
|
|
169138
|
+
* @memberOf punycode.ucs2
|
|
169139
|
+
* @name encode
|
|
169140
|
+
* @param {Array} codePoints The array of numeric code points.
|
|
169141
|
+
* @returns {String} The new Unicode string (UCS-2).
|
|
169142
|
+
*/
|
|
169143
|
+
const ucs2encode = codePoints => String.fromCodePoint(...codePoints);
|
|
169144
|
+
|
|
169145
|
+
/**
|
|
169146
|
+
* Converts a basic code point into a digit/integer.
|
|
169147
|
+
* @see `digitToBasic()`
|
|
169148
|
+
* @private
|
|
169149
|
+
* @param {Number} codePoint The basic numeric code point value.
|
|
169150
|
+
* @returns {Number} The numeric value of a basic code point (for use in
|
|
169151
|
+
* representing integers) in the range `0` to `base - 1`, or `base` if
|
|
169152
|
+
* the code point does not represent a value.
|
|
169153
|
+
*/
|
|
169154
|
+
const basicToDigit = function(codePoint) {
|
|
169155
|
+
if (codePoint >= 0x30 && codePoint < 0x3A) {
|
|
169156
|
+
return 26 + (codePoint - 0x30);
|
|
169157
|
+
}
|
|
169158
|
+
if (codePoint >= 0x41 && codePoint < 0x5B) {
|
|
169159
|
+
return codePoint - 0x41;
|
|
169160
|
+
}
|
|
169161
|
+
if (codePoint >= 0x61 && codePoint < 0x7B) {
|
|
169162
|
+
return codePoint - 0x61;
|
|
169163
|
+
}
|
|
169164
|
+
return base;
|
|
169165
|
+
};
|
|
169166
|
+
|
|
169167
|
+
/**
|
|
169168
|
+
* Converts a digit/integer into a basic code point.
|
|
169169
|
+
* @see `basicToDigit()`
|
|
169170
|
+
* @private
|
|
169171
|
+
* @param {Number} digit The numeric value of a basic code point.
|
|
169172
|
+
* @returns {Number} The basic code point whose value (when used for
|
|
169173
|
+
* representing integers) is `digit`, which needs to be in the range
|
|
169174
|
+
* `0` to `base - 1`. If `flag` is non-zero, the uppercase form is
|
|
169175
|
+
* used; else, the lowercase form is used. The behavior is undefined
|
|
169176
|
+
* if `flag` is non-zero and `digit` has no uppercase form.
|
|
169177
|
+
*/
|
|
169178
|
+
const digitToBasic = function(digit, flag) {
|
|
169179
|
+
// 0..25 map to ASCII a..z or A..Z
|
|
169180
|
+
// 26..35 map to ASCII 0..9
|
|
169181
|
+
return digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);
|
|
169182
|
+
};
|
|
169183
|
+
|
|
169184
|
+
/**
|
|
169185
|
+
* Bias adaptation function as per section 3.4 of RFC 3492.
|
|
169186
|
+
* https://tools.ietf.org/html/rfc3492#section-3.4
|
|
169187
|
+
* @private
|
|
169188
|
+
*/
|
|
169189
|
+
const adapt = function(delta, numPoints, firstTime) {
|
|
169190
|
+
let k = 0;
|
|
169191
|
+
delta = firstTime ? floor(delta / damp) : delta >> 1;
|
|
169192
|
+
delta += floor(delta / numPoints);
|
|
169193
|
+
for (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {
|
|
169194
|
+
delta = floor(delta / baseMinusTMin);
|
|
169195
|
+
}
|
|
169196
|
+
return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));
|
|
169197
|
+
};
|
|
169198
|
+
|
|
169199
|
+
/**
|
|
169200
|
+
* Converts a Punycode string of ASCII-only symbols to a string of Unicode
|
|
169201
|
+
* symbols.
|
|
169202
|
+
* @memberOf punycode
|
|
169203
|
+
* @param {String} input The Punycode string of ASCII-only symbols.
|
|
169204
|
+
* @returns {String} The resulting string of Unicode symbols.
|
|
169205
|
+
*/
|
|
169206
|
+
const decode = function(input) {
|
|
169207
|
+
// Don't use UCS-2.
|
|
169208
|
+
const output = [];
|
|
169209
|
+
const inputLength = input.length;
|
|
169210
|
+
let i = 0;
|
|
169211
|
+
let n = initialN;
|
|
169212
|
+
let bias = initialBias;
|
|
169213
|
+
|
|
169214
|
+
// Handle the basic code points: let `basic` be the number of input code
|
|
169215
|
+
// points before the last delimiter, or `0` if there is none, then copy
|
|
169216
|
+
// the first basic code points to the output.
|
|
169217
|
+
|
|
169218
|
+
let basic = input.lastIndexOf(delimiter);
|
|
169219
|
+
if (basic < 0) {
|
|
169220
|
+
basic = 0;
|
|
169221
|
+
}
|
|
169222
|
+
|
|
169223
|
+
for (let j = 0; j < basic; ++j) {
|
|
169224
|
+
// if it's not a basic code point
|
|
169225
|
+
if (input.charCodeAt(j) >= 0x80) {
|
|
169226
|
+
error('not-basic');
|
|
169227
|
+
}
|
|
169228
|
+
output.push(input.charCodeAt(j));
|
|
169229
|
+
}
|
|
169230
|
+
|
|
169231
|
+
// Main decoding loop: start just after the last delimiter if any basic code
|
|
169232
|
+
// points were copied; start at the beginning otherwise.
|
|
169233
|
+
|
|
169234
|
+
for (let index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {
|
|
169235
|
+
|
|
169236
|
+
// `index` is the index of the next character to be consumed.
|
|
169237
|
+
// Decode a generalized variable-length integer into `delta`,
|
|
169238
|
+
// which gets added to `i`. The overflow checking is easier
|
|
169239
|
+
// if we increase `i` as we go, then subtract off its starting
|
|
169240
|
+
// value at the end to obtain `delta`.
|
|
169241
|
+
const oldi = i;
|
|
169242
|
+
for (let w = 1, k = base; /* no condition */; k += base) {
|
|
169243
|
+
|
|
169244
|
+
if (index >= inputLength) {
|
|
169245
|
+
error('invalid-input');
|
|
169246
|
+
}
|
|
169247
|
+
|
|
169248
|
+
const digit = basicToDigit(input.charCodeAt(index++));
|
|
169249
|
+
|
|
169250
|
+
if (digit >= base) {
|
|
169251
|
+
error('invalid-input');
|
|
169252
|
+
}
|
|
169253
|
+
if (digit > floor((maxInt - i) / w)) {
|
|
169254
|
+
error('overflow');
|
|
169255
|
+
}
|
|
169256
|
+
|
|
169257
|
+
i += digit * w;
|
|
169258
|
+
const t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);
|
|
169259
|
+
|
|
169260
|
+
if (digit < t) {
|
|
169261
|
+
break;
|
|
169262
|
+
}
|
|
169263
|
+
|
|
169264
|
+
const baseMinusT = base - t;
|
|
169265
|
+
if (w > floor(maxInt / baseMinusT)) {
|
|
169266
|
+
error('overflow');
|
|
169267
|
+
}
|
|
169268
|
+
|
|
169269
|
+
w *= baseMinusT;
|
|
169270
|
+
|
|
169271
|
+
}
|
|
169272
|
+
|
|
169273
|
+
const out = output.length + 1;
|
|
169274
|
+
bias = adapt(i - oldi, out, oldi == 0);
|
|
169275
|
+
|
|
169276
|
+
// `i` was supposed to wrap around from `out` to `0`,
|
|
169277
|
+
// incrementing `n` each time, so we'll fix that now:
|
|
169278
|
+
if (floor(i / out) > maxInt - n) {
|
|
169279
|
+
error('overflow');
|
|
169280
|
+
}
|
|
169281
|
+
|
|
169282
|
+
n += floor(i / out);
|
|
169283
|
+
i %= out;
|
|
169284
|
+
|
|
169285
|
+
// Insert `n` at position `i` of the output.
|
|
169286
|
+
output.splice(i++, 0, n);
|
|
169287
|
+
|
|
169288
|
+
}
|
|
169289
|
+
|
|
169290
|
+
return String.fromCodePoint(...output);
|
|
169291
|
+
};
|
|
169292
|
+
|
|
169293
|
+
/**
|
|
169294
|
+
* Converts a string of Unicode symbols (e.g. a domain name label) to a
|
|
169295
|
+
* Punycode string of ASCII-only symbols.
|
|
169296
|
+
* @memberOf punycode
|
|
169297
|
+
* @param {String} input The string of Unicode symbols.
|
|
169298
|
+
* @returns {String} The resulting Punycode string of ASCII-only symbols.
|
|
169299
|
+
*/
|
|
169300
|
+
const encode = function(input) {
|
|
169301
|
+
const output = [];
|
|
169302
|
+
|
|
169303
|
+
// Convert the input in UCS-2 to an array of Unicode code points.
|
|
169304
|
+
input = ucs2decode(input);
|
|
169305
|
+
|
|
169306
|
+
// Cache the length.
|
|
169307
|
+
const inputLength = input.length;
|
|
169308
|
+
|
|
169309
|
+
// Initialize the state.
|
|
169310
|
+
let n = initialN;
|
|
169311
|
+
let delta = 0;
|
|
169312
|
+
let bias = initialBias;
|
|
169313
|
+
|
|
169314
|
+
// Handle the basic code points.
|
|
169315
|
+
for (const currentValue of input) {
|
|
169316
|
+
if (currentValue < 0x80) {
|
|
169317
|
+
output.push(stringFromCharCode(currentValue));
|
|
169318
|
+
}
|
|
169319
|
+
}
|
|
169320
|
+
|
|
169321
|
+
const basicLength = output.length;
|
|
169322
|
+
let handledCPCount = basicLength;
|
|
169323
|
+
|
|
169324
|
+
// `handledCPCount` is the number of code points that have been handled;
|
|
169325
|
+
// `basicLength` is the number of basic code points.
|
|
169326
|
+
|
|
169327
|
+
// Finish the basic string with a delimiter unless it's empty.
|
|
169328
|
+
if (basicLength) {
|
|
169329
|
+
output.push(delimiter);
|
|
169330
|
+
}
|
|
169331
|
+
|
|
169332
|
+
// Main encoding loop:
|
|
169333
|
+
while (handledCPCount < inputLength) {
|
|
169334
|
+
|
|
169335
|
+
// All non-basic code points < n have been handled already. Find the next
|
|
169336
|
+
// larger one:
|
|
169337
|
+
let m = maxInt;
|
|
169338
|
+
for (const currentValue of input) {
|
|
169339
|
+
if (currentValue >= n && currentValue < m) {
|
|
169340
|
+
m = currentValue;
|
|
169341
|
+
}
|
|
169342
|
+
}
|
|
169343
|
+
|
|
169344
|
+
// Increase `delta` enough to advance the decoder's <n,i> state to <m,0>,
|
|
169345
|
+
// but guard against overflow.
|
|
169346
|
+
const handledCPCountPlusOne = handledCPCount + 1;
|
|
169347
|
+
if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {
|
|
169348
|
+
error('overflow');
|
|
169349
|
+
}
|
|
169350
|
+
|
|
169351
|
+
delta += (m - n) * handledCPCountPlusOne;
|
|
169352
|
+
n = m;
|
|
169353
|
+
|
|
169354
|
+
for (const currentValue of input) {
|
|
169355
|
+
if (currentValue < n && ++delta > maxInt) {
|
|
169356
|
+
error('overflow');
|
|
169357
|
+
}
|
|
169358
|
+
if (currentValue === n) {
|
|
169359
|
+
// Represent delta as a generalized variable-length integer.
|
|
169360
|
+
let q = delta;
|
|
169361
|
+
for (let k = base; /* no condition */; k += base) {
|
|
169362
|
+
const t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);
|
|
169363
|
+
if (q < t) {
|
|
169364
|
+
break;
|
|
169365
|
+
}
|
|
169366
|
+
const qMinusT = q - t;
|
|
169367
|
+
const baseMinusT = base - t;
|
|
169368
|
+
output.push(
|
|
169369
|
+
stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))
|
|
169370
|
+
);
|
|
169371
|
+
q = floor(qMinusT / baseMinusT);
|
|
169372
|
+
}
|
|
169373
|
+
|
|
169374
|
+
output.push(stringFromCharCode(digitToBasic(q, 0)));
|
|
169375
|
+
bias = adapt(delta, handledCPCountPlusOne, handledCPCount === basicLength);
|
|
169376
|
+
delta = 0;
|
|
169377
|
+
++handledCPCount;
|
|
169378
|
+
}
|
|
169379
|
+
}
|
|
169380
|
+
|
|
169381
|
+
++delta;
|
|
169382
|
+
++n;
|
|
169383
|
+
|
|
169384
|
+
}
|
|
169385
|
+
return output.join('');
|
|
169386
|
+
};
|
|
169387
|
+
|
|
169388
|
+
/**
|
|
169389
|
+
* Converts a Punycode string representing a domain name or an email address
|
|
169390
|
+
* to Unicode. Only the Punycoded parts of the input will be converted, i.e.
|
|
169391
|
+
* it doesn't matter if you call it on a string that has already been
|
|
169392
|
+
* converted to Unicode.
|
|
169393
|
+
* @memberOf punycode
|
|
169394
|
+
* @param {String} input The Punycoded domain name or email address to
|
|
169395
|
+
* convert to Unicode.
|
|
169396
|
+
* @returns {String} The Unicode representation of the given Punycode
|
|
169397
|
+
* string.
|
|
169398
|
+
*/
|
|
169399
|
+
const toUnicode = function(input) {
|
|
169400
|
+
return mapDomain(input, function(string) {
|
|
169401
|
+
return regexPunycode.test(string)
|
|
169402
|
+
? decode(string.slice(4).toLowerCase())
|
|
169403
|
+
: string;
|
|
169404
|
+
});
|
|
169405
|
+
};
|
|
169406
|
+
|
|
169407
|
+
/**
|
|
169408
|
+
* Converts a Unicode string representing a domain name or an email address to
|
|
169409
|
+
* Punycode. Only the non-ASCII parts of the domain name will be converted,
|
|
169410
|
+
* i.e. it doesn't matter if you call it with a domain that's already in
|
|
169411
|
+
* ASCII.
|
|
169412
|
+
* @memberOf punycode
|
|
169413
|
+
* @param {String} input The domain name or email address to convert, as a
|
|
169414
|
+
* Unicode string.
|
|
169415
|
+
* @returns {String} The Punycode representation of the given domain name or
|
|
169416
|
+
* email address.
|
|
169417
|
+
*/
|
|
169418
|
+
const toASCII = function(input) {
|
|
169419
|
+
return mapDomain(input, function(string) {
|
|
169420
|
+
return regexNonASCII.test(string)
|
|
169421
|
+
? 'xn--' + encode(string)
|
|
169422
|
+
: string;
|
|
169423
|
+
});
|
|
169424
|
+
};
|
|
169425
|
+
|
|
169426
|
+
/*--------------------------------------------------------------------------*/
|
|
169427
|
+
|
|
169428
|
+
/** Define the public API */
|
|
169429
|
+
const punycode = {
|
|
169430
|
+
/**
|
|
169431
|
+
* A string representing the current Punycode.js version number.
|
|
169432
|
+
* @memberOf punycode
|
|
169433
|
+
* @type String
|
|
169434
|
+
*/
|
|
169435
|
+
'version': '2.3.1',
|
|
169436
|
+
/**
|
|
169437
|
+
* An object of methods to convert from JavaScript's internal character
|
|
169438
|
+
* representation (UCS-2) to Unicode code points, and back.
|
|
169439
|
+
* @see <https://mathiasbynens.be/notes/javascript-encoding>
|
|
169440
|
+
* @memberOf punycode
|
|
169441
|
+
* @type Object
|
|
169442
|
+
*/
|
|
169443
|
+
'ucs2': {
|
|
169444
|
+
'decode': ucs2decode,
|
|
169445
|
+
'encode': ucs2encode
|
|
169446
|
+
},
|
|
169447
|
+
'decode': decode,
|
|
169448
|
+
'encode': encode,
|
|
169449
|
+
'toASCII': toASCII,
|
|
169450
|
+
'toUnicode': toUnicode
|
|
169451
|
+
};
|
|
169452
|
+
|
|
169453
|
+
|
|
169454
|
+
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (punycode);
|
|
169455
|
+
|
|
169456
|
+
|
|
169434
169457
|
/***/ }),
|
|
169435
169458
|
|
|
169436
169459
|
/***/ "../../node_modules/rrweb-cssom/lib/CSSConditionRule.js":
|
|
@@ -177120,8 +177143,8 @@ const base64js = __webpack_require__(/*! base64-js */ "../../node_modules/base64
|
|
|
177120
177143
|
*/
|
|
177121
177144
|
class BitmapAdapter {
|
|
177122
177145
|
/**
|
|
177123
|
-
* @param {?
|
|
177124
|
-
* @param {?
|
|
177146
|
+
* @param {?Function} makeImage HTML image constructor. Tests can provide this.
|
|
177147
|
+
* @param {?Function} makeCanvas HTML canvas constructor. Tests can provide this.
|
|
177125
177148
|
*/
|
|
177126
177149
|
constructor(makeImage, makeCanvas) {
|
|
177127
177150
|
this._makeImage = makeImage ? makeImage : () => new Image();
|
|
@@ -177161,7 +177184,7 @@ class BitmapAdapter {
|
|
|
177161
177184
|
* to resolution 2 bitmaps. Therefore, converting a resolution 1 bitmap means doubling
|
|
177162
177185
|
* it in width and height.
|
|
177163
177186
|
* @param {!string} dataURI Base 64 encoded image data of the bitmap
|
|
177164
|
-
* @param {!
|
|
177187
|
+
* @param {!Function} callback Node-style callback that returns updated dataURI if conversion succeeded
|
|
177165
177188
|
*/
|
|
177166
177189
|
convertResolution1Bitmap(dataURI, callback) {
|
|
177167
177190
|
const image = this._makeImage();
|
|
@@ -177179,7 +177202,7 @@ class BitmapAdapter {
|
|
|
177179
177202
|
* to in Scratch 3.0
|
|
177180
177203
|
* @param {!number} oldWidth original width
|
|
177181
177204
|
* @param {!number} oldHeight original height
|
|
177182
|
-
* @
|
|
177205
|
+
* @returns {object} Array of new width, new height
|
|
177183
177206
|
*/
|
|
177184
177207
|
getResizedWidthHeight(oldWidth, oldHeight) {
|
|
177185
177208
|
const STAGE_WIDTH = 480;
|
|
@@ -177359,7 +177382,7 @@ module.exports = function (svgString) {
|
|
|
177359
177382
|
/**
|
|
177360
177383
|
* Given an SVG, replace Scratch 2.0 fonts with new 3.0 fonts. Add defaults where there are none.
|
|
177361
177384
|
* @param {SVGElement} svgTag The SVG dom object
|
|
177362
|
-
* @
|
|
177385
|
+
* @returns {void}
|
|
177363
177386
|
*/
|
|
177364
177387
|
const convertFonts = function convertFonts(svgTag) {
|
|
177365
177388
|
// Collect all text elements into a list.
|
|
@@ -177414,7 +177437,7 @@ const getFonts = __webpack_require__(/*! scratch-render-fonts */ "../../node_mod
|
|
|
177414
177437
|
* // Using a <link> or <style>@import</style> to link to font-family
|
|
177415
177438
|
* // injected into the document: no effect.
|
|
177416
177439
|
* @param {string} svgString The string representation of the svg to modify
|
|
177417
|
-
* @
|
|
177440
|
+
* @returns {string} The svg with any needed fonts inlined
|
|
177418
177441
|
*/
|
|
177419
177442
|
const inlineSvgFonts = function inlineSvgFonts(svgString) {
|
|
177420
177443
|
const FONTS = getFonts();
|
|
@@ -177496,7 +177519,7 @@ const {
|
|
|
177496
177519
|
/**
|
|
177497
177520
|
* @param {SVGElement} svgTag the tag to search within
|
|
177498
177521
|
* @param {string} [tagName] svg tag to search for (or collect all elements if not given)
|
|
177499
|
-
* @
|
|
177522
|
+
* @returns {Array} a list of elements with the given tagname
|
|
177500
177523
|
*/
|
|
177501
177524
|
const collectElements = (svgTag, tagName) => {
|
|
177502
177525
|
const elts = [];
|
|
@@ -177649,7 +177672,7 @@ const transformText = svgTag => {
|
|
|
177649
177672
|
* This is used to enlarge the computed bounding box, which doesn't take
|
|
177650
177673
|
* stroke width into account.
|
|
177651
177674
|
* @param {SVGSVGElement} rootNode The root SVG node to traverse.
|
|
177652
|
-
* @
|
|
177675
|
+
* @returns {number} The largest stroke width in the SVG.
|
|
177653
177676
|
*/
|
|
177654
177677
|
const findLargestStrokeWidth = rootNode => {
|
|
177655
177678
|
let largestStrokeWidth = 0;
|
|
@@ -177782,7 +177805,7 @@ const normalizeSvg = (svgTag, fromVersion2) => {
|
|
|
177782
177805
|
* mimic Scratch 2.0's SVG rendering.
|
|
177783
177806
|
* @param {!string} svgString String of SVG data to draw in quirks-mode.
|
|
177784
177807
|
* @param {boolean} [fromVersion2] True if we should perform conversion from version 2 to version 3 svg.
|
|
177785
|
-
* @
|
|
177808
|
+
* @returns {SVGSVGElement} The normalized SVG element.
|
|
177786
177809
|
*/
|
|
177787
177810
|
const loadSvgString = (svgString, fromVersion2) => {
|
|
177788
177811
|
// Parse string into SVG XML.
|
|
@@ -177896,7 +177919,7 @@ let _TextDecoder;
|
|
|
177896
177919
|
let _TextEncoder;
|
|
177897
177920
|
if (typeof TextDecoder === 'undefined' || typeof TextEncoder === 'undefined') {
|
|
177898
177921
|
// Wait to require the text encoding polyfill until we know it's needed.
|
|
177899
|
-
|
|
177922
|
+
|
|
177900
177923
|
const encoding = __webpack_require__(/*! fastestsmallesttextencoderdecoder */ "../../node_modules/fastestsmallesttextencoderdecoder/NodeJS/EncoderAndDecoderNodeJS.min.mjs");
|
|
177901
177924
|
_TextDecoder = encoding.TextDecoder;
|
|
177902
177925
|
_TextEncoder = encoding.TextEncoder;
|
|
@@ -177908,7 +177931,7 @@ if (typeof TextDecoder === 'undefined' || typeof TextEncoder === 'undefined') {
|
|
|
177908
177931
|
/**
|
|
177909
177932
|
* Load an SVG Uint8Array of bytes and "sanitize" it
|
|
177910
177933
|
* @param {!Uint8Array} rawData unsanitized SVG daata
|
|
177911
|
-
* @
|
|
177934
|
+
* @returns {Uint8Array} sanitized SVG data
|
|
177912
177935
|
*/
|
|
177913
177936
|
sanitizeSvg.sanitizeByteStream = function (rawData) {
|
|
177914
177937
|
const decoder = new _TextDecoder();
|
|
@@ -177922,7 +177945,7 @@ sanitizeSvg.sanitizeByteStream = function (rawData) {
|
|
|
177922
177945
|
* fixup-svg-string.js, and thus more risky; there are known examples of SVGs that
|
|
177923
177946
|
* it will clobber. We use DOMPurify's svg profile, which restricts many types of tag.
|
|
177924
177947
|
* @param {!string} rawSvgText unsanitized SVG string
|
|
177925
|
-
* @
|
|
177948
|
+
* @returns {string} sanitized SVG text
|
|
177926
177949
|
*/
|
|
177927
177950
|
sanitizeSvg.sanitizeSvgText = function (rawSvgText) {
|
|
177928
177951
|
let sanitizedText = DOMPurify.sanitize(rawSvgText, {
|
|
@@ -178067,7 +178090,7 @@ class SvgRenderer {
|
|
|
178067
178090
|
* Create a quirks-mode SVG renderer for a particular canvas.
|
|
178068
178091
|
* @param {HTMLCanvasElement} [canvas] An optional canvas element to draw to. If this is not provided, the renderer
|
|
178069
178092
|
* will create a new canvas.
|
|
178070
|
-
* @
|
|
178093
|
+
* @class
|
|
178071
178094
|
*/
|
|
178072
178095
|
constructor(canvas) {
|
|
178073
178096
|
/**
|
|
@@ -178121,14 +178144,14 @@ class SvgRenderer {
|
|
|
178121
178144
|
}
|
|
178122
178145
|
|
|
178123
178146
|
/**
|
|
178124
|
-
* @
|
|
178147
|
+
* @returns {Array<number>} the natural size, in Scratch units, of this SVG.
|
|
178125
178148
|
*/
|
|
178126
178149
|
get size() {
|
|
178127
178150
|
return [this._measurements.width, this._measurements.height];
|
|
178128
178151
|
}
|
|
178129
178152
|
|
|
178130
178153
|
/**
|
|
178131
|
-
* @
|
|
178154
|
+
* @returns {Array<number>} the offset (upper left corner) of the SVG's view box.
|
|
178132
178155
|
*/
|
|
178133
178156
|
get viewOffset() {
|
|
178134
178157
|
return [this._measurements.x, this._measurements.y];
|
|
@@ -178203,7 +178226,7 @@ class SvgRenderer {
|
|
|
178203
178226
|
/**
|
|
178204
178227
|
* Draw to the canvas from a loaded image element.
|
|
178205
178228
|
* @param {number} [scale] - Optionally, also scale the image by this factor.
|
|
178206
|
-
|
|
178229
|
+
*/
|
|
178207
178230
|
_drawFromImage(scale) {
|
|
178208
178231
|
if (this._cachedImage === null) return;
|
|
178209
178232
|
const ratio = Number.isFinite(scale) ? scale : 1;
|
|
@@ -178754,14 +178777,13 @@ const _parseUrl = (value, windowRef) => {
|
|
|
178754
178777
|
* on groups down to the leaf level and averaging out the stroke width
|
|
178755
178778
|
* around the shapes. Note that this doens't just change stroke widths, it
|
|
178756
178779
|
* changes path data and attributes throughout the SVG.
|
|
178757
|
-
*
|
|
178758
178780
|
* @param {SVGElement} svgTag The SVG dom object
|
|
178759
178781
|
* @param {Window} windowRef The window to use. Need to pass in for
|
|
178760
178782
|
* tests to work, as they get angry at even the mention of window.
|
|
178761
178783
|
* @param {object} bboxForTesting The bounds to use. Need to pass in for
|
|
178762
178784
|
* tests only, because getBBox doesn't work in Node. This should
|
|
178763
178785
|
* be the bounds of the svgTag without including stroke width or transforms.
|
|
178764
|
-
* @
|
|
178786
|
+
* @returns {void}
|
|
178765
178787
|
*/
|
|
178766
178788
|
const transformStrokeWidths = function transformStrokeWidths(svgTag, windowRef, bboxForTesting) {
|
|
178767
178789
|
const inherited = Matrix.identity();
|