@readme/markdown 13.6.3 → 13.7.1
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/components/Image/index.tsx +60 -39
- package/components/Image/style.scss +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/main.css +1 -1
- package/dist/main.css.map +1 -1
- package/dist/main.js +1481 -649
- package/dist/main.node.js +1466 -644
- package/dist/main.node.js.map +1 -1
- package/dist/processor/compile/anchor.d.ts +3 -0
- package/dist/processor/transform/mdxish/magic-blocks/types.d.ts +4 -0
- package/dist/processor/transform/mdxish/mdxish-jsx-to-mdast.d.ts +2 -1
- package/dist/processor/transform/mdxish/mdxish-self-closing-blocks.d.ts +21 -0
- package/enums.ts +20 -0
- package/package.json +13 -11
- package/types.d.ts +281 -0
package/dist/main.node.js
CHANGED
|
@@ -19020,6 +19020,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
19020
19020
|
__webpack_require__.d(__webpack_exports__, {
|
|
19021
19021
|
Components: () => (/* reexport */ components_namespaceObject),
|
|
19022
19022
|
FLOW_TYPES: () => (/* reexport */ FLOW_TYPES),
|
|
19023
|
+
NodeTypes: () => (/* reexport */ NodeTypes),
|
|
19023
19024
|
Owlmoji: () => (/* reexport */ Owlmoji),
|
|
19024
19025
|
compile: () => (/* reexport */ lib_compile),
|
|
19025
19026
|
exports: () => (/* reexport */ lib_exports),
|
|
@@ -24514,6 +24515,16 @@ const CreateHeading = (depth) => {
|
|
|
24514
24515
|
|
|
24515
24516
|
;// ./components/Image/index.tsx
|
|
24516
24517
|
|
|
24518
|
+
|
|
24519
|
+
/**
|
|
24520
|
+
* Renders lightbox overlay via a React portal to document.body so it escapes
|
|
24521
|
+
* any intermediate CSS stacking contexts and reliably covers all UI chrome.
|
|
24522
|
+
*/
|
|
24523
|
+
const LightboxPortal = ({ children }) => {
|
|
24524
|
+
if (typeof document === 'undefined')
|
|
24525
|
+
return null;
|
|
24526
|
+
return (0,external_react_dom_namespaceObject.createPortal)(children, document.body);
|
|
24527
|
+
};
|
|
24517
24528
|
const Image = (Props) => {
|
|
24518
24529
|
const { align = '', alt = '', border: borderProp = false, caption, className = '', height = 'auto', src, title = '', width = 'auto', lazy = true, children, } = Props;
|
|
24519
24530
|
// Normalize border: MDXish passes {false} as the string "false", not a boolean
|
|
@@ -24546,20 +24557,27 @@ const Image = (Props) => {
|
|
|
24546
24557
|
return;
|
|
24547
24558
|
setLightbox(!lightbox);
|
|
24548
24559
|
};
|
|
24560
|
+
const imgElement = (external_react_.createElement("img", { alt: alt, className: `img ${caption || children ? 'img-align-center' : align ? `img-align-${align}` : ''} ${border ? 'border' : ''}`, height: height, loading: lazy ? 'lazy' : 'eager', src: src, title: title, width: width }));
|
|
24561
|
+
const lightboxOverlay = lightbox ? (external_react_.createElement(LightboxPortal, null,
|
|
24562
|
+
external_react_.createElement("div", { className: "markdown-body" },
|
|
24563
|
+
external_react_.createElement("span", { "aria-label": alt || 'Collapse image', className: "img lightbox open", onClick: toggle, onKeyDown: handleKeyDown, role: 'button', tabIndex: 0 },
|
|
24564
|
+
external_react_.createElement("span", { className: "lightbox-inner" },
|
|
24565
|
+
imgElement,
|
|
24566
|
+
(children || caption) && external_react_.createElement("figcaption", null, children || caption))),
|
|
24567
|
+
external_react_.createElement("button", { "aria-label": "Minimize image", className: "lightbox-close", onClick: toggle, type: "button" },
|
|
24568
|
+
external_react_.createElement("i", { "aria-hidden": "true", className: "fa-solid fa-xmark" }))))) : null;
|
|
24549
24569
|
if (children || caption) {
|
|
24550
24570
|
return (external_react_.createElement("figure", null,
|
|
24551
|
-
external_react_.createElement("span", { "aria-label": alt, className:
|
|
24571
|
+
external_react_.createElement("span", { "aria-label": alt, className: "img lightbox closed", onClick: toggle, onKeyDown: handleKeyDown, role: 'button', tabIndex: 0 },
|
|
24552
24572
|
external_react_.createElement("span", { className: "lightbox-inner" },
|
|
24553
|
-
|
|
24573
|
+
imgElement,
|
|
24554
24574
|
external_react_.createElement("figcaption", null, children || caption))),
|
|
24555
|
-
|
|
24556
|
-
external_react_.createElement("i", { "aria-hidden": "true", className: "fa-solid fa-xmark" })))));
|
|
24575
|
+
lightboxOverlay));
|
|
24557
24576
|
}
|
|
24558
|
-
return (external_react_.createElement(
|
|
24559
|
-
external_react_.createElement("span", { className: "lightbox
|
|
24560
|
-
external_react_.createElement("
|
|
24561
|
-
|
|
24562
|
-
external_react_.createElement("i", { "aria-hidden": "true", className: "fa-solid fa-xmark" })))));
|
|
24577
|
+
return (external_react_.createElement(external_react_.Fragment, null,
|
|
24578
|
+
external_react_.createElement("span", { "aria-label": "Expand image", className: "img lightbox closed", onClick: toggle, onKeyDown: handleKeyDown, role: 'button', tabIndex: 0 },
|
|
24579
|
+
external_react_.createElement("span", { className: "lightbox-inner" }, imgElement)),
|
|
24580
|
+
lightboxOverlay));
|
|
24563
24581
|
};
|
|
24564
24582
|
/* harmony default export */ const components_Image = (Image);
|
|
24565
24583
|
|
|
@@ -63730,7 +63748,6 @@ var CODE_POINTS;
|
|
|
63730
63748
|
CODE_POINTS[CODE_POINTS["SPACE"] = 32] = "SPACE";
|
|
63731
63749
|
CODE_POINTS[CODE_POINTS["EXCLAMATION_MARK"] = 33] = "EXCLAMATION_MARK";
|
|
63732
63750
|
CODE_POINTS[CODE_POINTS["QUOTATION_MARK"] = 34] = "QUOTATION_MARK";
|
|
63733
|
-
CODE_POINTS[CODE_POINTS["NUMBER_SIGN"] = 35] = "NUMBER_SIGN";
|
|
63734
63751
|
CODE_POINTS[CODE_POINTS["AMPERSAND"] = 38] = "AMPERSAND";
|
|
63735
63752
|
CODE_POINTS[CODE_POINTS["APOSTROPHE"] = 39] = "APOSTROPHE";
|
|
63736
63753
|
CODE_POINTS[CODE_POINTS["HYPHEN_MINUS"] = 45] = "HYPHEN_MINUS";
|
|
@@ -63743,17 +63760,12 @@ var CODE_POINTS;
|
|
|
63743
63760
|
CODE_POINTS[CODE_POINTS["GREATER_THAN_SIGN"] = 62] = "GREATER_THAN_SIGN";
|
|
63744
63761
|
CODE_POINTS[CODE_POINTS["QUESTION_MARK"] = 63] = "QUESTION_MARK";
|
|
63745
63762
|
CODE_POINTS[CODE_POINTS["LATIN_CAPITAL_A"] = 65] = "LATIN_CAPITAL_A";
|
|
63746
|
-
CODE_POINTS[CODE_POINTS["LATIN_CAPITAL_F"] = 70] = "LATIN_CAPITAL_F";
|
|
63747
|
-
CODE_POINTS[CODE_POINTS["LATIN_CAPITAL_X"] = 88] = "LATIN_CAPITAL_X";
|
|
63748
63763
|
CODE_POINTS[CODE_POINTS["LATIN_CAPITAL_Z"] = 90] = "LATIN_CAPITAL_Z";
|
|
63749
63764
|
CODE_POINTS[CODE_POINTS["RIGHT_SQUARE_BRACKET"] = 93] = "RIGHT_SQUARE_BRACKET";
|
|
63750
63765
|
CODE_POINTS[CODE_POINTS["GRAVE_ACCENT"] = 96] = "GRAVE_ACCENT";
|
|
63751
63766
|
CODE_POINTS[CODE_POINTS["LATIN_SMALL_A"] = 97] = "LATIN_SMALL_A";
|
|
63752
|
-
CODE_POINTS[CODE_POINTS["LATIN_SMALL_F"] = 102] = "LATIN_SMALL_F";
|
|
63753
|
-
CODE_POINTS[CODE_POINTS["LATIN_SMALL_X"] = 120] = "LATIN_SMALL_X";
|
|
63754
63767
|
CODE_POINTS[CODE_POINTS["LATIN_SMALL_Z"] = 122] = "LATIN_SMALL_Z";
|
|
63755
|
-
|
|
63756
|
-
})(CODE_POINTS = CODE_POINTS || (CODE_POINTS = {}));
|
|
63768
|
+
})(CODE_POINTS || (CODE_POINTS = {}));
|
|
63757
63769
|
const SEQUENCES = {
|
|
63758
63770
|
DASH_DASH: '--',
|
|
63759
63771
|
CDATA_START: '[CDATA[',
|
|
@@ -63780,7 +63792,7 @@ function isControlCodePoint(cp) {
|
|
|
63780
63792
|
function isUndefinedCodePoint(cp) {
|
|
63781
63793
|
return (cp >= 64976 && cp <= 65007) || UNDEFINED_CODE_POINTS.has(cp);
|
|
63782
63794
|
}
|
|
63783
|
-
|
|
63795
|
+
|
|
63784
63796
|
;// ./node_modules/parse5/dist/common/error-codes.js
|
|
63785
63797
|
var ERR;
|
|
63786
63798
|
(function (ERR) {
|
|
@@ -63844,8 +63856,8 @@ var ERR;
|
|
|
63844
63856
|
ERR["misplacedStartTagForHeadElement"] = "misplaced-start-tag-for-head-element";
|
|
63845
63857
|
ERR["nestedNoscriptInHead"] = "nested-noscript-in-head";
|
|
63846
63858
|
ERR["eofInElementThatCanContainOnlyText"] = "eof-in-element-that-can-contain-only-text";
|
|
63847
|
-
})(ERR
|
|
63848
|
-
|
|
63859
|
+
})(ERR || (ERR = {}));
|
|
63860
|
+
|
|
63849
63861
|
;// ./node_modules/parse5/dist/tokenizer/preprocessor.js
|
|
63850
63862
|
|
|
63851
63863
|
|
|
@@ -63880,22 +63892,24 @@ class Preprocessor {
|
|
|
63880
63892
|
get offset() {
|
|
63881
63893
|
return this.droppedBufferSize + this.pos;
|
|
63882
63894
|
}
|
|
63883
|
-
getError(code) {
|
|
63895
|
+
getError(code, cpOffset) {
|
|
63884
63896
|
const { line, col, offset } = this;
|
|
63897
|
+
const startCol = col + cpOffset;
|
|
63898
|
+
const startOffset = offset + cpOffset;
|
|
63885
63899
|
return {
|
|
63886
63900
|
code,
|
|
63887
63901
|
startLine: line,
|
|
63888
63902
|
endLine: line,
|
|
63889
|
-
startCol
|
|
63890
|
-
endCol:
|
|
63891
|
-
startOffset
|
|
63892
|
-
endOffset:
|
|
63903
|
+
startCol,
|
|
63904
|
+
endCol: startCol,
|
|
63905
|
+
startOffset,
|
|
63906
|
+
endOffset: startOffset,
|
|
63893
63907
|
};
|
|
63894
63908
|
}
|
|
63895
63909
|
_err(code) {
|
|
63896
63910
|
if (this.handler.onParseError && this.lastErrOffset !== this.offset) {
|
|
63897
63911
|
this.lastErrOffset = this.offset;
|
|
63898
|
-
this.handler.onParseError(this.getError(code));
|
|
63912
|
+
this.handler.onParseError(this.getError(code, 0));
|
|
63899
63913
|
}
|
|
63900
63914
|
}
|
|
63901
63915
|
_addGap() {
|
|
@@ -64041,7 +64055,7 @@ class Preprocessor {
|
|
|
64041
64055
|
this.isEol = false;
|
|
64042
64056
|
}
|
|
64043
64057
|
}
|
|
64044
|
-
|
|
64058
|
+
|
|
64045
64059
|
;// ./node_modules/parse5/dist/common/token.js
|
|
64046
64060
|
var token_TokenType;
|
|
64047
64061
|
(function (TokenType) {
|
|
@@ -64054,7 +64068,7 @@ var token_TokenType;
|
|
|
64054
64068
|
TokenType[TokenType["DOCTYPE"] = 6] = "DOCTYPE";
|
|
64055
64069
|
TokenType[TokenType["EOF"] = 7] = "EOF";
|
|
64056
64070
|
TokenType[TokenType["HIBERNATION"] = 8] = "HIBERNATION";
|
|
64057
|
-
})(token_TokenType
|
|
64071
|
+
})(token_TokenType || (token_TokenType = {}));
|
|
64058
64072
|
function getTokenAttr(token, attrName) {
|
|
64059
64073
|
for (let i = token.attrs.length - 1; i >= 0; i--) {
|
|
64060
64074
|
if (token.attrs[i].name === attrName) {
|
|
@@ -64063,24 +64077,24 @@ function getTokenAttr(token, attrName) {
|
|
|
64063
64077
|
}
|
|
64064
64078
|
return null;
|
|
64065
64079
|
}
|
|
64066
|
-
|
|
64067
|
-
;// ./node_modules/entities/
|
|
64080
|
+
|
|
64081
|
+
;// ./node_modules/parse5/node_modules/entities/dist/esm/generated/decode-data-html.js
|
|
64068
64082
|
// Generated using scripts/write-decode-map.ts
|
|
64069
|
-
|
|
64083
|
+
const decode_data_html_htmlDecodeTree = /* #__PURE__ */ new Uint16Array(
|
|
64070
64084
|
// prettier-ignore
|
|
64071
|
-
"\u1d41<\xd5\u0131\u028a\u049d\u057b\u05d0\u0675\u06de\u07a2\u07d6\u080f\u0a4a\u0a91\u0da1\u0e6d\u0f09\u0f26\u10ca\u1228\u12e1\u1415\u149d\u14c3\u14df\u1525\0\0\0\0\0\0\u156b\u16cd\u198d\u1c12\u1ddd\u1f7e\u2060\u21b0\u228d\u23c0\u23fb\u2442\u2824\u2912\u2d08\u2e48\u2fce\u3016\u32ba\u3639\u37ac\u38fe\u3a28\u3a71\u3ae0\u3b2e\u0800EMabcfglmnoprstu\\bfms\x7f\x84\x8b\x90\x95\x98\xa6\xb3\xb9\xc8\xcflig\u803b\xc6\u40c6P\u803b&\u4026cute\u803b\xc1\u40c1reve;\u4102\u0100iyx}rc\u803b\xc2\u40c2;\u4410r;\uc000\ud835\udd04rave\u803b\xc0\u40c0pha;\u4391acr;\u4100d;\u6a53\u0100gp\x9d\xa1on;\u4104f;\uc000\ud835\udd38plyFunction;\u6061ing\u803b\xc5\u40c5\u0100cs\xbe\xc3r;\uc000\ud835\udc9cign;\u6254ilde\u803b\xc3\u40c3ml\u803b\xc4\u40c4\u0400aceforsu\xe5\xfb\xfe\u0117\u011c\u0122\u0127\u012a\u0100cr\xea\xf2kslash;\u6216\u0176\xf6\xf8;\u6ae7ed;\u6306y;\u4411\u0180crt\u0105\u010b\u0114ause;\u6235noullis;\u612ca;\u4392r;\uc000\ud835\udd05pf;\uc000\ud835\udd39eve;\u42d8c\xf2\u0113mpeq;\u624e\u0700HOacdefhilorsu\u014d\u0151\u0156\u0180\u019e\u01a2\u01b5\u01b7\u01ba\u01dc\u0215\u0273\u0278\u027ecy;\u4427PY\u803b\xa9\u40a9\u0180cpy\u015d\u0162\u017aute;\u4106\u0100;i\u0167\u0168\u62d2talDifferentialD;\u6145leys;\u612d\u0200aeio\u0189\u018e\u0194\u0198ron;\u410cdil\u803b\xc7\u40c7rc;\u4108nint;\u6230ot;\u410a\u0100dn\u01a7\u01adilla;\u40b8terDot;\u40b7\xf2\u017fi;\u43a7rcle\u0200DMPT\u01c7\u01cb\u01d1\u01d6ot;\u6299inus;\u6296lus;\u6295imes;\u6297o\u0100cs\u01e2\u01f8kwiseContourIntegral;\u6232eCurly\u0100DQ\u0203\u020foubleQuote;\u601duote;\u6019\u0200lnpu\u021e\u0228\u0247\u0255on\u0100;e\u0225\u0226\u6237;\u6a74\u0180git\u022f\u0236\u023aruent;\u6261nt;\u622fourIntegral;\u622e\u0100fr\u024c\u024e;\u6102oduct;\u6210nterClockwiseContourIntegral;\u6233oss;\u6a2fcr;\uc000\ud835\udc9ep\u0100;C\u0284\u0285\u62d3ap;\u624d\u0580DJSZacefios\u02a0\u02ac\u02b0\u02b4\u02b8\u02cb\u02d7\u02e1\u02e6\u0333\u048d\u0100;o\u0179\u02a5trahd;\u6911cy;\u4402cy;\u4405cy;\u440f\u0180grs\u02bf\u02c4\u02c7ger;\u6021r;\u61a1hv;\u6ae4\u0100ay\u02d0\u02d5ron;\u410e;\u4414l\u0100;t\u02dd\u02de\u6207a;\u4394r;\uc000\ud835\udd07\u0100af\u02eb\u0327\u0100cm\u02f0\u0322ritical\u0200ADGT\u0300\u0306\u0316\u031ccute;\u40b4o\u0174\u030b\u030d;\u42d9bleAcute;\u42ddrave;\u4060ilde;\u42dcond;\u62c4ferentialD;\u6146\u0470\u033d\0\0\0\u0342\u0354\0\u0405f;\uc000\ud835\udd3b\u0180;DE\u0348\u0349\u034d\u40a8ot;\u60dcqual;\u6250ble\u0300CDLRUV\u0363\u0372\u0382\u03cf\u03e2\u03f8ontourIntegra\xec\u0239o\u0274\u0379\0\0\u037b\xbb\u0349nArrow;\u61d3\u0100eo\u0387\u03a4ft\u0180ART\u0390\u0396\u03a1rrow;\u61d0ightArrow;\u61d4e\xe5\u02cang\u0100LR\u03ab\u03c4eft\u0100AR\u03b3\u03b9rrow;\u67f8ightArrow;\u67faightArrow;\u67f9ight\u0100AT\u03d8\u03derrow;\u61d2ee;\u62a8p\u0241\u03e9\0\0\u03efrrow;\u61d1ownArrow;\u61d5erticalBar;\u6225n\u0300ABLRTa\u0412\u042a\u0430\u045e\u047f\u037crrow\u0180;BU\u041d\u041e\u0422\u6193ar;\u6913pArrow;\u61f5reve;\u4311eft\u02d2\u043a\0\u0446\0\u0450ightVector;\u6950eeVector;\u695eector\u0100;B\u0459\u045a\u61bdar;\u6956ight\u01d4\u0467\0\u0471eeVector;\u695fector\u0100;B\u047a\u047b\u61c1ar;\u6957ee\u0100;A\u0486\u0487\u62a4rrow;\u61a7\u0100ct\u0492\u0497r;\uc000\ud835\udc9frok;\u4110\u0800NTacdfglmopqstux\u04bd\u04c0\u04c4\u04cb\u04de\u04e2\u04e7\u04ee\u04f5\u0521\u052f\u0536\u0552\u055d\u0560\u0565G;\u414aH\u803b\xd0\u40d0cute\u803b\xc9\u40c9\u0180aiy\u04d2\u04d7\u04dcron;\u411arc\u803b\xca\u40ca;\u442dot;\u4116r;\uc000\ud835\udd08rave\u803b\xc8\u40c8ement;\u6208\u0100ap\u04fa\u04fecr;\u4112ty\u0253\u0506\0\0\u0512mallSquare;\u65fberySmallSquare;\u65ab\u0100gp\u0526\u052aon;\u4118f;\uc000\ud835\udd3csilon;\u4395u\u0100ai\u053c\u0549l\u0100;T\u0542\u0543\u6a75ilde;\u6242librium;\u61cc\u0100ci\u0557\u055ar;\u6130m;\u6a73a;\u4397ml\u803b\xcb\u40cb\u0100ip\u056a\u056fsts;\u6203onentialE;\u6147\u0280cfios\u0585\u0588\u058d\u05b2\u05ccy;\u4424r;\uc000\ud835\udd09lled\u0253\u0597\0\0\u05a3mallSquare;\u65fcerySmallSquare;\u65aa\u0370\u05ba\0\u05bf\0\0\u05c4f;\uc000\ud835\udd3dAll;\u6200riertrf;\u6131c\xf2\u05cb\u0600JTabcdfgorst\u05e8\u05ec\u05ef\u05fa\u0600\u0612\u0616\u061b\u061d\u0623\u066c\u0672cy;\u4403\u803b>\u403emma\u0100;d\u05f7\u05f8\u4393;\u43dcreve;\u411e\u0180eiy\u0607\u060c\u0610dil;\u4122rc;\u411c;\u4413ot;\u4120r;\uc000\ud835\udd0a;\u62d9pf;\uc000\ud835\udd3eeater\u0300EFGLST\u0635\u0644\u064e\u0656\u065b\u0666qual\u0100;L\u063e\u063f\u6265ess;\u62dbullEqual;\u6267reater;\u6aa2ess;\u6277lantEqual;\u6a7eilde;\u6273cr;\uc000\ud835\udca2;\u626b\u0400Aacfiosu\u0685\u068b\u0696\u069b\u069e\u06aa\u06be\u06caRDcy;\u442a\u0100ct\u0690\u0694ek;\u42c7;\u405eirc;\u4124r;\u610clbertSpace;\u610b\u01f0\u06af\0\u06b2f;\u610dizontalLine;\u6500\u0100ct\u06c3\u06c5\xf2\u06a9rok;\u4126mp\u0144\u06d0\u06d8ownHum\xf0\u012fqual;\u624f\u0700EJOacdfgmnostu\u06fa\u06fe\u0703\u0707\u070e\u071a\u071e\u0721\u0728\u0744\u0778\u078b\u078f\u0795cy;\u4415lig;\u4132cy;\u4401cute\u803b\xcd\u40cd\u0100iy\u0713\u0718rc\u803b\xce\u40ce;\u4418ot;\u4130r;\u6111rave\u803b\xcc\u40cc\u0180;ap\u0720\u072f\u073f\u0100cg\u0734\u0737r;\u412ainaryI;\u6148lie\xf3\u03dd\u01f4\u0749\0\u0762\u0100;e\u074d\u074e\u622c\u0100gr\u0753\u0758ral;\u622bsection;\u62c2isible\u0100CT\u076c\u0772omma;\u6063imes;\u6062\u0180gpt\u077f\u0783\u0788on;\u412ef;\uc000\ud835\udd40a;\u4399cr;\u6110ilde;\u4128\u01eb\u079a\0\u079ecy;\u4406l\u803b\xcf\u40cf\u0280cfosu\u07ac\u07b7\u07bc\u07c2\u07d0\u0100iy\u07b1\u07b5rc;\u4134;\u4419r;\uc000\ud835\udd0dpf;\uc000\ud835\udd41\u01e3\u07c7\0\u07ccr;\uc000\ud835\udca5rcy;\u4408kcy;\u4404\u0380HJacfos\u07e4\u07e8\u07ec\u07f1\u07fd\u0802\u0808cy;\u4425cy;\u440cppa;\u439a\u0100ey\u07f6\u07fbdil;\u4136;\u441ar;\uc000\ud835\udd0epf;\uc000\ud835\udd42cr;\uc000\ud835\udca6\u0580JTaceflmost\u0825\u0829\u082c\u0850\u0863\u09b3\u09b8\u09c7\u09cd\u0a37\u0a47cy;\u4409\u803b<\u403c\u0280cmnpr\u0837\u083c\u0841\u0844\u084dute;\u4139bda;\u439bg;\u67ealacetrf;\u6112r;\u619e\u0180aey\u0857\u085c\u0861ron;\u413ddil;\u413b;\u441b\u0100fs\u0868\u0970t\u0500ACDFRTUVar\u087e\u08a9\u08b1\u08e0\u08e6\u08fc\u092f\u095b\u0390\u096a\u0100nr\u0883\u088fgleBracket;\u67e8row\u0180;BR\u0899\u089a\u089e\u6190ar;\u61e4ightArrow;\u61c6eiling;\u6308o\u01f5\u08b7\0\u08c3bleBracket;\u67e6n\u01d4\u08c8\0\u08d2eeVector;\u6961ector\u0100;B\u08db\u08dc\u61c3ar;\u6959loor;\u630aight\u0100AV\u08ef\u08f5rrow;\u6194ector;\u694e\u0100er\u0901\u0917e\u0180;AV\u0909\u090a\u0910\u62a3rrow;\u61a4ector;\u695aiangle\u0180;BE\u0924\u0925\u0929\u62b2ar;\u69cfqual;\u62b4p\u0180DTV\u0937\u0942\u094cownVector;\u6951eeVector;\u6960ector\u0100;B\u0956\u0957\u61bfar;\u6958ector\u0100;B\u0965\u0966\u61bcar;\u6952ight\xe1\u039cs\u0300EFGLST\u097e\u098b\u0995\u099d\u09a2\u09adqualGreater;\u62daullEqual;\u6266reater;\u6276ess;\u6aa1lantEqual;\u6a7dilde;\u6272r;\uc000\ud835\udd0f\u0100;e\u09bd\u09be\u62d8ftarrow;\u61daidot;\u413f\u0180npw\u09d4\u0a16\u0a1bg\u0200LRlr\u09de\u09f7\u0a02\u0a10eft\u0100AR\u09e6\u09ecrrow;\u67f5ightArrow;\u67f7ightArrow;\u67f6eft\u0100ar\u03b3\u0a0aight\xe1\u03bfight\xe1\u03caf;\uc000\ud835\udd43er\u0100LR\u0a22\u0a2ceftArrow;\u6199ightArrow;\u6198\u0180cht\u0a3e\u0a40\u0a42\xf2\u084c;\u61b0rok;\u4141;\u626a\u0400acefiosu\u0a5a\u0a5d\u0a60\u0a77\u0a7c\u0a85\u0a8b\u0a8ep;\u6905y;\u441c\u0100dl\u0a65\u0a6fiumSpace;\u605flintrf;\u6133r;\uc000\ud835\udd10nusPlus;\u6213pf;\uc000\ud835\udd44c\xf2\u0a76;\u439c\u0480Jacefostu\u0aa3\u0aa7\u0aad\u0ac0\u0b14\u0b19\u0d91\u0d97\u0d9ecy;\u440acute;\u4143\u0180aey\u0ab4\u0ab9\u0aberon;\u4147dil;\u4145;\u441d\u0180gsw\u0ac7\u0af0\u0b0eative\u0180MTV\u0ad3\u0adf\u0ae8ediumSpace;\u600bhi\u0100cn\u0ae6\u0ad8\xeb\u0ad9eryThi\xee\u0ad9ted\u0100GL\u0af8\u0b06reaterGreate\xf2\u0673essLes\xf3\u0a48Line;\u400ar;\uc000\ud835\udd11\u0200Bnpt\u0b22\u0b28\u0b37\u0b3areak;\u6060BreakingSpace;\u40a0f;\u6115\u0680;CDEGHLNPRSTV\u0b55\u0b56\u0b6a\u0b7c\u0ba1\u0beb\u0c04\u0c5e\u0c84\u0ca6\u0cd8\u0d61\u0d85\u6aec\u0100ou\u0b5b\u0b64ngruent;\u6262pCap;\u626doubleVerticalBar;\u6226\u0180lqx\u0b83\u0b8a\u0b9bement;\u6209ual\u0100;T\u0b92\u0b93\u6260ilde;\uc000\u2242\u0338ists;\u6204reater\u0380;EFGLST\u0bb6\u0bb7\u0bbd\u0bc9\u0bd3\u0bd8\u0be5\u626fqual;\u6271ullEqual;\uc000\u2267\u0338reater;\uc000\u226b\u0338ess;\u6279lantEqual;\uc000\u2a7e\u0338ilde;\u6275ump\u0144\u0bf2\u0bfdownHump;\uc000\u224e\u0338qual;\uc000\u224f\u0338e\u0100fs\u0c0a\u0c27tTriangle\u0180;BE\u0c1a\u0c1b\u0c21\u62eaar;\uc000\u29cf\u0338qual;\u62ecs\u0300;EGLST\u0c35\u0c36\u0c3c\u0c44\u0c4b\u0c58\u626equal;\u6270reater;\u6278ess;\uc000\u226a\u0338lantEqual;\uc000\u2a7d\u0338ilde;\u6274ested\u0100GL\u0c68\u0c79reaterGreater;\uc000\u2aa2\u0338essLess;\uc000\u2aa1\u0338recedes\u0180;ES\u0c92\u0c93\u0c9b\u6280qual;\uc000\u2aaf\u0338lantEqual;\u62e0\u0100ei\u0cab\u0cb9verseElement;\u620cghtTriangle\u0180;BE\u0ccb\u0ccc\u0cd2\u62ebar;\uc000\u29d0\u0338qual;\u62ed\u0100qu\u0cdd\u0d0cuareSu\u0100bp\u0ce8\u0cf9set\u0100;E\u0cf0\u0cf3\uc000\u228f\u0338qual;\u62e2erset\u0100;E\u0d03\u0d06\uc000\u2290\u0338qual;\u62e3\u0180bcp\u0d13\u0d24\u0d4eset\u0100;E\u0d1b\u0d1e\uc000\u2282\u20d2qual;\u6288ceeds\u0200;EST\u0d32\u0d33\u0d3b\u0d46\u6281qual;\uc000\u2ab0\u0338lantEqual;\u62e1ilde;\uc000\u227f\u0338erset\u0100;E\u0d58\u0d5b\uc000\u2283\u20d2qual;\u6289ilde\u0200;EFT\u0d6e\u0d6f\u0d75\u0d7f\u6241qual;\u6244ullEqual;\u6247ilde;\u6249erticalBar;\u6224cr;\uc000\ud835\udca9ilde\u803b\xd1\u40d1;\u439d\u0700Eacdfgmoprstuv\u0dbd\u0dc2\u0dc9\u0dd5\u0ddb\u0de0\u0de7\u0dfc\u0e02\u0e20\u0e22\u0e32\u0e3f\u0e44lig;\u4152cute\u803b\xd3\u40d3\u0100iy\u0dce\u0dd3rc\u803b\xd4\u40d4;\u441eblac;\u4150r;\uc000\ud835\udd12rave\u803b\xd2\u40d2\u0180aei\u0dee\u0df2\u0df6cr;\u414cga;\u43a9cron;\u439fpf;\uc000\ud835\udd46enCurly\u0100DQ\u0e0e\u0e1aoubleQuote;\u601cuote;\u6018;\u6a54\u0100cl\u0e27\u0e2cr;\uc000\ud835\udcaaash\u803b\xd8\u40d8i\u016c\u0e37\u0e3cde\u803b\xd5\u40d5es;\u6a37ml\u803b\xd6\u40d6er\u0100BP\u0e4b\u0e60\u0100ar\u0e50\u0e53r;\u603eac\u0100ek\u0e5a\u0e5c;\u63deet;\u63b4arenthesis;\u63dc\u0480acfhilors\u0e7f\u0e87\u0e8a\u0e8f\u0e92\u0e94\u0e9d\u0eb0\u0efcrtialD;\u6202y;\u441fr;\uc000\ud835\udd13i;\u43a6;\u43a0usMinus;\u40b1\u0100ip\u0ea2\u0eadncareplan\xe5\u069df;\u6119\u0200;eio\u0eb9\u0eba\u0ee0\u0ee4\u6abbcedes\u0200;EST\u0ec8\u0ec9\u0ecf\u0eda\u627aqual;\u6aaflantEqual;\u627cilde;\u627eme;\u6033\u0100dp\u0ee9\u0eeeuct;\u620fortion\u0100;a\u0225\u0ef9l;\u621d\u0100ci\u0f01\u0f06r;\uc000\ud835\udcab;\u43a8\u0200Ufos\u0f11\u0f16\u0f1b\u0f1fOT\u803b\"\u4022r;\uc000\ud835\udd14pf;\u611acr;\uc000\ud835\udcac\u0600BEacefhiorsu\u0f3e\u0f43\u0f47\u0f60\u0f73\u0fa7\u0faa\u0fad\u1096\u10a9\u10b4\u10bearr;\u6910G\u803b\xae\u40ae\u0180cnr\u0f4e\u0f53\u0f56ute;\u4154g;\u67ebr\u0100;t\u0f5c\u0f5d\u61a0l;\u6916\u0180aey\u0f67\u0f6c\u0f71ron;\u4158dil;\u4156;\u4420\u0100;v\u0f78\u0f79\u611cerse\u0100EU\u0f82\u0f99\u0100lq\u0f87\u0f8eement;\u620builibrium;\u61cbpEquilibrium;\u696fr\xbb\u0f79o;\u43a1ght\u0400ACDFTUVa\u0fc1\u0feb\u0ff3\u1022\u1028\u105b\u1087\u03d8\u0100nr\u0fc6\u0fd2gleBracket;\u67e9row\u0180;BL\u0fdc\u0fdd\u0fe1\u6192ar;\u61e5eftArrow;\u61c4eiling;\u6309o\u01f5\u0ff9\0\u1005bleBracket;\u67e7n\u01d4\u100a\0\u1014eeVector;\u695dector\u0100;B\u101d\u101e\u61c2ar;\u6955loor;\u630b\u0100er\u102d\u1043e\u0180;AV\u1035\u1036\u103c\u62a2rrow;\u61a6ector;\u695biangle\u0180;BE\u1050\u1051\u1055\u62b3ar;\u69d0qual;\u62b5p\u0180DTV\u1063\u106e\u1078ownVector;\u694feeVector;\u695cector\u0100;B\u1082\u1083\u61bear;\u6954ector\u0100;B\u1091\u1092\u61c0ar;\u6953\u0100pu\u109b\u109ef;\u611dndImplies;\u6970ightarrow;\u61db\u0100ch\u10b9\u10bcr;\u611b;\u61b1leDelayed;\u69f4\u0680HOacfhimoqstu\u10e4\u10f1\u10f7\u10fd\u1119\u111e\u1151\u1156\u1161\u1167\u11b5\u11bb\u11bf\u0100Cc\u10e9\u10eeHcy;\u4429y;\u4428FTcy;\u442ccute;\u415a\u0280;aeiy\u1108\u1109\u110e\u1113\u1117\u6abcron;\u4160dil;\u415erc;\u415c;\u4421r;\uc000\ud835\udd16ort\u0200DLRU\u112a\u1134\u113e\u1149ownArrow\xbb\u041eeftArrow\xbb\u089aightArrow\xbb\u0fddpArrow;\u6191gma;\u43a3allCircle;\u6218pf;\uc000\ud835\udd4a\u0272\u116d\0\0\u1170t;\u621aare\u0200;ISU\u117b\u117c\u1189\u11af\u65a1ntersection;\u6293u\u0100bp\u118f\u119eset\u0100;E\u1197\u1198\u628fqual;\u6291erset\u0100;E\u11a8\u11a9\u6290qual;\u6292nion;\u6294cr;\uc000\ud835\udcaear;\u62c6\u0200bcmp\u11c8\u11db\u1209\u120b\u0100;s\u11cd\u11ce\u62d0et\u0100;E\u11cd\u11d5qual;\u6286\u0100ch\u11e0\u1205eeds\u0200;EST\u11ed\u11ee\u11f4\u11ff\u627bqual;\u6ab0lantEqual;\u627dilde;\u627fTh\xe1\u0f8c;\u6211\u0180;es\u1212\u1213\u1223\u62d1rset\u0100;E\u121c\u121d\u6283qual;\u6287et\xbb\u1213\u0580HRSacfhiors\u123e\u1244\u1249\u1255\u125e\u1271\u1276\u129f\u12c2\u12c8\u12d1ORN\u803b\xde\u40deADE;\u6122\u0100Hc\u124e\u1252cy;\u440by;\u4426\u0100bu\u125a\u125c;\u4009;\u43a4\u0180aey\u1265\u126a\u126fron;\u4164dil;\u4162;\u4422r;\uc000\ud835\udd17\u0100ei\u127b\u1289\u01f2\u1280\0\u1287efore;\u6234a;\u4398\u0100cn\u128e\u1298kSpace;\uc000\u205f\u200aSpace;\u6009lde\u0200;EFT\u12ab\u12ac\u12b2\u12bc\u623cqual;\u6243ullEqual;\u6245ilde;\u6248pf;\uc000\ud835\udd4bipleDot;\u60db\u0100ct\u12d6\u12dbr;\uc000\ud835\udcafrok;\u4166\u0ae1\u12f7\u130e\u131a\u1326\0\u132c\u1331\0\0\0\0\0\u1338\u133d\u1377\u1385\0\u13ff\u1404\u140a\u1410\u0100cr\u12fb\u1301ute\u803b\xda\u40dar\u0100;o\u1307\u1308\u619fcir;\u6949r\u01e3\u1313\0\u1316y;\u440eve;\u416c\u0100iy\u131e\u1323rc\u803b\xdb\u40db;\u4423blac;\u4170r;\uc000\ud835\udd18rave\u803b\xd9\u40d9acr;\u416a\u0100di\u1341\u1369er\u0100BP\u1348\u135d\u0100ar\u134d\u1350r;\u405fac\u0100ek\u1357\u1359;\u63dfet;\u63b5arenthesis;\u63ddon\u0100;P\u1370\u1371\u62c3lus;\u628e\u0100gp\u137b\u137fon;\u4172f;\uc000\ud835\udd4c\u0400ADETadps\u1395\u13ae\u13b8\u13c4\u03e8\u13d2\u13d7\u13f3rrow\u0180;BD\u1150\u13a0\u13a4ar;\u6912ownArrow;\u61c5ownArrow;\u6195quilibrium;\u696eee\u0100;A\u13cb\u13cc\u62a5rrow;\u61a5own\xe1\u03f3er\u0100LR\u13de\u13e8eftArrow;\u6196ightArrow;\u6197i\u0100;l\u13f9\u13fa\u43d2on;\u43a5ing;\u416ecr;\uc000\ud835\udcb0ilde;\u4168ml\u803b\xdc\u40dc\u0480Dbcdefosv\u1427\u142c\u1430\u1433\u143e\u1485\u148a\u1490\u1496ash;\u62abar;\u6aeby;\u4412ash\u0100;l\u143b\u143c\u62a9;\u6ae6\u0100er\u1443\u1445;\u62c1\u0180bty\u144c\u1450\u147aar;\u6016\u0100;i\u144f\u1455cal\u0200BLST\u1461\u1465\u146a\u1474ar;\u6223ine;\u407ceparator;\u6758ilde;\u6240ThinSpace;\u600ar;\uc000\ud835\udd19pf;\uc000\ud835\udd4dcr;\uc000\ud835\udcb1dash;\u62aa\u0280cefos\u14a7\u14ac\u14b1\u14b6\u14bcirc;\u4174dge;\u62c0r;\uc000\ud835\udd1apf;\uc000\ud835\udd4ecr;\uc000\ud835\udcb2\u0200fios\u14cb\u14d0\u14d2\u14d8r;\uc000\ud835\udd1b;\u439epf;\uc000\ud835\udd4fcr;\uc000\ud835\udcb3\u0480AIUacfosu\u14f1\u14f5\u14f9\u14fd\u1504\u150f\u1514\u151a\u1520cy;\u442fcy;\u4407cy;\u442ecute\u803b\xdd\u40dd\u0100iy\u1509\u150drc;\u4176;\u442br;\uc000\ud835\udd1cpf;\uc000\ud835\udd50cr;\uc000\ud835\udcb4ml;\u4178\u0400Hacdefos\u1535\u1539\u153f\u154b\u154f\u155d\u1560\u1564cy;\u4416cute;\u4179\u0100ay\u1544\u1549ron;\u417d;\u4417ot;\u417b\u01f2\u1554\0\u155boWidt\xe8\u0ad9a;\u4396r;\u6128pf;\u6124cr;\uc000\ud835\udcb5\u0be1\u1583\u158a\u1590\0\u15b0\u15b6\u15bf\0\0\0\0\u15c6\u15db\u15eb\u165f\u166d\0\u1695\u169b\u16b2\u16b9\0\u16becute\u803b\xe1\u40e1reve;\u4103\u0300;Ediuy\u159c\u159d\u15a1\u15a3\u15a8\u15ad\u623e;\uc000\u223e\u0333;\u623frc\u803b\xe2\u40e2te\u80bb\xb4\u0306;\u4430lig\u803b\xe6\u40e6\u0100;r\xb2\u15ba;\uc000\ud835\udd1erave\u803b\xe0\u40e0\u0100ep\u15ca\u15d6\u0100fp\u15cf\u15d4sym;\u6135\xe8\u15d3ha;\u43b1\u0100ap\u15dfc\u0100cl\u15e4\u15e7r;\u4101g;\u6a3f\u0264\u15f0\0\0\u160a\u0280;adsv\u15fa\u15fb\u15ff\u1601\u1607\u6227nd;\u6a55;\u6a5clope;\u6a58;\u6a5a\u0380;elmrsz\u1618\u1619\u161b\u161e\u163f\u164f\u1659\u6220;\u69a4e\xbb\u1619sd\u0100;a\u1625\u1626\u6221\u0461\u1630\u1632\u1634\u1636\u1638\u163a\u163c\u163e;\u69a8;\u69a9;\u69aa;\u69ab;\u69ac;\u69ad;\u69ae;\u69aft\u0100;v\u1645\u1646\u621fb\u0100;d\u164c\u164d\u62be;\u699d\u0100pt\u1654\u1657h;\u6222\xbb\xb9arr;\u637c\u0100gp\u1663\u1667on;\u4105f;\uc000\ud835\udd52\u0380;Eaeiop\u12c1\u167b\u167d\u1682\u1684\u1687\u168a;\u6a70cir;\u6a6f;\u624ad;\u624bs;\u4027rox\u0100;e\u12c1\u1692\xf1\u1683ing\u803b\xe5\u40e5\u0180cty\u16a1\u16a6\u16a8r;\uc000\ud835\udcb6;\u402amp\u0100;e\u12c1\u16af\xf1\u0288ilde\u803b\xe3\u40e3ml\u803b\xe4\u40e4\u0100ci\u16c2\u16c8onin\xf4\u0272nt;\u6a11\u0800Nabcdefiklnoprsu\u16ed\u16f1\u1730\u173c\u1743\u1748\u1778\u177d\u17e0\u17e6\u1839\u1850\u170d\u193d\u1948\u1970ot;\u6aed\u0100cr\u16f6\u171ek\u0200ceps\u1700\u1705\u170d\u1713ong;\u624cpsilon;\u43f6rime;\u6035im\u0100;e\u171a\u171b\u623dq;\u62cd\u0176\u1722\u1726ee;\u62bded\u0100;g\u172c\u172d\u6305e\xbb\u172drk\u0100;t\u135c\u1737brk;\u63b6\u0100oy\u1701\u1741;\u4431quo;\u601e\u0280cmprt\u1753\u175b\u1761\u1764\u1768aus\u0100;e\u010a\u0109ptyv;\u69b0s\xe9\u170cno\xf5\u0113\u0180ahw\u176f\u1771\u1773;\u43b2;\u6136een;\u626cr;\uc000\ud835\udd1fg\u0380costuvw\u178d\u179d\u17b3\u17c1\u17d5\u17db\u17de\u0180aiu\u1794\u1796\u179a\xf0\u0760rc;\u65efp\xbb\u1371\u0180dpt\u17a4\u17a8\u17adot;\u6a00lus;\u6a01imes;\u6a02\u0271\u17b9\0\0\u17becup;\u6a06ar;\u6605riangle\u0100du\u17cd\u17d2own;\u65bdp;\u65b3plus;\u6a04e\xe5\u1444\xe5\u14adarow;\u690d\u0180ako\u17ed\u1826\u1835\u0100cn\u17f2\u1823k\u0180lst\u17fa\u05ab\u1802ozenge;\u69ebriangle\u0200;dlr\u1812\u1813\u1818\u181d\u65b4own;\u65beeft;\u65c2ight;\u65b8k;\u6423\u01b1\u182b\0\u1833\u01b2\u182f\0\u1831;\u6592;\u65914;\u6593ck;\u6588\u0100eo\u183e\u184d\u0100;q\u1843\u1846\uc000=\u20e5uiv;\uc000\u2261\u20e5t;\u6310\u0200ptwx\u1859\u185e\u1867\u186cf;\uc000\ud835\udd53\u0100;t\u13cb\u1863om\xbb\u13cctie;\u62c8\u0600DHUVbdhmptuv\u1885\u1896\u18aa\u18bb\u18d7\u18db\u18ec\u18ff\u1905\u190a\u1910\u1921\u0200LRlr\u188e\u1890\u1892\u1894;\u6557;\u6554;\u6556;\u6553\u0280;DUdu\u18a1\u18a2\u18a4\u18a6\u18a8\u6550;\u6566;\u6569;\u6564;\u6567\u0200LRlr\u18b3\u18b5\u18b7\u18b9;\u655d;\u655a;\u655c;\u6559\u0380;HLRhlr\u18ca\u18cb\u18cd\u18cf\u18d1\u18d3\u18d5\u6551;\u656c;\u6563;\u6560;\u656b;\u6562;\u655fox;\u69c9\u0200LRlr\u18e4\u18e6\u18e8\u18ea;\u6555;\u6552;\u6510;\u650c\u0280;DUdu\u06bd\u18f7\u18f9\u18fb\u18fd;\u6565;\u6568;\u652c;\u6534inus;\u629flus;\u629eimes;\u62a0\u0200LRlr\u1919\u191b\u191d\u191f;\u655b;\u6558;\u6518;\u6514\u0380;HLRhlr\u1930\u1931\u1933\u1935\u1937\u1939\u193b\u6502;\u656a;\u6561;\u655e;\u653c;\u6524;\u651c\u0100ev\u0123\u1942bar\u803b\xa6\u40a6\u0200ceio\u1951\u1956\u195a\u1960r;\uc000\ud835\udcb7mi;\u604fm\u0100;e\u171a\u171cl\u0180;bh\u1968\u1969\u196b\u405c;\u69c5sub;\u67c8\u016c\u1974\u197el\u0100;e\u1979\u197a\u6022t\xbb\u197ap\u0180;Ee\u012f\u1985\u1987;\u6aae\u0100;q\u06dc\u06db\u0ce1\u19a7\0\u19e8\u1a11\u1a15\u1a32\0\u1a37\u1a50\0\0\u1ab4\0\0\u1ac1\0\0\u1b21\u1b2e\u1b4d\u1b52\0\u1bfd\0\u1c0c\u0180cpr\u19ad\u19b2\u19ddute;\u4107\u0300;abcds\u19bf\u19c0\u19c4\u19ca\u19d5\u19d9\u6229nd;\u6a44rcup;\u6a49\u0100au\u19cf\u19d2p;\u6a4bp;\u6a47ot;\u6a40;\uc000\u2229\ufe00\u0100eo\u19e2\u19e5t;\u6041\xee\u0693\u0200aeiu\u19f0\u19fb\u1a01\u1a05\u01f0\u19f5\0\u19f8s;\u6a4don;\u410ddil\u803b\xe7\u40e7rc;\u4109ps\u0100;s\u1a0c\u1a0d\u6a4cm;\u6a50ot;\u410b\u0180dmn\u1a1b\u1a20\u1a26il\u80bb\xb8\u01adptyv;\u69b2t\u8100\xa2;e\u1a2d\u1a2e\u40a2r\xe4\u01b2r;\uc000\ud835\udd20\u0180cei\u1a3d\u1a40\u1a4dy;\u4447ck\u0100;m\u1a47\u1a48\u6713ark\xbb\u1a48;\u43c7r\u0380;Ecefms\u1a5f\u1a60\u1a62\u1a6b\u1aa4\u1aaa\u1aae\u65cb;\u69c3\u0180;el\u1a69\u1a6a\u1a6d\u42c6q;\u6257e\u0261\u1a74\0\0\u1a88rrow\u0100lr\u1a7c\u1a81eft;\u61baight;\u61bb\u0280RSacd\u1a92\u1a94\u1a96\u1a9a\u1a9f\xbb\u0f47;\u64c8st;\u629birc;\u629aash;\u629dnint;\u6a10id;\u6aefcir;\u69c2ubs\u0100;u\u1abb\u1abc\u6663it\xbb\u1abc\u02ec\u1ac7\u1ad4\u1afa\0\u1b0aon\u0100;e\u1acd\u1ace\u403a\u0100;q\xc7\xc6\u026d\u1ad9\0\0\u1ae2a\u0100;t\u1ade\u1adf\u402c;\u4040\u0180;fl\u1ae8\u1ae9\u1aeb\u6201\xee\u1160e\u0100mx\u1af1\u1af6ent\xbb\u1ae9e\xf3\u024d\u01e7\u1afe\0\u1b07\u0100;d\u12bb\u1b02ot;\u6a6dn\xf4\u0246\u0180fry\u1b10\u1b14\u1b17;\uc000\ud835\udd54o\xe4\u0254\u8100\xa9;s\u0155\u1b1dr;\u6117\u0100ao\u1b25\u1b29rr;\u61b5ss;\u6717\u0100cu\u1b32\u1b37r;\uc000\ud835\udcb8\u0100bp\u1b3c\u1b44\u0100;e\u1b41\u1b42\u6acf;\u6ad1\u0100;e\u1b49\u1b4a\u6ad0;\u6ad2dot;\u62ef\u0380delprvw\u1b60\u1b6c\u1b77\u1b82\u1bac\u1bd4\u1bf9arr\u0100lr\u1b68\u1b6a;\u6938;\u6935\u0270\u1b72\0\0\u1b75r;\u62dec;\u62dfarr\u0100;p\u1b7f\u1b80\u61b6;\u693d\u0300;bcdos\u1b8f\u1b90\u1b96\u1ba1\u1ba5\u1ba8\u622arcap;\u6a48\u0100au\u1b9b\u1b9ep;\u6a46p;\u6a4aot;\u628dr;\u6a45;\uc000\u222a\ufe00\u0200alrv\u1bb5\u1bbf\u1bde\u1be3rr\u0100;m\u1bbc\u1bbd\u61b7;\u693cy\u0180evw\u1bc7\u1bd4\u1bd8q\u0270\u1bce\0\0\u1bd2re\xe3\u1b73u\xe3\u1b75ee;\u62ceedge;\u62cfen\u803b\xa4\u40a4earrow\u0100lr\u1bee\u1bf3eft\xbb\u1b80ight\xbb\u1bbde\xe4\u1bdd\u0100ci\u1c01\u1c07onin\xf4\u01f7nt;\u6231lcty;\u632d\u0980AHabcdefhijlorstuwz\u1c38\u1c3b\u1c3f\u1c5d\u1c69\u1c75\u1c8a\u1c9e\u1cac\u1cb7\u1cfb\u1cff\u1d0d\u1d7b\u1d91\u1dab\u1dbb\u1dc6\u1dcdr\xf2\u0381ar;\u6965\u0200glrs\u1c48\u1c4d\u1c52\u1c54ger;\u6020eth;\u6138\xf2\u1133h\u0100;v\u1c5a\u1c5b\u6010\xbb\u090a\u016b\u1c61\u1c67arow;\u690fa\xe3\u0315\u0100ay\u1c6e\u1c73ron;\u410f;\u4434\u0180;ao\u0332\u1c7c\u1c84\u0100gr\u02bf\u1c81r;\u61catseq;\u6a77\u0180glm\u1c91\u1c94\u1c98\u803b\xb0\u40b0ta;\u43b4ptyv;\u69b1\u0100ir\u1ca3\u1ca8sht;\u697f;\uc000\ud835\udd21ar\u0100lr\u1cb3\u1cb5\xbb\u08dc\xbb\u101e\u0280aegsv\u1cc2\u0378\u1cd6\u1cdc\u1ce0m\u0180;os\u0326\u1cca\u1cd4nd\u0100;s\u0326\u1cd1uit;\u6666amma;\u43ddin;\u62f2\u0180;io\u1ce7\u1ce8\u1cf8\u40f7de\u8100\xf7;o\u1ce7\u1cf0ntimes;\u62c7n\xf8\u1cf7cy;\u4452c\u026f\u1d06\0\0\u1d0arn;\u631eop;\u630d\u0280lptuw\u1d18\u1d1d\u1d22\u1d49\u1d55lar;\u4024f;\uc000\ud835\udd55\u0280;emps\u030b\u1d2d\u1d37\u1d3d\u1d42q\u0100;d\u0352\u1d33ot;\u6251inus;\u6238lus;\u6214quare;\u62a1blebarwedg\xe5\xfan\u0180adh\u112e\u1d5d\u1d67ownarrow\xf3\u1c83arpoon\u0100lr\u1d72\u1d76ef\xf4\u1cb4igh\xf4\u1cb6\u0162\u1d7f\u1d85karo\xf7\u0f42\u026f\u1d8a\0\0\u1d8ern;\u631fop;\u630c\u0180cot\u1d98\u1da3\u1da6\u0100ry\u1d9d\u1da1;\uc000\ud835\udcb9;\u4455l;\u69f6rok;\u4111\u0100dr\u1db0\u1db4ot;\u62f1i\u0100;f\u1dba\u1816\u65bf\u0100ah\u1dc0\u1dc3r\xf2\u0429a\xf2\u0fa6angle;\u69a6\u0100ci\u1dd2\u1dd5y;\u445fgrarr;\u67ff\u0900Dacdefglmnopqrstux\u1e01\u1e09\u1e19\u1e38\u0578\u1e3c\u1e49\u1e61\u1e7e\u1ea5\u1eaf\u1ebd\u1ee1\u1f2a\u1f37\u1f44\u1f4e\u1f5a\u0100Do\u1e06\u1d34o\xf4\u1c89\u0100cs\u1e0e\u1e14ute\u803b\xe9\u40e9ter;\u6a6e\u0200aioy\u1e22\u1e27\u1e31\u1e36ron;\u411br\u0100;c\u1e2d\u1e2e\u6256\u803b\xea\u40ealon;\u6255;\u444dot;\u4117\u0100Dr\u1e41\u1e45ot;\u6252;\uc000\ud835\udd22\u0180;rs\u1e50\u1e51\u1e57\u6a9aave\u803b\xe8\u40e8\u0100;d\u1e5c\u1e5d\u6a96ot;\u6a98\u0200;ils\u1e6a\u1e6b\u1e72\u1e74\u6a99nters;\u63e7;\u6113\u0100;d\u1e79\u1e7a\u6a95ot;\u6a97\u0180aps\u1e85\u1e89\u1e97cr;\u4113ty\u0180;sv\u1e92\u1e93\u1e95\u6205et\xbb\u1e93p\u01001;\u1e9d\u1ea4\u0133\u1ea1\u1ea3;\u6004;\u6005\u6003\u0100gs\u1eaa\u1eac;\u414bp;\u6002\u0100gp\u1eb4\u1eb8on;\u4119f;\uc000\ud835\udd56\u0180als\u1ec4\u1ece\u1ed2r\u0100;s\u1eca\u1ecb\u62d5l;\u69e3us;\u6a71i\u0180;lv\u1eda\u1edb\u1edf\u43b5on\xbb\u1edb;\u43f5\u0200csuv\u1eea\u1ef3\u1f0b\u1f23\u0100io\u1eef\u1e31rc\xbb\u1e2e\u0269\u1ef9\0\0\u1efb\xed\u0548ant\u0100gl\u1f02\u1f06tr\xbb\u1e5dess\xbb\u1e7a\u0180aei\u1f12\u1f16\u1f1als;\u403dst;\u625fv\u0100;D\u0235\u1f20D;\u6a78parsl;\u69e5\u0100Da\u1f2f\u1f33ot;\u6253rr;\u6971\u0180cdi\u1f3e\u1f41\u1ef8r;\u612fo\xf4\u0352\u0100ah\u1f49\u1f4b;\u43b7\u803b\xf0\u40f0\u0100mr\u1f53\u1f57l\u803b\xeb\u40ebo;\u60ac\u0180cip\u1f61\u1f64\u1f67l;\u4021s\xf4\u056e\u0100eo\u1f6c\u1f74ctatio\xee\u0559nential\xe5\u0579\u09e1\u1f92\0\u1f9e\0\u1fa1\u1fa7\0\0\u1fc6\u1fcc\0\u1fd3\0\u1fe6\u1fea\u2000\0\u2008\u205allingdotse\xf1\u1e44y;\u4444male;\u6640\u0180ilr\u1fad\u1fb3\u1fc1lig;\u8000\ufb03\u0269\u1fb9\0\0\u1fbdg;\u8000\ufb00ig;\u8000\ufb04;\uc000\ud835\udd23lig;\u8000\ufb01lig;\uc000fj\u0180alt\u1fd9\u1fdc\u1fe1t;\u666dig;\u8000\ufb02ns;\u65b1of;\u4192\u01f0\u1fee\0\u1ff3f;\uc000\ud835\udd57\u0100ak\u05bf\u1ff7\u0100;v\u1ffc\u1ffd\u62d4;\u6ad9artint;\u6a0d\u0100ao\u200c\u2055\u0100cs\u2011\u2052\u03b1\u201a\u2030\u2038\u2045\u2048\0\u2050\u03b2\u2022\u2025\u2027\u202a\u202c\0\u202e\u803b\xbd\u40bd;\u6153\u803b\xbc\u40bc;\u6155;\u6159;\u615b\u01b3\u2034\0\u2036;\u6154;\u6156\u02b4\u203e\u2041\0\0\u2043\u803b\xbe\u40be;\u6157;\u615c5;\u6158\u01b6\u204c\0\u204e;\u615a;\u615d8;\u615el;\u6044wn;\u6322cr;\uc000\ud835\udcbb\u0880Eabcdefgijlnorstv\u2082\u2089\u209f\u20a5\u20b0\u20b4\u20f0\u20f5\u20fa\u20ff\u2103\u2112\u2138\u0317\u213e\u2152\u219e\u0100;l\u064d\u2087;\u6a8c\u0180cmp\u2090\u2095\u209dute;\u41f5ma\u0100;d\u209c\u1cda\u43b3;\u6a86reve;\u411f\u0100iy\u20aa\u20aerc;\u411d;\u4433ot;\u4121\u0200;lqs\u063e\u0642\u20bd\u20c9\u0180;qs\u063e\u064c\u20c4lan\xf4\u0665\u0200;cdl\u0665\u20d2\u20d5\u20e5c;\u6aa9ot\u0100;o\u20dc\u20dd\u6a80\u0100;l\u20e2\u20e3\u6a82;\u6a84\u0100;e\u20ea\u20ed\uc000\u22db\ufe00s;\u6a94r;\uc000\ud835\udd24\u0100;g\u0673\u061bmel;\u6137cy;\u4453\u0200;Eaj\u065a\u210c\u210e\u2110;\u6a92;\u6aa5;\u6aa4\u0200Eaes\u211b\u211d\u2129\u2134;\u6269p\u0100;p\u2123\u2124\u6a8arox\xbb\u2124\u0100;q\u212e\u212f\u6a88\u0100;q\u212e\u211bim;\u62e7pf;\uc000\ud835\udd58\u0100ci\u2143\u2146r;\u610am\u0180;el\u066b\u214e\u2150;\u6a8e;\u6a90\u8300>;cdlqr\u05ee\u2160\u216a\u216e\u2173\u2179\u0100ci\u2165\u2167;\u6aa7r;\u6a7aot;\u62d7Par;\u6995uest;\u6a7c\u0280adels\u2184\u216a\u2190\u0656\u219b\u01f0\u2189\0\u218epro\xf8\u209er;\u6978q\u0100lq\u063f\u2196les\xf3\u2088i\xed\u066b\u0100en\u21a3\u21adrtneqq;\uc000\u2269\ufe00\xc5\u21aa\u0500Aabcefkosy\u21c4\u21c7\u21f1\u21f5\u21fa\u2218\u221d\u222f\u2268\u227dr\xf2\u03a0\u0200ilmr\u21d0\u21d4\u21d7\u21dbrs\xf0\u1484f\xbb\u2024il\xf4\u06a9\u0100dr\u21e0\u21e4cy;\u444a\u0180;cw\u08f4\u21eb\u21efir;\u6948;\u61adar;\u610firc;\u4125\u0180alr\u2201\u220e\u2213rts\u0100;u\u2209\u220a\u6665it\xbb\u220alip;\u6026con;\u62b9r;\uc000\ud835\udd25s\u0100ew\u2223\u2229arow;\u6925arow;\u6926\u0280amopr\u223a\u223e\u2243\u225e\u2263rr;\u61fftht;\u623bk\u0100lr\u2249\u2253eftarrow;\u61a9ightarrow;\u61aaf;\uc000\ud835\udd59bar;\u6015\u0180clt\u226f\u2274\u2278r;\uc000\ud835\udcbdas\xe8\u21f4rok;\u4127\u0100bp\u2282\u2287ull;\u6043hen\xbb\u1c5b\u0ae1\u22a3\0\u22aa\0\u22b8\u22c5\u22ce\0\u22d5\u22f3\0\0\u22f8\u2322\u2367\u2362\u237f\0\u2386\u23aa\u23b4cute\u803b\xed\u40ed\u0180;iy\u0771\u22b0\u22b5rc\u803b\xee\u40ee;\u4438\u0100cx\u22bc\u22bfy;\u4435cl\u803b\xa1\u40a1\u0100fr\u039f\u22c9;\uc000\ud835\udd26rave\u803b\xec\u40ec\u0200;ino\u073e\u22dd\u22e9\u22ee\u0100in\u22e2\u22e6nt;\u6a0ct;\u622dfin;\u69dcta;\u6129lig;\u4133\u0180aop\u22fe\u231a\u231d\u0180cgt\u2305\u2308\u2317r;\u412b\u0180elp\u071f\u230f\u2313in\xe5\u078ear\xf4\u0720h;\u4131f;\u62b7ed;\u41b5\u0280;cfot\u04f4\u232c\u2331\u233d\u2341are;\u6105in\u0100;t\u2338\u2339\u621eie;\u69dddo\xf4\u2319\u0280;celp\u0757\u234c\u2350\u235b\u2361al;\u62ba\u0100gr\u2355\u2359er\xf3\u1563\xe3\u234darhk;\u6a17rod;\u6a3c\u0200cgpt\u236f\u2372\u2376\u237by;\u4451on;\u412ff;\uc000\ud835\udd5aa;\u43b9uest\u803b\xbf\u40bf\u0100ci\u238a\u238fr;\uc000\ud835\udcben\u0280;Edsv\u04f4\u239b\u239d\u23a1\u04f3;\u62f9ot;\u62f5\u0100;v\u23a6\u23a7\u62f4;\u62f3\u0100;i\u0777\u23aelde;\u4129\u01eb\u23b8\0\u23bccy;\u4456l\u803b\xef\u40ef\u0300cfmosu\u23cc\u23d7\u23dc\u23e1\u23e7\u23f5\u0100iy\u23d1\u23d5rc;\u4135;\u4439r;\uc000\ud835\udd27ath;\u4237pf;\uc000\ud835\udd5b\u01e3\u23ec\0\u23f1r;\uc000\ud835\udcbfrcy;\u4458kcy;\u4454\u0400acfghjos\u240b\u2416\u2422\u2427\u242d\u2431\u2435\u243bppa\u0100;v\u2413\u2414\u43ba;\u43f0\u0100ey\u241b\u2420dil;\u4137;\u443ar;\uc000\ud835\udd28reen;\u4138cy;\u4445cy;\u445cpf;\uc000\ud835\udd5ccr;\uc000\ud835\udcc0\u0b80ABEHabcdefghjlmnoprstuv\u2470\u2481\u2486\u248d\u2491\u250e\u253d\u255a\u2580\u264e\u265e\u2665\u2679\u267d\u269a\u26b2\u26d8\u275d\u2768\u278b\u27c0\u2801\u2812\u0180art\u2477\u247a\u247cr\xf2\u09c6\xf2\u0395ail;\u691barr;\u690e\u0100;g\u0994\u248b;\u6a8bar;\u6962\u0963\u24a5\0\u24aa\0\u24b1\0\0\0\0\0\u24b5\u24ba\0\u24c6\u24c8\u24cd\0\u24f9ute;\u413amptyv;\u69b4ra\xee\u084cbda;\u43bbg\u0180;dl\u088e\u24c1\u24c3;\u6991\xe5\u088e;\u6a85uo\u803b\xab\u40abr\u0400;bfhlpst\u0899\u24de\u24e6\u24e9\u24eb\u24ee\u24f1\u24f5\u0100;f\u089d\u24e3s;\u691fs;\u691d\xeb\u2252p;\u61abl;\u6939im;\u6973l;\u61a2\u0180;ae\u24ff\u2500\u2504\u6aabil;\u6919\u0100;s\u2509\u250a\u6aad;\uc000\u2aad\ufe00\u0180abr\u2515\u2519\u251drr;\u690crk;\u6772\u0100ak\u2522\u252cc\u0100ek\u2528\u252a;\u407b;\u405b\u0100es\u2531\u2533;\u698bl\u0100du\u2539\u253b;\u698f;\u698d\u0200aeuy\u2546\u254b\u2556\u2558ron;\u413e\u0100di\u2550\u2554il;\u413c\xec\u08b0\xe2\u2529;\u443b\u0200cqrs\u2563\u2566\u256d\u257da;\u6936uo\u0100;r\u0e19\u1746\u0100du\u2572\u2577har;\u6967shar;\u694bh;\u61b2\u0280;fgqs\u258b\u258c\u0989\u25f3\u25ff\u6264t\u0280ahlrt\u2598\u25a4\u25b7\u25c2\u25e8rrow\u0100;t\u0899\u25a1a\xe9\u24f6arpoon\u0100du\u25af\u25b4own\xbb\u045ap\xbb\u0966eftarrows;\u61c7ight\u0180ahs\u25cd\u25d6\u25derrow\u0100;s\u08f4\u08a7arpoon\xf3\u0f98quigarro\xf7\u21f0hreetimes;\u62cb\u0180;qs\u258b\u0993\u25falan\xf4\u09ac\u0280;cdgs\u09ac\u260a\u260d\u261d\u2628c;\u6aa8ot\u0100;o\u2614\u2615\u6a7f\u0100;r\u261a\u261b\u6a81;\u6a83\u0100;e\u2622\u2625\uc000\u22da\ufe00s;\u6a93\u0280adegs\u2633\u2639\u263d\u2649\u264bppro\xf8\u24c6ot;\u62d6q\u0100gq\u2643\u2645\xf4\u0989gt\xf2\u248c\xf4\u099bi\xed\u09b2\u0180ilr\u2655\u08e1\u265asht;\u697c;\uc000\ud835\udd29\u0100;E\u099c\u2663;\u6a91\u0161\u2669\u2676r\u0100du\u25b2\u266e\u0100;l\u0965\u2673;\u696alk;\u6584cy;\u4459\u0280;acht\u0a48\u2688\u268b\u2691\u2696r\xf2\u25c1orne\xf2\u1d08ard;\u696bri;\u65fa\u0100io\u269f\u26a4dot;\u4140ust\u0100;a\u26ac\u26ad\u63b0che\xbb\u26ad\u0200Eaes\u26bb\u26bd\u26c9\u26d4;\u6268p\u0100;p\u26c3\u26c4\u6a89rox\xbb\u26c4\u0100;q\u26ce\u26cf\u6a87\u0100;q\u26ce\u26bbim;\u62e6\u0400abnoptwz\u26e9\u26f4\u26f7\u271a\u272f\u2741\u2747\u2750\u0100nr\u26ee\u26f1g;\u67ecr;\u61fdr\xeb\u08c1g\u0180lmr\u26ff\u270d\u2714eft\u0100ar\u09e6\u2707ight\xe1\u09f2apsto;\u67fcight\xe1\u09fdparrow\u0100lr\u2725\u2729ef\xf4\u24edight;\u61ac\u0180afl\u2736\u2739\u273dr;\u6985;\uc000\ud835\udd5dus;\u6a2dimes;\u6a34\u0161\u274b\u274fst;\u6217\xe1\u134e\u0180;ef\u2757\u2758\u1800\u65cange\xbb\u2758ar\u0100;l\u2764\u2765\u4028t;\u6993\u0280achmt\u2773\u2776\u277c\u2785\u2787r\xf2\u08a8orne\xf2\u1d8car\u0100;d\u0f98\u2783;\u696d;\u600eri;\u62bf\u0300achiqt\u2798\u279d\u0a40\u27a2\u27ae\u27bbquo;\u6039r;\uc000\ud835\udcc1m\u0180;eg\u09b2\u27aa\u27ac;\u6a8d;\u6a8f\u0100bu\u252a\u27b3o\u0100;r\u0e1f\u27b9;\u601arok;\u4142\u8400<;cdhilqr\u082b\u27d2\u2639\u27dc\u27e0\u27e5\u27ea\u27f0\u0100ci\u27d7\u27d9;\u6aa6r;\u6a79re\xe5\u25f2mes;\u62c9arr;\u6976uest;\u6a7b\u0100Pi\u27f5\u27f9ar;\u6996\u0180;ef\u2800\u092d\u181b\u65c3r\u0100du\u2807\u280dshar;\u694ahar;\u6966\u0100en\u2817\u2821rtneqq;\uc000\u2268\ufe00\xc5\u281e\u0700Dacdefhilnopsu\u2840\u2845\u2882\u288e\u2893\u28a0\u28a5\u28a8\u28da\u28e2\u28e4\u0a83\u28f3\u2902Dot;\u623a\u0200clpr\u284e\u2852\u2863\u287dr\u803b\xaf\u40af\u0100et\u2857\u2859;\u6642\u0100;e\u285e\u285f\u6720se\xbb\u285f\u0100;s\u103b\u2868to\u0200;dlu\u103b\u2873\u2877\u287bow\xee\u048cef\xf4\u090f\xf0\u13d1ker;\u65ae\u0100oy\u2887\u288cmma;\u6a29;\u443cash;\u6014asuredangle\xbb\u1626r;\uc000\ud835\udd2ao;\u6127\u0180cdn\u28af\u28b4\u28c9ro\u803b\xb5\u40b5\u0200;acd\u1464\u28bd\u28c0\u28c4s\xf4\u16a7ir;\u6af0ot\u80bb\xb7\u01b5us\u0180;bd\u28d2\u1903\u28d3\u6212\u0100;u\u1d3c\u28d8;\u6a2a\u0163\u28de\u28e1p;\u6adb\xf2\u2212\xf0\u0a81\u0100dp\u28e9\u28eeels;\u62a7f;\uc000\ud835\udd5e\u0100ct\u28f8\u28fdr;\uc000\ud835\udcc2pos\xbb\u159d\u0180;lm\u2909\u290a\u290d\u43bctimap;\u62b8\u0c00GLRVabcdefghijlmoprstuvw\u2942\u2953\u297e\u2989\u2998\u29da\u29e9\u2a15\u2a1a\u2a58\u2a5d\u2a83\u2a95\u2aa4\u2aa8\u2b04\u2b07\u2b44\u2b7f\u2bae\u2c34\u2c67\u2c7c\u2ce9\u0100gt\u2947\u294b;\uc000\u22d9\u0338\u0100;v\u2950\u0bcf\uc000\u226b\u20d2\u0180elt\u295a\u2972\u2976ft\u0100ar\u2961\u2967rrow;\u61cdightarrow;\u61ce;\uc000\u22d8\u0338\u0100;v\u297b\u0c47\uc000\u226a\u20d2ightarrow;\u61cf\u0100Dd\u298e\u2993ash;\u62afash;\u62ae\u0280bcnpt\u29a3\u29a7\u29ac\u29b1\u29ccla\xbb\u02deute;\u4144g;\uc000\u2220\u20d2\u0280;Eiop\u0d84\u29bc\u29c0\u29c5\u29c8;\uc000\u2a70\u0338d;\uc000\u224b\u0338s;\u4149ro\xf8\u0d84ur\u0100;a\u29d3\u29d4\u666el\u0100;s\u29d3\u0b38\u01f3\u29df\0\u29e3p\u80bb\xa0\u0b37mp\u0100;e\u0bf9\u0c00\u0280aeouy\u29f4\u29fe\u2a03\u2a10\u2a13\u01f0\u29f9\0\u29fb;\u6a43on;\u4148dil;\u4146ng\u0100;d\u0d7e\u2a0aot;\uc000\u2a6d\u0338p;\u6a42;\u443dash;\u6013\u0380;Aadqsx\u0b92\u2a29\u2a2d\u2a3b\u2a41\u2a45\u2a50rr;\u61d7r\u0100hr\u2a33\u2a36k;\u6924\u0100;o\u13f2\u13f0ot;\uc000\u2250\u0338ui\xf6\u0b63\u0100ei\u2a4a\u2a4ear;\u6928\xed\u0b98ist\u0100;s\u0ba0\u0b9fr;\uc000\ud835\udd2b\u0200Eest\u0bc5\u2a66\u2a79\u2a7c\u0180;qs\u0bbc\u2a6d\u0be1\u0180;qs\u0bbc\u0bc5\u2a74lan\xf4\u0be2i\xed\u0bea\u0100;r\u0bb6\u2a81\xbb\u0bb7\u0180Aap\u2a8a\u2a8d\u2a91r\xf2\u2971rr;\u61aear;\u6af2\u0180;sv\u0f8d\u2a9c\u0f8c\u0100;d\u2aa1\u2aa2\u62fc;\u62facy;\u445a\u0380AEadest\u2ab7\u2aba\u2abe\u2ac2\u2ac5\u2af6\u2af9r\xf2\u2966;\uc000\u2266\u0338rr;\u619ar;\u6025\u0200;fqs\u0c3b\u2ace\u2ae3\u2aeft\u0100ar\u2ad4\u2ad9rro\xf7\u2ac1ightarro\xf7\u2a90\u0180;qs\u0c3b\u2aba\u2aealan\xf4\u0c55\u0100;s\u0c55\u2af4\xbb\u0c36i\xed\u0c5d\u0100;r\u0c35\u2afei\u0100;e\u0c1a\u0c25i\xe4\u0d90\u0100pt\u2b0c\u2b11f;\uc000\ud835\udd5f\u8180\xac;in\u2b19\u2b1a\u2b36\u40acn\u0200;Edv\u0b89\u2b24\u2b28\u2b2e;\uc000\u22f9\u0338ot;\uc000\u22f5\u0338\u01e1\u0b89\u2b33\u2b35;\u62f7;\u62f6i\u0100;v\u0cb8\u2b3c\u01e1\u0cb8\u2b41\u2b43;\u62fe;\u62fd\u0180aor\u2b4b\u2b63\u2b69r\u0200;ast\u0b7b\u2b55\u2b5a\u2b5flle\xec\u0b7bl;\uc000\u2afd\u20e5;\uc000\u2202\u0338lint;\u6a14\u0180;ce\u0c92\u2b70\u2b73u\xe5\u0ca5\u0100;c\u0c98\u2b78\u0100;e\u0c92\u2b7d\xf1\u0c98\u0200Aait\u2b88\u2b8b\u2b9d\u2ba7r\xf2\u2988rr\u0180;cw\u2b94\u2b95\u2b99\u619b;\uc000\u2933\u0338;\uc000\u219d\u0338ghtarrow\xbb\u2b95ri\u0100;e\u0ccb\u0cd6\u0380chimpqu\u2bbd\u2bcd\u2bd9\u2b04\u0b78\u2be4\u2bef\u0200;cer\u0d32\u2bc6\u0d37\u2bc9u\xe5\u0d45;\uc000\ud835\udcc3ort\u026d\u2b05\0\0\u2bd6ar\xe1\u2b56m\u0100;e\u0d6e\u2bdf\u0100;q\u0d74\u0d73su\u0100bp\u2beb\u2bed\xe5\u0cf8\xe5\u0d0b\u0180bcp\u2bf6\u2c11\u2c19\u0200;Ees\u2bff\u2c00\u0d22\u2c04\u6284;\uc000\u2ac5\u0338et\u0100;e\u0d1b\u2c0bq\u0100;q\u0d23\u2c00c\u0100;e\u0d32\u2c17\xf1\u0d38\u0200;Ees\u2c22\u2c23\u0d5f\u2c27\u6285;\uc000\u2ac6\u0338et\u0100;e\u0d58\u2c2eq\u0100;q\u0d60\u2c23\u0200gilr\u2c3d\u2c3f\u2c45\u2c47\xec\u0bd7lde\u803b\xf1\u40f1\xe7\u0c43iangle\u0100lr\u2c52\u2c5ceft\u0100;e\u0c1a\u2c5a\xf1\u0c26ight\u0100;e\u0ccb\u2c65\xf1\u0cd7\u0100;m\u2c6c\u2c6d\u43bd\u0180;es\u2c74\u2c75\u2c79\u4023ro;\u6116p;\u6007\u0480DHadgilrs\u2c8f\u2c94\u2c99\u2c9e\u2ca3\u2cb0\u2cb6\u2cd3\u2ce3ash;\u62adarr;\u6904p;\uc000\u224d\u20d2ash;\u62ac\u0100et\u2ca8\u2cac;\uc000\u2265\u20d2;\uc000>\u20d2nfin;\u69de\u0180Aet\u2cbd\u2cc1\u2cc5rr;\u6902;\uc000\u2264\u20d2\u0100;r\u2cca\u2ccd\uc000<\u20d2ie;\uc000\u22b4\u20d2\u0100At\u2cd8\u2cdcrr;\u6903rie;\uc000\u22b5\u20d2im;\uc000\u223c\u20d2\u0180Aan\u2cf0\u2cf4\u2d02rr;\u61d6r\u0100hr\u2cfa\u2cfdk;\u6923\u0100;o\u13e7\u13e5ear;\u6927\u1253\u1a95\0\0\0\0\0\0\0\0\0\0\0\0\0\u2d2d\0\u2d38\u2d48\u2d60\u2d65\u2d72\u2d84\u1b07\0\0\u2d8d\u2dab\0\u2dc8\u2dce\0\u2ddc\u2e19\u2e2b\u2e3e\u2e43\u0100cs\u2d31\u1a97ute\u803b\xf3\u40f3\u0100iy\u2d3c\u2d45r\u0100;c\u1a9e\u2d42\u803b\xf4\u40f4;\u443e\u0280abios\u1aa0\u2d52\u2d57\u01c8\u2d5alac;\u4151v;\u6a38old;\u69bclig;\u4153\u0100cr\u2d69\u2d6dir;\u69bf;\uc000\ud835\udd2c\u036f\u2d79\0\0\u2d7c\0\u2d82n;\u42dbave\u803b\xf2\u40f2;\u69c1\u0100bm\u2d88\u0df4ar;\u69b5\u0200acit\u2d95\u2d98\u2da5\u2da8r\xf2\u1a80\u0100ir\u2d9d\u2da0r;\u69beoss;\u69bbn\xe5\u0e52;\u69c0\u0180aei\u2db1\u2db5\u2db9cr;\u414dga;\u43c9\u0180cdn\u2dc0\u2dc5\u01cdron;\u43bf;\u69b6pf;\uc000\ud835\udd60\u0180ael\u2dd4\u2dd7\u01d2r;\u69b7rp;\u69b9\u0380;adiosv\u2dea\u2deb\u2dee\u2e08\u2e0d\u2e10\u2e16\u6228r\xf2\u1a86\u0200;efm\u2df7\u2df8\u2e02\u2e05\u6a5dr\u0100;o\u2dfe\u2dff\u6134f\xbb\u2dff\u803b\xaa\u40aa\u803b\xba\u40bagof;\u62b6r;\u6a56lope;\u6a57;\u6a5b\u0180clo\u2e1f\u2e21\u2e27\xf2\u2e01ash\u803b\xf8\u40f8l;\u6298i\u016c\u2e2f\u2e34de\u803b\xf5\u40f5es\u0100;a\u01db\u2e3as;\u6a36ml\u803b\xf6\u40f6bar;\u633d\u0ae1\u2e5e\0\u2e7d\0\u2e80\u2e9d\0\u2ea2\u2eb9\0\0\u2ecb\u0e9c\0\u2f13\0\0\u2f2b\u2fbc\0\u2fc8r\u0200;ast\u0403\u2e67\u2e72\u0e85\u8100\xb6;l\u2e6d\u2e6e\u40b6le\xec\u0403\u0269\u2e78\0\0\u2e7bm;\u6af3;\u6afdy;\u443fr\u0280cimpt\u2e8b\u2e8f\u2e93\u1865\u2e97nt;\u4025od;\u402eil;\u6030enk;\u6031r;\uc000\ud835\udd2d\u0180imo\u2ea8\u2eb0\u2eb4\u0100;v\u2ead\u2eae\u43c6;\u43d5ma\xf4\u0a76ne;\u660e\u0180;tv\u2ebf\u2ec0\u2ec8\u43c0chfork\xbb\u1ffd;\u43d6\u0100au\u2ecf\u2edfn\u0100ck\u2ed5\u2eddk\u0100;h\u21f4\u2edb;\u610e\xf6\u21f4s\u0480;abcdemst\u2ef3\u2ef4\u1908\u2ef9\u2efd\u2f04\u2f06\u2f0a\u2f0e\u402bcir;\u6a23ir;\u6a22\u0100ou\u1d40\u2f02;\u6a25;\u6a72n\u80bb\xb1\u0e9dim;\u6a26wo;\u6a27\u0180ipu\u2f19\u2f20\u2f25ntint;\u6a15f;\uc000\ud835\udd61nd\u803b\xa3\u40a3\u0500;Eaceinosu\u0ec8\u2f3f\u2f41\u2f44\u2f47\u2f81\u2f89\u2f92\u2f7e\u2fb6;\u6ab3p;\u6ab7u\xe5\u0ed9\u0100;c\u0ece\u2f4c\u0300;acens\u0ec8\u2f59\u2f5f\u2f66\u2f68\u2f7eppro\xf8\u2f43urlye\xf1\u0ed9\xf1\u0ece\u0180aes\u2f6f\u2f76\u2f7approx;\u6ab9qq;\u6ab5im;\u62e8i\xed\u0edfme\u0100;s\u2f88\u0eae\u6032\u0180Eas\u2f78\u2f90\u2f7a\xf0\u2f75\u0180dfp\u0eec\u2f99\u2faf\u0180als\u2fa0\u2fa5\u2faalar;\u632eine;\u6312urf;\u6313\u0100;t\u0efb\u2fb4\xef\u0efbrel;\u62b0\u0100ci\u2fc0\u2fc5r;\uc000\ud835\udcc5;\u43c8ncsp;\u6008\u0300fiopsu\u2fda\u22e2\u2fdf\u2fe5\u2feb\u2ff1r;\uc000\ud835\udd2epf;\uc000\ud835\udd62rime;\u6057cr;\uc000\ud835\udcc6\u0180aeo\u2ff8\u3009\u3013t\u0100ei\u2ffe\u3005rnion\xf3\u06b0nt;\u6a16st\u0100;e\u3010\u3011\u403f\xf1\u1f19\xf4\u0f14\u0a80ABHabcdefhilmnoprstux\u3040\u3051\u3055\u3059\u30e0\u310e\u312b\u3147\u3162\u3172\u318e\u3206\u3215\u3224\u3229\u3258\u326e\u3272\u3290\u32b0\u32b7\u0180art\u3047\u304a\u304cr\xf2\u10b3\xf2\u03ddail;\u691car\xf2\u1c65ar;\u6964\u0380cdenqrt\u3068\u3075\u3078\u307f\u308f\u3094\u30cc\u0100eu\u306d\u3071;\uc000\u223d\u0331te;\u4155i\xe3\u116emptyv;\u69b3g\u0200;del\u0fd1\u3089\u308b\u308d;\u6992;\u69a5\xe5\u0fd1uo\u803b\xbb\u40bbr\u0580;abcfhlpstw\u0fdc\u30ac\u30af\u30b7\u30b9\u30bc\u30be\u30c0\u30c3\u30c7\u30cap;\u6975\u0100;f\u0fe0\u30b4s;\u6920;\u6933s;\u691e\xeb\u225d\xf0\u272el;\u6945im;\u6974l;\u61a3;\u619d\u0100ai\u30d1\u30d5il;\u691ao\u0100;n\u30db\u30dc\u6236al\xf3\u0f1e\u0180abr\u30e7\u30ea\u30eer\xf2\u17e5rk;\u6773\u0100ak\u30f3\u30fdc\u0100ek\u30f9\u30fb;\u407d;\u405d\u0100es\u3102\u3104;\u698cl\u0100du\u310a\u310c;\u698e;\u6990\u0200aeuy\u3117\u311c\u3127\u3129ron;\u4159\u0100di\u3121\u3125il;\u4157\xec\u0ff2\xe2\u30fa;\u4440\u0200clqs\u3134\u3137\u313d\u3144a;\u6937dhar;\u6969uo\u0100;r\u020e\u020dh;\u61b3\u0180acg\u314e\u315f\u0f44l\u0200;ips\u0f78\u3158\u315b\u109cn\xe5\u10bbar\xf4\u0fa9t;\u65ad\u0180ilr\u3169\u1023\u316esht;\u697d;\uc000\ud835\udd2f\u0100ao\u3177\u3186r\u0100du\u317d\u317f\xbb\u047b\u0100;l\u1091\u3184;\u696c\u0100;v\u318b\u318c\u43c1;\u43f1\u0180gns\u3195\u31f9\u31fcht\u0300ahlrst\u31a4\u31b0\u31c2\u31d8\u31e4\u31eerrow\u0100;t\u0fdc\u31ada\xe9\u30c8arpoon\u0100du\u31bb\u31bfow\xee\u317ep\xbb\u1092eft\u0100ah\u31ca\u31d0rrow\xf3\u0feaarpoon\xf3\u0551ightarrows;\u61c9quigarro\xf7\u30cbhreetimes;\u62ccg;\u42daingdotse\xf1\u1f32\u0180ahm\u320d\u3210\u3213r\xf2\u0feaa\xf2\u0551;\u600foust\u0100;a\u321e\u321f\u63b1che\xbb\u321fmid;\u6aee\u0200abpt\u3232\u323d\u3240\u3252\u0100nr\u3237\u323ag;\u67edr;\u61fer\xeb\u1003\u0180afl\u3247\u324a\u324er;\u6986;\uc000\ud835\udd63us;\u6a2eimes;\u6a35\u0100ap\u325d\u3267r\u0100;g\u3263\u3264\u4029t;\u6994olint;\u6a12ar\xf2\u31e3\u0200achq\u327b\u3280\u10bc\u3285quo;\u603ar;\uc000\ud835\udcc7\u0100bu\u30fb\u328ao\u0100;r\u0214\u0213\u0180hir\u3297\u329b\u32a0re\xe5\u31f8mes;\u62cai\u0200;efl\u32aa\u1059\u1821\u32ab\u65b9tri;\u69celuhar;\u6968;\u611e\u0d61\u32d5\u32db\u32df\u332c\u3338\u3371\0\u337a\u33a4\0\0\u33ec\u33f0\0\u3428\u3448\u345a\u34ad\u34b1\u34ca\u34f1\0\u3616\0\0\u3633cute;\u415bqu\xef\u27ba\u0500;Eaceinpsy\u11ed\u32f3\u32f5\u32ff\u3302\u330b\u330f\u331f\u3326\u3329;\u6ab4\u01f0\u32fa\0\u32fc;\u6ab8on;\u4161u\xe5\u11fe\u0100;d\u11f3\u3307il;\u415frc;\u415d\u0180Eas\u3316\u3318\u331b;\u6ab6p;\u6abaim;\u62e9olint;\u6a13i\xed\u1204;\u4441ot\u0180;be\u3334\u1d47\u3335\u62c5;\u6a66\u0380Aacmstx\u3346\u334a\u3357\u335b\u335e\u3363\u336drr;\u61d8r\u0100hr\u3350\u3352\xeb\u2228\u0100;o\u0a36\u0a34t\u803b\xa7\u40a7i;\u403bwar;\u6929m\u0100in\u3369\xf0nu\xf3\xf1t;\u6736r\u0100;o\u3376\u2055\uc000\ud835\udd30\u0200acoy\u3382\u3386\u3391\u33a0rp;\u666f\u0100hy\u338b\u338fcy;\u4449;\u4448rt\u026d\u3399\0\0\u339ci\xe4\u1464ara\xec\u2e6f\u803b\xad\u40ad\u0100gm\u33a8\u33b4ma\u0180;fv\u33b1\u33b2\u33b2\u43c3;\u43c2\u0400;deglnpr\u12ab\u33c5\u33c9\u33ce\u33d6\u33de\u33e1\u33e6ot;\u6a6a\u0100;q\u12b1\u12b0\u0100;E\u33d3\u33d4\u6a9e;\u6aa0\u0100;E\u33db\u33dc\u6a9d;\u6a9fe;\u6246lus;\u6a24arr;\u6972ar\xf2\u113d\u0200aeit\u33f8\u3408\u340f\u3417\u0100ls\u33fd\u3404lsetm\xe9\u336ahp;\u6a33parsl;\u69e4\u0100dl\u1463\u3414e;\u6323\u0100;e\u341c\u341d\u6aaa\u0100;s\u3422\u3423\u6aac;\uc000\u2aac\ufe00\u0180flp\u342e\u3433\u3442tcy;\u444c\u0100;b\u3438\u3439\u402f\u0100;a\u343e\u343f\u69c4r;\u633ff;\uc000\ud835\udd64a\u0100dr\u344d\u0402es\u0100;u\u3454\u3455\u6660it\xbb\u3455\u0180csu\u3460\u3479\u349f\u0100au\u3465\u346fp\u0100;s\u1188\u346b;\uc000\u2293\ufe00p\u0100;s\u11b4\u3475;\uc000\u2294\ufe00u\u0100bp\u347f\u348f\u0180;es\u1197\u119c\u3486et\u0100;e\u1197\u348d\xf1\u119d\u0180;es\u11a8\u11ad\u3496et\u0100;e\u11a8\u349d\xf1\u11ae\u0180;af\u117b\u34a6\u05b0r\u0165\u34ab\u05b1\xbb\u117car\xf2\u1148\u0200cemt\u34b9\u34be\u34c2\u34c5r;\uc000\ud835\udcc8tm\xee\xf1i\xec\u3415ar\xe6\u11be\u0100ar\u34ce\u34d5r\u0100;f\u34d4\u17bf\u6606\u0100an\u34da\u34edight\u0100ep\u34e3\u34eapsilo\xee\u1ee0h\xe9\u2eafs\xbb\u2852\u0280bcmnp\u34fb\u355e\u1209\u358b\u358e\u0480;Edemnprs\u350e\u350f\u3511\u3515\u351e\u3523\u352c\u3531\u3536\u6282;\u6ac5ot;\u6abd\u0100;d\u11da\u351aot;\u6ac3ult;\u6ac1\u0100Ee\u3528\u352a;\u6acb;\u628alus;\u6abfarr;\u6979\u0180eiu\u353d\u3552\u3555t\u0180;en\u350e\u3545\u354bq\u0100;q\u11da\u350feq\u0100;q\u352b\u3528m;\u6ac7\u0100bp\u355a\u355c;\u6ad5;\u6ad3c\u0300;acens\u11ed\u356c\u3572\u3579\u357b\u3326ppro\xf8\u32faurlye\xf1\u11fe\xf1\u11f3\u0180aes\u3582\u3588\u331bppro\xf8\u331aq\xf1\u3317g;\u666a\u0680123;Edehlmnps\u35a9\u35ac\u35af\u121c\u35b2\u35b4\u35c0\u35c9\u35d5\u35da\u35df\u35e8\u35ed\u803b\xb9\u40b9\u803b\xb2\u40b2\u803b\xb3\u40b3;\u6ac6\u0100os\u35b9\u35bct;\u6abeub;\u6ad8\u0100;d\u1222\u35c5ot;\u6ac4s\u0100ou\u35cf\u35d2l;\u67c9b;\u6ad7arr;\u697bult;\u6ac2\u0100Ee\u35e4\u35e6;\u6acc;\u628blus;\u6ac0\u0180eiu\u35f4\u3609\u360ct\u0180;en\u121c\u35fc\u3602q\u0100;q\u1222\u35b2eq\u0100;q\u35e7\u35e4m;\u6ac8\u0100bp\u3611\u3613;\u6ad4;\u6ad6\u0180Aan\u361c\u3620\u362drr;\u61d9r\u0100hr\u3626\u3628\xeb\u222e\u0100;o\u0a2b\u0a29war;\u692alig\u803b\xdf\u40df\u0be1\u3651\u365d\u3660\u12ce\u3673\u3679\0\u367e\u36c2\0\0\0\0\0\u36db\u3703\0\u3709\u376c\0\0\0\u3787\u0272\u3656\0\0\u365bget;\u6316;\u43c4r\xeb\u0e5f\u0180aey\u3666\u366b\u3670ron;\u4165dil;\u4163;\u4442lrec;\u6315r;\uc000\ud835\udd31\u0200eiko\u3686\u369d\u36b5\u36bc\u01f2\u368b\0\u3691e\u01004f\u1284\u1281a\u0180;sv\u3698\u3699\u369b\u43b8ym;\u43d1\u0100cn\u36a2\u36b2k\u0100as\u36a8\u36aeppro\xf8\u12c1im\xbb\u12acs\xf0\u129e\u0100as\u36ba\u36ae\xf0\u12c1rn\u803b\xfe\u40fe\u01ec\u031f\u36c6\u22e7es\u8180\xd7;bd\u36cf\u36d0\u36d8\u40d7\u0100;a\u190f\u36d5r;\u6a31;\u6a30\u0180eps\u36e1\u36e3\u3700\xe1\u2a4d\u0200;bcf\u0486\u36ec\u36f0\u36f4ot;\u6336ir;\u6af1\u0100;o\u36f9\u36fc\uc000\ud835\udd65rk;\u6ada\xe1\u3362rime;\u6034\u0180aip\u370f\u3712\u3764d\xe5\u1248\u0380adempst\u3721\u374d\u3740\u3751\u3757\u375c\u375fngle\u0280;dlqr\u3730\u3731\u3736\u3740\u3742\u65b5own\xbb\u1dbbeft\u0100;e\u2800\u373e\xf1\u092e;\u625cight\u0100;e\u32aa\u374b\xf1\u105aot;\u65ecinus;\u6a3alus;\u6a39b;\u69cdime;\u6a3bezium;\u63e2\u0180cht\u3772\u377d\u3781\u0100ry\u3777\u377b;\uc000\ud835\udcc9;\u4446cy;\u445brok;\u4167\u0100io\u378b\u378ex\xf4\u1777head\u0100lr\u3797\u37a0eftarro\xf7\u084fightarrow\xbb\u0f5d\u0900AHabcdfghlmoprstuw\u37d0\u37d3\u37d7\u37e4\u37f0\u37fc\u380e\u381c\u3823\u3834\u3851\u385d\u386b\u38a9\u38cc\u38d2\u38ea\u38f6r\xf2\u03edar;\u6963\u0100cr\u37dc\u37e2ute\u803b\xfa\u40fa\xf2\u1150r\u01e3\u37ea\0\u37edy;\u445eve;\u416d\u0100iy\u37f5\u37farc\u803b\xfb\u40fb;\u4443\u0180abh\u3803\u3806\u380br\xf2\u13adlac;\u4171a\xf2\u13c3\u0100ir\u3813\u3818sht;\u697e;\uc000\ud835\udd32rave\u803b\xf9\u40f9\u0161\u3827\u3831r\u0100lr\u382c\u382e\xbb\u0957\xbb\u1083lk;\u6580\u0100ct\u3839\u384d\u026f\u383f\0\0\u384arn\u0100;e\u3845\u3846\u631cr\xbb\u3846op;\u630fri;\u65f8\u0100al\u3856\u385acr;\u416b\u80bb\xa8\u0349\u0100gp\u3862\u3866on;\u4173f;\uc000\ud835\udd66\u0300adhlsu\u114b\u3878\u387d\u1372\u3891\u38a0own\xe1\u13b3arpoon\u0100lr\u3888\u388cef\xf4\u382digh\xf4\u382fi\u0180;hl\u3899\u389a\u389c\u43c5\xbb\u13faon\xbb\u389aparrows;\u61c8\u0180cit\u38b0\u38c4\u38c8\u026f\u38b6\0\0\u38c1rn\u0100;e\u38bc\u38bd\u631dr\xbb\u38bdop;\u630eng;\u416fri;\u65f9cr;\uc000\ud835\udcca\u0180dir\u38d9\u38dd\u38e2ot;\u62f0lde;\u4169i\u0100;f\u3730\u38e8\xbb\u1813\u0100am\u38ef\u38f2r\xf2\u38a8l\u803b\xfc\u40fcangle;\u69a7\u0780ABDacdeflnoprsz\u391c\u391f\u3929\u392d\u39b5\u39b8\u39bd\u39df\u39e4\u39e8\u39f3\u39f9\u39fd\u3a01\u3a20r\xf2\u03f7ar\u0100;v\u3926\u3927\u6ae8;\u6ae9as\xe8\u03e1\u0100nr\u3932\u3937grt;\u699c\u0380eknprst\u34e3\u3946\u394b\u3952\u395d\u3964\u3996app\xe1\u2415othin\xe7\u1e96\u0180hir\u34eb\u2ec8\u3959op\xf4\u2fb5\u0100;h\u13b7\u3962\xef\u318d\u0100iu\u3969\u396dgm\xe1\u33b3\u0100bp\u3972\u3984setneq\u0100;q\u397d\u3980\uc000\u228a\ufe00;\uc000\u2acb\ufe00setneq\u0100;q\u398f\u3992\uc000\u228b\ufe00;\uc000\u2acc\ufe00\u0100hr\u399b\u399fet\xe1\u369ciangle\u0100lr\u39aa\u39afeft\xbb\u0925ight\xbb\u1051y;\u4432ash\xbb\u1036\u0180elr\u39c4\u39d2\u39d7\u0180;be\u2dea\u39cb\u39cfar;\u62bbq;\u625alip;\u62ee\u0100bt\u39dc\u1468a\xf2\u1469r;\uc000\ud835\udd33tr\xe9\u39aesu\u0100bp\u39ef\u39f1\xbb\u0d1c\xbb\u0d59pf;\uc000\ud835\udd67ro\xf0\u0efbtr\xe9\u39b4\u0100cu\u3a06\u3a0br;\uc000\ud835\udccb\u0100bp\u3a10\u3a18n\u0100Ee\u3980\u3a16\xbb\u397en\u0100Ee\u3992\u3a1e\xbb\u3990igzag;\u699a\u0380cefoprs\u3a36\u3a3b\u3a56\u3a5b\u3a54\u3a61\u3a6airc;\u4175\u0100di\u3a40\u3a51\u0100bg\u3a45\u3a49ar;\u6a5fe\u0100;q\u15fa\u3a4f;\u6259erp;\u6118r;\uc000\ud835\udd34pf;\uc000\ud835\udd68\u0100;e\u1479\u3a66at\xe8\u1479cr;\uc000\ud835\udccc\u0ae3\u178e\u3a87\0\u3a8b\0\u3a90\u3a9b\0\0\u3a9d\u3aa8\u3aab\u3aaf\0\0\u3ac3\u3ace\0\u3ad8\u17dc\u17dftr\xe9\u17d1r;\uc000\ud835\udd35\u0100Aa\u3a94\u3a97r\xf2\u03c3r\xf2\u09f6;\u43be\u0100Aa\u3aa1\u3aa4r\xf2\u03b8r\xf2\u09eba\xf0\u2713is;\u62fb\u0180dpt\u17a4\u3ab5\u3abe\u0100fl\u3aba\u17a9;\uc000\ud835\udd69im\xe5\u17b2\u0100Aa\u3ac7\u3acar\xf2\u03cer\xf2\u0a01\u0100cq\u3ad2\u17b8r;\uc000\ud835\udccd\u0100pt\u17d6\u3adcr\xe9\u17d4\u0400acefiosu\u3af0\u3afd\u3b08\u3b0c\u3b11\u3b15\u3b1b\u3b21c\u0100uy\u3af6\u3afbte\u803b\xfd\u40fd;\u444f\u0100iy\u3b02\u3b06rc;\u4177;\u444bn\u803b\xa5\u40a5r;\uc000\ud835\udd36cy;\u4457pf;\uc000\ud835\udd6acr;\uc000\ud835\udcce\u0100cm\u3b26\u3b29y;\u444el\u803b\xff\u40ff\u0500acdefhiosw\u3b42\u3b48\u3b54\u3b58\u3b64\u3b69\u3b6d\u3b74\u3b7a\u3b80cute;\u417a\u0100ay\u3b4d\u3b52ron;\u417e;\u4437ot;\u417c\u0100et\u3b5d\u3b61tr\xe6\u155fa;\u43b6r;\uc000\ud835\udd37cy;\u4436grarr;\u61ddpf;\uc000\ud835\udd6bcr;\uc000\ud835\udccf\u0100jn\u3b85\u3b87;\u600dj;\u600c"
|
|
64085
|
+
/* #__PURE__ */ "\u1d41<\xd5\u0131\u028a\u049d\u057b\u05d0\u0675\u06de\u07a2\u07d6\u080f\u0a4a\u0a91\u0da1\u0e6d\u0f09\u0f26\u10ca\u1228\u12e1\u1415\u149d\u14c3\u14df\u1525\0\0\0\0\0\0\u156b\u16cd\u198d\u1c12\u1ddd\u1f7e\u2060\u21b0\u228d\u23c0\u23fb\u2442\u2824\u2912\u2d08\u2e48\u2fce\u3016\u32ba\u3639\u37ac\u38fe\u3a28\u3a71\u3ae0\u3b2e\u0800EMabcfglmnoprstu\\bfms\x7f\x84\x8b\x90\x95\x98\xa6\xb3\xb9\xc8\xcflig\u803b\xc6\u40c6P\u803b&\u4026cute\u803b\xc1\u40c1reve;\u4102\u0100iyx}rc\u803b\xc2\u40c2;\u4410r;\uc000\ud835\udd04rave\u803b\xc0\u40c0pha;\u4391acr;\u4100d;\u6a53\u0100gp\x9d\xa1on;\u4104f;\uc000\ud835\udd38plyFunction;\u6061ing\u803b\xc5\u40c5\u0100cs\xbe\xc3r;\uc000\ud835\udc9cign;\u6254ilde\u803b\xc3\u40c3ml\u803b\xc4\u40c4\u0400aceforsu\xe5\xfb\xfe\u0117\u011c\u0122\u0127\u012a\u0100cr\xea\xf2kslash;\u6216\u0176\xf6\xf8;\u6ae7ed;\u6306y;\u4411\u0180crt\u0105\u010b\u0114ause;\u6235noullis;\u612ca;\u4392r;\uc000\ud835\udd05pf;\uc000\ud835\udd39eve;\u42d8c\xf2\u0113mpeq;\u624e\u0700HOacdefhilorsu\u014d\u0151\u0156\u0180\u019e\u01a2\u01b5\u01b7\u01ba\u01dc\u0215\u0273\u0278\u027ecy;\u4427PY\u803b\xa9\u40a9\u0180cpy\u015d\u0162\u017aute;\u4106\u0100;i\u0167\u0168\u62d2talDifferentialD;\u6145leys;\u612d\u0200aeio\u0189\u018e\u0194\u0198ron;\u410cdil\u803b\xc7\u40c7rc;\u4108nint;\u6230ot;\u410a\u0100dn\u01a7\u01adilla;\u40b8terDot;\u40b7\xf2\u017fi;\u43a7rcle\u0200DMPT\u01c7\u01cb\u01d1\u01d6ot;\u6299inus;\u6296lus;\u6295imes;\u6297o\u0100cs\u01e2\u01f8kwiseContourIntegral;\u6232eCurly\u0100DQ\u0203\u020foubleQuote;\u601duote;\u6019\u0200lnpu\u021e\u0228\u0247\u0255on\u0100;e\u0225\u0226\u6237;\u6a74\u0180git\u022f\u0236\u023aruent;\u6261nt;\u622fourIntegral;\u622e\u0100fr\u024c\u024e;\u6102oduct;\u6210nterClockwiseContourIntegral;\u6233oss;\u6a2fcr;\uc000\ud835\udc9ep\u0100;C\u0284\u0285\u62d3ap;\u624d\u0580DJSZacefios\u02a0\u02ac\u02b0\u02b4\u02b8\u02cb\u02d7\u02e1\u02e6\u0333\u048d\u0100;o\u0179\u02a5trahd;\u6911cy;\u4402cy;\u4405cy;\u440f\u0180grs\u02bf\u02c4\u02c7ger;\u6021r;\u61a1hv;\u6ae4\u0100ay\u02d0\u02d5ron;\u410e;\u4414l\u0100;t\u02dd\u02de\u6207a;\u4394r;\uc000\ud835\udd07\u0100af\u02eb\u0327\u0100cm\u02f0\u0322ritical\u0200ADGT\u0300\u0306\u0316\u031ccute;\u40b4o\u0174\u030b\u030d;\u42d9bleAcute;\u42ddrave;\u4060ilde;\u42dcond;\u62c4ferentialD;\u6146\u0470\u033d\0\0\0\u0342\u0354\0\u0405f;\uc000\ud835\udd3b\u0180;DE\u0348\u0349\u034d\u40a8ot;\u60dcqual;\u6250ble\u0300CDLRUV\u0363\u0372\u0382\u03cf\u03e2\u03f8ontourIntegra\xec\u0239o\u0274\u0379\0\0\u037b\xbb\u0349nArrow;\u61d3\u0100eo\u0387\u03a4ft\u0180ART\u0390\u0396\u03a1rrow;\u61d0ightArrow;\u61d4e\xe5\u02cang\u0100LR\u03ab\u03c4eft\u0100AR\u03b3\u03b9rrow;\u67f8ightArrow;\u67faightArrow;\u67f9ight\u0100AT\u03d8\u03derrow;\u61d2ee;\u62a8p\u0241\u03e9\0\0\u03efrrow;\u61d1ownArrow;\u61d5erticalBar;\u6225n\u0300ABLRTa\u0412\u042a\u0430\u045e\u047f\u037crrow\u0180;BU\u041d\u041e\u0422\u6193ar;\u6913pArrow;\u61f5reve;\u4311eft\u02d2\u043a\0\u0446\0\u0450ightVector;\u6950eeVector;\u695eector\u0100;B\u0459\u045a\u61bdar;\u6956ight\u01d4\u0467\0\u0471eeVector;\u695fector\u0100;B\u047a\u047b\u61c1ar;\u6957ee\u0100;A\u0486\u0487\u62a4rrow;\u61a7\u0100ct\u0492\u0497r;\uc000\ud835\udc9frok;\u4110\u0800NTacdfglmopqstux\u04bd\u04c0\u04c4\u04cb\u04de\u04e2\u04e7\u04ee\u04f5\u0521\u052f\u0536\u0552\u055d\u0560\u0565G;\u414aH\u803b\xd0\u40d0cute\u803b\xc9\u40c9\u0180aiy\u04d2\u04d7\u04dcron;\u411arc\u803b\xca\u40ca;\u442dot;\u4116r;\uc000\ud835\udd08rave\u803b\xc8\u40c8ement;\u6208\u0100ap\u04fa\u04fecr;\u4112ty\u0253\u0506\0\0\u0512mallSquare;\u65fberySmallSquare;\u65ab\u0100gp\u0526\u052aon;\u4118f;\uc000\ud835\udd3csilon;\u4395u\u0100ai\u053c\u0549l\u0100;T\u0542\u0543\u6a75ilde;\u6242librium;\u61cc\u0100ci\u0557\u055ar;\u6130m;\u6a73a;\u4397ml\u803b\xcb\u40cb\u0100ip\u056a\u056fsts;\u6203onentialE;\u6147\u0280cfios\u0585\u0588\u058d\u05b2\u05ccy;\u4424r;\uc000\ud835\udd09lled\u0253\u0597\0\0\u05a3mallSquare;\u65fcerySmallSquare;\u65aa\u0370\u05ba\0\u05bf\0\0\u05c4f;\uc000\ud835\udd3dAll;\u6200riertrf;\u6131c\xf2\u05cb\u0600JTabcdfgorst\u05e8\u05ec\u05ef\u05fa\u0600\u0612\u0616\u061b\u061d\u0623\u066c\u0672cy;\u4403\u803b>\u403emma\u0100;d\u05f7\u05f8\u4393;\u43dcreve;\u411e\u0180eiy\u0607\u060c\u0610dil;\u4122rc;\u411c;\u4413ot;\u4120r;\uc000\ud835\udd0a;\u62d9pf;\uc000\ud835\udd3eeater\u0300EFGLST\u0635\u0644\u064e\u0656\u065b\u0666qual\u0100;L\u063e\u063f\u6265ess;\u62dbullEqual;\u6267reater;\u6aa2ess;\u6277lantEqual;\u6a7eilde;\u6273cr;\uc000\ud835\udca2;\u626b\u0400Aacfiosu\u0685\u068b\u0696\u069b\u069e\u06aa\u06be\u06caRDcy;\u442a\u0100ct\u0690\u0694ek;\u42c7;\u405eirc;\u4124r;\u610clbertSpace;\u610b\u01f0\u06af\0\u06b2f;\u610dizontalLine;\u6500\u0100ct\u06c3\u06c5\xf2\u06a9rok;\u4126mp\u0144\u06d0\u06d8ownHum\xf0\u012fqual;\u624f\u0700EJOacdfgmnostu\u06fa\u06fe\u0703\u0707\u070e\u071a\u071e\u0721\u0728\u0744\u0778\u078b\u078f\u0795cy;\u4415lig;\u4132cy;\u4401cute\u803b\xcd\u40cd\u0100iy\u0713\u0718rc\u803b\xce\u40ce;\u4418ot;\u4130r;\u6111rave\u803b\xcc\u40cc\u0180;ap\u0720\u072f\u073f\u0100cg\u0734\u0737r;\u412ainaryI;\u6148lie\xf3\u03dd\u01f4\u0749\0\u0762\u0100;e\u074d\u074e\u622c\u0100gr\u0753\u0758ral;\u622bsection;\u62c2isible\u0100CT\u076c\u0772omma;\u6063imes;\u6062\u0180gpt\u077f\u0783\u0788on;\u412ef;\uc000\ud835\udd40a;\u4399cr;\u6110ilde;\u4128\u01eb\u079a\0\u079ecy;\u4406l\u803b\xcf\u40cf\u0280cfosu\u07ac\u07b7\u07bc\u07c2\u07d0\u0100iy\u07b1\u07b5rc;\u4134;\u4419r;\uc000\ud835\udd0dpf;\uc000\ud835\udd41\u01e3\u07c7\0\u07ccr;\uc000\ud835\udca5rcy;\u4408kcy;\u4404\u0380HJacfos\u07e4\u07e8\u07ec\u07f1\u07fd\u0802\u0808cy;\u4425cy;\u440cppa;\u439a\u0100ey\u07f6\u07fbdil;\u4136;\u441ar;\uc000\ud835\udd0epf;\uc000\ud835\udd42cr;\uc000\ud835\udca6\u0580JTaceflmost\u0825\u0829\u082c\u0850\u0863\u09b3\u09b8\u09c7\u09cd\u0a37\u0a47cy;\u4409\u803b<\u403c\u0280cmnpr\u0837\u083c\u0841\u0844\u084dute;\u4139bda;\u439bg;\u67ealacetrf;\u6112r;\u619e\u0180aey\u0857\u085c\u0861ron;\u413ddil;\u413b;\u441b\u0100fs\u0868\u0970t\u0500ACDFRTUVar\u087e\u08a9\u08b1\u08e0\u08e6\u08fc\u092f\u095b\u0390\u096a\u0100nr\u0883\u088fgleBracket;\u67e8row\u0180;BR\u0899\u089a\u089e\u6190ar;\u61e4ightArrow;\u61c6eiling;\u6308o\u01f5\u08b7\0\u08c3bleBracket;\u67e6n\u01d4\u08c8\0\u08d2eeVector;\u6961ector\u0100;B\u08db\u08dc\u61c3ar;\u6959loor;\u630aight\u0100AV\u08ef\u08f5rrow;\u6194ector;\u694e\u0100er\u0901\u0917e\u0180;AV\u0909\u090a\u0910\u62a3rrow;\u61a4ector;\u695aiangle\u0180;BE\u0924\u0925\u0929\u62b2ar;\u69cfqual;\u62b4p\u0180DTV\u0937\u0942\u094cownVector;\u6951eeVector;\u6960ector\u0100;B\u0956\u0957\u61bfar;\u6958ector\u0100;B\u0965\u0966\u61bcar;\u6952ight\xe1\u039cs\u0300EFGLST\u097e\u098b\u0995\u099d\u09a2\u09adqualGreater;\u62daullEqual;\u6266reater;\u6276ess;\u6aa1lantEqual;\u6a7dilde;\u6272r;\uc000\ud835\udd0f\u0100;e\u09bd\u09be\u62d8ftarrow;\u61daidot;\u413f\u0180npw\u09d4\u0a16\u0a1bg\u0200LRlr\u09de\u09f7\u0a02\u0a10eft\u0100AR\u09e6\u09ecrrow;\u67f5ightArrow;\u67f7ightArrow;\u67f6eft\u0100ar\u03b3\u0a0aight\xe1\u03bfight\xe1\u03caf;\uc000\ud835\udd43er\u0100LR\u0a22\u0a2ceftArrow;\u6199ightArrow;\u6198\u0180cht\u0a3e\u0a40\u0a42\xf2\u084c;\u61b0rok;\u4141;\u626a\u0400acefiosu\u0a5a\u0a5d\u0a60\u0a77\u0a7c\u0a85\u0a8b\u0a8ep;\u6905y;\u441c\u0100dl\u0a65\u0a6fiumSpace;\u605flintrf;\u6133r;\uc000\ud835\udd10nusPlus;\u6213pf;\uc000\ud835\udd44c\xf2\u0a76;\u439c\u0480Jacefostu\u0aa3\u0aa7\u0aad\u0ac0\u0b14\u0b19\u0d91\u0d97\u0d9ecy;\u440acute;\u4143\u0180aey\u0ab4\u0ab9\u0aberon;\u4147dil;\u4145;\u441d\u0180gsw\u0ac7\u0af0\u0b0eative\u0180MTV\u0ad3\u0adf\u0ae8ediumSpace;\u600bhi\u0100cn\u0ae6\u0ad8\xeb\u0ad9eryThi\xee\u0ad9ted\u0100GL\u0af8\u0b06reaterGreate\xf2\u0673essLes\xf3\u0a48Line;\u400ar;\uc000\ud835\udd11\u0200Bnpt\u0b22\u0b28\u0b37\u0b3areak;\u6060BreakingSpace;\u40a0f;\u6115\u0680;CDEGHLNPRSTV\u0b55\u0b56\u0b6a\u0b7c\u0ba1\u0beb\u0c04\u0c5e\u0c84\u0ca6\u0cd8\u0d61\u0d85\u6aec\u0100ou\u0b5b\u0b64ngruent;\u6262pCap;\u626doubleVerticalBar;\u6226\u0180lqx\u0b83\u0b8a\u0b9bement;\u6209ual\u0100;T\u0b92\u0b93\u6260ilde;\uc000\u2242\u0338ists;\u6204reater\u0380;EFGLST\u0bb6\u0bb7\u0bbd\u0bc9\u0bd3\u0bd8\u0be5\u626fqual;\u6271ullEqual;\uc000\u2267\u0338reater;\uc000\u226b\u0338ess;\u6279lantEqual;\uc000\u2a7e\u0338ilde;\u6275ump\u0144\u0bf2\u0bfdownHump;\uc000\u224e\u0338qual;\uc000\u224f\u0338e\u0100fs\u0c0a\u0c27tTriangle\u0180;BE\u0c1a\u0c1b\u0c21\u62eaar;\uc000\u29cf\u0338qual;\u62ecs\u0300;EGLST\u0c35\u0c36\u0c3c\u0c44\u0c4b\u0c58\u626equal;\u6270reater;\u6278ess;\uc000\u226a\u0338lantEqual;\uc000\u2a7d\u0338ilde;\u6274ested\u0100GL\u0c68\u0c79reaterGreater;\uc000\u2aa2\u0338essLess;\uc000\u2aa1\u0338recedes\u0180;ES\u0c92\u0c93\u0c9b\u6280qual;\uc000\u2aaf\u0338lantEqual;\u62e0\u0100ei\u0cab\u0cb9verseElement;\u620cghtTriangle\u0180;BE\u0ccb\u0ccc\u0cd2\u62ebar;\uc000\u29d0\u0338qual;\u62ed\u0100qu\u0cdd\u0d0cuareSu\u0100bp\u0ce8\u0cf9set\u0100;E\u0cf0\u0cf3\uc000\u228f\u0338qual;\u62e2erset\u0100;E\u0d03\u0d06\uc000\u2290\u0338qual;\u62e3\u0180bcp\u0d13\u0d24\u0d4eset\u0100;E\u0d1b\u0d1e\uc000\u2282\u20d2qual;\u6288ceeds\u0200;EST\u0d32\u0d33\u0d3b\u0d46\u6281qual;\uc000\u2ab0\u0338lantEqual;\u62e1ilde;\uc000\u227f\u0338erset\u0100;E\u0d58\u0d5b\uc000\u2283\u20d2qual;\u6289ilde\u0200;EFT\u0d6e\u0d6f\u0d75\u0d7f\u6241qual;\u6244ullEqual;\u6247ilde;\u6249erticalBar;\u6224cr;\uc000\ud835\udca9ilde\u803b\xd1\u40d1;\u439d\u0700Eacdfgmoprstuv\u0dbd\u0dc2\u0dc9\u0dd5\u0ddb\u0de0\u0de7\u0dfc\u0e02\u0e20\u0e22\u0e32\u0e3f\u0e44lig;\u4152cute\u803b\xd3\u40d3\u0100iy\u0dce\u0dd3rc\u803b\xd4\u40d4;\u441eblac;\u4150r;\uc000\ud835\udd12rave\u803b\xd2\u40d2\u0180aei\u0dee\u0df2\u0df6cr;\u414cga;\u43a9cron;\u439fpf;\uc000\ud835\udd46enCurly\u0100DQ\u0e0e\u0e1aoubleQuote;\u601cuote;\u6018;\u6a54\u0100cl\u0e27\u0e2cr;\uc000\ud835\udcaaash\u803b\xd8\u40d8i\u016c\u0e37\u0e3cde\u803b\xd5\u40d5es;\u6a37ml\u803b\xd6\u40d6er\u0100BP\u0e4b\u0e60\u0100ar\u0e50\u0e53r;\u603eac\u0100ek\u0e5a\u0e5c;\u63deet;\u63b4arenthesis;\u63dc\u0480acfhilors\u0e7f\u0e87\u0e8a\u0e8f\u0e92\u0e94\u0e9d\u0eb0\u0efcrtialD;\u6202y;\u441fr;\uc000\ud835\udd13i;\u43a6;\u43a0usMinus;\u40b1\u0100ip\u0ea2\u0eadncareplan\xe5\u069df;\u6119\u0200;eio\u0eb9\u0eba\u0ee0\u0ee4\u6abbcedes\u0200;EST\u0ec8\u0ec9\u0ecf\u0eda\u627aqual;\u6aaflantEqual;\u627cilde;\u627eme;\u6033\u0100dp\u0ee9\u0eeeuct;\u620fortion\u0100;a\u0225\u0ef9l;\u621d\u0100ci\u0f01\u0f06r;\uc000\ud835\udcab;\u43a8\u0200Ufos\u0f11\u0f16\u0f1b\u0f1fOT\u803b\"\u4022r;\uc000\ud835\udd14pf;\u611acr;\uc000\ud835\udcac\u0600BEacefhiorsu\u0f3e\u0f43\u0f47\u0f60\u0f73\u0fa7\u0faa\u0fad\u1096\u10a9\u10b4\u10bearr;\u6910G\u803b\xae\u40ae\u0180cnr\u0f4e\u0f53\u0f56ute;\u4154g;\u67ebr\u0100;t\u0f5c\u0f5d\u61a0l;\u6916\u0180aey\u0f67\u0f6c\u0f71ron;\u4158dil;\u4156;\u4420\u0100;v\u0f78\u0f79\u611cerse\u0100EU\u0f82\u0f99\u0100lq\u0f87\u0f8eement;\u620builibrium;\u61cbpEquilibrium;\u696fr\xbb\u0f79o;\u43a1ght\u0400ACDFTUVa\u0fc1\u0feb\u0ff3\u1022\u1028\u105b\u1087\u03d8\u0100nr\u0fc6\u0fd2gleBracket;\u67e9row\u0180;BL\u0fdc\u0fdd\u0fe1\u6192ar;\u61e5eftArrow;\u61c4eiling;\u6309o\u01f5\u0ff9\0\u1005bleBracket;\u67e7n\u01d4\u100a\0\u1014eeVector;\u695dector\u0100;B\u101d\u101e\u61c2ar;\u6955loor;\u630b\u0100er\u102d\u1043e\u0180;AV\u1035\u1036\u103c\u62a2rrow;\u61a6ector;\u695biangle\u0180;BE\u1050\u1051\u1055\u62b3ar;\u69d0qual;\u62b5p\u0180DTV\u1063\u106e\u1078ownVector;\u694feeVector;\u695cector\u0100;B\u1082\u1083\u61bear;\u6954ector\u0100;B\u1091\u1092\u61c0ar;\u6953\u0100pu\u109b\u109ef;\u611dndImplies;\u6970ightarrow;\u61db\u0100ch\u10b9\u10bcr;\u611b;\u61b1leDelayed;\u69f4\u0680HOacfhimoqstu\u10e4\u10f1\u10f7\u10fd\u1119\u111e\u1151\u1156\u1161\u1167\u11b5\u11bb\u11bf\u0100Cc\u10e9\u10eeHcy;\u4429y;\u4428FTcy;\u442ccute;\u415a\u0280;aeiy\u1108\u1109\u110e\u1113\u1117\u6abcron;\u4160dil;\u415erc;\u415c;\u4421r;\uc000\ud835\udd16ort\u0200DLRU\u112a\u1134\u113e\u1149ownArrow\xbb\u041eeftArrow\xbb\u089aightArrow\xbb\u0fddpArrow;\u6191gma;\u43a3allCircle;\u6218pf;\uc000\ud835\udd4a\u0272\u116d\0\0\u1170t;\u621aare\u0200;ISU\u117b\u117c\u1189\u11af\u65a1ntersection;\u6293u\u0100bp\u118f\u119eset\u0100;E\u1197\u1198\u628fqual;\u6291erset\u0100;E\u11a8\u11a9\u6290qual;\u6292nion;\u6294cr;\uc000\ud835\udcaear;\u62c6\u0200bcmp\u11c8\u11db\u1209\u120b\u0100;s\u11cd\u11ce\u62d0et\u0100;E\u11cd\u11d5qual;\u6286\u0100ch\u11e0\u1205eeds\u0200;EST\u11ed\u11ee\u11f4\u11ff\u627bqual;\u6ab0lantEqual;\u627dilde;\u627fTh\xe1\u0f8c;\u6211\u0180;es\u1212\u1213\u1223\u62d1rset\u0100;E\u121c\u121d\u6283qual;\u6287et\xbb\u1213\u0580HRSacfhiors\u123e\u1244\u1249\u1255\u125e\u1271\u1276\u129f\u12c2\u12c8\u12d1ORN\u803b\xde\u40deADE;\u6122\u0100Hc\u124e\u1252cy;\u440by;\u4426\u0100bu\u125a\u125c;\u4009;\u43a4\u0180aey\u1265\u126a\u126fron;\u4164dil;\u4162;\u4422r;\uc000\ud835\udd17\u0100ei\u127b\u1289\u01f2\u1280\0\u1287efore;\u6234a;\u4398\u0100cn\u128e\u1298kSpace;\uc000\u205f\u200aSpace;\u6009lde\u0200;EFT\u12ab\u12ac\u12b2\u12bc\u623cqual;\u6243ullEqual;\u6245ilde;\u6248pf;\uc000\ud835\udd4bipleDot;\u60db\u0100ct\u12d6\u12dbr;\uc000\ud835\udcafrok;\u4166\u0ae1\u12f7\u130e\u131a\u1326\0\u132c\u1331\0\0\0\0\0\u1338\u133d\u1377\u1385\0\u13ff\u1404\u140a\u1410\u0100cr\u12fb\u1301ute\u803b\xda\u40dar\u0100;o\u1307\u1308\u619fcir;\u6949r\u01e3\u1313\0\u1316y;\u440eve;\u416c\u0100iy\u131e\u1323rc\u803b\xdb\u40db;\u4423blac;\u4170r;\uc000\ud835\udd18rave\u803b\xd9\u40d9acr;\u416a\u0100di\u1341\u1369er\u0100BP\u1348\u135d\u0100ar\u134d\u1350r;\u405fac\u0100ek\u1357\u1359;\u63dfet;\u63b5arenthesis;\u63ddon\u0100;P\u1370\u1371\u62c3lus;\u628e\u0100gp\u137b\u137fon;\u4172f;\uc000\ud835\udd4c\u0400ADETadps\u1395\u13ae\u13b8\u13c4\u03e8\u13d2\u13d7\u13f3rrow\u0180;BD\u1150\u13a0\u13a4ar;\u6912ownArrow;\u61c5ownArrow;\u6195quilibrium;\u696eee\u0100;A\u13cb\u13cc\u62a5rrow;\u61a5own\xe1\u03f3er\u0100LR\u13de\u13e8eftArrow;\u6196ightArrow;\u6197i\u0100;l\u13f9\u13fa\u43d2on;\u43a5ing;\u416ecr;\uc000\ud835\udcb0ilde;\u4168ml\u803b\xdc\u40dc\u0480Dbcdefosv\u1427\u142c\u1430\u1433\u143e\u1485\u148a\u1490\u1496ash;\u62abar;\u6aeby;\u4412ash\u0100;l\u143b\u143c\u62a9;\u6ae6\u0100er\u1443\u1445;\u62c1\u0180bty\u144c\u1450\u147aar;\u6016\u0100;i\u144f\u1455cal\u0200BLST\u1461\u1465\u146a\u1474ar;\u6223ine;\u407ceparator;\u6758ilde;\u6240ThinSpace;\u600ar;\uc000\ud835\udd19pf;\uc000\ud835\udd4dcr;\uc000\ud835\udcb1dash;\u62aa\u0280cefos\u14a7\u14ac\u14b1\u14b6\u14bcirc;\u4174dge;\u62c0r;\uc000\ud835\udd1apf;\uc000\ud835\udd4ecr;\uc000\ud835\udcb2\u0200fios\u14cb\u14d0\u14d2\u14d8r;\uc000\ud835\udd1b;\u439epf;\uc000\ud835\udd4fcr;\uc000\ud835\udcb3\u0480AIUacfosu\u14f1\u14f5\u14f9\u14fd\u1504\u150f\u1514\u151a\u1520cy;\u442fcy;\u4407cy;\u442ecute\u803b\xdd\u40dd\u0100iy\u1509\u150drc;\u4176;\u442br;\uc000\ud835\udd1cpf;\uc000\ud835\udd50cr;\uc000\ud835\udcb4ml;\u4178\u0400Hacdefos\u1535\u1539\u153f\u154b\u154f\u155d\u1560\u1564cy;\u4416cute;\u4179\u0100ay\u1544\u1549ron;\u417d;\u4417ot;\u417b\u01f2\u1554\0\u155boWidt\xe8\u0ad9a;\u4396r;\u6128pf;\u6124cr;\uc000\ud835\udcb5\u0be1\u1583\u158a\u1590\0\u15b0\u15b6\u15bf\0\0\0\0\u15c6\u15db\u15eb\u165f\u166d\0\u1695\u169b\u16b2\u16b9\0\u16becute\u803b\xe1\u40e1reve;\u4103\u0300;Ediuy\u159c\u159d\u15a1\u15a3\u15a8\u15ad\u623e;\uc000\u223e\u0333;\u623frc\u803b\xe2\u40e2te\u80bb\xb4\u0306;\u4430lig\u803b\xe6\u40e6\u0100;r\xb2\u15ba;\uc000\ud835\udd1erave\u803b\xe0\u40e0\u0100ep\u15ca\u15d6\u0100fp\u15cf\u15d4sym;\u6135\xe8\u15d3ha;\u43b1\u0100ap\u15dfc\u0100cl\u15e4\u15e7r;\u4101g;\u6a3f\u0264\u15f0\0\0\u160a\u0280;adsv\u15fa\u15fb\u15ff\u1601\u1607\u6227nd;\u6a55;\u6a5clope;\u6a58;\u6a5a\u0380;elmrsz\u1618\u1619\u161b\u161e\u163f\u164f\u1659\u6220;\u69a4e\xbb\u1619sd\u0100;a\u1625\u1626\u6221\u0461\u1630\u1632\u1634\u1636\u1638\u163a\u163c\u163e;\u69a8;\u69a9;\u69aa;\u69ab;\u69ac;\u69ad;\u69ae;\u69aft\u0100;v\u1645\u1646\u621fb\u0100;d\u164c\u164d\u62be;\u699d\u0100pt\u1654\u1657h;\u6222\xbb\xb9arr;\u637c\u0100gp\u1663\u1667on;\u4105f;\uc000\ud835\udd52\u0380;Eaeiop\u12c1\u167b\u167d\u1682\u1684\u1687\u168a;\u6a70cir;\u6a6f;\u624ad;\u624bs;\u4027rox\u0100;e\u12c1\u1692\xf1\u1683ing\u803b\xe5\u40e5\u0180cty\u16a1\u16a6\u16a8r;\uc000\ud835\udcb6;\u402amp\u0100;e\u12c1\u16af\xf1\u0288ilde\u803b\xe3\u40e3ml\u803b\xe4\u40e4\u0100ci\u16c2\u16c8onin\xf4\u0272nt;\u6a11\u0800Nabcdefiklnoprsu\u16ed\u16f1\u1730\u173c\u1743\u1748\u1778\u177d\u17e0\u17e6\u1839\u1850\u170d\u193d\u1948\u1970ot;\u6aed\u0100cr\u16f6\u171ek\u0200ceps\u1700\u1705\u170d\u1713ong;\u624cpsilon;\u43f6rime;\u6035im\u0100;e\u171a\u171b\u623dq;\u62cd\u0176\u1722\u1726ee;\u62bded\u0100;g\u172c\u172d\u6305e\xbb\u172drk\u0100;t\u135c\u1737brk;\u63b6\u0100oy\u1701\u1741;\u4431quo;\u601e\u0280cmprt\u1753\u175b\u1761\u1764\u1768aus\u0100;e\u010a\u0109ptyv;\u69b0s\xe9\u170cno\xf5\u0113\u0180ahw\u176f\u1771\u1773;\u43b2;\u6136een;\u626cr;\uc000\ud835\udd1fg\u0380costuvw\u178d\u179d\u17b3\u17c1\u17d5\u17db\u17de\u0180aiu\u1794\u1796\u179a\xf0\u0760rc;\u65efp\xbb\u1371\u0180dpt\u17a4\u17a8\u17adot;\u6a00lus;\u6a01imes;\u6a02\u0271\u17b9\0\0\u17becup;\u6a06ar;\u6605riangle\u0100du\u17cd\u17d2own;\u65bdp;\u65b3plus;\u6a04e\xe5\u1444\xe5\u14adarow;\u690d\u0180ako\u17ed\u1826\u1835\u0100cn\u17f2\u1823k\u0180lst\u17fa\u05ab\u1802ozenge;\u69ebriangle\u0200;dlr\u1812\u1813\u1818\u181d\u65b4own;\u65beeft;\u65c2ight;\u65b8k;\u6423\u01b1\u182b\0\u1833\u01b2\u182f\0\u1831;\u6592;\u65914;\u6593ck;\u6588\u0100eo\u183e\u184d\u0100;q\u1843\u1846\uc000=\u20e5uiv;\uc000\u2261\u20e5t;\u6310\u0200ptwx\u1859\u185e\u1867\u186cf;\uc000\ud835\udd53\u0100;t\u13cb\u1863om\xbb\u13cctie;\u62c8\u0600DHUVbdhmptuv\u1885\u1896\u18aa\u18bb\u18d7\u18db\u18ec\u18ff\u1905\u190a\u1910\u1921\u0200LRlr\u188e\u1890\u1892\u1894;\u6557;\u6554;\u6556;\u6553\u0280;DUdu\u18a1\u18a2\u18a4\u18a6\u18a8\u6550;\u6566;\u6569;\u6564;\u6567\u0200LRlr\u18b3\u18b5\u18b7\u18b9;\u655d;\u655a;\u655c;\u6559\u0380;HLRhlr\u18ca\u18cb\u18cd\u18cf\u18d1\u18d3\u18d5\u6551;\u656c;\u6563;\u6560;\u656b;\u6562;\u655fox;\u69c9\u0200LRlr\u18e4\u18e6\u18e8\u18ea;\u6555;\u6552;\u6510;\u650c\u0280;DUdu\u06bd\u18f7\u18f9\u18fb\u18fd;\u6565;\u6568;\u652c;\u6534inus;\u629flus;\u629eimes;\u62a0\u0200LRlr\u1919\u191b\u191d\u191f;\u655b;\u6558;\u6518;\u6514\u0380;HLRhlr\u1930\u1931\u1933\u1935\u1937\u1939\u193b\u6502;\u656a;\u6561;\u655e;\u653c;\u6524;\u651c\u0100ev\u0123\u1942bar\u803b\xa6\u40a6\u0200ceio\u1951\u1956\u195a\u1960r;\uc000\ud835\udcb7mi;\u604fm\u0100;e\u171a\u171cl\u0180;bh\u1968\u1969\u196b\u405c;\u69c5sub;\u67c8\u016c\u1974\u197el\u0100;e\u1979\u197a\u6022t\xbb\u197ap\u0180;Ee\u012f\u1985\u1987;\u6aae\u0100;q\u06dc\u06db\u0ce1\u19a7\0\u19e8\u1a11\u1a15\u1a32\0\u1a37\u1a50\0\0\u1ab4\0\0\u1ac1\0\0\u1b21\u1b2e\u1b4d\u1b52\0\u1bfd\0\u1c0c\u0180cpr\u19ad\u19b2\u19ddute;\u4107\u0300;abcds\u19bf\u19c0\u19c4\u19ca\u19d5\u19d9\u6229nd;\u6a44rcup;\u6a49\u0100au\u19cf\u19d2p;\u6a4bp;\u6a47ot;\u6a40;\uc000\u2229\ufe00\u0100eo\u19e2\u19e5t;\u6041\xee\u0693\u0200aeiu\u19f0\u19fb\u1a01\u1a05\u01f0\u19f5\0\u19f8s;\u6a4don;\u410ddil\u803b\xe7\u40e7rc;\u4109ps\u0100;s\u1a0c\u1a0d\u6a4cm;\u6a50ot;\u410b\u0180dmn\u1a1b\u1a20\u1a26il\u80bb\xb8\u01adptyv;\u69b2t\u8100\xa2;e\u1a2d\u1a2e\u40a2r\xe4\u01b2r;\uc000\ud835\udd20\u0180cei\u1a3d\u1a40\u1a4dy;\u4447ck\u0100;m\u1a47\u1a48\u6713ark\xbb\u1a48;\u43c7r\u0380;Ecefms\u1a5f\u1a60\u1a62\u1a6b\u1aa4\u1aaa\u1aae\u65cb;\u69c3\u0180;el\u1a69\u1a6a\u1a6d\u42c6q;\u6257e\u0261\u1a74\0\0\u1a88rrow\u0100lr\u1a7c\u1a81eft;\u61baight;\u61bb\u0280RSacd\u1a92\u1a94\u1a96\u1a9a\u1a9f\xbb\u0f47;\u64c8st;\u629birc;\u629aash;\u629dnint;\u6a10id;\u6aefcir;\u69c2ubs\u0100;u\u1abb\u1abc\u6663it\xbb\u1abc\u02ec\u1ac7\u1ad4\u1afa\0\u1b0aon\u0100;e\u1acd\u1ace\u403a\u0100;q\xc7\xc6\u026d\u1ad9\0\0\u1ae2a\u0100;t\u1ade\u1adf\u402c;\u4040\u0180;fl\u1ae8\u1ae9\u1aeb\u6201\xee\u1160e\u0100mx\u1af1\u1af6ent\xbb\u1ae9e\xf3\u024d\u01e7\u1afe\0\u1b07\u0100;d\u12bb\u1b02ot;\u6a6dn\xf4\u0246\u0180fry\u1b10\u1b14\u1b17;\uc000\ud835\udd54o\xe4\u0254\u8100\xa9;s\u0155\u1b1dr;\u6117\u0100ao\u1b25\u1b29rr;\u61b5ss;\u6717\u0100cu\u1b32\u1b37r;\uc000\ud835\udcb8\u0100bp\u1b3c\u1b44\u0100;e\u1b41\u1b42\u6acf;\u6ad1\u0100;e\u1b49\u1b4a\u6ad0;\u6ad2dot;\u62ef\u0380delprvw\u1b60\u1b6c\u1b77\u1b82\u1bac\u1bd4\u1bf9arr\u0100lr\u1b68\u1b6a;\u6938;\u6935\u0270\u1b72\0\0\u1b75r;\u62dec;\u62dfarr\u0100;p\u1b7f\u1b80\u61b6;\u693d\u0300;bcdos\u1b8f\u1b90\u1b96\u1ba1\u1ba5\u1ba8\u622arcap;\u6a48\u0100au\u1b9b\u1b9ep;\u6a46p;\u6a4aot;\u628dr;\u6a45;\uc000\u222a\ufe00\u0200alrv\u1bb5\u1bbf\u1bde\u1be3rr\u0100;m\u1bbc\u1bbd\u61b7;\u693cy\u0180evw\u1bc7\u1bd4\u1bd8q\u0270\u1bce\0\0\u1bd2re\xe3\u1b73u\xe3\u1b75ee;\u62ceedge;\u62cfen\u803b\xa4\u40a4earrow\u0100lr\u1bee\u1bf3eft\xbb\u1b80ight\xbb\u1bbde\xe4\u1bdd\u0100ci\u1c01\u1c07onin\xf4\u01f7nt;\u6231lcty;\u632d\u0980AHabcdefhijlorstuwz\u1c38\u1c3b\u1c3f\u1c5d\u1c69\u1c75\u1c8a\u1c9e\u1cac\u1cb7\u1cfb\u1cff\u1d0d\u1d7b\u1d91\u1dab\u1dbb\u1dc6\u1dcdr\xf2\u0381ar;\u6965\u0200glrs\u1c48\u1c4d\u1c52\u1c54ger;\u6020eth;\u6138\xf2\u1133h\u0100;v\u1c5a\u1c5b\u6010\xbb\u090a\u016b\u1c61\u1c67arow;\u690fa\xe3\u0315\u0100ay\u1c6e\u1c73ron;\u410f;\u4434\u0180;ao\u0332\u1c7c\u1c84\u0100gr\u02bf\u1c81r;\u61catseq;\u6a77\u0180glm\u1c91\u1c94\u1c98\u803b\xb0\u40b0ta;\u43b4ptyv;\u69b1\u0100ir\u1ca3\u1ca8sht;\u697f;\uc000\ud835\udd21ar\u0100lr\u1cb3\u1cb5\xbb\u08dc\xbb\u101e\u0280aegsv\u1cc2\u0378\u1cd6\u1cdc\u1ce0m\u0180;os\u0326\u1cca\u1cd4nd\u0100;s\u0326\u1cd1uit;\u6666amma;\u43ddin;\u62f2\u0180;io\u1ce7\u1ce8\u1cf8\u40f7de\u8100\xf7;o\u1ce7\u1cf0ntimes;\u62c7n\xf8\u1cf7cy;\u4452c\u026f\u1d06\0\0\u1d0arn;\u631eop;\u630d\u0280lptuw\u1d18\u1d1d\u1d22\u1d49\u1d55lar;\u4024f;\uc000\ud835\udd55\u0280;emps\u030b\u1d2d\u1d37\u1d3d\u1d42q\u0100;d\u0352\u1d33ot;\u6251inus;\u6238lus;\u6214quare;\u62a1blebarwedg\xe5\xfan\u0180adh\u112e\u1d5d\u1d67ownarrow\xf3\u1c83arpoon\u0100lr\u1d72\u1d76ef\xf4\u1cb4igh\xf4\u1cb6\u0162\u1d7f\u1d85karo\xf7\u0f42\u026f\u1d8a\0\0\u1d8ern;\u631fop;\u630c\u0180cot\u1d98\u1da3\u1da6\u0100ry\u1d9d\u1da1;\uc000\ud835\udcb9;\u4455l;\u69f6rok;\u4111\u0100dr\u1db0\u1db4ot;\u62f1i\u0100;f\u1dba\u1816\u65bf\u0100ah\u1dc0\u1dc3r\xf2\u0429a\xf2\u0fa6angle;\u69a6\u0100ci\u1dd2\u1dd5y;\u445fgrarr;\u67ff\u0900Dacdefglmnopqrstux\u1e01\u1e09\u1e19\u1e38\u0578\u1e3c\u1e49\u1e61\u1e7e\u1ea5\u1eaf\u1ebd\u1ee1\u1f2a\u1f37\u1f44\u1f4e\u1f5a\u0100Do\u1e06\u1d34o\xf4\u1c89\u0100cs\u1e0e\u1e14ute\u803b\xe9\u40e9ter;\u6a6e\u0200aioy\u1e22\u1e27\u1e31\u1e36ron;\u411br\u0100;c\u1e2d\u1e2e\u6256\u803b\xea\u40ealon;\u6255;\u444dot;\u4117\u0100Dr\u1e41\u1e45ot;\u6252;\uc000\ud835\udd22\u0180;rs\u1e50\u1e51\u1e57\u6a9aave\u803b\xe8\u40e8\u0100;d\u1e5c\u1e5d\u6a96ot;\u6a98\u0200;ils\u1e6a\u1e6b\u1e72\u1e74\u6a99nters;\u63e7;\u6113\u0100;d\u1e79\u1e7a\u6a95ot;\u6a97\u0180aps\u1e85\u1e89\u1e97cr;\u4113ty\u0180;sv\u1e92\u1e93\u1e95\u6205et\xbb\u1e93p\u01001;\u1e9d\u1ea4\u0133\u1ea1\u1ea3;\u6004;\u6005\u6003\u0100gs\u1eaa\u1eac;\u414bp;\u6002\u0100gp\u1eb4\u1eb8on;\u4119f;\uc000\ud835\udd56\u0180als\u1ec4\u1ece\u1ed2r\u0100;s\u1eca\u1ecb\u62d5l;\u69e3us;\u6a71i\u0180;lv\u1eda\u1edb\u1edf\u43b5on\xbb\u1edb;\u43f5\u0200csuv\u1eea\u1ef3\u1f0b\u1f23\u0100io\u1eef\u1e31rc\xbb\u1e2e\u0269\u1ef9\0\0\u1efb\xed\u0548ant\u0100gl\u1f02\u1f06tr\xbb\u1e5dess\xbb\u1e7a\u0180aei\u1f12\u1f16\u1f1als;\u403dst;\u625fv\u0100;D\u0235\u1f20D;\u6a78parsl;\u69e5\u0100Da\u1f2f\u1f33ot;\u6253rr;\u6971\u0180cdi\u1f3e\u1f41\u1ef8r;\u612fo\xf4\u0352\u0100ah\u1f49\u1f4b;\u43b7\u803b\xf0\u40f0\u0100mr\u1f53\u1f57l\u803b\xeb\u40ebo;\u60ac\u0180cip\u1f61\u1f64\u1f67l;\u4021s\xf4\u056e\u0100eo\u1f6c\u1f74ctatio\xee\u0559nential\xe5\u0579\u09e1\u1f92\0\u1f9e\0\u1fa1\u1fa7\0\0\u1fc6\u1fcc\0\u1fd3\0\u1fe6\u1fea\u2000\0\u2008\u205allingdotse\xf1\u1e44y;\u4444male;\u6640\u0180ilr\u1fad\u1fb3\u1fc1lig;\u8000\ufb03\u0269\u1fb9\0\0\u1fbdg;\u8000\ufb00ig;\u8000\ufb04;\uc000\ud835\udd23lig;\u8000\ufb01lig;\uc000fj\u0180alt\u1fd9\u1fdc\u1fe1t;\u666dig;\u8000\ufb02ns;\u65b1of;\u4192\u01f0\u1fee\0\u1ff3f;\uc000\ud835\udd57\u0100ak\u05bf\u1ff7\u0100;v\u1ffc\u1ffd\u62d4;\u6ad9artint;\u6a0d\u0100ao\u200c\u2055\u0100cs\u2011\u2052\u03b1\u201a\u2030\u2038\u2045\u2048\0\u2050\u03b2\u2022\u2025\u2027\u202a\u202c\0\u202e\u803b\xbd\u40bd;\u6153\u803b\xbc\u40bc;\u6155;\u6159;\u615b\u01b3\u2034\0\u2036;\u6154;\u6156\u02b4\u203e\u2041\0\0\u2043\u803b\xbe\u40be;\u6157;\u615c5;\u6158\u01b6\u204c\0\u204e;\u615a;\u615d8;\u615el;\u6044wn;\u6322cr;\uc000\ud835\udcbb\u0880Eabcdefgijlnorstv\u2082\u2089\u209f\u20a5\u20b0\u20b4\u20f0\u20f5\u20fa\u20ff\u2103\u2112\u2138\u0317\u213e\u2152\u219e\u0100;l\u064d\u2087;\u6a8c\u0180cmp\u2090\u2095\u209dute;\u41f5ma\u0100;d\u209c\u1cda\u43b3;\u6a86reve;\u411f\u0100iy\u20aa\u20aerc;\u411d;\u4433ot;\u4121\u0200;lqs\u063e\u0642\u20bd\u20c9\u0180;qs\u063e\u064c\u20c4lan\xf4\u0665\u0200;cdl\u0665\u20d2\u20d5\u20e5c;\u6aa9ot\u0100;o\u20dc\u20dd\u6a80\u0100;l\u20e2\u20e3\u6a82;\u6a84\u0100;e\u20ea\u20ed\uc000\u22db\ufe00s;\u6a94r;\uc000\ud835\udd24\u0100;g\u0673\u061bmel;\u6137cy;\u4453\u0200;Eaj\u065a\u210c\u210e\u2110;\u6a92;\u6aa5;\u6aa4\u0200Eaes\u211b\u211d\u2129\u2134;\u6269p\u0100;p\u2123\u2124\u6a8arox\xbb\u2124\u0100;q\u212e\u212f\u6a88\u0100;q\u212e\u211bim;\u62e7pf;\uc000\ud835\udd58\u0100ci\u2143\u2146r;\u610am\u0180;el\u066b\u214e\u2150;\u6a8e;\u6a90\u8300>;cdlqr\u05ee\u2160\u216a\u216e\u2173\u2179\u0100ci\u2165\u2167;\u6aa7r;\u6a7aot;\u62d7Par;\u6995uest;\u6a7c\u0280adels\u2184\u216a\u2190\u0656\u219b\u01f0\u2189\0\u218epro\xf8\u209er;\u6978q\u0100lq\u063f\u2196les\xf3\u2088i\xed\u066b\u0100en\u21a3\u21adrtneqq;\uc000\u2269\ufe00\xc5\u21aa\u0500Aabcefkosy\u21c4\u21c7\u21f1\u21f5\u21fa\u2218\u221d\u222f\u2268\u227dr\xf2\u03a0\u0200ilmr\u21d0\u21d4\u21d7\u21dbrs\xf0\u1484f\xbb\u2024il\xf4\u06a9\u0100dr\u21e0\u21e4cy;\u444a\u0180;cw\u08f4\u21eb\u21efir;\u6948;\u61adar;\u610firc;\u4125\u0180alr\u2201\u220e\u2213rts\u0100;u\u2209\u220a\u6665it\xbb\u220alip;\u6026con;\u62b9r;\uc000\ud835\udd25s\u0100ew\u2223\u2229arow;\u6925arow;\u6926\u0280amopr\u223a\u223e\u2243\u225e\u2263rr;\u61fftht;\u623bk\u0100lr\u2249\u2253eftarrow;\u61a9ightarrow;\u61aaf;\uc000\ud835\udd59bar;\u6015\u0180clt\u226f\u2274\u2278r;\uc000\ud835\udcbdas\xe8\u21f4rok;\u4127\u0100bp\u2282\u2287ull;\u6043hen\xbb\u1c5b\u0ae1\u22a3\0\u22aa\0\u22b8\u22c5\u22ce\0\u22d5\u22f3\0\0\u22f8\u2322\u2367\u2362\u237f\0\u2386\u23aa\u23b4cute\u803b\xed\u40ed\u0180;iy\u0771\u22b0\u22b5rc\u803b\xee\u40ee;\u4438\u0100cx\u22bc\u22bfy;\u4435cl\u803b\xa1\u40a1\u0100fr\u039f\u22c9;\uc000\ud835\udd26rave\u803b\xec\u40ec\u0200;ino\u073e\u22dd\u22e9\u22ee\u0100in\u22e2\u22e6nt;\u6a0ct;\u622dfin;\u69dcta;\u6129lig;\u4133\u0180aop\u22fe\u231a\u231d\u0180cgt\u2305\u2308\u2317r;\u412b\u0180elp\u071f\u230f\u2313in\xe5\u078ear\xf4\u0720h;\u4131f;\u62b7ed;\u41b5\u0280;cfot\u04f4\u232c\u2331\u233d\u2341are;\u6105in\u0100;t\u2338\u2339\u621eie;\u69dddo\xf4\u2319\u0280;celp\u0757\u234c\u2350\u235b\u2361al;\u62ba\u0100gr\u2355\u2359er\xf3\u1563\xe3\u234darhk;\u6a17rod;\u6a3c\u0200cgpt\u236f\u2372\u2376\u237by;\u4451on;\u412ff;\uc000\ud835\udd5aa;\u43b9uest\u803b\xbf\u40bf\u0100ci\u238a\u238fr;\uc000\ud835\udcben\u0280;Edsv\u04f4\u239b\u239d\u23a1\u04f3;\u62f9ot;\u62f5\u0100;v\u23a6\u23a7\u62f4;\u62f3\u0100;i\u0777\u23aelde;\u4129\u01eb\u23b8\0\u23bccy;\u4456l\u803b\xef\u40ef\u0300cfmosu\u23cc\u23d7\u23dc\u23e1\u23e7\u23f5\u0100iy\u23d1\u23d5rc;\u4135;\u4439r;\uc000\ud835\udd27ath;\u4237pf;\uc000\ud835\udd5b\u01e3\u23ec\0\u23f1r;\uc000\ud835\udcbfrcy;\u4458kcy;\u4454\u0400acfghjos\u240b\u2416\u2422\u2427\u242d\u2431\u2435\u243bppa\u0100;v\u2413\u2414\u43ba;\u43f0\u0100ey\u241b\u2420dil;\u4137;\u443ar;\uc000\ud835\udd28reen;\u4138cy;\u4445cy;\u445cpf;\uc000\ud835\udd5ccr;\uc000\ud835\udcc0\u0b80ABEHabcdefghjlmnoprstuv\u2470\u2481\u2486\u248d\u2491\u250e\u253d\u255a\u2580\u264e\u265e\u2665\u2679\u267d\u269a\u26b2\u26d8\u275d\u2768\u278b\u27c0\u2801\u2812\u0180art\u2477\u247a\u247cr\xf2\u09c6\xf2\u0395ail;\u691barr;\u690e\u0100;g\u0994\u248b;\u6a8bar;\u6962\u0963\u24a5\0\u24aa\0\u24b1\0\0\0\0\0\u24b5\u24ba\0\u24c6\u24c8\u24cd\0\u24f9ute;\u413amptyv;\u69b4ra\xee\u084cbda;\u43bbg\u0180;dl\u088e\u24c1\u24c3;\u6991\xe5\u088e;\u6a85uo\u803b\xab\u40abr\u0400;bfhlpst\u0899\u24de\u24e6\u24e9\u24eb\u24ee\u24f1\u24f5\u0100;f\u089d\u24e3s;\u691fs;\u691d\xeb\u2252p;\u61abl;\u6939im;\u6973l;\u61a2\u0180;ae\u24ff\u2500\u2504\u6aabil;\u6919\u0100;s\u2509\u250a\u6aad;\uc000\u2aad\ufe00\u0180abr\u2515\u2519\u251drr;\u690crk;\u6772\u0100ak\u2522\u252cc\u0100ek\u2528\u252a;\u407b;\u405b\u0100es\u2531\u2533;\u698bl\u0100du\u2539\u253b;\u698f;\u698d\u0200aeuy\u2546\u254b\u2556\u2558ron;\u413e\u0100di\u2550\u2554il;\u413c\xec\u08b0\xe2\u2529;\u443b\u0200cqrs\u2563\u2566\u256d\u257da;\u6936uo\u0100;r\u0e19\u1746\u0100du\u2572\u2577har;\u6967shar;\u694bh;\u61b2\u0280;fgqs\u258b\u258c\u0989\u25f3\u25ff\u6264t\u0280ahlrt\u2598\u25a4\u25b7\u25c2\u25e8rrow\u0100;t\u0899\u25a1a\xe9\u24f6arpoon\u0100du\u25af\u25b4own\xbb\u045ap\xbb\u0966eftarrows;\u61c7ight\u0180ahs\u25cd\u25d6\u25derrow\u0100;s\u08f4\u08a7arpoon\xf3\u0f98quigarro\xf7\u21f0hreetimes;\u62cb\u0180;qs\u258b\u0993\u25falan\xf4\u09ac\u0280;cdgs\u09ac\u260a\u260d\u261d\u2628c;\u6aa8ot\u0100;o\u2614\u2615\u6a7f\u0100;r\u261a\u261b\u6a81;\u6a83\u0100;e\u2622\u2625\uc000\u22da\ufe00s;\u6a93\u0280adegs\u2633\u2639\u263d\u2649\u264bppro\xf8\u24c6ot;\u62d6q\u0100gq\u2643\u2645\xf4\u0989gt\xf2\u248c\xf4\u099bi\xed\u09b2\u0180ilr\u2655\u08e1\u265asht;\u697c;\uc000\ud835\udd29\u0100;E\u099c\u2663;\u6a91\u0161\u2669\u2676r\u0100du\u25b2\u266e\u0100;l\u0965\u2673;\u696alk;\u6584cy;\u4459\u0280;acht\u0a48\u2688\u268b\u2691\u2696r\xf2\u25c1orne\xf2\u1d08ard;\u696bri;\u65fa\u0100io\u269f\u26a4dot;\u4140ust\u0100;a\u26ac\u26ad\u63b0che\xbb\u26ad\u0200Eaes\u26bb\u26bd\u26c9\u26d4;\u6268p\u0100;p\u26c3\u26c4\u6a89rox\xbb\u26c4\u0100;q\u26ce\u26cf\u6a87\u0100;q\u26ce\u26bbim;\u62e6\u0400abnoptwz\u26e9\u26f4\u26f7\u271a\u272f\u2741\u2747\u2750\u0100nr\u26ee\u26f1g;\u67ecr;\u61fdr\xeb\u08c1g\u0180lmr\u26ff\u270d\u2714eft\u0100ar\u09e6\u2707ight\xe1\u09f2apsto;\u67fcight\xe1\u09fdparrow\u0100lr\u2725\u2729ef\xf4\u24edight;\u61ac\u0180afl\u2736\u2739\u273dr;\u6985;\uc000\ud835\udd5dus;\u6a2dimes;\u6a34\u0161\u274b\u274fst;\u6217\xe1\u134e\u0180;ef\u2757\u2758\u1800\u65cange\xbb\u2758ar\u0100;l\u2764\u2765\u4028t;\u6993\u0280achmt\u2773\u2776\u277c\u2785\u2787r\xf2\u08a8orne\xf2\u1d8car\u0100;d\u0f98\u2783;\u696d;\u600eri;\u62bf\u0300achiqt\u2798\u279d\u0a40\u27a2\u27ae\u27bbquo;\u6039r;\uc000\ud835\udcc1m\u0180;eg\u09b2\u27aa\u27ac;\u6a8d;\u6a8f\u0100bu\u252a\u27b3o\u0100;r\u0e1f\u27b9;\u601arok;\u4142\u8400<;cdhilqr\u082b\u27d2\u2639\u27dc\u27e0\u27e5\u27ea\u27f0\u0100ci\u27d7\u27d9;\u6aa6r;\u6a79re\xe5\u25f2mes;\u62c9arr;\u6976uest;\u6a7b\u0100Pi\u27f5\u27f9ar;\u6996\u0180;ef\u2800\u092d\u181b\u65c3r\u0100du\u2807\u280dshar;\u694ahar;\u6966\u0100en\u2817\u2821rtneqq;\uc000\u2268\ufe00\xc5\u281e\u0700Dacdefhilnopsu\u2840\u2845\u2882\u288e\u2893\u28a0\u28a5\u28a8\u28da\u28e2\u28e4\u0a83\u28f3\u2902Dot;\u623a\u0200clpr\u284e\u2852\u2863\u287dr\u803b\xaf\u40af\u0100et\u2857\u2859;\u6642\u0100;e\u285e\u285f\u6720se\xbb\u285f\u0100;s\u103b\u2868to\u0200;dlu\u103b\u2873\u2877\u287bow\xee\u048cef\xf4\u090f\xf0\u13d1ker;\u65ae\u0100oy\u2887\u288cmma;\u6a29;\u443cash;\u6014asuredangle\xbb\u1626r;\uc000\ud835\udd2ao;\u6127\u0180cdn\u28af\u28b4\u28c9ro\u803b\xb5\u40b5\u0200;acd\u1464\u28bd\u28c0\u28c4s\xf4\u16a7ir;\u6af0ot\u80bb\xb7\u01b5us\u0180;bd\u28d2\u1903\u28d3\u6212\u0100;u\u1d3c\u28d8;\u6a2a\u0163\u28de\u28e1p;\u6adb\xf2\u2212\xf0\u0a81\u0100dp\u28e9\u28eeels;\u62a7f;\uc000\ud835\udd5e\u0100ct\u28f8\u28fdr;\uc000\ud835\udcc2pos\xbb\u159d\u0180;lm\u2909\u290a\u290d\u43bctimap;\u62b8\u0c00GLRVabcdefghijlmoprstuvw\u2942\u2953\u297e\u2989\u2998\u29da\u29e9\u2a15\u2a1a\u2a58\u2a5d\u2a83\u2a95\u2aa4\u2aa8\u2b04\u2b07\u2b44\u2b7f\u2bae\u2c34\u2c67\u2c7c\u2ce9\u0100gt\u2947\u294b;\uc000\u22d9\u0338\u0100;v\u2950\u0bcf\uc000\u226b\u20d2\u0180elt\u295a\u2972\u2976ft\u0100ar\u2961\u2967rrow;\u61cdightarrow;\u61ce;\uc000\u22d8\u0338\u0100;v\u297b\u0c47\uc000\u226a\u20d2ightarrow;\u61cf\u0100Dd\u298e\u2993ash;\u62afash;\u62ae\u0280bcnpt\u29a3\u29a7\u29ac\u29b1\u29ccla\xbb\u02deute;\u4144g;\uc000\u2220\u20d2\u0280;Eiop\u0d84\u29bc\u29c0\u29c5\u29c8;\uc000\u2a70\u0338d;\uc000\u224b\u0338s;\u4149ro\xf8\u0d84ur\u0100;a\u29d3\u29d4\u666el\u0100;s\u29d3\u0b38\u01f3\u29df\0\u29e3p\u80bb\xa0\u0b37mp\u0100;e\u0bf9\u0c00\u0280aeouy\u29f4\u29fe\u2a03\u2a10\u2a13\u01f0\u29f9\0\u29fb;\u6a43on;\u4148dil;\u4146ng\u0100;d\u0d7e\u2a0aot;\uc000\u2a6d\u0338p;\u6a42;\u443dash;\u6013\u0380;Aadqsx\u0b92\u2a29\u2a2d\u2a3b\u2a41\u2a45\u2a50rr;\u61d7r\u0100hr\u2a33\u2a36k;\u6924\u0100;o\u13f2\u13f0ot;\uc000\u2250\u0338ui\xf6\u0b63\u0100ei\u2a4a\u2a4ear;\u6928\xed\u0b98ist\u0100;s\u0ba0\u0b9fr;\uc000\ud835\udd2b\u0200Eest\u0bc5\u2a66\u2a79\u2a7c\u0180;qs\u0bbc\u2a6d\u0be1\u0180;qs\u0bbc\u0bc5\u2a74lan\xf4\u0be2i\xed\u0bea\u0100;r\u0bb6\u2a81\xbb\u0bb7\u0180Aap\u2a8a\u2a8d\u2a91r\xf2\u2971rr;\u61aear;\u6af2\u0180;sv\u0f8d\u2a9c\u0f8c\u0100;d\u2aa1\u2aa2\u62fc;\u62facy;\u445a\u0380AEadest\u2ab7\u2aba\u2abe\u2ac2\u2ac5\u2af6\u2af9r\xf2\u2966;\uc000\u2266\u0338rr;\u619ar;\u6025\u0200;fqs\u0c3b\u2ace\u2ae3\u2aeft\u0100ar\u2ad4\u2ad9rro\xf7\u2ac1ightarro\xf7\u2a90\u0180;qs\u0c3b\u2aba\u2aealan\xf4\u0c55\u0100;s\u0c55\u2af4\xbb\u0c36i\xed\u0c5d\u0100;r\u0c35\u2afei\u0100;e\u0c1a\u0c25i\xe4\u0d90\u0100pt\u2b0c\u2b11f;\uc000\ud835\udd5f\u8180\xac;in\u2b19\u2b1a\u2b36\u40acn\u0200;Edv\u0b89\u2b24\u2b28\u2b2e;\uc000\u22f9\u0338ot;\uc000\u22f5\u0338\u01e1\u0b89\u2b33\u2b35;\u62f7;\u62f6i\u0100;v\u0cb8\u2b3c\u01e1\u0cb8\u2b41\u2b43;\u62fe;\u62fd\u0180aor\u2b4b\u2b63\u2b69r\u0200;ast\u0b7b\u2b55\u2b5a\u2b5flle\xec\u0b7bl;\uc000\u2afd\u20e5;\uc000\u2202\u0338lint;\u6a14\u0180;ce\u0c92\u2b70\u2b73u\xe5\u0ca5\u0100;c\u0c98\u2b78\u0100;e\u0c92\u2b7d\xf1\u0c98\u0200Aait\u2b88\u2b8b\u2b9d\u2ba7r\xf2\u2988rr\u0180;cw\u2b94\u2b95\u2b99\u619b;\uc000\u2933\u0338;\uc000\u219d\u0338ghtarrow\xbb\u2b95ri\u0100;e\u0ccb\u0cd6\u0380chimpqu\u2bbd\u2bcd\u2bd9\u2b04\u0b78\u2be4\u2bef\u0200;cer\u0d32\u2bc6\u0d37\u2bc9u\xe5\u0d45;\uc000\ud835\udcc3ort\u026d\u2b05\0\0\u2bd6ar\xe1\u2b56m\u0100;e\u0d6e\u2bdf\u0100;q\u0d74\u0d73su\u0100bp\u2beb\u2bed\xe5\u0cf8\xe5\u0d0b\u0180bcp\u2bf6\u2c11\u2c19\u0200;Ees\u2bff\u2c00\u0d22\u2c04\u6284;\uc000\u2ac5\u0338et\u0100;e\u0d1b\u2c0bq\u0100;q\u0d23\u2c00c\u0100;e\u0d32\u2c17\xf1\u0d38\u0200;Ees\u2c22\u2c23\u0d5f\u2c27\u6285;\uc000\u2ac6\u0338et\u0100;e\u0d58\u2c2eq\u0100;q\u0d60\u2c23\u0200gilr\u2c3d\u2c3f\u2c45\u2c47\xec\u0bd7lde\u803b\xf1\u40f1\xe7\u0c43iangle\u0100lr\u2c52\u2c5ceft\u0100;e\u0c1a\u2c5a\xf1\u0c26ight\u0100;e\u0ccb\u2c65\xf1\u0cd7\u0100;m\u2c6c\u2c6d\u43bd\u0180;es\u2c74\u2c75\u2c79\u4023ro;\u6116p;\u6007\u0480DHadgilrs\u2c8f\u2c94\u2c99\u2c9e\u2ca3\u2cb0\u2cb6\u2cd3\u2ce3ash;\u62adarr;\u6904p;\uc000\u224d\u20d2ash;\u62ac\u0100et\u2ca8\u2cac;\uc000\u2265\u20d2;\uc000>\u20d2nfin;\u69de\u0180Aet\u2cbd\u2cc1\u2cc5rr;\u6902;\uc000\u2264\u20d2\u0100;r\u2cca\u2ccd\uc000<\u20d2ie;\uc000\u22b4\u20d2\u0100At\u2cd8\u2cdcrr;\u6903rie;\uc000\u22b5\u20d2im;\uc000\u223c\u20d2\u0180Aan\u2cf0\u2cf4\u2d02rr;\u61d6r\u0100hr\u2cfa\u2cfdk;\u6923\u0100;o\u13e7\u13e5ear;\u6927\u1253\u1a95\0\0\0\0\0\0\0\0\0\0\0\0\0\u2d2d\0\u2d38\u2d48\u2d60\u2d65\u2d72\u2d84\u1b07\0\0\u2d8d\u2dab\0\u2dc8\u2dce\0\u2ddc\u2e19\u2e2b\u2e3e\u2e43\u0100cs\u2d31\u1a97ute\u803b\xf3\u40f3\u0100iy\u2d3c\u2d45r\u0100;c\u1a9e\u2d42\u803b\xf4\u40f4;\u443e\u0280abios\u1aa0\u2d52\u2d57\u01c8\u2d5alac;\u4151v;\u6a38old;\u69bclig;\u4153\u0100cr\u2d69\u2d6dir;\u69bf;\uc000\ud835\udd2c\u036f\u2d79\0\0\u2d7c\0\u2d82n;\u42dbave\u803b\xf2\u40f2;\u69c1\u0100bm\u2d88\u0df4ar;\u69b5\u0200acit\u2d95\u2d98\u2da5\u2da8r\xf2\u1a80\u0100ir\u2d9d\u2da0r;\u69beoss;\u69bbn\xe5\u0e52;\u69c0\u0180aei\u2db1\u2db5\u2db9cr;\u414dga;\u43c9\u0180cdn\u2dc0\u2dc5\u01cdron;\u43bf;\u69b6pf;\uc000\ud835\udd60\u0180ael\u2dd4\u2dd7\u01d2r;\u69b7rp;\u69b9\u0380;adiosv\u2dea\u2deb\u2dee\u2e08\u2e0d\u2e10\u2e16\u6228r\xf2\u1a86\u0200;efm\u2df7\u2df8\u2e02\u2e05\u6a5dr\u0100;o\u2dfe\u2dff\u6134f\xbb\u2dff\u803b\xaa\u40aa\u803b\xba\u40bagof;\u62b6r;\u6a56lope;\u6a57;\u6a5b\u0180clo\u2e1f\u2e21\u2e27\xf2\u2e01ash\u803b\xf8\u40f8l;\u6298i\u016c\u2e2f\u2e34de\u803b\xf5\u40f5es\u0100;a\u01db\u2e3as;\u6a36ml\u803b\xf6\u40f6bar;\u633d\u0ae1\u2e5e\0\u2e7d\0\u2e80\u2e9d\0\u2ea2\u2eb9\0\0\u2ecb\u0e9c\0\u2f13\0\0\u2f2b\u2fbc\0\u2fc8r\u0200;ast\u0403\u2e67\u2e72\u0e85\u8100\xb6;l\u2e6d\u2e6e\u40b6le\xec\u0403\u0269\u2e78\0\0\u2e7bm;\u6af3;\u6afdy;\u443fr\u0280cimpt\u2e8b\u2e8f\u2e93\u1865\u2e97nt;\u4025od;\u402eil;\u6030enk;\u6031r;\uc000\ud835\udd2d\u0180imo\u2ea8\u2eb0\u2eb4\u0100;v\u2ead\u2eae\u43c6;\u43d5ma\xf4\u0a76ne;\u660e\u0180;tv\u2ebf\u2ec0\u2ec8\u43c0chfork\xbb\u1ffd;\u43d6\u0100au\u2ecf\u2edfn\u0100ck\u2ed5\u2eddk\u0100;h\u21f4\u2edb;\u610e\xf6\u21f4s\u0480;abcdemst\u2ef3\u2ef4\u1908\u2ef9\u2efd\u2f04\u2f06\u2f0a\u2f0e\u402bcir;\u6a23ir;\u6a22\u0100ou\u1d40\u2f02;\u6a25;\u6a72n\u80bb\xb1\u0e9dim;\u6a26wo;\u6a27\u0180ipu\u2f19\u2f20\u2f25ntint;\u6a15f;\uc000\ud835\udd61nd\u803b\xa3\u40a3\u0500;Eaceinosu\u0ec8\u2f3f\u2f41\u2f44\u2f47\u2f81\u2f89\u2f92\u2f7e\u2fb6;\u6ab3p;\u6ab7u\xe5\u0ed9\u0100;c\u0ece\u2f4c\u0300;acens\u0ec8\u2f59\u2f5f\u2f66\u2f68\u2f7eppro\xf8\u2f43urlye\xf1\u0ed9\xf1\u0ece\u0180aes\u2f6f\u2f76\u2f7approx;\u6ab9qq;\u6ab5im;\u62e8i\xed\u0edfme\u0100;s\u2f88\u0eae\u6032\u0180Eas\u2f78\u2f90\u2f7a\xf0\u2f75\u0180dfp\u0eec\u2f99\u2faf\u0180als\u2fa0\u2fa5\u2faalar;\u632eine;\u6312urf;\u6313\u0100;t\u0efb\u2fb4\xef\u0efbrel;\u62b0\u0100ci\u2fc0\u2fc5r;\uc000\ud835\udcc5;\u43c8ncsp;\u6008\u0300fiopsu\u2fda\u22e2\u2fdf\u2fe5\u2feb\u2ff1r;\uc000\ud835\udd2epf;\uc000\ud835\udd62rime;\u6057cr;\uc000\ud835\udcc6\u0180aeo\u2ff8\u3009\u3013t\u0100ei\u2ffe\u3005rnion\xf3\u06b0nt;\u6a16st\u0100;e\u3010\u3011\u403f\xf1\u1f19\xf4\u0f14\u0a80ABHabcdefhilmnoprstux\u3040\u3051\u3055\u3059\u30e0\u310e\u312b\u3147\u3162\u3172\u318e\u3206\u3215\u3224\u3229\u3258\u326e\u3272\u3290\u32b0\u32b7\u0180art\u3047\u304a\u304cr\xf2\u10b3\xf2\u03ddail;\u691car\xf2\u1c65ar;\u6964\u0380cdenqrt\u3068\u3075\u3078\u307f\u308f\u3094\u30cc\u0100eu\u306d\u3071;\uc000\u223d\u0331te;\u4155i\xe3\u116emptyv;\u69b3g\u0200;del\u0fd1\u3089\u308b\u308d;\u6992;\u69a5\xe5\u0fd1uo\u803b\xbb\u40bbr\u0580;abcfhlpstw\u0fdc\u30ac\u30af\u30b7\u30b9\u30bc\u30be\u30c0\u30c3\u30c7\u30cap;\u6975\u0100;f\u0fe0\u30b4s;\u6920;\u6933s;\u691e\xeb\u225d\xf0\u272el;\u6945im;\u6974l;\u61a3;\u619d\u0100ai\u30d1\u30d5il;\u691ao\u0100;n\u30db\u30dc\u6236al\xf3\u0f1e\u0180abr\u30e7\u30ea\u30eer\xf2\u17e5rk;\u6773\u0100ak\u30f3\u30fdc\u0100ek\u30f9\u30fb;\u407d;\u405d\u0100es\u3102\u3104;\u698cl\u0100du\u310a\u310c;\u698e;\u6990\u0200aeuy\u3117\u311c\u3127\u3129ron;\u4159\u0100di\u3121\u3125il;\u4157\xec\u0ff2\xe2\u30fa;\u4440\u0200clqs\u3134\u3137\u313d\u3144a;\u6937dhar;\u6969uo\u0100;r\u020e\u020dh;\u61b3\u0180acg\u314e\u315f\u0f44l\u0200;ips\u0f78\u3158\u315b\u109cn\xe5\u10bbar\xf4\u0fa9t;\u65ad\u0180ilr\u3169\u1023\u316esht;\u697d;\uc000\ud835\udd2f\u0100ao\u3177\u3186r\u0100du\u317d\u317f\xbb\u047b\u0100;l\u1091\u3184;\u696c\u0100;v\u318b\u318c\u43c1;\u43f1\u0180gns\u3195\u31f9\u31fcht\u0300ahlrst\u31a4\u31b0\u31c2\u31d8\u31e4\u31eerrow\u0100;t\u0fdc\u31ada\xe9\u30c8arpoon\u0100du\u31bb\u31bfow\xee\u317ep\xbb\u1092eft\u0100ah\u31ca\u31d0rrow\xf3\u0feaarpoon\xf3\u0551ightarrows;\u61c9quigarro\xf7\u30cbhreetimes;\u62ccg;\u42daingdotse\xf1\u1f32\u0180ahm\u320d\u3210\u3213r\xf2\u0feaa\xf2\u0551;\u600foust\u0100;a\u321e\u321f\u63b1che\xbb\u321fmid;\u6aee\u0200abpt\u3232\u323d\u3240\u3252\u0100nr\u3237\u323ag;\u67edr;\u61fer\xeb\u1003\u0180afl\u3247\u324a\u324er;\u6986;\uc000\ud835\udd63us;\u6a2eimes;\u6a35\u0100ap\u325d\u3267r\u0100;g\u3263\u3264\u4029t;\u6994olint;\u6a12ar\xf2\u31e3\u0200achq\u327b\u3280\u10bc\u3285quo;\u603ar;\uc000\ud835\udcc7\u0100bu\u30fb\u328ao\u0100;r\u0214\u0213\u0180hir\u3297\u329b\u32a0re\xe5\u31f8mes;\u62cai\u0200;efl\u32aa\u1059\u1821\u32ab\u65b9tri;\u69celuhar;\u6968;\u611e\u0d61\u32d5\u32db\u32df\u332c\u3338\u3371\0\u337a\u33a4\0\0\u33ec\u33f0\0\u3428\u3448\u345a\u34ad\u34b1\u34ca\u34f1\0\u3616\0\0\u3633cute;\u415bqu\xef\u27ba\u0500;Eaceinpsy\u11ed\u32f3\u32f5\u32ff\u3302\u330b\u330f\u331f\u3326\u3329;\u6ab4\u01f0\u32fa\0\u32fc;\u6ab8on;\u4161u\xe5\u11fe\u0100;d\u11f3\u3307il;\u415frc;\u415d\u0180Eas\u3316\u3318\u331b;\u6ab6p;\u6abaim;\u62e9olint;\u6a13i\xed\u1204;\u4441ot\u0180;be\u3334\u1d47\u3335\u62c5;\u6a66\u0380Aacmstx\u3346\u334a\u3357\u335b\u335e\u3363\u336drr;\u61d8r\u0100hr\u3350\u3352\xeb\u2228\u0100;o\u0a36\u0a34t\u803b\xa7\u40a7i;\u403bwar;\u6929m\u0100in\u3369\xf0nu\xf3\xf1t;\u6736r\u0100;o\u3376\u2055\uc000\ud835\udd30\u0200acoy\u3382\u3386\u3391\u33a0rp;\u666f\u0100hy\u338b\u338fcy;\u4449;\u4448rt\u026d\u3399\0\0\u339ci\xe4\u1464ara\xec\u2e6f\u803b\xad\u40ad\u0100gm\u33a8\u33b4ma\u0180;fv\u33b1\u33b2\u33b2\u43c3;\u43c2\u0400;deglnpr\u12ab\u33c5\u33c9\u33ce\u33d6\u33de\u33e1\u33e6ot;\u6a6a\u0100;q\u12b1\u12b0\u0100;E\u33d3\u33d4\u6a9e;\u6aa0\u0100;E\u33db\u33dc\u6a9d;\u6a9fe;\u6246lus;\u6a24arr;\u6972ar\xf2\u113d\u0200aeit\u33f8\u3408\u340f\u3417\u0100ls\u33fd\u3404lsetm\xe9\u336ahp;\u6a33parsl;\u69e4\u0100dl\u1463\u3414e;\u6323\u0100;e\u341c\u341d\u6aaa\u0100;s\u3422\u3423\u6aac;\uc000\u2aac\ufe00\u0180flp\u342e\u3433\u3442tcy;\u444c\u0100;b\u3438\u3439\u402f\u0100;a\u343e\u343f\u69c4r;\u633ff;\uc000\ud835\udd64a\u0100dr\u344d\u0402es\u0100;u\u3454\u3455\u6660it\xbb\u3455\u0180csu\u3460\u3479\u349f\u0100au\u3465\u346fp\u0100;s\u1188\u346b;\uc000\u2293\ufe00p\u0100;s\u11b4\u3475;\uc000\u2294\ufe00u\u0100bp\u347f\u348f\u0180;es\u1197\u119c\u3486et\u0100;e\u1197\u348d\xf1\u119d\u0180;es\u11a8\u11ad\u3496et\u0100;e\u11a8\u349d\xf1\u11ae\u0180;af\u117b\u34a6\u05b0r\u0165\u34ab\u05b1\xbb\u117car\xf2\u1148\u0200cemt\u34b9\u34be\u34c2\u34c5r;\uc000\ud835\udcc8tm\xee\xf1i\xec\u3415ar\xe6\u11be\u0100ar\u34ce\u34d5r\u0100;f\u34d4\u17bf\u6606\u0100an\u34da\u34edight\u0100ep\u34e3\u34eapsilo\xee\u1ee0h\xe9\u2eafs\xbb\u2852\u0280bcmnp\u34fb\u355e\u1209\u358b\u358e\u0480;Edemnprs\u350e\u350f\u3511\u3515\u351e\u3523\u352c\u3531\u3536\u6282;\u6ac5ot;\u6abd\u0100;d\u11da\u351aot;\u6ac3ult;\u6ac1\u0100Ee\u3528\u352a;\u6acb;\u628alus;\u6abfarr;\u6979\u0180eiu\u353d\u3552\u3555t\u0180;en\u350e\u3545\u354bq\u0100;q\u11da\u350feq\u0100;q\u352b\u3528m;\u6ac7\u0100bp\u355a\u355c;\u6ad5;\u6ad3c\u0300;acens\u11ed\u356c\u3572\u3579\u357b\u3326ppro\xf8\u32faurlye\xf1\u11fe\xf1\u11f3\u0180aes\u3582\u3588\u331bppro\xf8\u331aq\xf1\u3317g;\u666a\u0680123;Edehlmnps\u35a9\u35ac\u35af\u121c\u35b2\u35b4\u35c0\u35c9\u35d5\u35da\u35df\u35e8\u35ed\u803b\xb9\u40b9\u803b\xb2\u40b2\u803b\xb3\u40b3;\u6ac6\u0100os\u35b9\u35bct;\u6abeub;\u6ad8\u0100;d\u1222\u35c5ot;\u6ac4s\u0100ou\u35cf\u35d2l;\u67c9b;\u6ad7arr;\u697bult;\u6ac2\u0100Ee\u35e4\u35e6;\u6acc;\u628blus;\u6ac0\u0180eiu\u35f4\u3609\u360ct\u0180;en\u121c\u35fc\u3602q\u0100;q\u1222\u35b2eq\u0100;q\u35e7\u35e4m;\u6ac8\u0100bp\u3611\u3613;\u6ad4;\u6ad6\u0180Aan\u361c\u3620\u362drr;\u61d9r\u0100hr\u3626\u3628\xeb\u222e\u0100;o\u0a2b\u0a29war;\u692alig\u803b\xdf\u40df\u0be1\u3651\u365d\u3660\u12ce\u3673\u3679\0\u367e\u36c2\0\0\0\0\0\u36db\u3703\0\u3709\u376c\0\0\0\u3787\u0272\u3656\0\0\u365bget;\u6316;\u43c4r\xeb\u0e5f\u0180aey\u3666\u366b\u3670ron;\u4165dil;\u4163;\u4442lrec;\u6315r;\uc000\ud835\udd31\u0200eiko\u3686\u369d\u36b5\u36bc\u01f2\u368b\0\u3691e\u01004f\u1284\u1281a\u0180;sv\u3698\u3699\u369b\u43b8ym;\u43d1\u0100cn\u36a2\u36b2k\u0100as\u36a8\u36aeppro\xf8\u12c1im\xbb\u12acs\xf0\u129e\u0100as\u36ba\u36ae\xf0\u12c1rn\u803b\xfe\u40fe\u01ec\u031f\u36c6\u22e7es\u8180\xd7;bd\u36cf\u36d0\u36d8\u40d7\u0100;a\u190f\u36d5r;\u6a31;\u6a30\u0180eps\u36e1\u36e3\u3700\xe1\u2a4d\u0200;bcf\u0486\u36ec\u36f0\u36f4ot;\u6336ir;\u6af1\u0100;o\u36f9\u36fc\uc000\ud835\udd65rk;\u6ada\xe1\u3362rime;\u6034\u0180aip\u370f\u3712\u3764d\xe5\u1248\u0380adempst\u3721\u374d\u3740\u3751\u3757\u375c\u375fngle\u0280;dlqr\u3730\u3731\u3736\u3740\u3742\u65b5own\xbb\u1dbbeft\u0100;e\u2800\u373e\xf1\u092e;\u625cight\u0100;e\u32aa\u374b\xf1\u105aot;\u65ecinus;\u6a3alus;\u6a39b;\u69cdime;\u6a3bezium;\u63e2\u0180cht\u3772\u377d\u3781\u0100ry\u3777\u377b;\uc000\ud835\udcc9;\u4446cy;\u445brok;\u4167\u0100io\u378b\u378ex\xf4\u1777head\u0100lr\u3797\u37a0eftarro\xf7\u084fightarrow\xbb\u0f5d\u0900AHabcdfghlmoprstuw\u37d0\u37d3\u37d7\u37e4\u37f0\u37fc\u380e\u381c\u3823\u3834\u3851\u385d\u386b\u38a9\u38cc\u38d2\u38ea\u38f6r\xf2\u03edar;\u6963\u0100cr\u37dc\u37e2ute\u803b\xfa\u40fa\xf2\u1150r\u01e3\u37ea\0\u37edy;\u445eve;\u416d\u0100iy\u37f5\u37farc\u803b\xfb\u40fb;\u4443\u0180abh\u3803\u3806\u380br\xf2\u13adlac;\u4171a\xf2\u13c3\u0100ir\u3813\u3818sht;\u697e;\uc000\ud835\udd32rave\u803b\xf9\u40f9\u0161\u3827\u3831r\u0100lr\u382c\u382e\xbb\u0957\xbb\u1083lk;\u6580\u0100ct\u3839\u384d\u026f\u383f\0\0\u384arn\u0100;e\u3845\u3846\u631cr\xbb\u3846op;\u630fri;\u65f8\u0100al\u3856\u385acr;\u416b\u80bb\xa8\u0349\u0100gp\u3862\u3866on;\u4173f;\uc000\ud835\udd66\u0300adhlsu\u114b\u3878\u387d\u1372\u3891\u38a0own\xe1\u13b3arpoon\u0100lr\u3888\u388cef\xf4\u382digh\xf4\u382fi\u0180;hl\u3899\u389a\u389c\u43c5\xbb\u13faon\xbb\u389aparrows;\u61c8\u0180cit\u38b0\u38c4\u38c8\u026f\u38b6\0\0\u38c1rn\u0100;e\u38bc\u38bd\u631dr\xbb\u38bdop;\u630eng;\u416fri;\u65f9cr;\uc000\ud835\udcca\u0180dir\u38d9\u38dd\u38e2ot;\u62f0lde;\u4169i\u0100;f\u3730\u38e8\xbb\u1813\u0100am\u38ef\u38f2r\xf2\u38a8l\u803b\xfc\u40fcangle;\u69a7\u0780ABDacdeflnoprsz\u391c\u391f\u3929\u392d\u39b5\u39b8\u39bd\u39df\u39e4\u39e8\u39f3\u39f9\u39fd\u3a01\u3a20r\xf2\u03f7ar\u0100;v\u3926\u3927\u6ae8;\u6ae9as\xe8\u03e1\u0100nr\u3932\u3937grt;\u699c\u0380eknprst\u34e3\u3946\u394b\u3952\u395d\u3964\u3996app\xe1\u2415othin\xe7\u1e96\u0180hir\u34eb\u2ec8\u3959op\xf4\u2fb5\u0100;h\u13b7\u3962\xef\u318d\u0100iu\u3969\u396dgm\xe1\u33b3\u0100bp\u3972\u3984setneq\u0100;q\u397d\u3980\uc000\u228a\ufe00;\uc000\u2acb\ufe00setneq\u0100;q\u398f\u3992\uc000\u228b\ufe00;\uc000\u2acc\ufe00\u0100hr\u399b\u399fet\xe1\u369ciangle\u0100lr\u39aa\u39afeft\xbb\u0925ight\xbb\u1051y;\u4432ash\xbb\u1036\u0180elr\u39c4\u39d2\u39d7\u0180;be\u2dea\u39cb\u39cfar;\u62bbq;\u625alip;\u62ee\u0100bt\u39dc\u1468a\xf2\u1469r;\uc000\ud835\udd33tr\xe9\u39aesu\u0100bp\u39ef\u39f1\xbb\u0d1c\xbb\u0d59pf;\uc000\ud835\udd67ro\xf0\u0efbtr\xe9\u39b4\u0100cu\u3a06\u3a0br;\uc000\ud835\udccb\u0100bp\u3a10\u3a18n\u0100Ee\u3980\u3a16\xbb\u397en\u0100Ee\u3992\u3a1e\xbb\u3990igzag;\u699a\u0380cefoprs\u3a36\u3a3b\u3a56\u3a5b\u3a54\u3a61\u3a6airc;\u4175\u0100di\u3a40\u3a51\u0100bg\u3a45\u3a49ar;\u6a5fe\u0100;q\u15fa\u3a4f;\u6259erp;\u6118r;\uc000\ud835\udd34pf;\uc000\ud835\udd68\u0100;e\u1479\u3a66at\xe8\u1479cr;\uc000\ud835\udccc\u0ae3\u178e\u3a87\0\u3a8b\0\u3a90\u3a9b\0\0\u3a9d\u3aa8\u3aab\u3aaf\0\0\u3ac3\u3ace\0\u3ad8\u17dc\u17dftr\xe9\u17d1r;\uc000\ud835\udd35\u0100Aa\u3a94\u3a97r\xf2\u03c3r\xf2\u09f6;\u43be\u0100Aa\u3aa1\u3aa4r\xf2\u03b8r\xf2\u09eba\xf0\u2713is;\u62fb\u0180dpt\u17a4\u3ab5\u3abe\u0100fl\u3aba\u17a9;\uc000\ud835\udd69im\xe5\u17b2\u0100Aa\u3ac7\u3acar\xf2\u03cer\xf2\u0a01\u0100cq\u3ad2\u17b8r;\uc000\ud835\udccd\u0100pt\u17d6\u3adcr\xe9\u17d4\u0400acefiosu\u3af0\u3afd\u3b08\u3b0c\u3b11\u3b15\u3b1b\u3b21c\u0100uy\u3af6\u3afbte\u803b\xfd\u40fd;\u444f\u0100iy\u3b02\u3b06rc;\u4177;\u444bn\u803b\xa5\u40a5r;\uc000\ud835\udd36cy;\u4457pf;\uc000\ud835\udd6acr;\uc000\ud835\udcce\u0100cm\u3b26\u3b29y;\u444el\u803b\xff\u40ff\u0500acdefhiosw\u3b42\u3b48\u3b54\u3b58\u3b64\u3b69\u3b6d\u3b74\u3b7a\u3b80cute;\u417a\u0100ay\u3b4d\u3b52ron;\u417e;\u4437ot;\u417c\u0100et\u3b5d\u3b61tr\xe6\u155fa;\u43b6r;\uc000\ud835\udd37cy;\u4436grarr;\u61ddpf;\uc000\ud835\udd6bcr;\uc000\ud835\udccf\u0100jn\u3b85\u3b87;\u600dj;\u600c"
|
|
64072
64086
|
.split("")
|
|
64073
|
-
.map((c) => c.charCodeAt(0)))
|
|
64087
|
+
.map((c) => c.charCodeAt(0)));
|
|
64074
64088
|
//# sourceMappingURL=decode-data-html.js.map
|
|
64075
|
-
;// ./node_modules/entities/
|
|
64089
|
+
;// ./node_modules/parse5/node_modules/entities/dist/esm/generated/decode-data-xml.js
|
|
64076
64090
|
// Generated using scripts/write-decode-map.ts
|
|
64077
|
-
|
|
64091
|
+
const decode_data_xml_xmlDecodeTree = /* #__PURE__ */ new Uint16Array(
|
|
64078
64092
|
// prettier-ignore
|
|
64079
|
-
"\u0200aglq\t\x15\x18\x1b\u026d\x0f\0\0\x12p;\u4026os;\u4027t;\u403et;\u403cuot;\u4022"
|
|
64093
|
+
/* #__PURE__ */ "\u0200aglq\t\x15\x18\x1b\u026d\x0f\0\0\x12p;\u4026os;\u4027t;\u403et;\u403cuot;\u4022"
|
|
64080
64094
|
.split("")
|
|
64081
|
-
.map((c) => c.charCodeAt(0)))
|
|
64095
|
+
.map((c) => c.charCodeAt(0)));
|
|
64082
64096
|
//# sourceMappingURL=decode-data-xml.js.map
|
|
64083
|
-
;// ./node_modules/entities/
|
|
64097
|
+
;// ./node_modules/parse5/node_modules/entities/dist/esm/decode-codepoint.js
|
|
64084
64098
|
// Adapted from https://github.com/mathiasbynens/he/blob/36afe179392226cf1b6ccdb16ebbb7a5a844d93a/src/he.js#L106-L134
|
|
64085
64099
|
var decode_codepoint_a;
|
|
64086
64100
|
const decodeMap = new Map([
|
|
@@ -64117,14 +64131,14 @@ const decodeMap = new Map([
|
|
|
64117
64131
|
/**
|
|
64118
64132
|
* Polyfill for `String.fromCodePoint`. It is used to create a string from a Unicode code point.
|
|
64119
64133
|
*/
|
|
64120
|
-
const
|
|
64121
|
-
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition,
|
|
64134
|
+
const decode_codepoint_fromCodePoint =
|
|
64135
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition, n/no-unsupported-features/es-builtins
|
|
64122
64136
|
(decode_codepoint_a = String.fromCodePoint) !== null && decode_codepoint_a !== void 0 ? decode_codepoint_a : function (codePoint) {
|
|
64123
64137
|
let output = "";
|
|
64124
|
-
if (codePoint >
|
|
64125
|
-
codePoint -=
|
|
64126
|
-
output += String.fromCharCode(((codePoint >>> 10) &
|
|
64127
|
-
codePoint =
|
|
64138
|
+
if (codePoint > 65535) {
|
|
64139
|
+
codePoint -= 65536;
|
|
64140
|
+
output += String.fromCharCode(((codePoint >>> 10) & 1023) | 55296);
|
|
64141
|
+
codePoint = 56320 | (codePoint & 1023);
|
|
64128
64142
|
}
|
|
64129
64143
|
output += String.fromCharCode(codePoint);
|
|
64130
64144
|
return output;
|
|
@@ -64136,8 +64150,9 @@ const fromCodePoint =
|
|
|
64136
64150
|
*/
|
|
64137
64151
|
function replaceCodePoint(codePoint) {
|
|
64138
64152
|
var _a;
|
|
64139
|
-
if ((codePoint >=
|
|
64140
|
-
|
|
64153
|
+
if ((codePoint >= 55296 && codePoint <= 57343) ||
|
|
64154
|
+
codePoint > 1114111) {
|
|
64155
|
+
return 65533;
|
|
64141
64156
|
}
|
|
64142
64157
|
return (_a = decodeMap.get(codePoint)) !== null && _a !== void 0 ? _a : codePoint;
|
|
64143
64158
|
}
|
|
@@ -64149,14 +64164,11 @@ function replaceCodePoint(codePoint) {
|
|
|
64149
64164
|
* @returns The decoded code point.
|
|
64150
64165
|
*/
|
|
64151
64166
|
function decodeCodePoint(codePoint) {
|
|
64152
|
-
return
|
|
64167
|
+
return decode_codepoint_fromCodePoint(replaceCodePoint(codePoint));
|
|
64153
64168
|
}
|
|
64154
|
-
//# sourceMappingURL=
|
|
64155
|
-
;// ./node_modules/entities/
|
|
64156
|
-
|
|
64157
|
-
|
|
64169
|
+
//# sourceMappingURL=decode-codepoint.js.map
|
|
64170
|
+
;// ./node_modules/parse5/node_modules/entities/dist/esm/decode.js
|
|
64158
64171
|
|
|
64159
|
-
// Re-export for use by eg. htmlparser2
|
|
64160
64172
|
|
|
64161
64173
|
|
|
64162
64174
|
var CharCodes;
|
|
@@ -64175,7 +64187,7 @@ var CharCodes;
|
|
|
64175
64187
|
CharCodes[CharCodes["UPPER_Z"] = 90] = "UPPER_Z";
|
|
64176
64188
|
})(CharCodes || (CharCodes = {}));
|
|
64177
64189
|
/** Bit that needs to be set to convert an upper case ASCII character to lower case */
|
|
64178
|
-
const TO_LOWER_BIT =
|
|
64190
|
+
const TO_LOWER_BIT = 32;
|
|
64179
64191
|
var BinTrieFlags;
|
|
64180
64192
|
(function (BinTrieFlags) {
|
|
64181
64193
|
BinTrieFlags[BinTrieFlags["VALUE_LENGTH"] = 49152] = "VALUE_LENGTH";
|
|
@@ -64276,32 +64288,32 @@ class EntityDecoder {
|
|
|
64276
64288
|
* Mirrors the implementation of `getDecoder`, but with the ability to stop decoding if the
|
|
64277
64289
|
* entity is incomplete, and resume when the next string is written.
|
|
64278
64290
|
*
|
|
64279
|
-
* @param
|
|
64291
|
+
* @param input The string containing the entity (or a continuation of the entity).
|
|
64280
64292
|
* @param offset The offset at which the entity begins. Should be 0 if this is not the first call.
|
|
64281
64293
|
* @returns The number of characters that were consumed, or -1 if the entity is incomplete.
|
|
64282
64294
|
*/
|
|
64283
|
-
write(
|
|
64295
|
+
write(input, offset) {
|
|
64284
64296
|
switch (this.state) {
|
|
64285
64297
|
case EntityDecoderState.EntityStart: {
|
|
64286
|
-
if (
|
|
64298
|
+
if (input.charCodeAt(offset) === CharCodes.NUM) {
|
|
64287
64299
|
this.state = EntityDecoderState.NumericStart;
|
|
64288
64300
|
this.consumed += 1;
|
|
64289
|
-
return this.stateNumericStart(
|
|
64301
|
+
return this.stateNumericStart(input, offset + 1);
|
|
64290
64302
|
}
|
|
64291
64303
|
this.state = EntityDecoderState.NamedEntity;
|
|
64292
|
-
return this.stateNamedEntity(
|
|
64304
|
+
return this.stateNamedEntity(input, offset);
|
|
64293
64305
|
}
|
|
64294
64306
|
case EntityDecoderState.NumericStart: {
|
|
64295
|
-
return this.stateNumericStart(
|
|
64307
|
+
return this.stateNumericStart(input, offset);
|
|
64296
64308
|
}
|
|
64297
64309
|
case EntityDecoderState.NumericDecimal: {
|
|
64298
|
-
return this.stateNumericDecimal(
|
|
64310
|
+
return this.stateNumericDecimal(input, offset);
|
|
64299
64311
|
}
|
|
64300
64312
|
case EntityDecoderState.NumericHex: {
|
|
64301
|
-
return this.stateNumericHex(
|
|
64313
|
+
return this.stateNumericHex(input, offset);
|
|
64302
64314
|
}
|
|
64303
64315
|
case EntityDecoderState.NamedEntity: {
|
|
64304
|
-
return this.stateNamedEntity(
|
|
64316
|
+
return this.stateNamedEntity(input, offset);
|
|
64305
64317
|
}
|
|
64306
64318
|
}
|
|
64307
64319
|
}
|
|
@@ -64310,28 +64322,28 @@ class EntityDecoder {
|
|
|
64310
64322
|
*
|
|
64311
64323
|
* Equivalent to the `Numeric character reference state` in the HTML spec.
|
|
64312
64324
|
*
|
|
64313
|
-
* @param
|
|
64325
|
+
* @param input The string containing the entity (or a continuation of the entity).
|
|
64314
64326
|
* @param offset The current offset.
|
|
64315
64327
|
* @returns The number of characters that were consumed, or -1 if the entity is incomplete.
|
|
64316
64328
|
*/
|
|
64317
|
-
stateNumericStart(
|
|
64318
|
-
if (offset >=
|
|
64329
|
+
stateNumericStart(input, offset) {
|
|
64330
|
+
if (offset >= input.length) {
|
|
64319
64331
|
return -1;
|
|
64320
64332
|
}
|
|
64321
|
-
if ((
|
|
64333
|
+
if ((input.charCodeAt(offset) | TO_LOWER_BIT) === CharCodes.LOWER_X) {
|
|
64322
64334
|
this.state = EntityDecoderState.NumericHex;
|
|
64323
64335
|
this.consumed += 1;
|
|
64324
|
-
return this.stateNumericHex(
|
|
64336
|
+
return this.stateNumericHex(input, offset + 1);
|
|
64325
64337
|
}
|
|
64326
64338
|
this.state = EntityDecoderState.NumericDecimal;
|
|
64327
|
-
return this.stateNumericDecimal(
|
|
64339
|
+
return this.stateNumericDecimal(input, offset);
|
|
64328
64340
|
}
|
|
64329
|
-
addToNumericResult(
|
|
64341
|
+
addToNumericResult(input, start, end, base) {
|
|
64330
64342
|
if (start !== end) {
|
|
64331
64343
|
const digitCount = end - start;
|
|
64332
64344
|
this.result =
|
|
64333
64345
|
this.result * Math.pow(base, digitCount) +
|
|
64334
|
-
parseInt(
|
|
64346
|
+
Number.parseInt(input.substr(start, digitCount), base);
|
|
64335
64347
|
this.consumed += digitCount;
|
|
64336
64348
|
}
|
|
64337
64349
|
}
|
|
@@ -64340,23 +64352,23 @@ class EntityDecoder {
|
|
|
64340
64352
|
*
|
|
64341
64353
|
* Equivalent to the `Hexademical character reference state` in the HTML spec.
|
|
64342
64354
|
*
|
|
64343
|
-
* @param
|
|
64355
|
+
* @param input The string containing the entity (or a continuation of the entity).
|
|
64344
64356
|
* @param offset The current offset.
|
|
64345
64357
|
* @returns The number of characters that were consumed, or -1 if the entity is incomplete.
|
|
64346
64358
|
*/
|
|
64347
|
-
stateNumericHex(
|
|
64348
|
-
const
|
|
64349
|
-
while (offset <
|
|
64350
|
-
const char =
|
|
64359
|
+
stateNumericHex(input, offset) {
|
|
64360
|
+
const startIndex = offset;
|
|
64361
|
+
while (offset < input.length) {
|
|
64362
|
+
const char = input.charCodeAt(offset);
|
|
64351
64363
|
if (isNumber(char) || isHexadecimalCharacter(char)) {
|
|
64352
64364
|
offset += 1;
|
|
64353
64365
|
}
|
|
64354
64366
|
else {
|
|
64355
|
-
this.addToNumericResult(
|
|
64367
|
+
this.addToNumericResult(input, startIndex, offset, 16);
|
|
64356
64368
|
return this.emitNumericEntity(char, 3);
|
|
64357
64369
|
}
|
|
64358
64370
|
}
|
|
64359
|
-
this.addToNumericResult(
|
|
64371
|
+
this.addToNumericResult(input, startIndex, offset, 16);
|
|
64360
64372
|
return -1;
|
|
64361
64373
|
}
|
|
64362
64374
|
/**
|
|
@@ -64364,23 +64376,23 @@ class EntityDecoder {
|
|
|
64364
64376
|
*
|
|
64365
64377
|
* Equivalent to the `Decimal character reference state` in the HTML spec.
|
|
64366
64378
|
*
|
|
64367
|
-
* @param
|
|
64379
|
+
* @param input The string containing the entity (or a continuation of the entity).
|
|
64368
64380
|
* @param offset The current offset.
|
|
64369
64381
|
* @returns The number of characters that were consumed, or -1 if the entity is incomplete.
|
|
64370
64382
|
*/
|
|
64371
|
-
stateNumericDecimal(
|
|
64372
|
-
const
|
|
64373
|
-
while (offset <
|
|
64374
|
-
const char =
|
|
64383
|
+
stateNumericDecimal(input, offset) {
|
|
64384
|
+
const startIndex = offset;
|
|
64385
|
+
while (offset < input.length) {
|
|
64386
|
+
const char = input.charCodeAt(offset);
|
|
64375
64387
|
if (isNumber(char)) {
|
|
64376
64388
|
offset += 1;
|
|
64377
64389
|
}
|
|
64378
64390
|
else {
|
|
64379
|
-
this.addToNumericResult(
|
|
64391
|
+
this.addToNumericResult(input, startIndex, offset, 10);
|
|
64380
64392
|
return this.emitNumericEntity(char, 2);
|
|
64381
64393
|
}
|
|
64382
64394
|
}
|
|
64383
|
-
this.addToNumericResult(
|
|
64395
|
+
this.addToNumericResult(input, startIndex, offset, 10);
|
|
64384
64396
|
return -1;
|
|
64385
64397
|
}
|
|
64386
64398
|
/**
|
|
@@ -64424,17 +64436,17 @@ class EntityDecoder {
|
|
|
64424
64436
|
*
|
|
64425
64437
|
* Equivalent to the `Named character reference state` in the HTML spec.
|
|
64426
64438
|
*
|
|
64427
|
-
* @param
|
|
64439
|
+
* @param input The string containing the entity (or a continuation of the entity).
|
|
64428
64440
|
* @param offset The current offset.
|
|
64429
64441
|
* @returns The number of characters that were consumed, or -1 if the entity is incomplete.
|
|
64430
64442
|
*/
|
|
64431
|
-
stateNamedEntity(
|
|
64443
|
+
stateNamedEntity(input, offset) {
|
|
64432
64444
|
const { decodeTree } = this;
|
|
64433
64445
|
let current = decodeTree[this.treeIndex];
|
|
64434
64446
|
// The mask is the number of bytes of the value, including the current byte.
|
|
64435
64447
|
let valueLength = (current & BinTrieFlags.VALUE_LENGTH) >> 14;
|
|
64436
|
-
for (; offset <
|
|
64437
|
-
const char =
|
|
64448
|
+
for (; offset < input.length; offset++, this.excess++) {
|
|
64449
|
+
const char = input.charCodeAt(offset);
|
|
64438
64450
|
this.treeIndex = determineBranch(decodeTree, current, this.treeIndex + Math.max(1, valueLength), char);
|
|
64439
64451
|
if (this.treeIndex < 0) {
|
|
64440
64452
|
return this.result === 0 ||
|
|
@@ -64541,28 +64553,28 @@ class EntityDecoder {
|
|
|
64541
64553
|
* @returns A function that decodes entities in a string.
|
|
64542
64554
|
*/
|
|
64543
64555
|
function getDecoder(decodeTree) {
|
|
64544
|
-
let
|
|
64545
|
-
const decoder = new EntityDecoder(decodeTree, (
|
|
64546
|
-
return function decodeWithTrie(
|
|
64556
|
+
let returnValue = "";
|
|
64557
|
+
const decoder = new EntityDecoder(decodeTree, (data) => (returnValue += fromCodePoint(data)));
|
|
64558
|
+
return function decodeWithTrie(input, decodeMode) {
|
|
64547
64559
|
let lastIndex = 0;
|
|
64548
64560
|
let offset = 0;
|
|
64549
|
-
while ((offset =
|
|
64550
|
-
|
|
64561
|
+
while ((offset = input.indexOf("&", offset)) >= 0) {
|
|
64562
|
+
returnValue += input.slice(lastIndex, offset);
|
|
64551
64563
|
decoder.startEntity(decodeMode);
|
|
64552
|
-
const
|
|
64564
|
+
const length = decoder.write(input,
|
|
64553
64565
|
// Skip the "&"
|
|
64554
64566
|
offset + 1);
|
|
64555
|
-
if (
|
|
64567
|
+
if (length < 0) {
|
|
64556
64568
|
lastIndex = offset + decoder.end();
|
|
64557
64569
|
break;
|
|
64558
64570
|
}
|
|
64559
|
-
lastIndex = offset +
|
|
64560
|
-
// If `
|
|
64561
|
-
offset =
|
|
64571
|
+
lastIndex = offset + length;
|
|
64572
|
+
// If `length` is 0, skip the current `&` and continue.
|
|
64573
|
+
offset = length === 0 ? lastIndex + 1 : lastIndex;
|
|
64562
64574
|
}
|
|
64563
|
-
const result =
|
|
64575
|
+
const result = returnValue + input.slice(lastIndex);
|
|
64564
64576
|
// Make sure we don't keep a reference to the final string.
|
|
64565
|
-
|
|
64577
|
+
returnValue = "";
|
|
64566
64578
|
return result;
|
|
64567
64579
|
};
|
|
64568
64580
|
}
|
|
@@ -64576,31 +64588,31 @@ function getDecoder(decodeTree) {
|
|
|
64576
64588
|
* @param char The current character.
|
|
64577
64589
|
* @returns The index of the next node, or -1 if no branch is taken.
|
|
64578
64590
|
*/
|
|
64579
|
-
function determineBranch(decodeTree, current,
|
|
64591
|
+
function determineBranch(decodeTree, current, nodeIndex, char) {
|
|
64580
64592
|
const branchCount = (current & BinTrieFlags.BRANCH_LENGTH) >> 7;
|
|
64581
64593
|
const jumpOffset = current & BinTrieFlags.JUMP_TABLE;
|
|
64582
64594
|
// Case 1: Single branch encoded in jump offset
|
|
64583
64595
|
if (branchCount === 0) {
|
|
64584
|
-
return jumpOffset !== 0 && char === jumpOffset ?
|
|
64596
|
+
return jumpOffset !== 0 && char === jumpOffset ? nodeIndex : -1;
|
|
64585
64597
|
}
|
|
64586
64598
|
// Case 2: Multiple branches encoded in jump table
|
|
64587
64599
|
if (jumpOffset) {
|
|
64588
64600
|
const value = char - jumpOffset;
|
|
64589
64601
|
return value < 0 || value >= branchCount
|
|
64590
64602
|
? -1
|
|
64591
|
-
: decodeTree[
|
|
64603
|
+
: decodeTree[nodeIndex + value] - 1;
|
|
64592
64604
|
}
|
|
64593
64605
|
// Case 3: Multiple branches encoded in dictionary
|
|
64594
64606
|
// Binary search for the character.
|
|
64595
|
-
let lo =
|
|
64607
|
+
let lo = nodeIndex;
|
|
64596
64608
|
let hi = lo + branchCount - 1;
|
|
64597
64609
|
while (lo <= hi) {
|
|
64598
64610
|
const mid = (lo + hi) >>> 1;
|
|
64599
|
-
const
|
|
64600
|
-
if (
|
|
64611
|
+
const midValue = decodeTree[mid];
|
|
64612
|
+
if (midValue < char) {
|
|
64601
64613
|
lo = mid + 1;
|
|
64602
64614
|
}
|
|
64603
|
-
else if (
|
|
64615
|
+
else if (midValue > char) {
|
|
64604
64616
|
hi = mid - 1;
|
|
64605
64617
|
}
|
|
64606
64618
|
else {
|
|
@@ -64609,45 +64621,49 @@ function determineBranch(decodeTree, current, nodeIdx, char) {
|
|
|
64609
64621
|
}
|
|
64610
64622
|
return -1;
|
|
64611
64623
|
}
|
|
64612
|
-
const htmlDecoder = getDecoder(
|
|
64613
|
-
const xmlDecoder = getDecoder(
|
|
64624
|
+
const htmlDecoder = /* #__PURE__ */ (/* unused pure expression or super */ null && (getDecoder(htmlDecodeTree)));
|
|
64625
|
+
const xmlDecoder = /* #__PURE__ */ (/* unused pure expression or super */ null && (getDecoder(xmlDecodeTree)));
|
|
64614
64626
|
/**
|
|
64615
64627
|
* Decodes an HTML string.
|
|
64616
64628
|
*
|
|
64617
|
-
* @param
|
|
64629
|
+
* @param htmlString The string to decode.
|
|
64618
64630
|
* @param mode The decoding mode.
|
|
64619
64631
|
* @returns The decoded string.
|
|
64620
64632
|
*/
|
|
64621
|
-
function decode_decodeHTML(
|
|
64622
|
-
return htmlDecoder(
|
|
64633
|
+
function decode_decodeHTML(htmlString, mode = decode_DecodingMode.Legacy) {
|
|
64634
|
+
return htmlDecoder(htmlString, mode);
|
|
64623
64635
|
}
|
|
64624
64636
|
/**
|
|
64625
64637
|
* Decodes an HTML string in an attribute.
|
|
64626
64638
|
*
|
|
64627
|
-
* @param
|
|
64639
|
+
* @param htmlAttribute The string to decode.
|
|
64628
64640
|
* @returns The decoded string.
|
|
64629
64641
|
*/
|
|
64630
|
-
function decodeHTMLAttribute(
|
|
64631
|
-
return htmlDecoder(
|
|
64642
|
+
function decodeHTMLAttribute(htmlAttribute) {
|
|
64643
|
+
return htmlDecoder(htmlAttribute, decode_DecodingMode.Attribute);
|
|
64632
64644
|
}
|
|
64633
64645
|
/**
|
|
64634
64646
|
* Decodes an HTML string, requiring all entities to be terminated by a semicolon.
|
|
64635
64647
|
*
|
|
64636
|
-
* @param
|
|
64648
|
+
* @param htmlString The string to decode.
|
|
64637
64649
|
* @returns The decoded string.
|
|
64638
64650
|
*/
|
|
64639
|
-
function decodeHTMLStrict(
|
|
64640
|
-
return htmlDecoder(
|
|
64651
|
+
function decodeHTMLStrict(htmlString) {
|
|
64652
|
+
return htmlDecoder(htmlString, decode_DecodingMode.Strict);
|
|
64641
64653
|
}
|
|
64642
64654
|
/**
|
|
64643
64655
|
* Decodes an XML string, requiring all entities to be terminated by a semicolon.
|
|
64644
64656
|
*
|
|
64645
|
-
* @param
|
|
64657
|
+
* @param xmlString The string to decode.
|
|
64646
64658
|
* @returns The decoded string.
|
|
64647
64659
|
*/
|
|
64648
|
-
function decode_decodeXML(
|
|
64649
|
-
return xmlDecoder(
|
|
64660
|
+
function decode_decodeXML(xmlString) {
|
|
64661
|
+
return xmlDecoder(xmlString, decode_DecodingMode.Strict);
|
|
64650
64662
|
}
|
|
64663
|
+
// Re-export for use by eg. htmlparser2
|
|
64664
|
+
|
|
64665
|
+
|
|
64666
|
+
|
|
64651
64667
|
//# sourceMappingURL=decode.js.map
|
|
64652
64668
|
;// ./node_modules/parse5/dist/common/html.js
|
|
64653
64669
|
/** All valid namespaces in HTML. */
|
|
@@ -64659,7 +64675,7 @@ var html_NS;
|
|
|
64659
64675
|
NS["XLINK"] = "http://www.w3.org/1999/xlink";
|
|
64660
64676
|
NS["XML"] = "http://www.w3.org/XML/1998/namespace";
|
|
64661
64677
|
NS["XMLNS"] = "http://www.w3.org/2000/xmlns/";
|
|
64662
|
-
})(html_NS
|
|
64678
|
+
})(html_NS || (html_NS = {}));
|
|
64663
64679
|
var ATTRS;
|
|
64664
64680
|
(function (ATTRS) {
|
|
64665
64681
|
ATTRS["TYPE"] = "type";
|
|
@@ -64670,7 +64686,7 @@ var ATTRS;
|
|
|
64670
64686
|
ATTRS["COLOR"] = "color";
|
|
64671
64687
|
ATTRS["FACE"] = "face";
|
|
64672
64688
|
ATTRS["SIZE"] = "size";
|
|
64673
|
-
})(ATTRS
|
|
64689
|
+
})(ATTRS || (ATTRS = {}));
|
|
64674
64690
|
/**
|
|
64675
64691
|
* The mode of the document.
|
|
64676
64692
|
*
|
|
@@ -64681,7 +64697,7 @@ var DOCUMENT_MODE;
|
|
|
64681
64697
|
DOCUMENT_MODE["NO_QUIRKS"] = "no-quirks";
|
|
64682
64698
|
DOCUMENT_MODE["QUIRKS"] = "quirks";
|
|
64683
64699
|
DOCUMENT_MODE["LIMITED_QUIRKS"] = "limited-quirks";
|
|
64684
|
-
})(DOCUMENT_MODE
|
|
64700
|
+
})(DOCUMENT_MODE || (DOCUMENT_MODE = {}));
|
|
64685
64701
|
var TAG_NAMES;
|
|
64686
64702
|
(function (TAG_NAMES) {
|
|
64687
64703
|
TAG_NAMES["A"] = "a";
|
|
@@ -64777,6 +64793,7 @@ var TAG_NAMES;
|
|
|
64777
64793
|
TAG_NAMES["RUBY"] = "ruby";
|
|
64778
64794
|
TAG_NAMES["S"] = "s";
|
|
64779
64795
|
TAG_NAMES["SCRIPT"] = "script";
|
|
64796
|
+
TAG_NAMES["SEARCH"] = "search";
|
|
64780
64797
|
TAG_NAMES["SECTION"] = "section";
|
|
64781
64798
|
TAG_NAMES["SELECT"] = "select";
|
|
64782
64799
|
TAG_NAMES["SOURCE"] = "source";
|
|
@@ -64806,7 +64823,7 @@ var TAG_NAMES;
|
|
|
64806
64823
|
TAG_NAMES["VAR"] = "var";
|
|
64807
64824
|
TAG_NAMES["WBR"] = "wbr";
|
|
64808
64825
|
TAG_NAMES["XMP"] = "xmp";
|
|
64809
|
-
})(TAG_NAMES
|
|
64826
|
+
})(TAG_NAMES || (TAG_NAMES = {}));
|
|
64810
64827
|
/**
|
|
64811
64828
|
* Tag IDs are numeric IDs for known tag names.
|
|
64812
64829
|
*
|
|
@@ -64908,36 +64925,37 @@ var TAG_ID;
|
|
|
64908
64925
|
TAG_ID[TAG_ID["RUBY"] = 91] = "RUBY";
|
|
64909
64926
|
TAG_ID[TAG_ID["S"] = 92] = "S";
|
|
64910
64927
|
TAG_ID[TAG_ID["SCRIPT"] = 93] = "SCRIPT";
|
|
64911
|
-
TAG_ID[TAG_ID["
|
|
64912
|
-
TAG_ID[TAG_ID["
|
|
64913
|
-
TAG_ID[TAG_ID["
|
|
64914
|
-
TAG_ID[TAG_ID["
|
|
64915
|
-
TAG_ID[TAG_ID["
|
|
64916
|
-
TAG_ID[TAG_ID["
|
|
64917
|
-
TAG_ID[TAG_ID["
|
|
64918
|
-
TAG_ID[TAG_ID["
|
|
64919
|
-
TAG_ID[TAG_ID["
|
|
64920
|
-
TAG_ID[TAG_ID["
|
|
64921
|
-
TAG_ID[TAG_ID["
|
|
64922
|
-
TAG_ID[TAG_ID["
|
|
64923
|
-
TAG_ID[TAG_ID["
|
|
64924
|
-
TAG_ID[TAG_ID["
|
|
64925
|
-
TAG_ID[TAG_ID["
|
|
64926
|
-
TAG_ID[TAG_ID["
|
|
64927
|
-
TAG_ID[TAG_ID["
|
|
64928
|
-
TAG_ID[TAG_ID["
|
|
64929
|
-
TAG_ID[TAG_ID["
|
|
64930
|
-
TAG_ID[TAG_ID["
|
|
64931
|
-
TAG_ID[TAG_ID["
|
|
64932
|
-
TAG_ID[TAG_ID["
|
|
64933
|
-
TAG_ID[TAG_ID["
|
|
64934
|
-
TAG_ID[TAG_ID["
|
|
64935
|
-
TAG_ID[TAG_ID["
|
|
64936
|
-
TAG_ID[TAG_ID["
|
|
64937
|
-
TAG_ID[TAG_ID["
|
|
64938
|
-
TAG_ID[TAG_ID["
|
|
64939
|
-
TAG_ID[TAG_ID["
|
|
64940
|
-
|
|
64928
|
+
TAG_ID[TAG_ID["SEARCH"] = 94] = "SEARCH";
|
|
64929
|
+
TAG_ID[TAG_ID["SECTION"] = 95] = "SECTION";
|
|
64930
|
+
TAG_ID[TAG_ID["SELECT"] = 96] = "SELECT";
|
|
64931
|
+
TAG_ID[TAG_ID["SOURCE"] = 97] = "SOURCE";
|
|
64932
|
+
TAG_ID[TAG_ID["SMALL"] = 98] = "SMALL";
|
|
64933
|
+
TAG_ID[TAG_ID["SPAN"] = 99] = "SPAN";
|
|
64934
|
+
TAG_ID[TAG_ID["STRIKE"] = 100] = "STRIKE";
|
|
64935
|
+
TAG_ID[TAG_ID["STRONG"] = 101] = "STRONG";
|
|
64936
|
+
TAG_ID[TAG_ID["STYLE"] = 102] = "STYLE";
|
|
64937
|
+
TAG_ID[TAG_ID["SUB"] = 103] = "SUB";
|
|
64938
|
+
TAG_ID[TAG_ID["SUMMARY"] = 104] = "SUMMARY";
|
|
64939
|
+
TAG_ID[TAG_ID["SUP"] = 105] = "SUP";
|
|
64940
|
+
TAG_ID[TAG_ID["TABLE"] = 106] = "TABLE";
|
|
64941
|
+
TAG_ID[TAG_ID["TBODY"] = 107] = "TBODY";
|
|
64942
|
+
TAG_ID[TAG_ID["TEMPLATE"] = 108] = "TEMPLATE";
|
|
64943
|
+
TAG_ID[TAG_ID["TEXTAREA"] = 109] = "TEXTAREA";
|
|
64944
|
+
TAG_ID[TAG_ID["TFOOT"] = 110] = "TFOOT";
|
|
64945
|
+
TAG_ID[TAG_ID["TD"] = 111] = "TD";
|
|
64946
|
+
TAG_ID[TAG_ID["TH"] = 112] = "TH";
|
|
64947
|
+
TAG_ID[TAG_ID["THEAD"] = 113] = "THEAD";
|
|
64948
|
+
TAG_ID[TAG_ID["TITLE"] = 114] = "TITLE";
|
|
64949
|
+
TAG_ID[TAG_ID["TR"] = 115] = "TR";
|
|
64950
|
+
TAG_ID[TAG_ID["TRACK"] = 116] = "TRACK";
|
|
64951
|
+
TAG_ID[TAG_ID["TT"] = 117] = "TT";
|
|
64952
|
+
TAG_ID[TAG_ID["U"] = 118] = "U";
|
|
64953
|
+
TAG_ID[TAG_ID["UL"] = 119] = "UL";
|
|
64954
|
+
TAG_ID[TAG_ID["SVG"] = 120] = "SVG";
|
|
64955
|
+
TAG_ID[TAG_ID["VAR"] = 121] = "VAR";
|
|
64956
|
+
TAG_ID[TAG_ID["WBR"] = 122] = "WBR";
|
|
64957
|
+
TAG_ID[TAG_ID["XMP"] = 123] = "XMP";
|
|
64958
|
+
})(TAG_ID || (TAG_ID = {}));
|
|
64941
64959
|
const TAG_NAME_TO_ID = new Map([
|
|
64942
64960
|
[TAG_NAMES.A, TAG_ID.A],
|
|
64943
64961
|
[TAG_NAMES.ADDRESS, TAG_ID.ADDRESS],
|
|
@@ -65032,6 +65050,7 @@ const TAG_NAME_TO_ID = new Map([
|
|
|
65032
65050
|
[TAG_NAMES.RUBY, TAG_ID.RUBY],
|
|
65033
65051
|
[TAG_NAMES.S, TAG_ID.S],
|
|
65034
65052
|
[TAG_NAMES.SCRIPT, TAG_ID.SCRIPT],
|
|
65053
|
+
[TAG_NAMES.SEARCH, TAG_ID.SEARCH],
|
|
65035
65054
|
[TAG_NAMES.SECTION, TAG_ID.SECTION],
|
|
65036
65055
|
[TAG_NAMES.SELECT, TAG_ID.SELECT],
|
|
65037
65056
|
[TAG_NAMES.SOURCE, TAG_ID.SOURCE],
|
|
@@ -65157,9 +65176,7 @@ const SPECIAL_ELEMENTS = {
|
|
|
65157
65176
|
[html_NS.XML]: new Set(),
|
|
65158
65177
|
[html_NS.XMLNS]: new Set(),
|
|
65159
65178
|
};
|
|
65160
|
-
|
|
65161
|
-
return tn === html_$.H1 || tn === html_$.H2 || tn === html_$.H3 || tn === html_$.H4 || tn === html_$.H5 || tn === html_$.H6;
|
|
65162
|
-
}
|
|
65179
|
+
const NUMBERED_HEADERS = new Set([html_$.H1, html_$.H2, html_$.H3, html_$.H4, html_$.H5, html_$.H6]);
|
|
65163
65180
|
const UNESCAPED_TEXT = new Set([
|
|
65164
65181
|
TAG_NAMES.STYLE,
|
|
65165
65182
|
TAG_NAMES.SCRIPT,
|
|
@@ -65172,7 +65189,7 @@ const UNESCAPED_TEXT = new Set([
|
|
|
65172
65189
|
function html_hasUnescapedText(tn, scriptingEnabled) {
|
|
65173
65190
|
return UNESCAPED_TEXT.has(tn) || (scriptingEnabled && tn === TAG_NAMES.NOSCRIPT);
|
|
65174
65191
|
}
|
|
65175
|
-
|
|
65192
|
+
|
|
65176
65193
|
;// ./node_modules/parse5/dist/tokenizer/index.js
|
|
65177
65194
|
|
|
65178
65195
|
|
|
@@ -65180,36 +65197,6 @@ function html_hasUnescapedText(tn, scriptingEnabled) {
|
|
|
65180
65197
|
|
|
65181
65198
|
|
|
65182
65199
|
|
|
65183
|
-
//C1 Unicode control character reference replacements
|
|
65184
|
-
const C1_CONTROLS_REFERENCE_REPLACEMENTS = new Map([
|
|
65185
|
-
[0x80, 8364],
|
|
65186
|
-
[0x82, 8218],
|
|
65187
|
-
[0x83, 402],
|
|
65188
|
-
[0x84, 8222],
|
|
65189
|
-
[0x85, 8230],
|
|
65190
|
-
[0x86, 8224],
|
|
65191
|
-
[0x87, 8225],
|
|
65192
|
-
[0x88, 710],
|
|
65193
|
-
[0x89, 8240],
|
|
65194
|
-
[0x8a, 352],
|
|
65195
|
-
[0x8b, 8249],
|
|
65196
|
-
[0x8c, 338],
|
|
65197
|
-
[0x8e, 381],
|
|
65198
|
-
[0x91, 8216],
|
|
65199
|
-
[0x92, 8217],
|
|
65200
|
-
[0x93, 8220],
|
|
65201
|
-
[0x94, 8221],
|
|
65202
|
-
[0x95, 8226],
|
|
65203
|
-
[0x96, 8211],
|
|
65204
|
-
[0x97, 8212],
|
|
65205
|
-
[0x98, 732],
|
|
65206
|
-
[0x99, 8482],
|
|
65207
|
-
[0x9a, 353],
|
|
65208
|
-
[0x9b, 8250],
|
|
65209
|
-
[0x9c, 339],
|
|
65210
|
-
[0x9e, 382],
|
|
65211
|
-
[0x9f, 376],
|
|
65212
|
-
]);
|
|
65213
65200
|
//States
|
|
65214
65201
|
var State;
|
|
65215
65202
|
(function (State) {
|
|
@@ -65285,13 +65272,7 @@ var State;
|
|
|
65285
65272
|
State[State["CDATA_SECTION_BRACKET"] = 69] = "CDATA_SECTION_BRACKET";
|
|
65286
65273
|
State[State["CDATA_SECTION_END"] = 70] = "CDATA_SECTION_END";
|
|
65287
65274
|
State[State["CHARACTER_REFERENCE"] = 71] = "CHARACTER_REFERENCE";
|
|
65288
|
-
State[State["
|
|
65289
|
-
State[State["AMBIGUOUS_AMPERSAND"] = 73] = "AMBIGUOUS_AMPERSAND";
|
|
65290
|
-
State[State["NUMERIC_CHARACTER_REFERENCE"] = 74] = "NUMERIC_CHARACTER_REFERENCE";
|
|
65291
|
-
State[State["HEXADEMICAL_CHARACTER_REFERENCE_START"] = 75] = "HEXADEMICAL_CHARACTER_REFERENCE_START";
|
|
65292
|
-
State[State["HEXADEMICAL_CHARACTER_REFERENCE"] = 76] = "HEXADEMICAL_CHARACTER_REFERENCE";
|
|
65293
|
-
State[State["DECIMAL_CHARACTER_REFERENCE"] = 77] = "DECIMAL_CHARACTER_REFERENCE";
|
|
65294
|
-
State[State["NUMERIC_CHARACTER_REFERENCE_END"] = 78] = "NUMERIC_CHARACTER_REFERENCE_END";
|
|
65275
|
+
State[State["AMBIGUOUS_AMPERSAND"] = 72] = "AMBIGUOUS_AMPERSAND";
|
|
65295
65276
|
})(State || (State = {}));
|
|
65296
65277
|
//Tokenizer initial states for different modes
|
|
65297
65278
|
const TokenizerMode = {
|
|
@@ -65321,27 +65302,33 @@ function isAsciiLetter(cp) {
|
|
|
65321
65302
|
function tokenizer_isAsciiAlphaNumeric(cp) {
|
|
65322
65303
|
return isAsciiLetter(cp) || isAsciiDigit(cp);
|
|
65323
65304
|
}
|
|
65324
|
-
function isAsciiUpperHexDigit(cp) {
|
|
65325
|
-
return cp >= CODE_POINTS.LATIN_CAPITAL_A && cp <= CODE_POINTS.LATIN_CAPITAL_F;
|
|
65326
|
-
}
|
|
65327
|
-
function isAsciiLowerHexDigit(cp) {
|
|
65328
|
-
return cp >= CODE_POINTS.LATIN_SMALL_A && cp <= CODE_POINTS.LATIN_SMALL_F;
|
|
65329
|
-
}
|
|
65330
|
-
function isAsciiHexDigit(cp) {
|
|
65331
|
-
return isAsciiDigit(cp) || isAsciiUpperHexDigit(cp) || isAsciiLowerHexDigit(cp);
|
|
65332
|
-
}
|
|
65333
65305
|
function toAsciiLower(cp) {
|
|
65334
65306
|
return cp + 32;
|
|
65335
65307
|
}
|
|
65336
65308
|
function isWhitespace(cp) {
|
|
65337
65309
|
return cp === CODE_POINTS.SPACE || cp === CODE_POINTS.LINE_FEED || cp === CODE_POINTS.TABULATION || cp === CODE_POINTS.FORM_FEED;
|
|
65338
65310
|
}
|
|
65339
|
-
function tokenizer_isEntityInAttributeInvalidEnd(nextCp) {
|
|
65340
|
-
return nextCp === CODE_POINTS.EQUALS_SIGN || tokenizer_isAsciiAlphaNumeric(nextCp);
|
|
65341
|
-
}
|
|
65342
65311
|
function isScriptDataDoubleEscapeSequenceEnd(cp) {
|
|
65343
65312
|
return isWhitespace(cp) || cp === CODE_POINTS.SOLIDUS || cp === CODE_POINTS.GREATER_THAN_SIGN;
|
|
65344
65313
|
}
|
|
65314
|
+
function getErrorForNumericCharacterReference(code) {
|
|
65315
|
+
if (code === CODE_POINTS.NULL) {
|
|
65316
|
+
return ERR.nullCharacterReference;
|
|
65317
|
+
}
|
|
65318
|
+
else if (code > 1114111) {
|
|
65319
|
+
return ERR.characterReferenceOutsideUnicodeRange;
|
|
65320
|
+
}
|
|
65321
|
+
else if (isSurrogate(code)) {
|
|
65322
|
+
return ERR.surrogateCharacterReference;
|
|
65323
|
+
}
|
|
65324
|
+
else if (isUndefinedCodePoint(code)) {
|
|
65325
|
+
return ERR.noncharacterCharacterReference;
|
|
65326
|
+
}
|
|
65327
|
+
else if (isControlCodePoint(code) || code === CODE_POINTS.CARRIAGE_RETURN) {
|
|
65328
|
+
return ERR.controlCharacterReference;
|
|
65329
|
+
}
|
|
65330
|
+
return null;
|
|
65331
|
+
}
|
|
65345
65332
|
//Tokenizer
|
|
65346
65333
|
class Tokenizer {
|
|
65347
65334
|
constructor(options, handler) {
|
|
@@ -65361,18 +65348,38 @@ class Tokenizer {
|
|
|
65361
65348
|
this.active = false;
|
|
65362
65349
|
this.state = State.DATA;
|
|
65363
65350
|
this.returnState = State.DATA;
|
|
65364
|
-
this.
|
|
65351
|
+
this.entityStartPos = 0;
|
|
65365
65352
|
this.consumedAfterSnapshot = -1;
|
|
65366
65353
|
this.currentCharacterToken = null;
|
|
65367
65354
|
this.currentToken = null;
|
|
65368
65355
|
this.currentAttr = { name: '', value: '' };
|
|
65369
65356
|
this.preprocessor = new Preprocessor(handler);
|
|
65370
65357
|
this.currentLocation = this.getCurrentLocation(-1);
|
|
65358
|
+
this.entityDecoder = new EntityDecoder(decode_data_html_htmlDecodeTree, (cp, consumed) => {
|
|
65359
|
+
// Note: Set `pos` _before_ flushing, as flushing might drop
|
|
65360
|
+
// the current chunk and invalidate `entityStartPos`.
|
|
65361
|
+
this.preprocessor.pos = this.entityStartPos + consumed - 1;
|
|
65362
|
+
this._flushCodePointConsumedAsCharacterReference(cp);
|
|
65363
|
+
}, handler.onParseError
|
|
65364
|
+
? {
|
|
65365
|
+
missingSemicolonAfterCharacterReference: () => {
|
|
65366
|
+
this._err(ERR.missingSemicolonAfterCharacterReference, 1);
|
|
65367
|
+
},
|
|
65368
|
+
absenceOfDigitsInNumericCharacterReference: (consumed) => {
|
|
65369
|
+
this._err(ERR.absenceOfDigitsInNumericCharacterReference, this.entityStartPos - this.preprocessor.pos + consumed);
|
|
65370
|
+
},
|
|
65371
|
+
validateNumericCharacterReference: (code) => {
|
|
65372
|
+
const error = getErrorForNumericCharacterReference(code);
|
|
65373
|
+
if (error)
|
|
65374
|
+
this._err(error, 1);
|
|
65375
|
+
},
|
|
65376
|
+
}
|
|
65377
|
+
: undefined);
|
|
65371
65378
|
}
|
|
65372
65379
|
//Errors
|
|
65373
|
-
_err(code) {
|
|
65380
|
+
_err(code, cpOffset = 0) {
|
|
65374
65381
|
var _a, _b;
|
|
65375
|
-
(_b = (_a = this.handler).onParseError) === null || _b === void 0 ? void 0 : _b.call(_a, this.preprocessor.getError(code));
|
|
65382
|
+
(_b = (_a = this.handler).onParseError) === null || _b === void 0 ? void 0 : _b.call(_a, this.preprocessor.getError(code, cpOffset));
|
|
65376
65383
|
}
|
|
65377
65384
|
// NOTE: `offset` may never run across line boundaries.
|
|
65378
65385
|
getCurrentLocation(offset) {
|
|
@@ -65434,7 +65441,8 @@ class Tokenizer {
|
|
|
65434
65441
|
//Hibernation
|
|
65435
65442
|
_ensureHibernation() {
|
|
65436
65443
|
if (this.preprocessor.endOfChunkHit) {
|
|
65437
|
-
this.
|
|
65444
|
+
this.preprocessor.retreat(this.consumedAfterSnapshot);
|
|
65445
|
+
this.consumedAfterSnapshot = 0;
|
|
65438
65446
|
this.active = false;
|
|
65439
65447
|
return true;
|
|
65440
65448
|
}
|
|
@@ -65445,14 +65453,6 @@ class Tokenizer {
|
|
|
65445
65453
|
this.consumedAfterSnapshot++;
|
|
65446
65454
|
return this.preprocessor.advance();
|
|
65447
65455
|
}
|
|
65448
|
-
_unconsume(count) {
|
|
65449
|
-
this.consumedAfterSnapshot -= count;
|
|
65450
|
-
this.preprocessor.retreat(count);
|
|
65451
|
-
}
|
|
65452
|
-
_reconsumeInState(state, cp) {
|
|
65453
|
-
this.state = state;
|
|
65454
|
-
this._callState(cp);
|
|
65455
|
-
}
|
|
65456
65456
|
_advanceBy(count) {
|
|
65457
65457
|
this.consumedAfterSnapshot += count;
|
|
65458
65458
|
for (let i = 0; i < count; i++) {
|
|
@@ -65624,7 +65624,7 @@ class Tokenizer {
|
|
|
65624
65624
|
this.active = false;
|
|
65625
65625
|
}
|
|
65626
65626
|
//Characters emission
|
|
65627
|
-
//OPTIMIZATION: specification uses only one type of character
|
|
65627
|
+
//OPTIMIZATION: The specification uses only one type of character token (one token per character).
|
|
65628
65628
|
//This causes a huge memory overhead and a lot of unnecessary parser loops. parse5 uses 3 groups of characters.
|
|
65629
65629
|
//If we have a sequence of characters that belong to the same group, the parser can process it
|
|
65630
65630
|
//as a single solid character token.
|
|
@@ -65634,15 +65634,15 @@ class Tokenizer {
|
|
|
65634
65634
|
//3)TokenType.CHARACTER - any character sequence which don't belong to groups 1 and 2 (e.g. 'abcdef1234@@#$%^')
|
|
65635
65635
|
_appendCharToCurrentCharacterToken(type, ch) {
|
|
65636
65636
|
if (this.currentCharacterToken) {
|
|
65637
|
-
if (this.currentCharacterToken.type
|
|
65637
|
+
if (this.currentCharacterToken.type === type) {
|
|
65638
|
+
this.currentCharacterToken.chars += ch;
|
|
65639
|
+
return;
|
|
65640
|
+
}
|
|
65641
|
+
else {
|
|
65638
65642
|
this.currentLocation = this.getCurrentLocation(0);
|
|
65639
65643
|
this._emitCurrentCharacterToken(this.currentLocation);
|
|
65640
65644
|
this.preprocessor.dropParsedChunk();
|
|
65641
65645
|
}
|
|
65642
|
-
else {
|
|
65643
|
-
this.currentCharacterToken.chars += ch;
|
|
65644
|
-
return;
|
|
65645
|
-
}
|
|
65646
65646
|
}
|
|
65647
65647
|
this._createCharacterToken(type, ch);
|
|
65648
65648
|
}
|
|
@@ -65660,59 +65660,11 @@ class Tokenizer {
|
|
|
65660
65660
|
this._appendCharToCurrentCharacterToken(token_TokenType.CHARACTER, ch);
|
|
65661
65661
|
}
|
|
65662
65662
|
// Character reference helpers
|
|
65663
|
-
|
|
65664
|
-
|
|
65665
|
-
|
|
65666
|
-
|
|
65667
|
-
|
|
65668
|
-
i = determineBranch(decode_data_html, current, i + 1, cp);
|
|
65669
|
-
if (i < 0)
|
|
65670
|
-
break;
|
|
65671
|
-
excess += 1;
|
|
65672
|
-
current = decode_data_html[i];
|
|
65673
|
-
const masked = current & BinTrieFlags.VALUE_LENGTH;
|
|
65674
|
-
// If the branch is a value, store it and continue
|
|
65675
|
-
if (masked) {
|
|
65676
|
-
// The mask is the number of bytes of the value, including the current byte.
|
|
65677
|
-
const valueLength = (masked >> 14) - 1;
|
|
65678
|
-
// Attribute values that aren't terminated properly aren't parsed, and shouldn't lead to a parser error.
|
|
65679
|
-
// See the example in https://html.spec.whatwg.org/multipage/parsing.html#named-character-reference-state
|
|
65680
|
-
if (cp !== CODE_POINTS.SEMICOLON &&
|
|
65681
|
-
this._isCharacterReferenceInAttribute() &&
|
|
65682
|
-
tokenizer_isEntityInAttributeInvalidEnd(this.preprocessor.peek(1))) {
|
|
65683
|
-
//NOTE: we don't flush all consumed code points here, and instead switch back to the original state after
|
|
65684
|
-
//emitting an ampersand. This is fine, as alphanumeric characters won't be parsed differently in attributes.
|
|
65685
|
-
result = [CODE_POINTS.AMPERSAND];
|
|
65686
|
-
// Skip over the value.
|
|
65687
|
-
i += valueLength;
|
|
65688
|
-
}
|
|
65689
|
-
else {
|
|
65690
|
-
// If this is a surrogate pair, consume the next two bytes.
|
|
65691
|
-
result =
|
|
65692
|
-
valueLength === 0
|
|
65693
|
-
? [decode_data_html[i] & ~BinTrieFlags.VALUE_LENGTH]
|
|
65694
|
-
: valueLength === 1
|
|
65695
|
-
? [decode_data_html[++i]]
|
|
65696
|
-
: [decode_data_html[++i], decode_data_html[++i]];
|
|
65697
|
-
excess = 0;
|
|
65698
|
-
withoutSemicolon = cp !== CODE_POINTS.SEMICOLON;
|
|
65699
|
-
}
|
|
65700
|
-
if (valueLength === 0) {
|
|
65701
|
-
// If the value is zero-length, we're done.
|
|
65702
|
-
this._consume();
|
|
65703
|
-
break;
|
|
65704
|
-
}
|
|
65705
|
-
}
|
|
65706
|
-
}
|
|
65707
|
-
this._unconsume(excess);
|
|
65708
|
-
if (withoutSemicolon && !this.preprocessor.endOfChunkHit) {
|
|
65709
|
-
this._err(ERR.missingSemicolonAfterCharacterReference);
|
|
65710
|
-
}
|
|
65711
|
-
// We want to emit the error above on the code point after the entity.
|
|
65712
|
-
// We always consume one code point too many in the loop, and we wait to
|
|
65713
|
-
// unconsume it until after the error is emitted.
|
|
65714
|
-
this._unconsume(1);
|
|
65715
|
-
return result;
|
|
65663
|
+
_startCharacterReference() {
|
|
65664
|
+
this.returnState = this.state;
|
|
65665
|
+
this.state = State.CHARACTER_REFERENCE;
|
|
65666
|
+
this.entityStartPos = this.preprocessor.pos;
|
|
65667
|
+
this.entityDecoder.startEntity(this._isCharacterReferenceInAttribute() ? decode_DecodingMode.Attribute : decode_DecodingMode.Legacy);
|
|
65716
65668
|
}
|
|
65717
65669
|
_isCharacterReferenceInAttribute() {
|
|
65718
65670
|
return (this.returnState === State.ATTRIBUTE_VALUE_DOUBLE_QUOTED ||
|
|
@@ -66015,37 +65967,13 @@ class Tokenizer {
|
|
|
66015
65967
|
break;
|
|
66016
65968
|
}
|
|
66017
65969
|
case State.CHARACTER_REFERENCE: {
|
|
66018
|
-
this._stateCharacterReference(
|
|
66019
|
-
break;
|
|
66020
|
-
}
|
|
66021
|
-
case State.NAMED_CHARACTER_REFERENCE: {
|
|
66022
|
-
this._stateNamedCharacterReference(cp);
|
|
65970
|
+
this._stateCharacterReference();
|
|
66023
65971
|
break;
|
|
66024
65972
|
}
|
|
66025
65973
|
case State.AMBIGUOUS_AMPERSAND: {
|
|
66026
65974
|
this._stateAmbiguousAmpersand(cp);
|
|
66027
65975
|
break;
|
|
66028
65976
|
}
|
|
66029
|
-
case State.NUMERIC_CHARACTER_REFERENCE: {
|
|
66030
|
-
this._stateNumericCharacterReference(cp);
|
|
66031
|
-
break;
|
|
66032
|
-
}
|
|
66033
|
-
case State.HEXADEMICAL_CHARACTER_REFERENCE_START: {
|
|
66034
|
-
this._stateHexademicalCharacterReferenceStart(cp);
|
|
66035
|
-
break;
|
|
66036
|
-
}
|
|
66037
|
-
case State.HEXADEMICAL_CHARACTER_REFERENCE: {
|
|
66038
|
-
this._stateHexademicalCharacterReference(cp);
|
|
66039
|
-
break;
|
|
66040
|
-
}
|
|
66041
|
-
case State.DECIMAL_CHARACTER_REFERENCE: {
|
|
66042
|
-
this._stateDecimalCharacterReference(cp);
|
|
66043
|
-
break;
|
|
66044
|
-
}
|
|
66045
|
-
case State.NUMERIC_CHARACTER_REFERENCE_END: {
|
|
66046
|
-
this._stateNumericCharacterReferenceEnd(cp);
|
|
66047
|
-
break;
|
|
66048
|
-
}
|
|
66049
65977
|
default: {
|
|
66050
65978
|
throw new Error('Unknown state');
|
|
66051
65979
|
}
|
|
@@ -66061,8 +65989,7 @@ class Tokenizer {
|
|
|
66061
65989
|
break;
|
|
66062
65990
|
}
|
|
66063
65991
|
case CODE_POINTS.AMPERSAND: {
|
|
66064
|
-
this.
|
|
66065
|
-
this.state = State.CHARACTER_REFERENCE;
|
|
65992
|
+
this._startCharacterReference();
|
|
66066
65993
|
break;
|
|
66067
65994
|
}
|
|
66068
65995
|
case CODE_POINTS.NULL: {
|
|
@@ -66084,8 +66011,7 @@ class Tokenizer {
|
|
|
66084
66011
|
_stateRcdata(cp) {
|
|
66085
66012
|
switch (cp) {
|
|
66086
66013
|
case CODE_POINTS.AMPERSAND: {
|
|
66087
|
-
this.
|
|
66088
|
-
this.state = State.CHARACTER_REFERENCE;
|
|
66014
|
+
this._startCharacterReference();
|
|
66089
66015
|
break;
|
|
66090
66016
|
}
|
|
66091
66017
|
case CODE_POINTS.LESS_THAN_SIGN: {
|
|
@@ -66854,8 +66780,7 @@ class Tokenizer {
|
|
|
66854
66780
|
break;
|
|
66855
66781
|
}
|
|
66856
66782
|
case CODE_POINTS.AMPERSAND: {
|
|
66857
|
-
this.
|
|
66858
|
-
this.state = State.CHARACTER_REFERENCE;
|
|
66783
|
+
this._startCharacterReference();
|
|
66859
66784
|
break;
|
|
66860
66785
|
}
|
|
66861
66786
|
case CODE_POINTS.NULL: {
|
|
@@ -66882,8 +66807,7 @@ class Tokenizer {
|
|
|
66882
66807
|
break;
|
|
66883
66808
|
}
|
|
66884
66809
|
case CODE_POINTS.AMPERSAND: {
|
|
66885
|
-
this.
|
|
66886
|
-
this.state = State.CHARACTER_REFERENCE;
|
|
66810
|
+
this._startCharacterReference();
|
|
66887
66811
|
break;
|
|
66888
66812
|
}
|
|
66889
66813
|
case CODE_POINTS.NULL: {
|
|
@@ -66914,8 +66838,7 @@ class Tokenizer {
|
|
|
66914
66838
|
break;
|
|
66915
66839
|
}
|
|
66916
66840
|
case CODE_POINTS.AMPERSAND: {
|
|
66917
|
-
this.
|
|
66918
|
-
this.state = State.CHARACTER_REFERENCE;
|
|
66841
|
+
this._startCharacterReference();
|
|
66919
66842
|
break;
|
|
66920
66843
|
}
|
|
66921
66844
|
case CODE_POINTS.GREATER_THAN_SIGN: {
|
|
@@ -67932,37 +67855,35 @@ class Tokenizer {
|
|
|
67932
67855
|
}
|
|
67933
67856
|
// Character reference state
|
|
67934
67857
|
//------------------------------------------------------------------
|
|
67935
|
-
_stateCharacterReference(
|
|
67936
|
-
|
|
67937
|
-
|
|
67938
|
-
|
|
67939
|
-
|
|
67940
|
-
|
|
67941
|
-
|
|
67858
|
+
_stateCharacterReference() {
|
|
67859
|
+
let length = this.entityDecoder.write(this.preprocessor.html, this.preprocessor.pos);
|
|
67860
|
+
if (length < 0) {
|
|
67861
|
+
if (this.preprocessor.lastChunkWritten) {
|
|
67862
|
+
length = this.entityDecoder.end();
|
|
67863
|
+
}
|
|
67864
|
+
else {
|
|
67865
|
+
// Wait for the rest of the entity.
|
|
67866
|
+
this.active = false;
|
|
67867
|
+
// Mark the entire buffer as read.
|
|
67868
|
+
this.preprocessor.pos = this.preprocessor.html.length - 1;
|
|
67869
|
+
this.consumedAfterSnapshot = 0;
|
|
67870
|
+
this.preprocessor.endOfChunkHit = true;
|
|
67871
|
+
return;
|
|
67872
|
+
}
|
|
67942
67873
|
}
|
|
67943
|
-
|
|
67874
|
+
if (length === 0) {
|
|
67875
|
+
// This was not a valid entity. Go back to the beginning, and
|
|
67876
|
+
// figure out what to do.
|
|
67877
|
+
this.preprocessor.pos = this.entityStartPos;
|
|
67944
67878
|
this._flushCodePointConsumedAsCharacterReference(CODE_POINTS.AMPERSAND);
|
|
67945
|
-
this.
|
|
67946
|
-
|
|
67947
|
-
|
|
67948
|
-
|
|
67949
|
-
//------------------------------------------------------------------
|
|
67950
|
-
_stateNamedCharacterReference(cp) {
|
|
67951
|
-
const matchResult = this._matchNamedCharacterReference(cp);
|
|
67952
|
-
//NOTE: Matching can be abrupted by hibernation. In that case, match
|
|
67953
|
-
//results are no longer valid and we will need to start over.
|
|
67954
|
-
if (this._ensureHibernation()) {
|
|
67955
|
-
// Stay in the state, try again.
|
|
67956
|
-
}
|
|
67957
|
-
else if (matchResult) {
|
|
67958
|
-
for (let i = 0; i < matchResult.length; i++) {
|
|
67959
|
-
this._flushCodePointConsumedAsCharacterReference(matchResult[i]);
|
|
67960
|
-
}
|
|
67961
|
-
this.state = this.returnState;
|
|
67879
|
+
this.state =
|
|
67880
|
+
!this._isCharacterReferenceInAttribute() && tokenizer_isAsciiAlphaNumeric(this.preprocessor.peek(1))
|
|
67881
|
+
? State.AMBIGUOUS_AMPERSAND
|
|
67882
|
+
: this.returnState;
|
|
67962
67883
|
}
|
|
67963
67884
|
else {
|
|
67964
|
-
|
|
67965
|
-
this.state =
|
|
67885
|
+
// We successfully parsed an entity. Switch to the return state.
|
|
67886
|
+
this.state = this.returnState;
|
|
67966
67887
|
}
|
|
67967
67888
|
}
|
|
67968
67889
|
// Ambiguos ampersand state
|
|
@@ -67975,109 +67896,12 @@ class Tokenizer {
|
|
|
67975
67896
|
if (cp === CODE_POINTS.SEMICOLON) {
|
|
67976
67897
|
this._err(ERR.unknownNamedCharacterReference);
|
|
67977
67898
|
}
|
|
67978
|
-
this._reconsumeInState(this.returnState, cp);
|
|
67979
|
-
}
|
|
67980
|
-
}
|
|
67981
|
-
// Numeric character reference state
|
|
67982
|
-
//------------------------------------------------------------------
|
|
67983
|
-
_stateNumericCharacterReference(cp) {
|
|
67984
|
-
this.charRefCode = 0;
|
|
67985
|
-
if (cp === CODE_POINTS.LATIN_SMALL_X || cp === CODE_POINTS.LATIN_CAPITAL_X) {
|
|
67986
|
-
this.state = State.HEXADEMICAL_CHARACTER_REFERENCE_START;
|
|
67987
|
-
}
|
|
67988
|
-
// Inlined decimal character reference start state
|
|
67989
|
-
else if (isAsciiDigit(cp)) {
|
|
67990
|
-
this.state = State.DECIMAL_CHARACTER_REFERENCE;
|
|
67991
|
-
this._stateDecimalCharacterReference(cp);
|
|
67992
|
-
}
|
|
67993
|
-
else {
|
|
67994
|
-
this._err(ERR.absenceOfDigitsInNumericCharacterReference);
|
|
67995
|
-
this._flushCodePointConsumedAsCharacterReference(CODE_POINTS.AMPERSAND);
|
|
67996
|
-
this._flushCodePointConsumedAsCharacterReference(CODE_POINTS.NUMBER_SIGN);
|
|
67997
|
-
this._reconsumeInState(this.returnState, cp);
|
|
67998
|
-
}
|
|
67999
|
-
}
|
|
68000
|
-
// Hexademical character reference start state
|
|
68001
|
-
//------------------------------------------------------------------
|
|
68002
|
-
_stateHexademicalCharacterReferenceStart(cp) {
|
|
68003
|
-
if (isAsciiHexDigit(cp)) {
|
|
68004
|
-
this.state = State.HEXADEMICAL_CHARACTER_REFERENCE;
|
|
68005
|
-
this._stateHexademicalCharacterReference(cp);
|
|
68006
|
-
}
|
|
68007
|
-
else {
|
|
68008
|
-
this._err(ERR.absenceOfDigitsInNumericCharacterReference);
|
|
68009
|
-
this._flushCodePointConsumedAsCharacterReference(CODE_POINTS.AMPERSAND);
|
|
68010
|
-
this._flushCodePointConsumedAsCharacterReference(CODE_POINTS.NUMBER_SIGN);
|
|
68011
|
-
this._unconsume(2);
|
|
68012
67899
|
this.state = this.returnState;
|
|
67900
|
+
this._callState(cp);
|
|
68013
67901
|
}
|
|
68014
67902
|
}
|
|
68015
|
-
// Hexademical character reference state
|
|
68016
|
-
//------------------------------------------------------------------
|
|
68017
|
-
_stateHexademicalCharacterReference(cp) {
|
|
68018
|
-
if (isAsciiUpperHexDigit(cp)) {
|
|
68019
|
-
this.charRefCode = this.charRefCode * 16 + cp - 0x37;
|
|
68020
|
-
}
|
|
68021
|
-
else if (isAsciiLowerHexDigit(cp)) {
|
|
68022
|
-
this.charRefCode = this.charRefCode * 16 + cp - 0x57;
|
|
68023
|
-
}
|
|
68024
|
-
else if (isAsciiDigit(cp)) {
|
|
68025
|
-
this.charRefCode = this.charRefCode * 16 + cp - 0x30;
|
|
68026
|
-
}
|
|
68027
|
-
else if (cp === CODE_POINTS.SEMICOLON) {
|
|
68028
|
-
this.state = State.NUMERIC_CHARACTER_REFERENCE_END;
|
|
68029
|
-
}
|
|
68030
|
-
else {
|
|
68031
|
-
this._err(ERR.missingSemicolonAfterCharacterReference);
|
|
68032
|
-
this.state = State.NUMERIC_CHARACTER_REFERENCE_END;
|
|
68033
|
-
this._stateNumericCharacterReferenceEnd(cp);
|
|
68034
|
-
}
|
|
68035
|
-
}
|
|
68036
|
-
// Decimal character reference state
|
|
68037
|
-
//------------------------------------------------------------------
|
|
68038
|
-
_stateDecimalCharacterReference(cp) {
|
|
68039
|
-
if (isAsciiDigit(cp)) {
|
|
68040
|
-
this.charRefCode = this.charRefCode * 10 + cp - 0x30;
|
|
68041
|
-
}
|
|
68042
|
-
else if (cp === CODE_POINTS.SEMICOLON) {
|
|
68043
|
-
this.state = State.NUMERIC_CHARACTER_REFERENCE_END;
|
|
68044
|
-
}
|
|
68045
|
-
else {
|
|
68046
|
-
this._err(ERR.missingSemicolonAfterCharacterReference);
|
|
68047
|
-
this.state = State.NUMERIC_CHARACTER_REFERENCE_END;
|
|
68048
|
-
this._stateNumericCharacterReferenceEnd(cp);
|
|
68049
|
-
}
|
|
68050
|
-
}
|
|
68051
|
-
// Numeric character reference end state
|
|
68052
|
-
//------------------------------------------------------------------
|
|
68053
|
-
_stateNumericCharacterReferenceEnd(cp) {
|
|
68054
|
-
if (this.charRefCode === CODE_POINTS.NULL) {
|
|
68055
|
-
this._err(ERR.nullCharacterReference);
|
|
68056
|
-
this.charRefCode = CODE_POINTS.REPLACEMENT_CHARACTER;
|
|
68057
|
-
}
|
|
68058
|
-
else if (this.charRefCode > 1114111) {
|
|
68059
|
-
this._err(ERR.characterReferenceOutsideUnicodeRange);
|
|
68060
|
-
this.charRefCode = CODE_POINTS.REPLACEMENT_CHARACTER;
|
|
68061
|
-
}
|
|
68062
|
-
else if (isSurrogate(this.charRefCode)) {
|
|
68063
|
-
this._err(ERR.surrogateCharacterReference);
|
|
68064
|
-
this.charRefCode = CODE_POINTS.REPLACEMENT_CHARACTER;
|
|
68065
|
-
}
|
|
68066
|
-
else if (isUndefinedCodePoint(this.charRefCode)) {
|
|
68067
|
-
this._err(ERR.noncharacterCharacterReference);
|
|
68068
|
-
}
|
|
68069
|
-
else if (isControlCodePoint(this.charRefCode) || this.charRefCode === CODE_POINTS.CARRIAGE_RETURN) {
|
|
68070
|
-
this._err(ERR.controlCharacterReference);
|
|
68071
|
-
const replacement = C1_CONTROLS_REFERENCE_REPLACEMENTS.get(this.charRefCode);
|
|
68072
|
-
if (replacement !== undefined) {
|
|
68073
|
-
this.charRefCode = replacement;
|
|
68074
|
-
}
|
|
68075
|
-
}
|
|
68076
|
-
this._flushCodePointConsumedAsCharacterReference(this.charRefCode);
|
|
68077
|
-
this._reconsumeInState(this.returnState, cp);
|
|
68078
|
-
}
|
|
68079
67903
|
}
|
|
68080
|
-
|
|
67904
|
+
|
|
68081
67905
|
;// ./node_modules/parse5/dist/parser/open-element-stack.js
|
|
68082
67906
|
|
|
68083
67907
|
//Element utils
|
|
@@ -68093,31 +67917,25 @@ const IMPLICIT_END_TAG_REQUIRED_THOROUGHLY = new Set([
|
|
|
68093
67917
|
TAG_ID.THEAD,
|
|
68094
67918
|
TAG_ID.TR,
|
|
68095
67919
|
]);
|
|
68096
|
-
const
|
|
68097
|
-
|
|
68098
|
-
|
|
68099
|
-
|
|
68100
|
-
|
|
68101
|
-
|
|
68102
|
-
|
|
68103
|
-
|
|
68104
|
-
|
|
68105
|
-
|
|
68106
|
-
[TAG_ID.ANNOTATION_XML, html_NS.MATHML],
|
|
68107
|
-
[TAG_ID.MI, html_NS.MATHML],
|
|
68108
|
-
[TAG_ID.MN, html_NS.MATHML],
|
|
68109
|
-
[TAG_ID.MO, html_NS.MATHML],
|
|
68110
|
-
[TAG_ID.MS, html_NS.MATHML],
|
|
68111
|
-
[TAG_ID.MTEXT, html_NS.MATHML],
|
|
68112
|
-
[TAG_ID.DESC, html_NS.SVG],
|
|
68113
|
-
[TAG_ID.FOREIGN_OBJECT, html_NS.SVG],
|
|
68114
|
-
[TAG_ID.TITLE, html_NS.SVG],
|
|
67920
|
+
const SCOPING_ELEMENTS_HTML = new Set([
|
|
67921
|
+
TAG_ID.APPLET,
|
|
67922
|
+
TAG_ID.CAPTION,
|
|
67923
|
+
TAG_ID.HTML,
|
|
67924
|
+
TAG_ID.MARQUEE,
|
|
67925
|
+
TAG_ID.OBJECT,
|
|
67926
|
+
TAG_ID.TABLE,
|
|
67927
|
+
TAG_ID.TD,
|
|
67928
|
+
TAG_ID.TEMPLATE,
|
|
67929
|
+
TAG_ID.TH,
|
|
68115
67930
|
]);
|
|
68116
|
-
const
|
|
68117
|
-
const
|
|
68118
|
-
const
|
|
68119
|
-
const
|
|
68120
|
-
const
|
|
67931
|
+
const SCOPING_ELEMENTS_HTML_LIST = new Set([...SCOPING_ELEMENTS_HTML, TAG_ID.OL, TAG_ID.UL]);
|
|
67932
|
+
const SCOPING_ELEMENTS_HTML_BUTTON = new Set([...SCOPING_ELEMENTS_HTML, TAG_ID.BUTTON]);
|
|
67933
|
+
const SCOPING_ELEMENTS_MATHML = new Set([TAG_ID.ANNOTATION_XML, TAG_ID.MI, TAG_ID.MN, TAG_ID.MO, TAG_ID.MS, TAG_ID.MTEXT]);
|
|
67934
|
+
const SCOPING_ELEMENTS_SVG = new Set([TAG_ID.DESC, TAG_ID.FOREIGN_OBJECT, TAG_ID.TITLE]);
|
|
67935
|
+
const TABLE_ROW_CONTEXT = new Set([TAG_ID.TR, TAG_ID.TEMPLATE, TAG_ID.HTML]);
|
|
67936
|
+
const TABLE_BODY_CONTEXT = new Set([TAG_ID.TBODY, TAG_ID.TFOOT, TAG_ID.THEAD, TAG_ID.TEMPLATE, TAG_ID.HTML]);
|
|
67937
|
+
const TABLE_CONTEXT = new Set([TAG_ID.TABLE, TAG_ID.TEMPLATE, TAG_ID.HTML]);
|
|
67938
|
+
const TABLE_CELLS = new Set([TAG_ID.TD, TAG_ID.TH]);
|
|
68121
67939
|
//Stack of open elements
|
|
68122
67940
|
class OpenElementStack {
|
|
68123
67941
|
get currentTmplContentOrNode() {
|
|
@@ -68181,14 +67999,16 @@ class OpenElementStack {
|
|
|
68181
67999
|
if (insertionIdx === this.stackTop) {
|
|
68182
68000
|
this._updateCurrentElement();
|
|
68183
68001
|
}
|
|
68184
|
-
|
|
68002
|
+
if (this.current && this.currentTagId !== undefined) {
|
|
68003
|
+
this.handler.onItemPush(this.current, this.currentTagId, insertionIdx === this.stackTop);
|
|
68004
|
+
}
|
|
68185
68005
|
}
|
|
68186
68006
|
popUntilTagNamePopped(tagName) {
|
|
68187
68007
|
let targetIdx = this.stackTop + 1;
|
|
68188
68008
|
do {
|
|
68189
68009
|
targetIdx = this.tagIDs.lastIndexOf(tagName, targetIdx - 1);
|
|
68190
68010
|
} while (targetIdx > 0 && this.treeAdapter.getNamespaceURI(this.items[targetIdx]) !== html_NS.HTML);
|
|
68191
|
-
this.shortenToLength(targetIdx
|
|
68011
|
+
this.shortenToLength(Math.max(targetIdx, 0));
|
|
68192
68012
|
}
|
|
68193
68013
|
shortenToLength(idx) {
|
|
68194
68014
|
while (this.stackTop >= idx) {
|
|
@@ -68203,14 +68023,14 @@ class OpenElementStack {
|
|
|
68203
68023
|
}
|
|
68204
68024
|
popUntilElementPopped(element) {
|
|
68205
68025
|
const idx = this._indexOf(element);
|
|
68206
|
-
this.shortenToLength(idx
|
|
68026
|
+
this.shortenToLength(Math.max(idx, 0));
|
|
68207
68027
|
}
|
|
68208
68028
|
popUntilPopped(tagNames, targetNS) {
|
|
68209
68029
|
const idx = this._indexOfTagNames(tagNames, targetNS);
|
|
68210
|
-
this.shortenToLength(idx
|
|
68030
|
+
this.shortenToLength(Math.max(idx, 0));
|
|
68211
68031
|
}
|
|
68212
68032
|
popUntilNumberedHeaderPopped() {
|
|
68213
|
-
this.popUntilPopped(
|
|
68033
|
+
this.popUntilPopped(NUMBERED_HEADERS, html_NS.HTML);
|
|
68214
68034
|
}
|
|
68215
68035
|
popUntilTableCellPopped() {
|
|
68216
68036
|
this.popUntilPopped(TABLE_CELLS, html_NS.HTML);
|
|
@@ -68223,7 +68043,7 @@ class OpenElementStack {
|
|
|
68223
68043
|
}
|
|
68224
68044
|
_indexOfTagNames(tagNames, namespace) {
|
|
68225
68045
|
for (let i = this.stackTop; i >= 0; i--) {
|
|
68226
|
-
if (tagNames.
|
|
68046
|
+
if (tagNames.has(this.tagIDs[i]) && this.treeAdapter.getNamespaceURI(this.items[i]) === namespace) {
|
|
68227
68047
|
return i;
|
|
68228
68048
|
}
|
|
68229
68049
|
}
|
|
@@ -68273,124 +68093,141 @@ class OpenElementStack {
|
|
|
68273
68093
|
return this.stackTop === 0 && this.tagIDs[0] === TAG_ID.HTML;
|
|
68274
68094
|
}
|
|
68275
68095
|
//Element in scope
|
|
68276
|
-
|
|
68096
|
+
hasInDynamicScope(tagName, htmlScope) {
|
|
68277
68097
|
for (let i = this.stackTop; i >= 0; i--) {
|
|
68278
68098
|
const tn = this.tagIDs[i];
|
|
68279
|
-
|
|
68280
|
-
|
|
68281
|
-
|
|
68282
|
-
|
|
68283
|
-
|
|
68284
|
-
|
|
68099
|
+
switch (this.treeAdapter.getNamespaceURI(this.items[i])) {
|
|
68100
|
+
case html_NS.HTML: {
|
|
68101
|
+
if (tn === tagName)
|
|
68102
|
+
return true;
|
|
68103
|
+
if (htmlScope.has(tn))
|
|
68104
|
+
return false;
|
|
68105
|
+
break;
|
|
68106
|
+
}
|
|
68107
|
+
case html_NS.SVG: {
|
|
68108
|
+
if (SCOPING_ELEMENTS_SVG.has(tn))
|
|
68109
|
+
return false;
|
|
68110
|
+
break;
|
|
68111
|
+
}
|
|
68112
|
+
case html_NS.MATHML: {
|
|
68113
|
+
if (SCOPING_ELEMENTS_MATHML.has(tn))
|
|
68114
|
+
return false;
|
|
68115
|
+
break;
|
|
68116
|
+
}
|
|
68285
68117
|
}
|
|
68286
68118
|
}
|
|
68287
68119
|
return true;
|
|
68288
68120
|
}
|
|
68289
|
-
|
|
68290
|
-
|
|
68291
|
-
const tn = this.tagIDs[i];
|
|
68292
|
-
const ns = this.treeAdapter.getNamespaceURI(this.items[i]);
|
|
68293
|
-
if (isNumberedHeader(tn) && ns === html_NS.HTML) {
|
|
68294
|
-
return true;
|
|
68295
|
-
}
|
|
68296
|
-
if (SCOPING_ELEMENT_NS.get(tn) === ns) {
|
|
68297
|
-
return false;
|
|
68298
|
-
}
|
|
68299
|
-
}
|
|
68300
|
-
return true;
|
|
68121
|
+
hasInScope(tagName) {
|
|
68122
|
+
return this.hasInDynamicScope(tagName, SCOPING_ELEMENTS_HTML);
|
|
68301
68123
|
}
|
|
68302
68124
|
hasInListItemScope(tagName) {
|
|
68303
|
-
|
|
68304
|
-
const tn = this.tagIDs[i];
|
|
68305
|
-
const ns = this.treeAdapter.getNamespaceURI(this.items[i]);
|
|
68306
|
-
if (tn === tagName && ns === html_NS.HTML) {
|
|
68307
|
-
return true;
|
|
68308
|
-
}
|
|
68309
|
-
if (((tn === TAG_ID.UL || tn === TAG_ID.OL) && ns === html_NS.HTML) || SCOPING_ELEMENT_NS.get(tn) === ns) {
|
|
68310
|
-
return false;
|
|
68311
|
-
}
|
|
68312
|
-
}
|
|
68313
|
-
return true;
|
|
68125
|
+
return this.hasInDynamicScope(tagName, SCOPING_ELEMENTS_HTML_LIST);
|
|
68314
68126
|
}
|
|
68315
68127
|
hasInButtonScope(tagName) {
|
|
68128
|
+
return this.hasInDynamicScope(tagName, SCOPING_ELEMENTS_HTML_BUTTON);
|
|
68129
|
+
}
|
|
68130
|
+
hasNumberedHeaderInScope() {
|
|
68316
68131
|
for (let i = this.stackTop; i >= 0; i--) {
|
|
68317
68132
|
const tn = this.tagIDs[i];
|
|
68318
|
-
|
|
68319
|
-
|
|
68320
|
-
|
|
68321
|
-
|
|
68322
|
-
|
|
68323
|
-
|
|
68133
|
+
switch (this.treeAdapter.getNamespaceURI(this.items[i])) {
|
|
68134
|
+
case html_NS.HTML: {
|
|
68135
|
+
if (NUMBERED_HEADERS.has(tn))
|
|
68136
|
+
return true;
|
|
68137
|
+
if (SCOPING_ELEMENTS_HTML.has(tn))
|
|
68138
|
+
return false;
|
|
68139
|
+
break;
|
|
68140
|
+
}
|
|
68141
|
+
case html_NS.SVG: {
|
|
68142
|
+
if (SCOPING_ELEMENTS_SVG.has(tn))
|
|
68143
|
+
return false;
|
|
68144
|
+
break;
|
|
68145
|
+
}
|
|
68146
|
+
case html_NS.MATHML: {
|
|
68147
|
+
if (SCOPING_ELEMENTS_MATHML.has(tn))
|
|
68148
|
+
return false;
|
|
68149
|
+
break;
|
|
68150
|
+
}
|
|
68324
68151
|
}
|
|
68325
68152
|
}
|
|
68326
68153
|
return true;
|
|
68327
68154
|
}
|
|
68328
68155
|
hasInTableScope(tagName) {
|
|
68329
68156
|
for (let i = this.stackTop; i >= 0; i--) {
|
|
68330
|
-
|
|
68331
|
-
const ns = this.treeAdapter.getNamespaceURI(this.items[i]);
|
|
68332
|
-
if (ns !== html_NS.HTML) {
|
|
68157
|
+
if (this.treeAdapter.getNamespaceURI(this.items[i]) !== html_NS.HTML) {
|
|
68333
68158
|
continue;
|
|
68334
68159
|
}
|
|
68335
|
-
|
|
68336
|
-
|
|
68337
|
-
|
|
68338
|
-
|
|
68339
|
-
|
|
68160
|
+
switch (this.tagIDs[i]) {
|
|
68161
|
+
case tagName: {
|
|
68162
|
+
return true;
|
|
68163
|
+
}
|
|
68164
|
+
case TAG_ID.TABLE:
|
|
68165
|
+
case TAG_ID.HTML: {
|
|
68166
|
+
return false;
|
|
68167
|
+
}
|
|
68340
68168
|
}
|
|
68341
68169
|
}
|
|
68342
68170
|
return true;
|
|
68343
68171
|
}
|
|
68344
68172
|
hasTableBodyContextInTableScope() {
|
|
68345
68173
|
for (let i = this.stackTop; i >= 0; i--) {
|
|
68346
|
-
|
|
68347
|
-
const ns = this.treeAdapter.getNamespaceURI(this.items[i]);
|
|
68348
|
-
if (ns !== html_NS.HTML) {
|
|
68174
|
+
if (this.treeAdapter.getNamespaceURI(this.items[i]) !== html_NS.HTML) {
|
|
68349
68175
|
continue;
|
|
68350
68176
|
}
|
|
68351
|
-
|
|
68352
|
-
|
|
68353
|
-
|
|
68354
|
-
|
|
68355
|
-
|
|
68177
|
+
switch (this.tagIDs[i]) {
|
|
68178
|
+
case TAG_ID.TBODY:
|
|
68179
|
+
case TAG_ID.THEAD:
|
|
68180
|
+
case TAG_ID.TFOOT: {
|
|
68181
|
+
return true;
|
|
68182
|
+
}
|
|
68183
|
+
case TAG_ID.TABLE:
|
|
68184
|
+
case TAG_ID.HTML: {
|
|
68185
|
+
return false;
|
|
68186
|
+
}
|
|
68356
68187
|
}
|
|
68357
68188
|
}
|
|
68358
68189
|
return true;
|
|
68359
68190
|
}
|
|
68360
68191
|
hasInSelectScope(tagName) {
|
|
68361
68192
|
for (let i = this.stackTop; i >= 0; i--) {
|
|
68362
|
-
|
|
68363
|
-
const ns = this.treeAdapter.getNamespaceURI(this.items[i]);
|
|
68364
|
-
if (ns !== html_NS.HTML) {
|
|
68193
|
+
if (this.treeAdapter.getNamespaceURI(this.items[i]) !== html_NS.HTML) {
|
|
68365
68194
|
continue;
|
|
68366
68195
|
}
|
|
68367
|
-
|
|
68368
|
-
|
|
68369
|
-
|
|
68370
|
-
|
|
68371
|
-
|
|
68196
|
+
switch (this.tagIDs[i]) {
|
|
68197
|
+
case tagName: {
|
|
68198
|
+
return true;
|
|
68199
|
+
}
|
|
68200
|
+
case TAG_ID.OPTION:
|
|
68201
|
+
case TAG_ID.OPTGROUP: {
|
|
68202
|
+
break;
|
|
68203
|
+
}
|
|
68204
|
+
default: {
|
|
68205
|
+
return false;
|
|
68206
|
+
}
|
|
68372
68207
|
}
|
|
68373
68208
|
}
|
|
68374
68209
|
return true;
|
|
68375
68210
|
}
|
|
68376
68211
|
//Implied end tags
|
|
68377
68212
|
generateImpliedEndTags() {
|
|
68378
|
-
while (IMPLICIT_END_TAG_REQUIRED.has(this.currentTagId)) {
|
|
68213
|
+
while (this.currentTagId !== undefined && IMPLICIT_END_TAG_REQUIRED.has(this.currentTagId)) {
|
|
68379
68214
|
this.pop();
|
|
68380
68215
|
}
|
|
68381
68216
|
}
|
|
68382
68217
|
generateImpliedEndTagsThoroughly() {
|
|
68383
|
-
while (IMPLICIT_END_TAG_REQUIRED_THOROUGHLY.has(this.currentTagId)) {
|
|
68218
|
+
while (this.currentTagId !== undefined && IMPLICIT_END_TAG_REQUIRED_THOROUGHLY.has(this.currentTagId)) {
|
|
68384
68219
|
this.pop();
|
|
68385
68220
|
}
|
|
68386
68221
|
}
|
|
68387
68222
|
generateImpliedEndTagsWithExclusion(exclusionId) {
|
|
68388
|
-
while (this.currentTagId !==
|
|
68223
|
+
while (this.currentTagId !== undefined &&
|
|
68224
|
+
this.currentTagId !== exclusionId &&
|
|
68225
|
+
IMPLICIT_END_TAG_REQUIRED_THOROUGHLY.has(this.currentTagId)) {
|
|
68389
68226
|
this.pop();
|
|
68390
68227
|
}
|
|
68391
68228
|
}
|
|
68392
68229
|
}
|
|
68393
|
-
|
|
68230
|
+
|
|
68394
68231
|
;// ./node_modules/parse5/dist/parser/formatting-element-list.js
|
|
68395
68232
|
//Const
|
|
68396
68233
|
const NOAH_ARK_CAPACITY = 3;
|
|
@@ -68398,7 +68235,7 @@ var EntryType;
|
|
|
68398
68235
|
(function (EntryType) {
|
|
68399
68236
|
EntryType[EntryType["Marker"] = 0] = "Marker";
|
|
68400
68237
|
EntryType[EntryType["Element"] = 1] = "Element";
|
|
68401
|
-
})(EntryType
|
|
68238
|
+
})(EntryType || (EntryType = {}));
|
|
68402
68239
|
const MARKER = { type: EntryType.Marker };
|
|
68403
68240
|
//List of formatting elements
|
|
68404
68241
|
class FormattingElementList {
|
|
@@ -68475,7 +68312,7 @@ class FormattingElementList {
|
|
|
68475
68312
|
}
|
|
68476
68313
|
removeEntry(entry) {
|
|
68477
68314
|
const entryIndex = this.entries.indexOf(entry);
|
|
68478
|
-
if (entryIndex
|
|
68315
|
+
if (entryIndex !== -1) {
|
|
68479
68316
|
this.entries.splice(entryIndex, 1);
|
|
68480
68317
|
}
|
|
68481
68318
|
}
|
|
@@ -68486,11 +68323,11 @@ class FormattingElementList {
|
|
|
68486
68323
|
*/
|
|
68487
68324
|
clearToLastMarker() {
|
|
68488
68325
|
const markerIdx = this.entries.indexOf(MARKER);
|
|
68489
|
-
if (markerIdx
|
|
68490
|
-
this.entries.
|
|
68326
|
+
if (markerIdx === -1) {
|
|
68327
|
+
this.entries.length = 0;
|
|
68491
68328
|
}
|
|
68492
68329
|
else {
|
|
68493
|
-
this.entries.
|
|
68330
|
+
this.entries.splice(0, markerIdx + 1);
|
|
68494
68331
|
}
|
|
68495
68332
|
}
|
|
68496
68333
|
//Search
|
|
@@ -68502,16 +68339,9 @@ class FormattingElementList {
|
|
|
68502
68339
|
return this.entries.find((entry) => entry.type === EntryType.Element && entry.element === element);
|
|
68503
68340
|
}
|
|
68504
68341
|
}
|
|
68505
|
-
|
|
68342
|
+
|
|
68506
68343
|
;// ./node_modules/parse5/dist/tree-adapters/default.js
|
|
68507
68344
|
|
|
68508
|
-
function createTextNode(value) {
|
|
68509
|
-
return {
|
|
68510
|
-
nodeName: '#text',
|
|
68511
|
-
value,
|
|
68512
|
-
parentNode: null,
|
|
68513
|
-
};
|
|
68514
|
-
}
|
|
68515
68345
|
const defaultTreeAdapter = {
|
|
68516
68346
|
//Node construction
|
|
68517
68347
|
createDocument() {
|
|
@@ -68544,6 +68374,13 @@ const defaultTreeAdapter = {
|
|
|
68544
68374
|
parentNode: null,
|
|
68545
68375
|
};
|
|
68546
68376
|
},
|
|
68377
|
+
createTextNode(value) {
|
|
68378
|
+
return {
|
|
68379
|
+
nodeName: '#text',
|
|
68380
|
+
value,
|
|
68381
|
+
parentNode: null,
|
|
68382
|
+
};
|
|
68383
|
+
},
|
|
68547
68384
|
//Tree mutation
|
|
68548
68385
|
appendChild(parentNode, newNode) {
|
|
68549
68386
|
parentNode.childNodes.push(newNode);
|
|
@@ -68599,7 +68436,7 @@ const defaultTreeAdapter = {
|
|
|
68599
68436
|
return;
|
|
68600
68437
|
}
|
|
68601
68438
|
}
|
|
68602
|
-
defaultTreeAdapter.appendChild(parentNode, createTextNode(text));
|
|
68439
|
+
defaultTreeAdapter.appendChild(parentNode, defaultTreeAdapter.createTextNode(text));
|
|
68603
68440
|
},
|
|
68604
68441
|
insertTextBefore(parentNode, text, referenceNode) {
|
|
68605
68442
|
const prevNode = parentNode.childNodes[parentNode.childNodes.indexOf(referenceNode) - 1];
|
|
@@ -68607,7 +68444,7 @@ const defaultTreeAdapter = {
|
|
|
68607
68444
|
prevNode.value += text;
|
|
68608
68445
|
}
|
|
68609
68446
|
else {
|
|
68610
|
-
defaultTreeAdapter.insertBefore(parentNode, createTextNode(text), referenceNode);
|
|
68447
|
+
defaultTreeAdapter.insertBefore(parentNode, defaultTreeAdapter.createTextNode(text), referenceNode);
|
|
68611
68448
|
}
|
|
68612
68449
|
},
|
|
68613
68450
|
adoptAttributes(recipient, attrs) {
|
|
@@ -68677,7 +68514,7 @@ const defaultTreeAdapter = {
|
|
|
68677
68514
|
node.sourceCodeLocation = { ...node.sourceCodeLocation, ...endLocation };
|
|
68678
68515
|
},
|
|
68679
68516
|
};
|
|
68680
|
-
|
|
68517
|
+
|
|
68681
68518
|
;// ./node_modules/parse5/dist/common/doctype.js
|
|
68682
68519
|
|
|
68683
68520
|
//Const
|
|
@@ -68793,7 +68630,7 @@ function getDocumentMode(token) {
|
|
|
68793
68630
|
}
|
|
68794
68631
|
return DOCUMENT_MODE.NO_QUIRKS;
|
|
68795
68632
|
}
|
|
68796
|
-
|
|
68633
|
+
|
|
68797
68634
|
;// ./node_modules/parse5/dist/common/foreign-content.js
|
|
68798
68635
|
|
|
68799
68636
|
//MIME types
|
|
@@ -68872,7 +68709,6 @@ const XML_ATTRS_ADJUSTMENT_MAP = new Map([
|
|
|
68872
68709
|
['xlink:show', { prefix: 'xlink', name: 'show', namespace: html_NS.XLINK }],
|
|
68873
68710
|
['xlink:title', { prefix: 'xlink', name: 'title', namespace: html_NS.XLINK }],
|
|
68874
68711
|
['xlink:type', { prefix: 'xlink', name: 'type', namespace: html_NS.XLINK }],
|
|
68875
|
-
['xml:base', { prefix: 'xml', name: 'base', namespace: html_NS.XML }],
|
|
68876
68712
|
['xml:lang', { prefix: 'xml', name: 'lang', namespace: html_NS.XML }],
|
|
68877
68713
|
['xml:space', { prefix: 'xml', name: 'space', namespace: html_NS.XML }],
|
|
68878
68714
|
['xmlns', { prefix: '', name: 'xmlns', namespace: html_NS.XMLNS }],
|
|
@@ -69024,7 +68860,7 @@ function isIntegrationPoint(tn, ns, attrs, foreignNS) {
|
|
|
69024
68860
|
return (((!foreignNS || foreignNS === html_NS.HTML) && isHtmlIntegrationPoint(tn, ns, attrs)) ||
|
|
69025
68861
|
((!foreignNS || foreignNS === html_NS.MATHML) && isMathMLTextIntegrationPoint(tn, ns)));
|
|
69026
68862
|
}
|
|
69027
|
-
|
|
68863
|
+
|
|
69028
68864
|
;// ./node_modules/parse5/dist/parser/index.js
|
|
69029
68865
|
|
|
69030
68866
|
|
|
@@ -69085,26 +68921,41 @@ const defaultParserOptions = {
|
|
|
69085
68921
|
};
|
|
69086
68922
|
//Parser
|
|
69087
68923
|
class parser_Parser {
|
|
69088
|
-
constructor(options, document,
|
|
68924
|
+
constructor(options, document,
|
|
68925
|
+
/** @internal */
|
|
68926
|
+
fragmentContext = null,
|
|
68927
|
+
/** @internal */
|
|
68928
|
+
scriptHandler = null) {
|
|
69089
68929
|
this.fragmentContext = fragmentContext;
|
|
69090
68930
|
this.scriptHandler = scriptHandler;
|
|
69091
68931
|
this.currentToken = null;
|
|
69092
68932
|
this.stopped = false;
|
|
68933
|
+
/** @internal */
|
|
69093
68934
|
this.insertionMode = InsertionMode.INITIAL;
|
|
68935
|
+
/** @internal */
|
|
69094
68936
|
this.originalInsertionMode = InsertionMode.INITIAL;
|
|
68937
|
+
/** @internal */
|
|
69095
68938
|
this.headElement = null;
|
|
68939
|
+
/** @internal */
|
|
69096
68940
|
this.formElement = null;
|
|
69097
68941
|
/** Indicates that the current node is not an element in the HTML namespace */
|
|
69098
68942
|
this.currentNotInHTML = false;
|
|
69099
68943
|
/**
|
|
69100
68944
|
* The template insertion mode stack is maintained from the left.
|
|
69101
68945
|
* Ie. the topmost element will always have index 0.
|
|
68946
|
+
*
|
|
68947
|
+
* @internal
|
|
69102
68948
|
*/
|
|
69103
68949
|
this.tmplInsertionModeStack = [];
|
|
68950
|
+
/** @internal */
|
|
69104
68951
|
this.pendingCharacterTokens = [];
|
|
68952
|
+
/** @internal */
|
|
69105
68953
|
this.hasNonWhitespacePendingCharacterToken = false;
|
|
68954
|
+
/** @internal */
|
|
69106
68955
|
this.framesetOk = true;
|
|
68956
|
+
/** @internal */
|
|
69107
68957
|
this.skipNextNewLine = false;
|
|
68958
|
+
/** @internal */
|
|
69108
68959
|
this.fosterParentingEnabled = false;
|
|
69109
68960
|
this.options = {
|
|
69110
68961
|
...defaultParserOptions,
|
|
@@ -69158,6 +69009,7 @@ class parser_Parser {
|
|
|
69158
69009
|
return fragment;
|
|
69159
69010
|
}
|
|
69160
69011
|
//Errors
|
|
69012
|
+
/** @internal */
|
|
69161
69013
|
_err(token, code, beforeToken) {
|
|
69162
69014
|
var _a;
|
|
69163
69015
|
if (!this.onParseError)
|
|
@@ -69175,12 +69027,14 @@ class parser_Parser {
|
|
|
69175
69027
|
this.onParseError(err);
|
|
69176
69028
|
}
|
|
69177
69029
|
//Stack events
|
|
69030
|
+
/** @internal */
|
|
69178
69031
|
onItemPush(node, tid, isTop) {
|
|
69179
69032
|
var _a, _b;
|
|
69180
69033
|
(_b = (_a = this.treeAdapter).onItemPush) === null || _b === void 0 ? void 0 : _b.call(_a, node);
|
|
69181
69034
|
if (isTop && this.openElements.stackTop > 0)
|
|
69182
69035
|
this._setContextModes(node, tid);
|
|
69183
69036
|
}
|
|
69037
|
+
/** @internal */
|
|
69184
69038
|
onItemPop(node, isTop) {
|
|
69185
69039
|
var _a, _b;
|
|
69186
69040
|
if (this.options.sourceCodeLocationInfo) {
|
|
@@ -69201,10 +69055,12 @@ class parser_Parser {
|
|
|
69201
69055
|
}
|
|
69202
69056
|
}
|
|
69203
69057
|
_setContextModes(current, tid) {
|
|
69204
|
-
const isHTML = current === this.document || this.treeAdapter.getNamespaceURI(current) === html_NS.HTML;
|
|
69058
|
+
const isHTML = current === this.document || (current && this.treeAdapter.getNamespaceURI(current) === html_NS.HTML);
|
|
69205
69059
|
this.currentNotInHTML = !isHTML;
|
|
69206
|
-
this.tokenizer.inForeignNode =
|
|
69060
|
+
this.tokenizer.inForeignNode =
|
|
69061
|
+
!isHTML && current !== undefined && tid !== undefined && !this._isIntegrationPoint(tid, current);
|
|
69207
69062
|
}
|
|
69063
|
+
/** @protected */
|
|
69208
69064
|
_switchToTextParsing(currentToken, nextTokenizerState) {
|
|
69209
69065
|
this._insertElement(currentToken, html_NS.HTML);
|
|
69210
69066
|
this.tokenizer.state = nextTokenizerState;
|
|
@@ -69217,11 +69073,13 @@ class parser_Parser {
|
|
|
69217
69073
|
this.tokenizer.state = TokenizerMode.PLAINTEXT;
|
|
69218
69074
|
}
|
|
69219
69075
|
//Fragment parsing
|
|
69076
|
+
/** @protected */
|
|
69220
69077
|
_getAdjustedCurrentElement() {
|
|
69221
69078
|
return this.openElements.stackTop === 0 && this.fragmentContext
|
|
69222
69079
|
? this.fragmentContext
|
|
69223
69080
|
: this.openElements.current;
|
|
69224
69081
|
}
|
|
69082
|
+
/** @protected */
|
|
69225
69083
|
_findFormInFragmentContext() {
|
|
69226
69084
|
let node = this.fragmentContext;
|
|
69227
69085
|
while (node) {
|
|
@@ -69264,6 +69122,7 @@ class parser_Parser {
|
|
|
69264
69122
|
}
|
|
69265
69123
|
}
|
|
69266
69124
|
//Tree mutation
|
|
69125
|
+
/** @protected */
|
|
69267
69126
|
_setDocumentType(token) {
|
|
69268
69127
|
const name = token.name || '';
|
|
69269
69128
|
const publicId = token.publicId || '';
|
|
@@ -69277,6 +69136,7 @@ class parser_Parser {
|
|
|
69277
69136
|
}
|
|
69278
69137
|
}
|
|
69279
69138
|
}
|
|
69139
|
+
/** @protected */
|
|
69280
69140
|
_attachElementToTree(element, location) {
|
|
69281
69141
|
if (this.options.sourceCodeLocationInfo) {
|
|
69282
69142
|
const loc = location && {
|
|
@@ -69290,23 +69150,31 @@ class parser_Parser {
|
|
|
69290
69150
|
}
|
|
69291
69151
|
else {
|
|
69292
69152
|
const parent = this.openElements.currentTmplContentOrNode;
|
|
69293
|
-
this.treeAdapter.appendChild(parent, element);
|
|
69153
|
+
this.treeAdapter.appendChild(parent !== null && parent !== void 0 ? parent : this.document, element);
|
|
69294
69154
|
}
|
|
69295
69155
|
}
|
|
69156
|
+
/**
|
|
69157
|
+
* For self-closing tags. Add an element to the tree, but skip adding it
|
|
69158
|
+
* to the stack.
|
|
69159
|
+
*/
|
|
69160
|
+
/** @protected */
|
|
69296
69161
|
_appendElement(token, namespaceURI) {
|
|
69297
69162
|
const element = this.treeAdapter.createElement(token.tagName, namespaceURI, token.attrs);
|
|
69298
69163
|
this._attachElementToTree(element, token.location);
|
|
69299
69164
|
}
|
|
69165
|
+
/** @protected */
|
|
69300
69166
|
_insertElement(token, namespaceURI) {
|
|
69301
69167
|
const element = this.treeAdapter.createElement(token.tagName, namespaceURI, token.attrs);
|
|
69302
69168
|
this._attachElementToTree(element, token.location);
|
|
69303
69169
|
this.openElements.push(element, token.tagID);
|
|
69304
69170
|
}
|
|
69171
|
+
/** @protected */
|
|
69305
69172
|
_insertFakeElement(tagName, tagID) {
|
|
69306
69173
|
const element = this.treeAdapter.createElement(tagName, html_NS.HTML, []);
|
|
69307
69174
|
this._attachElementToTree(element, null);
|
|
69308
69175
|
this.openElements.push(element, tagID);
|
|
69309
69176
|
}
|
|
69177
|
+
/** @protected */
|
|
69310
69178
|
_insertTemplate(token) {
|
|
69311
69179
|
const tmpl = this.treeAdapter.createElement(token.tagName, html_NS.HTML, token.attrs);
|
|
69312
69180
|
const content = this.treeAdapter.createDocumentFragment();
|
|
@@ -69316,6 +69184,7 @@ class parser_Parser {
|
|
|
69316
69184
|
if (this.options.sourceCodeLocationInfo)
|
|
69317
69185
|
this.treeAdapter.setNodeSourceCodeLocation(content, null);
|
|
69318
69186
|
}
|
|
69187
|
+
/** @protected */
|
|
69319
69188
|
_insertFakeRootElement() {
|
|
69320
69189
|
const element = this.treeAdapter.createElement(TAG_NAMES.HTML, html_NS.HTML, []);
|
|
69321
69190
|
if (this.options.sourceCodeLocationInfo)
|
|
@@ -69323,6 +69192,7 @@ class parser_Parser {
|
|
|
69323
69192
|
this.treeAdapter.appendChild(this.openElements.current, element);
|
|
69324
69193
|
this.openElements.push(element, TAG_ID.HTML);
|
|
69325
69194
|
}
|
|
69195
|
+
/** @protected */
|
|
69326
69196
|
_appendCommentNode(token, parent) {
|
|
69327
69197
|
const commentNode = this.treeAdapter.createCommentNode(token.data);
|
|
69328
69198
|
this.treeAdapter.appendChild(parent, commentNode);
|
|
@@ -69330,6 +69200,7 @@ class parser_Parser {
|
|
|
69330
69200
|
this.treeAdapter.setNodeSourceCodeLocation(commentNode, token.location);
|
|
69331
69201
|
}
|
|
69332
69202
|
}
|
|
69203
|
+
/** @protected */
|
|
69333
69204
|
_insertCharacters(token) {
|
|
69334
69205
|
let parent;
|
|
69335
69206
|
let beforeElement;
|
|
@@ -69361,12 +69232,14 @@ class parser_Parser {
|
|
|
69361
69232
|
this.treeAdapter.setNodeSourceCodeLocation(textNode, token.location);
|
|
69362
69233
|
}
|
|
69363
69234
|
}
|
|
69235
|
+
/** @protected */
|
|
69364
69236
|
_adoptNodes(donor, recipient) {
|
|
69365
69237
|
for (let child = this.treeAdapter.getFirstChild(donor); child; child = this.treeAdapter.getFirstChild(donor)) {
|
|
69366
69238
|
this.treeAdapter.detachNode(child);
|
|
69367
69239
|
this.treeAdapter.appendChild(recipient, child);
|
|
69368
69240
|
}
|
|
69369
69241
|
}
|
|
69242
|
+
/** @protected */
|
|
69370
69243
|
_setEndLocation(element, closingToken) {
|
|
69371
69244
|
if (this.treeAdapter.getNodeSourceCodeLocation(element) && closingToken.location) {
|
|
69372
69245
|
const ctLoc = closingToken.location;
|
|
@@ -69414,8 +69287,10 @@ class parser_Parser {
|
|
|
69414
69287
|
// If it _is_ an integration point, then we might have to check that it is not an HTML
|
|
69415
69288
|
// integration point.
|
|
69416
69289
|
((token.tagID === TAG_ID.MGLYPH || token.tagID === TAG_ID.MALIGNMARK) &&
|
|
69290
|
+
currentTagId !== undefined &&
|
|
69417
69291
|
!this._isIntegrationPoint(currentTagId, current, html_NS.HTML)));
|
|
69418
69292
|
}
|
|
69293
|
+
/** @protected */
|
|
69419
69294
|
_processToken(token) {
|
|
69420
69295
|
switch (token.type) {
|
|
69421
69296
|
case token_TokenType.CHARACTER: {
|
|
@@ -69453,17 +69328,19 @@ class parser_Parser {
|
|
|
69453
69328
|
}
|
|
69454
69329
|
}
|
|
69455
69330
|
//Integration points
|
|
69331
|
+
/** @protected */
|
|
69456
69332
|
_isIntegrationPoint(tid, element, foreignNS) {
|
|
69457
69333
|
const ns = this.treeAdapter.getNamespaceURI(element);
|
|
69458
69334
|
const attrs = this.treeAdapter.getAttrList(element);
|
|
69459
69335
|
return isIntegrationPoint(tid, ns, attrs, foreignNS);
|
|
69460
69336
|
}
|
|
69461
69337
|
//Active formatting elements reconstruction
|
|
69338
|
+
/** @protected */
|
|
69462
69339
|
_reconstructActiveFormattingElements() {
|
|
69463
69340
|
const listLength = this.activeFormattingElements.entries.length;
|
|
69464
69341
|
if (listLength) {
|
|
69465
69342
|
const endIndex = this.activeFormattingElements.entries.findIndex((entry) => entry.type === EntryType.Marker || this.openElements.contains(entry.element));
|
|
69466
|
-
const unopenIdx = endIndex
|
|
69343
|
+
const unopenIdx = endIndex === -1 ? listLength - 1 : endIndex - 1;
|
|
69467
69344
|
for (let i = unopenIdx; i >= 0; i--) {
|
|
69468
69345
|
const entry = this.activeFormattingElements.entries[i];
|
|
69469
69346
|
this._insertElement(entry.token, this.treeAdapter.getNamespaceURI(entry.element));
|
|
@@ -69472,17 +69349,20 @@ class parser_Parser {
|
|
|
69472
69349
|
}
|
|
69473
69350
|
}
|
|
69474
69351
|
//Close elements
|
|
69352
|
+
/** @protected */
|
|
69475
69353
|
_closeTableCell() {
|
|
69476
69354
|
this.openElements.generateImpliedEndTags();
|
|
69477
69355
|
this.openElements.popUntilTableCellPopped();
|
|
69478
69356
|
this.activeFormattingElements.clearToLastMarker();
|
|
69479
69357
|
this.insertionMode = InsertionMode.IN_ROW;
|
|
69480
69358
|
}
|
|
69359
|
+
/** @protected */
|
|
69481
69360
|
_closePElement() {
|
|
69482
69361
|
this.openElements.generateImpliedEndTagsWithExclusion(TAG_ID.P);
|
|
69483
69362
|
this.openElements.popUntilTagNamePopped(TAG_ID.P);
|
|
69484
69363
|
}
|
|
69485
69364
|
//Insertion modes
|
|
69365
|
+
/** @protected */
|
|
69486
69366
|
_resetInsertionMode() {
|
|
69487
69367
|
for (let i = this.openElements.stackTop; i >= 0; i--) {
|
|
69488
69368
|
//Insertion mode reset map
|
|
@@ -69548,6 +69428,7 @@ class parser_Parser {
|
|
|
69548
69428
|
}
|
|
69549
69429
|
this.insertionMode = InsertionMode.IN_BODY;
|
|
69550
69430
|
}
|
|
69431
|
+
/** @protected */
|
|
69551
69432
|
_resetInsertionModeForSelect(selectIdx) {
|
|
69552
69433
|
if (selectIdx > 0) {
|
|
69553
69434
|
for (let i = selectIdx - 1; i > 0; i--) {
|
|
@@ -69564,12 +69445,17 @@ class parser_Parser {
|
|
|
69564
69445
|
this.insertionMode = InsertionMode.IN_SELECT;
|
|
69565
69446
|
}
|
|
69566
69447
|
//Foster parenting
|
|
69448
|
+
/** @protected */
|
|
69567
69449
|
_isElementCausesFosterParenting(tn) {
|
|
69568
69450
|
return TABLE_STRUCTURE_TAGS.has(tn);
|
|
69569
69451
|
}
|
|
69452
|
+
/** @protected */
|
|
69570
69453
|
_shouldFosterParentOnInsertion() {
|
|
69571
|
-
return this.fosterParentingEnabled &&
|
|
69454
|
+
return (this.fosterParentingEnabled &&
|
|
69455
|
+
this.openElements.currentTagId !== undefined &&
|
|
69456
|
+
this._isElementCausesFosterParenting(this.openElements.currentTagId));
|
|
69572
69457
|
}
|
|
69458
|
+
/** @protected */
|
|
69573
69459
|
_findFosterParentingLocation() {
|
|
69574
69460
|
for (let i = this.openElements.stackTop; i >= 0; i--) {
|
|
69575
69461
|
const openElement = this.openElements.items[i];
|
|
@@ -69593,6 +69479,7 @@ class parser_Parser {
|
|
|
69593
69479
|
}
|
|
69594
69480
|
return { parent: this.openElements.items[0], beforeElement: null };
|
|
69595
69481
|
}
|
|
69482
|
+
/** @protected */
|
|
69596
69483
|
_fosterParentElement(element) {
|
|
69597
69484
|
const location = this._findFosterParentingLocation();
|
|
69598
69485
|
if (location.beforeElement) {
|
|
@@ -69603,10 +69490,12 @@ class parser_Parser {
|
|
|
69603
69490
|
}
|
|
69604
69491
|
}
|
|
69605
69492
|
//Special elements
|
|
69493
|
+
/** @protected */
|
|
69606
69494
|
_isSpecialElement(element, id) {
|
|
69607
69495
|
const ns = this.treeAdapter.getNamespaceURI(element);
|
|
69608
69496
|
return SPECIAL_ELEMENTS[ns].has(id);
|
|
69609
69497
|
}
|
|
69498
|
+
/** @internal */
|
|
69610
69499
|
onCharacter(token) {
|
|
69611
69500
|
this.skipNextNewLine = false;
|
|
69612
69501
|
if (this.tokenizer.inForeignNode) {
|
|
@@ -69677,6 +69566,7 @@ class parser_Parser {
|
|
|
69677
69566
|
// Do nothing
|
|
69678
69567
|
}
|
|
69679
69568
|
}
|
|
69569
|
+
/** @internal */
|
|
69680
69570
|
onNullCharacter(token) {
|
|
69681
69571
|
this.skipNextNewLine = false;
|
|
69682
69572
|
if (this.tokenizer.inForeignNode) {
|
|
@@ -69734,6 +69624,7 @@ class parser_Parser {
|
|
|
69734
69624
|
// Do nothing
|
|
69735
69625
|
}
|
|
69736
69626
|
}
|
|
69627
|
+
/** @internal */
|
|
69737
69628
|
onComment(token) {
|
|
69738
69629
|
this.skipNextNewLine = false;
|
|
69739
69630
|
if (this.currentNotInHTML) {
|
|
@@ -69779,6 +69670,7 @@ class parser_Parser {
|
|
|
69779
69670
|
// Do nothing
|
|
69780
69671
|
}
|
|
69781
69672
|
}
|
|
69673
|
+
/** @internal */
|
|
69782
69674
|
onDoctype(token) {
|
|
69783
69675
|
this.skipNextNewLine = false;
|
|
69784
69676
|
switch (this.insertionMode) {
|
|
@@ -69801,6 +69693,7 @@ class parser_Parser {
|
|
|
69801
69693
|
// Do nothing
|
|
69802
69694
|
}
|
|
69803
69695
|
}
|
|
69696
|
+
/** @internal */
|
|
69804
69697
|
onStartTag(token) {
|
|
69805
69698
|
this.skipNextNewLine = false;
|
|
69806
69699
|
this.currentToken = token;
|
|
@@ -69818,6 +69711,7 @@ class parser_Parser {
|
|
|
69818
69711
|
* for nested calls.
|
|
69819
69712
|
*
|
|
69820
69713
|
* @param token The token to process.
|
|
69714
|
+
* @protected
|
|
69821
69715
|
*/
|
|
69822
69716
|
_processStartTag(token) {
|
|
69823
69717
|
if (this.shouldProcessStartTagTokenInForeignContent(token)) {
|
|
@@ -69827,6 +69721,7 @@ class parser_Parser {
|
|
|
69827
69721
|
this._startTagOutsideForeignContent(token);
|
|
69828
69722
|
}
|
|
69829
69723
|
}
|
|
69724
|
+
/** @protected */
|
|
69830
69725
|
_startTagOutsideForeignContent(token) {
|
|
69831
69726
|
switch (this.insertionMode) {
|
|
69832
69727
|
case InsertionMode.INITIAL: {
|
|
@@ -69921,6 +69816,7 @@ class parser_Parser {
|
|
|
69921
69816
|
// Do nothing
|
|
69922
69817
|
}
|
|
69923
69818
|
}
|
|
69819
|
+
/** @internal */
|
|
69924
69820
|
onEndTag(token) {
|
|
69925
69821
|
this.skipNextNewLine = false;
|
|
69926
69822
|
this.currentToken = token;
|
|
@@ -69931,6 +69827,7 @@ class parser_Parser {
|
|
|
69931
69827
|
this._endTagOutsideForeignContent(token);
|
|
69932
69828
|
}
|
|
69933
69829
|
}
|
|
69830
|
+
/** @protected */
|
|
69934
69831
|
_endTagOutsideForeignContent(token) {
|
|
69935
69832
|
switch (this.insertionMode) {
|
|
69936
69833
|
case InsertionMode.INITIAL: {
|
|
@@ -70025,6 +69922,7 @@ class parser_Parser {
|
|
|
70025
69922
|
// Do nothing
|
|
70026
69923
|
}
|
|
70027
69924
|
}
|
|
69925
|
+
/** @internal */
|
|
70028
69926
|
onEof(token) {
|
|
70029
69927
|
switch (this.insertionMode) {
|
|
70030
69928
|
case InsertionMode.INITIAL: {
|
|
@@ -70087,6 +69985,7 @@ class parser_Parser {
|
|
|
70087
69985
|
// Do nothing
|
|
70088
69986
|
}
|
|
70089
69987
|
}
|
|
69988
|
+
/** @internal */
|
|
70090
69989
|
onWhitespaceCharacter(token) {
|
|
70091
69990
|
if (this.skipNextNewLine) {
|
|
70092
69991
|
this.skipNextNewLine = false;
|
|
@@ -70173,7 +70072,7 @@ function aaObtainFurthestBlock(p, formattingElementEntry) {
|
|
|
70173
70072
|
}
|
|
70174
70073
|
}
|
|
70175
70074
|
if (!furthestBlock) {
|
|
70176
|
-
p.openElements.shortenToLength(idx
|
|
70075
|
+
p.openElements.shortenToLength(Math.max(idx, 0));
|
|
70177
70076
|
p.activeFormattingElements.removeEntry(formattingElementEntry);
|
|
70178
70077
|
}
|
|
70179
70078
|
return furthestBlock;
|
|
@@ -70659,7 +70558,7 @@ function numberedHeaderStartTagInBody(p, token) {
|
|
|
70659
70558
|
if (p.openElements.hasInButtonScope(TAG_ID.P)) {
|
|
70660
70559
|
p._closePElement();
|
|
70661
70560
|
}
|
|
70662
|
-
if (
|
|
70561
|
+
if (p.openElements.currentTagId !== undefined && NUMBERED_HEADERS.has(p.openElements.currentTagId)) {
|
|
70663
70562
|
p.openElements.pop();
|
|
70664
70563
|
}
|
|
70665
70564
|
p._insertElement(token, html_NS.HTML);
|
|
@@ -70821,9 +70720,9 @@ function iframeStartTagInBody(p, token) {
|
|
|
70821
70720
|
p.framesetOk = false;
|
|
70822
70721
|
p._switchToTextParsing(token, TokenizerMode.RAWTEXT);
|
|
70823
70722
|
}
|
|
70824
|
-
//NOTE: here we assume that we always act as
|
|
70825
|
-
//<noembed> as rawtext.
|
|
70826
|
-
function
|
|
70723
|
+
//NOTE: here we assume that we always act as a user agent with enabled plugins/frames, so we parse
|
|
70724
|
+
//<noembed>/<noframes> as rawtext.
|
|
70725
|
+
function rawTextStartTagInBody(p, token) {
|
|
70827
70726
|
p._switchToTextParsing(token, TokenizerMode.RAWTEXT);
|
|
70828
70727
|
}
|
|
70829
70728
|
function selectStartTagInBody(p, token) {
|
|
@@ -70935,6 +70834,7 @@ function startTagInBody(p, token) {
|
|
|
70935
70834
|
case TAG_ID.DETAILS:
|
|
70936
70835
|
case TAG_ID.ADDRESS:
|
|
70937
70836
|
case TAG_ID.ARTICLE:
|
|
70837
|
+
case TAG_ID.SEARCH:
|
|
70938
70838
|
case TAG_ID.SECTION:
|
|
70939
70839
|
case TAG_ID.SUMMARY:
|
|
70940
70840
|
case TAG_ID.FIELDSET:
|
|
@@ -71058,8 +70958,9 @@ function startTagInBody(p, token) {
|
|
|
71058
70958
|
optgroupStartTagInBody(p, token);
|
|
71059
70959
|
break;
|
|
71060
70960
|
}
|
|
71061
|
-
case TAG_ID.NOEMBED:
|
|
71062
|
-
|
|
70961
|
+
case TAG_ID.NOEMBED:
|
|
70962
|
+
case TAG_ID.NOFRAMES: {
|
|
70963
|
+
rawTextStartTagInBody(p, token);
|
|
71063
70964
|
break;
|
|
71064
70965
|
}
|
|
71065
70966
|
case TAG_ID.FRAMESET: {
|
|
@@ -71072,7 +70973,7 @@ function startTagInBody(p, token) {
|
|
|
71072
70973
|
}
|
|
71073
70974
|
case TAG_ID.NOSCRIPT: {
|
|
71074
70975
|
if (p.options.scriptingEnabled) {
|
|
71075
|
-
|
|
70976
|
+
rawTextStartTagInBody(p, token);
|
|
71076
70977
|
}
|
|
71077
70978
|
else {
|
|
71078
70979
|
genericStartTagInBody(p, token);
|
|
@@ -71244,6 +71145,7 @@ function endTagInBody(p, token) {
|
|
|
71244
71145
|
case TAG_ID.ADDRESS:
|
|
71245
71146
|
case TAG_ID.ARTICLE:
|
|
71246
71147
|
case TAG_ID.DETAILS:
|
|
71148
|
+
case TAG_ID.SEARCH:
|
|
71247
71149
|
case TAG_ID.SECTION:
|
|
71248
71150
|
case TAG_ID.SUMMARY:
|
|
71249
71151
|
case TAG_ID.LISTING:
|
|
@@ -71329,7 +71231,7 @@ function eofInText(p, token) {
|
|
|
71329
71231
|
// The "in table" insertion mode
|
|
71330
71232
|
//------------------------------------------------------------------
|
|
71331
71233
|
function characterInTable(p, token) {
|
|
71332
|
-
if (TABLE_STRUCTURE_TAGS.has(p.openElements.currentTagId)) {
|
|
71234
|
+
if (p.openElements.currentTagId !== undefined && TABLE_STRUCTURE_TAGS.has(p.openElements.currentTagId)) {
|
|
71333
71235
|
p.pendingCharacterTokens.length = 0;
|
|
71334
71236
|
p.hasNonWhitespacePendingCharacterToken = false;
|
|
71335
71237
|
p.originalInsertionMode = p.insertionMode;
|
|
@@ -71844,6 +71746,17 @@ function startTagInSelect(p, token) {
|
|
|
71844
71746
|
p._insertElement(token, html_NS.HTML);
|
|
71845
71747
|
break;
|
|
71846
71748
|
}
|
|
71749
|
+
case TAG_ID.HR: {
|
|
71750
|
+
if (p.openElements.currentTagId === TAG_ID.OPTION) {
|
|
71751
|
+
p.openElements.pop();
|
|
71752
|
+
}
|
|
71753
|
+
if (p.openElements.currentTagId === TAG_ID.OPTGROUP) {
|
|
71754
|
+
p.openElements.pop();
|
|
71755
|
+
}
|
|
71756
|
+
p._appendElement(token, html_NS.HTML);
|
|
71757
|
+
token.ackSelfClosing = true;
|
|
71758
|
+
break;
|
|
71759
|
+
}
|
|
71847
71760
|
case TAG_ID.INPUT:
|
|
71848
71761
|
case TAG_ID.KEYGEN:
|
|
71849
71762
|
case TAG_ID.TEXTAREA:
|
|
@@ -72143,6 +72056,7 @@ function characterInForeignContent(p, token) {
|
|
|
72143
72056
|
}
|
|
72144
72057
|
function popUntilHtmlOrIntegrationPoint(p) {
|
|
72145
72058
|
while (p.treeAdapter.getNamespaceURI(p.openElements.current) !== html_NS.HTML &&
|
|
72059
|
+
p.openElements.currentTagId !== undefined &&
|
|
72146
72060
|
!p._isIntegrationPoint(p.openElements.currentTagId, p.openElements.current)) {
|
|
72147
72061
|
p.openElements.pop();
|
|
72148
72062
|
}
|
|
@@ -72193,9 +72107,9 @@ function endTagInForeignContent(p, token) {
|
|
|
72193
72107
|
}
|
|
72194
72108
|
}
|
|
72195
72109
|
}
|
|
72196
|
-
|
|
72197
|
-
;// ./node_modules/entities/
|
|
72198
|
-
const escape_xmlReplacer = /["
|
|
72110
|
+
|
|
72111
|
+
;// ./node_modules/parse5/node_modules/entities/dist/esm/escape.js
|
|
72112
|
+
const escape_xmlReplacer = /["$&'<>\u0080-\uFFFF]/g;
|
|
72199
72113
|
const xmlCodeMap = new Map([
|
|
72200
72114
|
[34, """],
|
|
72201
72115
|
[38, "&"],
|
|
@@ -72206,15 +72120,15 @@ const xmlCodeMap = new Map([
|
|
|
72206
72120
|
// For compatibility with node < 4, we wrap `codePointAt`
|
|
72207
72121
|
const escape_getCodePoint =
|
|
72208
72122
|
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
72209
|
-
String.prototype.codePointAt
|
|
72210
|
-
? (
|
|
72123
|
+
String.prototype.codePointAt == null
|
|
72124
|
+
? (c, index) => (c.charCodeAt(index) & 64512) === 55296
|
|
72125
|
+
? (c.charCodeAt(index) - 55296) * 1024 +
|
|
72126
|
+
c.charCodeAt(index + 1) -
|
|
72127
|
+
56320 +
|
|
72128
|
+
65536
|
|
72129
|
+
: c.charCodeAt(index)
|
|
72211
72130
|
: // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae
|
|
72212
|
-
(
|
|
72213
|
-
? (c.charCodeAt(index) - 0xd800) * 0x400 +
|
|
72214
|
-
c.charCodeAt(index + 1) -
|
|
72215
|
-
0xdc00 +
|
|
72216
|
-
0x10000
|
|
72217
|
-
: c.charCodeAt(index);
|
|
72131
|
+
(input, index) => input.codePointAt(index);
|
|
72218
72132
|
/**
|
|
72219
72133
|
* Encodes all non-ASCII characters, as well as characters not valid in XML
|
|
72220
72134
|
* documents using XML entities.
|
|
@@ -72222,25 +72136,25 @@ String.prototype.codePointAt != null
|
|
|
72222
72136
|
* If a character has no equivalent entity, a
|
|
72223
72137
|
* numeric hexadecimal reference (eg. `ü`) will be used.
|
|
72224
72138
|
*/
|
|
72225
|
-
function escape_encodeXML(
|
|
72226
|
-
let
|
|
72227
|
-
let
|
|
72139
|
+
function escape_encodeXML(input) {
|
|
72140
|
+
let returnValue = "";
|
|
72141
|
+
let lastIndex = 0;
|
|
72228
72142
|
let match;
|
|
72229
|
-
while ((match = escape_xmlReplacer.exec(
|
|
72230
|
-
const
|
|
72231
|
-
const char =
|
|
72143
|
+
while ((match = escape_xmlReplacer.exec(input)) !== null) {
|
|
72144
|
+
const { index } = match;
|
|
72145
|
+
const char = input.charCodeAt(index);
|
|
72232
72146
|
const next = xmlCodeMap.get(char);
|
|
72233
|
-
if (next
|
|
72234
|
-
|
|
72235
|
-
|
|
72147
|
+
if (next === undefined) {
|
|
72148
|
+
returnValue += `${input.substring(lastIndex, index)}&#x${escape_getCodePoint(input, index).toString(16)};`;
|
|
72149
|
+
// Increase by 1 if we have a surrogate pair
|
|
72150
|
+
lastIndex = escape_xmlReplacer.lastIndex += Number((char & 64512) === 55296);
|
|
72236
72151
|
}
|
|
72237
72152
|
else {
|
|
72238
|
-
|
|
72239
|
-
|
|
72240
|
-
lastIdx = escape_xmlReplacer.lastIndex += Number((char & 0xfc00) === 0xd800);
|
|
72153
|
+
returnValue += input.substring(lastIndex, index) + next;
|
|
72154
|
+
lastIndex = index + 1;
|
|
72241
72155
|
}
|
|
72242
72156
|
}
|
|
72243
|
-
return
|
|
72157
|
+
return returnValue + input.substr(lastIndex);
|
|
72244
72158
|
}
|
|
72245
72159
|
/**
|
|
72246
72160
|
* Encodes all non-ASCII characters, as well as characters not valid in XML
|
|
@@ -72265,18 +72179,18 @@ const escape_escape = (/* unused pure expression or super */ null && (escape_enc
|
|
|
72265
72179
|
function getEscaper(regex, map) {
|
|
72266
72180
|
return function escape(data) {
|
|
72267
72181
|
let match;
|
|
72268
|
-
let
|
|
72182
|
+
let lastIndex = 0;
|
|
72269
72183
|
let result = "";
|
|
72270
72184
|
while ((match = regex.exec(data))) {
|
|
72271
|
-
if (
|
|
72272
|
-
result += data.substring(
|
|
72185
|
+
if (lastIndex !== match.index) {
|
|
72186
|
+
result += data.substring(lastIndex, match.index);
|
|
72273
72187
|
}
|
|
72274
72188
|
// We know that this character will be in the map.
|
|
72275
72189
|
result += map.get(match[0].charCodeAt(0));
|
|
72276
72190
|
// Every match will be of length 1
|
|
72277
|
-
|
|
72191
|
+
lastIndex = match.index + 1;
|
|
72278
72192
|
}
|
|
72279
|
-
return result + data.substring(
|
|
72193
|
+
return result + data.substring(lastIndex);
|
|
72280
72194
|
};
|
|
72281
72195
|
}
|
|
72282
72196
|
/**
|
|
@@ -72286,14 +72200,15 @@ function getEscaper(regex, map) {
|
|
|
72286
72200
|
*
|
|
72287
72201
|
* @param data String to escape.
|
|
72288
72202
|
*/
|
|
72289
|
-
const escape_escapeUTF8 = getEscaper(/[
|
|
72203
|
+
const escape_escapeUTF8 = /* #__PURE__ */ (/* unused pure expression or super */ null && (getEscaper(/["&'<>]/g, xmlCodeMap)));
|
|
72290
72204
|
/**
|
|
72291
72205
|
* Encodes all characters that have to be escaped in HTML attributes,
|
|
72292
72206
|
* following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}.
|
|
72293
72207
|
*
|
|
72294
72208
|
* @param data String to escape.
|
|
72295
72209
|
*/
|
|
72296
|
-
const escape_escapeAttribute =
|
|
72210
|
+
const escape_escapeAttribute =
|
|
72211
|
+
/* #__PURE__ */ getEscaper(/["&\u00A0]/g, new Map([
|
|
72297
72212
|
[34, """],
|
|
72298
72213
|
[38, "&"],
|
|
72299
72214
|
[160, " "],
|
|
@@ -72304,7 +72219,7 @@ const escape_escapeAttribute = getEscaper(/["&\u00A0]/g, new Map([
|
|
|
72304
72219
|
*
|
|
72305
72220
|
* @param data String to escape.
|
|
72306
72221
|
*/
|
|
72307
|
-
const escape_escapeText = getEscaper(/[&<>\u00A0]/g, new Map([
|
|
72222
|
+
const escape_escapeText = /* #__PURE__ */ getEscaper(/[&<>\u00A0]/g, new Map([
|
|
72308
72223
|
[38, "&"],
|
|
72309
72224
|
[60, "<"],
|
|
72310
72225
|
[62, ">"],
|
|
@@ -72382,7 +72297,7 @@ function serializer_serialize(node, options) {
|
|
|
72382
72297
|
* const document = parse5.parseFragment('<div>Hello, <b>world</b>!</div>');
|
|
72383
72298
|
*
|
|
72384
72299
|
* // Serializes the <div> element.
|
|
72385
|
-
* const
|
|
72300
|
+
* const str = parse5.serializeOuter(document.childNodes[0]);
|
|
72386
72301
|
*
|
|
72387
72302
|
* console.log(str); //> '<div>Hello, <b>world</b>!</div>'
|
|
72388
72303
|
* ```
|
|
@@ -72434,10 +72349,7 @@ function serializeAttributes(node, { treeAdapter }) {
|
|
|
72434
72349
|
let html = '';
|
|
72435
72350
|
for (const attr of treeAdapter.getAttrList(node)) {
|
|
72436
72351
|
html += ' ';
|
|
72437
|
-
if (
|
|
72438
|
-
html += attr.name;
|
|
72439
|
-
}
|
|
72440
|
-
else
|
|
72352
|
+
if (attr.namespace) {
|
|
72441
72353
|
switch (attr.namespace) {
|
|
72442
72354
|
case NS.XML: {
|
|
72443
72355
|
html += `xml:${attr.name}`;
|
|
@@ -72458,6 +72370,10 @@ function serializeAttributes(node, { treeAdapter }) {
|
|
|
72458
72370
|
html += `${attr.prefix}:${attr.name}`;
|
|
72459
72371
|
}
|
|
72460
72372
|
}
|
|
72373
|
+
}
|
|
72374
|
+
else {
|
|
72375
|
+
html += attr.name;
|
|
72376
|
+
}
|
|
72461
72377
|
html += `="${escapeAttribute(attr.value)}"`;
|
|
72462
72378
|
}
|
|
72463
72379
|
return html;
|
|
@@ -72479,7 +72395,7 @@ function serializeCommentNode(node, { treeAdapter }) {
|
|
|
72479
72395
|
function serializeDocumentTypeNode(node, { treeAdapter }) {
|
|
72480
72396
|
return `<!DOCTYPE ${treeAdapter.getDocumentTypeNodeName(node)}>`;
|
|
72481
72397
|
}
|
|
72482
|
-
|
|
72398
|
+
|
|
72483
72399
|
;// ./node_modules/parse5/dist/index.js
|
|
72484
72400
|
|
|
72485
72401
|
|
|
@@ -72488,9 +72404,7 @@ function serializeDocumentTypeNode(node, { treeAdapter }) {
|
|
|
72488
72404
|
|
|
72489
72405
|
/** @internal */
|
|
72490
72406
|
|
|
72491
|
-
/** @internal */
|
|
72492
72407
|
|
|
72493
|
-
/** @internal */
|
|
72494
72408
|
|
|
72495
72409
|
/** @internal */
|
|
72496
72410
|
|
|
@@ -72525,7 +72439,7 @@ function parseFragment(fragmentContext, html, options) {
|
|
|
72525
72439
|
parser.tokenizer.write(html, true);
|
|
72526
72440
|
return parser.getFragment();
|
|
72527
72441
|
}
|
|
72528
|
-
|
|
72442
|
+
|
|
72529
72443
|
;// ./node_modules/hast-util-from-html/lib/errors.js
|
|
72530
72444
|
/**
|
|
72531
72445
|
* @typedef ErrorInfo
|
|
@@ -97063,6 +96977,12 @@ const deserializer = ($, _) => {
|
|
|
97063
96977
|
return as(BigInt(value), index);
|
|
97064
96978
|
case 'BigInt':
|
|
97065
96979
|
return as(Object(BigInt(value)), index);
|
|
96980
|
+
case 'ArrayBuffer':
|
|
96981
|
+
return as(new Uint8Array(value).buffer, value);
|
|
96982
|
+
case 'DataView': {
|
|
96983
|
+
const { buffer } = new Uint8Array(value);
|
|
96984
|
+
return as(new DataView(buffer), value);
|
|
96985
|
+
}
|
|
97066
96986
|
}
|
|
97067
96987
|
return as(new env[type](value), index);
|
|
97068
96988
|
};
|
|
@@ -97108,6 +97028,8 @@ const typeOf = value => {
|
|
|
97108
97028
|
return [MAP, EMPTY];
|
|
97109
97029
|
case 'Set':
|
|
97110
97030
|
return [SET, EMPTY];
|
|
97031
|
+
case 'DataView':
|
|
97032
|
+
return [ARRAY, asString];
|
|
97111
97033
|
}
|
|
97112
97034
|
|
|
97113
97035
|
if (asString.includes('Array'))
|
|
@@ -97157,9 +97079,17 @@ const serializer = (strict, json, $, _) => {
|
|
|
97157
97079
|
return as([TYPE, entry], value);
|
|
97158
97080
|
}
|
|
97159
97081
|
case ARRAY: {
|
|
97160
|
-
if (type)
|
|
97161
|
-
|
|
97162
|
-
|
|
97082
|
+
if (type) {
|
|
97083
|
+
let spread = value;
|
|
97084
|
+
if (type === 'DataView') {
|
|
97085
|
+
spread = new Uint8Array(value.buffer);
|
|
97086
|
+
}
|
|
97087
|
+
else if (type === 'ArrayBuffer') {
|
|
97088
|
+
spread = new Uint8Array(value);
|
|
97089
|
+
}
|
|
97090
|
+
return as([type, [...spread]], value);
|
|
97091
|
+
}
|
|
97092
|
+
|
|
97163
97093
|
const arr = [];
|
|
97164
97094
|
const index = as([TYPE, arr], value);
|
|
97165
97095
|
for (const entry of value)
|
|
@@ -111987,6 +111917,27 @@ function rehypeRemark(destination, options) {
|
|
|
111987
111917
|
}
|
|
111988
111918
|
}
|
|
111989
111919
|
|
|
111920
|
+
;// ./processor/compile/anchor.ts
|
|
111921
|
+
|
|
111922
|
+
|
|
111923
|
+
const anchor_anchor = (node) => {
|
|
111924
|
+
const { href, label, target, title } = getHProps(node);
|
|
111925
|
+
const attrs = {
|
|
111926
|
+
...(label && { label }),
|
|
111927
|
+
...(target && { target }),
|
|
111928
|
+
href: href ?? '',
|
|
111929
|
+
...(title && { title }),
|
|
111930
|
+
};
|
|
111931
|
+
// Serialize children (phrasing content) back to markdown
|
|
111932
|
+
// Wrap in paragraph to satisfy RootContent type requirement
|
|
111933
|
+
const children = toMarkdown({
|
|
111934
|
+
type: 'paragraph',
|
|
111935
|
+
children: node.children,
|
|
111936
|
+
}).trim();
|
|
111937
|
+
return `<Anchor ${formatProps(attrs)}>${children}</Anchor>`;
|
|
111938
|
+
};
|
|
111939
|
+
/* harmony default export */ const compile_anchor = (anchor_anchor);
|
|
111940
|
+
|
|
111990
111941
|
;// ./processor/compile/callout.ts
|
|
111991
111942
|
|
|
111992
111943
|
const callout = (node, _, state, info) => {
|
|
@@ -112169,10 +112120,12 @@ const plain_plain = (node) => node.value;
|
|
|
112169
112120
|
|
|
112170
112121
|
|
|
112171
112122
|
|
|
112123
|
+
|
|
112172
112124
|
function compilers(mdxish = false) {
|
|
112173
112125
|
const data = this.data();
|
|
112174
112126
|
const toMarkdownExtensions = data.toMarkdownExtensions || (data.toMarkdownExtensions = []);
|
|
112175
112127
|
const handlers = {
|
|
112128
|
+
...(mdxish && { [NodeTypes.anchor]: compile_anchor }),
|
|
112176
112129
|
[NodeTypes.callout]: compile_callout,
|
|
112177
112130
|
[NodeTypes.codeTabs]: compile_code_tabs,
|
|
112178
112131
|
[NodeTypes.embedBlock]: compile_embed,
|
|
@@ -115007,6 +114960,591 @@ function legacyVariable() {
|
|
|
115007
114960
|
*/
|
|
115008
114961
|
|
|
115009
114962
|
|
|
114963
|
+
;// ./node_modules/entities/lib/esm/generated/decode-data-html.js
|
|
114964
|
+
// Generated using scripts/write-decode-map.ts
|
|
114965
|
+
/* harmony default export */ const decode_data_html = (new Uint16Array(
|
|
114966
|
+
// prettier-ignore
|
|
114967
|
+
"\u1d41<\xd5\u0131\u028a\u049d\u057b\u05d0\u0675\u06de\u07a2\u07d6\u080f\u0a4a\u0a91\u0da1\u0e6d\u0f09\u0f26\u10ca\u1228\u12e1\u1415\u149d\u14c3\u14df\u1525\0\0\0\0\0\0\u156b\u16cd\u198d\u1c12\u1ddd\u1f7e\u2060\u21b0\u228d\u23c0\u23fb\u2442\u2824\u2912\u2d08\u2e48\u2fce\u3016\u32ba\u3639\u37ac\u38fe\u3a28\u3a71\u3ae0\u3b2e\u0800EMabcfglmnoprstu\\bfms\x7f\x84\x8b\x90\x95\x98\xa6\xb3\xb9\xc8\xcflig\u803b\xc6\u40c6P\u803b&\u4026cute\u803b\xc1\u40c1reve;\u4102\u0100iyx}rc\u803b\xc2\u40c2;\u4410r;\uc000\ud835\udd04rave\u803b\xc0\u40c0pha;\u4391acr;\u4100d;\u6a53\u0100gp\x9d\xa1on;\u4104f;\uc000\ud835\udd38plyFunction;\u6061ing\u803b\xc5\u40c5\u0100cs\xbe\xc3r;\uc000\ud835\udc9cign;\u6254ilde\u803b\xc3\u40c3ml\u803b\xc4\u40c4\u0400aceforsu\xe5\xfb\xfe\u0117\u011c\u0122\u0127\u012a\u0100cr\xea\xf2kslash;\u6216\u0176\xf6\xf8;\u6ae7ed;\u6306y;\u4411\u0180crt\u0105\u010b\u0114ause;\u6235noullis;\u612ca;\u4392r;\uc000\ud835\udd05pf;\uc000\ud835\udd39eve;\u42d8c\xf2\u0113mpeq;\u624e\u0700HOacdefhilorsu\u014d\u0151\u0156\u0180\u019e\u01a2\u01b5\u01b7\u01ba\u01dc\u0215\u0273\u0278\u027ecy;\u4427PY\u803b\xa9\u40a9\u0180cpy\u015d\u0162\u017aute;\u4106\u0100;i\u0167\u0168\u62d2talDifferentialD;\u6145leys;\u612d\u0200aeio\u0189\u018e\u0194\u0198ron;\u410cdil\u803b\xc7\u40c7rc;\u4108nint;\u6230ot;\u410a\u0100dn\u01a7\u01adilla;\u40b8terDot;\u40b7\xf2\u017fi;\u43a7rcle\u0200DMPT\u01c7\u01cb\u01d1\u01d6ot;\u6299inus;\u6296lus;\u6295imes;\u6297o\u0100cs\u01e2\u01f8kwiseContourIntegral;\u6232eCurly\u0100DQ\u0203\u020foubleQuote;\u601duote;\u6019\u0200lnpu\u021e\u0228\u0247\u0255on\u0100;e\u0225\u0226\u6237;\u6a74\u0180git\u022f\u0236\u023aruent;\u6261nt;\u622fourIntegral;\u622e\u0100fr\u024c\u024e;\u6102oduct;\u6210nterClockwiseContourIntegral;\u6233oss;\u6a2fcr;\uc000\ud835\udc9ep\u0100;C\u0284\u0285\u62d3ap;\u624d\u0580DJSZacefios\u02a0\u02ac\u02b0\u02b4\u02b8\u02cb\u02d7\u02e1\u02e6\u0333\u048d\u0100;o\u0179\u02a5trahd;\u6911cy;\u4402cy;\u4405cy;\u440f\u0180grs\u02bf\u02c4\u02c7ger;\u6021r;\u61a1hv;\u6ae4\u0100ay\u02d0\u02d5ron;\u410e;\u4414l\u0100;t\u02dd\u02de\u6207a;\u4394r;\uc000\ud835\udd07\u0100af\u02eb\u0327\u0100cm\u02f0\u0322ritical\u0200ADGT\u0300\u0306\u0316\u031ccute;\u40b4o\u0174\u030b\u030d;\u42d9bleAcute;\u42ddrave;\u4060ilde;\u42dcond;\u62c4ferentialD;\u6146\u0470\u033d\0\0\0\u0342\u0354\0\u0405f;\uc000\ud835\udd3b\u0180;DE\u0348\u0349\u034d\u40a8ot;\u60dcqual;\u6250ble\u0300CDLRUV\u0363\u0372\u0382\u03cf\u03e2\u03f8ontourIntegra\xec\u0239o\u0274\u0379\0\0\u037b\xbb\u0349nArrow;\u61d3\u0100eo\u0387\u03a4ft\u0180ART\u0390\u0396\u03a1rrow;\u61d0ightArrow;\u61d4e\xe5\u02cang\u0100LR\u03ab\u03c4eft\u0100AR\u03b3\u03b9rrow;\u67f8ightArrow;\u67faightArrow;\u67f9ight\u0100AT\u03d8\u03derrow;\u61d2ee;\u62a8p\u0241\u03e9\0\0\u03efrrow;\u61d1ownArrow;\u61d5erticalBar;\u6225n\u0300ABLRTa\u0412\u042a\u0430\u045e\u047f\u037crrow\u0180;BU\u041d\u041e\u0422\u6193ar;\u6913pArrow;\u61f5reve;\u4311eft\u02d2\u043a\0\u0446\0\u0450ightVector;\u6950eeVector;\u695eector\u0100;B\u0459\u045a\u61bdar;\u6956ight\u01d4\u0467\0\u0471eeVector;\u695fector\u0100;B\u047a\u047b\u61c1ar;\u6957ee\u0100;A\u0486\u0487\u62a4rrow;\u61a7\u0100ct\u0492\u0497r;\uc000\ud835\udc9frok;\u4110\u0800NTacdfglmopqstux\u04bd\u04c0\u04c4\u04cb\u04de\u04e2\u04e7\u04ee\u04f5\u0521\u052f\u0536\u0552\u055d\u0560\u0565G;\u414aH\u803b\xd0\u40d0cute\u803b\xc9\u40c9\u0180aiy\u04d2\u04d7\u04dcron;\u411arc\u803b\xca\u40ca;\u442dot;\u4116r;\uc000\ud835\udd08rave\u803b\xc8\u40c8ement;\u6208\u0100ap\u04fa\u04fecr;\u4112ty\u0253\u0506\0\0\u0512mallSquare;\u65fberySmallSquare;\u65ab\u0100gp\u0526\u052aon;\u4118f;\uc000\ud835\udd3csilon;\u4395u\u0100ai\u053c\u0549l\u0100;T\u0542\u0543\u6a75ilde;\u6242librium;\u61cc\u0100ci\u0557\u055ar;\u6130m;\u6a73a;\u4397ml\u803b\xcb\u40cb\u0100ip\u056a\u056fsts;\u6203onentialE;\u6147\u0280cfios\u0585\u0588\u058d\u05b2\u05ccy;\u4424r;\uc000\ud835\udd09lled\u0253\u0597\0\0\u05a3mallSquare;\u65fcerySmallSquare;\u65aa\u0370\u05ba\0\u05bf\0\0\u05c4f;\uc000\ud835\udd3dAll;\u6200riertrf;\u6131c\xf2\u05cb\u0600JTabcdfgorst\u05e8\u05ec\u05ef\u05fa\u0600\u0612\u0616\u061b\u061d\u0623\u066c\u0672cy;\u4403\u803b>\u403emma\u0100;d\u05f7\u05f8\u4393;\u43dcreve;\u411e\u0180eiy\u0607\u060c\u0610dil;\u4122rc;\u411c;\u4413ot;\u4120r;\uc000\ud835\udd0a;\u62d9pf;\uc000\ud835\udd3eeater\u0300EFGLST\u0635\u0644\u064e\u0656\u065b\u0666qual\u0100;L\u063e\u063f\u6265ess;\u62dbullEqual;\u6267reater;\u6aa2ess;\u6277lantEqual;\u6a7eilde;\u6273cr;\uc000\ud835\udca2;\u626b\u0400Aacfiosu\u0685\u068b\u0696\u069b\u069e\u06aa\u06be\u06caRDcy;\u442a\u0100ct\u0690\u0694ek;\u42c7;\u405eirc;\u4124r;\u610clbertSpace;\u610b\u01f0\u06af\0\u06b2f;\u610dizontalLine;\u6500\u0100ct\u06c3\u06c5\xf2\u06a9rok;\u4126mp\u0144\u06d0\u06d8ownHum\xf0\u012fqual;\u624f\u0700EJOacdfgmnostu\u06fa\u06fe\u0703\u0707\u070e\u071a\u071e\u0721\u0728\u0744\u0778\u078b\u078f\u0795cy;\u4415lig;\u4132cy;\u4401cute\u803b\xcd\u40cd\u0100iy\u0713\u0718rc\u803b\xce\u40ce;\u4418ot;\u4130r;\u6111rave\u803b\xcc\u40cc\u0180;ap\u0720\u072f\u073f\u0100cg\u0734\u0737r;\u412ainaryI;\u6148lie\xf3\u03dd\u01f4\u0749\0\u0762\u0100;e\u074d\u074e\u622c\u0100gr\u0753\u0758ral;\u622bsection;\u62c2isible\u0100CT\u076c\u0772omma;\u6063imes;\u6062\u0180gpt\u077f\u0783\u0788on;\u412ef;\uc000\ud835\udd40a;\u4399cr;\u6110ilde;\u4128\u01eb\u079a\0\u079ecy;\u4406l\u803b\xcf\u40cf\u0280cfosu\u07ac\u07b7\u07bc\u07c2\u07d0\u0100iy\u07b1\u07b5rc;\u4134;\u4419r;\uc000\ud835\udd0dpf;\uc000\ud835\udd41\u01e3\u07c7\0\u07ccr;\uc000\ud835\udca5rcy;\u4408kcy;\u4404\u0380HJacfos\u07e4\u07e8\u07ec\u07f1\u07fd\u0802\u0808cy;\u4425cy;\u440cppa;\u439a\u0100ey\u07f6\u07fbdil;\u4136;\u441ar;\uc000\ud835\udd0epf;\uc000\ud835\udd42cr;\uc000\ud835\udca6\u0580JTaceflmost\u0825\u0829\u082c\u0850\u0863\u09b3\u09b8\u09c7\u09cd\u0a37\u0a47cy;\u4409\u803b<\u403c\u0280cmnpr\u0837\u083c\u0841\u0844\u084dute;\u4139bda;\u439bg;\u67ealacetrf;\u6112r;\u619e\u0180aey\u0857\u085c\u0861ron;\u413ddil;\u413b;\u441b\u0100fs\u0868\u0970t\u0500ACDFRTUVar\u087e\u08a9\u08b1\u08e0\u08e6\u08fc\u092f\u095b\u0390\u096a\u0100nr\u0883\u088fgleBracket;\u67e8row\u0180;BR\u0899\u089a\u089e\u6190ar;\u61e4ightArrow;\u61c6eiling;\u6308o\u01f5\u08b7\0\u08c3bleBracket;\u67e6n\u01d4\u08c8\0\u08d2eeVector;\u6961ector\u0100;B\u08db\u08dc\u61c3ar;\u6959loor;\u630aight\u0100AV\u08ef\u08f5rrow;\u6194ector;\u694e\u0100er\u0901\u0917e\u0180;AV\u0909\u090a\u0910\u62a3rrow;\u61a4ector;\u695aiangle\u0180;BE\u0924\u0925\u0929\u62b2ar;\u69cfqual;\u62b4p\u0180DTV\u0937\u0942\u094cownVector;\u6951eeVector;\u6960ector\u0100;B\u0956\u0957\u61bfar;\u6958ector\u0100;B\u0965\u0966\u61bcar;\u6952ight\xe1\u039cs\u0300EFGLST\u097e\u098b\u0995\u099d\u09a2\u09adqualGreater;\u62daullEqual;\u6266reater;\u6276ess;\u6aa1lantEqual;\u6a7dilde;\u6272r;\uc000\ud835\udd0f\u0100;e\u09bd\u09be\u62d8ftarrow;\u61daidot;\u413f\u0180npw\u09d4\u0a16\u0a1bg\u0200LRlr\u09de\u09f7\u0a02\u0a10eft\u0100AR\u09e6\u09ecrrow;\u67f5ightArrow;\u67f7ightArrow;\u67f6eft\u0100ar\u03b3\u0a0aight\xe1\u03bfight\xe1\u03caf;\uc000\ud835\udd43er\u0100LR\u0a22\u0a2ceftArrow;\u6199ightArrow;\u6198\u0180cht\u0a3e\u0a40\u0a42\xf2\u084c;\u61b0rok;\u4141;\u626a\u0400acefiosu\u0a5a\u0a5d\u0a60\u0a77\u0a7c\u0a85\u0a8b\u0a8ep;\u6905y;\u441c\u0100dl\u0a65\u0a6fiumSpace;\u605flintrf;\u6133r;\uc000\ud835\udd10nusPlus;\u6213pf;\uc000\ud835\udd44c\xf2\u0a76;\u439c\u0480Jacefostu\u0aa3\u0aa7\u0aad\u0ac0\u0b14\u0b19\u0d91\u0d97\u0d9ecy;\u440acute;\u4143\u0180aey\u0ab4\u0ab9\u0aberon;\u4147dil;\u4145;\u441d\u0180gsw\u0ac7\u0af0\u0b0eative\u0180MTV\u0ad3\u0adf\u0ae8ediumSpace;\u600bhi\u0100cn\u0ae6\u0ad8\xeb\u0ad9eryThi\xee\u0ad9ted\u0100GL\u0af8\u0b06reaterGreate\xf2\u0673essLes\xf3\u0a48Line;\u400ar;\uc000\ud835\udd11\u0200Bnpt\u0b22\u0b28\u0b37\u0b3areak;\u6060BreakingSpace;\u40a0f;\u6115\u0680;CDEGHLNPRSTV\u0b55\u0b56\u0b6a\u0b7c\u0ba1\u0beb\u0c04\u0c5e\u0c84\u0ca6\u0cd8\u0d61\u0d85\u6aec\u0100ou\u0b5b\u0b64ngruent;\u6262pCap;\u626doubleVerticalBar;\u6226\u0180lqx\u0b83\u0b8a\u0b9bement;\u6209ual\u0100;T\u0b92\u0b93\u6260ilde;\uc000\u2242\u0338ists;\u6204reater\u0380;EFGLST\u0bb6\u0bb7\u0bbd\u0bc9\u0bd3\u0bd8\u0be5\u626fqual;\u6271ullEqual;\uc000\u2267\u0338reater;\uc000\u226b\u0338ess;\u6279lantEqual;\uc000\u2a7e\u0338ilde;\u6275ump\u0144\u0bf2\u0bfdownHump;\uc000\u224e\u0338qual;\uc000\u224f\u0338e\u0100fs\u0c0a\u0c27tTriangle\u0180;BE\u0c1a\u0c1b\u0c21\u62eaar;\uc000\u29cf\u0338qual;\u62ecs\u0300;EGLST\u0c35\u0c36\u0c3c\u0c44\u0c4b\u0c58\u626equal;\u6270reater;\u6278ess;\uc000\u226a\u0338lantEqual;\uc000\u2a7d\u0338ilde;\u6274ested\u0100GL\u0c68\u0c79reaterGreater;\uc000\u2aa2\u0338essLess;\uc000\u2aa1\u0338recedes\u0180;ES\u0c92\u0c93\u0c9b\u6280qual;\uc000\u2aaf\u0338lantEqual;\u62e0\u0100ei\u0cab\u0cb9verseElement;\u620cghtTriangle\u0180;BE\u0ccb\u0ccc\u0cd2\u62ebar;\uc000\u29d0\u0338qual;\u62ed\u0100qu\u0cdd\u0d0cuareSu\u0100bp\u0ce8\u0cf9set\u0100;E\u0cf0\u0cf3\uc000\u228f\u0338qual;\u62e2erset\u0100;E\u0d03\u0d06\uc000\u2290\u0338qual;\u62e3\u0180bcp\u0d13\u0d24\u0d4eset\u0100;E\u0d1b\u0d1e\uc000\u2282\u20d2qual;\u6288ceeds\u0200;EST\u0d32\u0d33\u0d3b\u0d46\u6281qual;\uc000\u2ab0\u0338lantEqual;\u62e1ilde;\uc000\u227f\u0338erset\u0100;E\u0d58\u0d5b\uc000\u2283\u20d2qual;\u6289ilde\u0200;EFT\u0d6e\u0d6f\u0d75\u0d7f\u6241qual;\u6244ullEqual;\u6247ilde;\u6249erticalBar;\u6224cr;\uc000\ud835\udca9ilde\u803b\xd1\u40d1;\u439d\u0700Eacdfgmoprstuv\u0dbd\u0dc2\u0dc9\u0dd5\u0ddb\u0de0\u0de7\u0dfc\u0e02\u0e20\u0e22\u0e32\u0e3f\u0e44lig;\u4152cute\u803b\xd3\u40d3\u0100iy\u0dce\u0dd3rc\u803b\xd4\u40d4;\u441eblac;\u4150r;\uc000\ud835\udd12rave\u803b\xd2\u40d2\u0180aei\u0dee\u0df2\u0df6cr;\u414cga;\u43a9cron;\u439fpf;\uc000\ud835\udd46enCurly\u0100DQ\u0e0e\u0e1aoubleQuote;\u601cuote;\u6018;\u6a54\u0100cl\u0e27\u0e2cr;\uc000\ud835\udcaaash\u803b\xd8\u40d8i\u016c\u0e37\u0e3cde\u803b\xd5\u40d5es;\u6a37ml\u803b\xd6\u40d6er\u0100BP\u0e4b\u0e60\u0100ar\u0e50\u0e53r;\u603eac\u0100ek\u0e5a\u0e5c;\u63deet;\u63b4arenthesis;\u63dc\u0480acfhilors\u0e7f\u0e87\u0e8a\u0e8f\u0e92\u0e94\u0e9d\u0eb0\u0efcrtialD;\u6202y;\u441fr;\uc000\ud835\udd13i;\u43a6;\u43a0usMinus;\u40b1\u0100ip\u0ea2\u0eadncareplan\xe5\u069df;\u6119\u0200;eio\u0eb9\u0eba\u0ee0\u0ee4\u6abbcedes\u0200;EST\u0ec8\u0ec9\u0ecf\u0eda\u627aqual;\u6aaflantEqual;\u627cilde;\u627eme;\u6033\u0100dp\u0ee9\u0eeeuct;\u620fortion\u0100;a\u0225\u0ef9l;\u621d\u0100ci\u0f01\u0f06r;\uc000\ud835\udcab;\u43a8\u0200Ufos\u0f11\u0f16\u0f1b\u0f1fOT\u803b\"\u4022r;\uc000\ud835\udd14pf;\u611acr;\uc000\ud835\udcac\u0600BEacefhiorsu\u0f3e\u0f43\u0f47\u0f60\u0f73\u0fa7\u0faa\u0fad\u1096\u10a9\u10b4\u10bearr;\u6910G\u803b\xae\u40ae\u0180cnr\u0f4e\u0f53\u0f56ute;\u4154g;\u67ebr\u0100;t\u0f5c\u0f5d\u61a0l;\u6916\u0180aey\u0f67\u0f6c\u0f71ron;\u4158dil;\u4156;\u4420\u0100;v\u0f78\u0f79\u611cerse\u0100EU\u0f82\u0f99\u0100lq\u0f87\u0f8eement;\u620builibrium;\u61cbpEquilibrium;\u696fr\xbb\u0f79o;\u43a1ght\u0400ACDFTUVa\u0fc1\u0feb\u0ff3\u1022\u1028\u105b\u1087\u03d8\u0100nr\u0fc6\u0fd2gleBracket;\u67e9row\u0180;BL\u0fdc\u0fdd\u0fe1\u6192ar;\u61e5eftArrow;\u61c4eiling;\u6309o\u01f5\u0ff9\0\u1005bleBracket;\u67e7n\u01d4\u100a\0\u1014eeVector;\u695dector\u0100;B\u101d\u101e\u61c2ar;\u6955loor;\u630b\u0100er\u102d\u1043e\u0180;AV\u1035\u1036\u103c\u62a2rrow;\u61a6ector;\u695biangle\u0180;BE\u1050\u1051\u1055\u62b3ar;\u69d0qual;\u62b5p\u0180DTV\u1063\u106e\u1078ownVector;\u694feeVector;\u695cector\u0100;B\u1082\u1083\u61bear;\u6954ector\u0100;B\u1091\u1092\u61c0ar;\u6953\u0100pu\u109b\u109ef;\u611dndImplies;\u6970ightarrow;\u61db\u0100ch\u10b9\u10bcr;\u611b;\u61b1leDelayed;\u69f4\u0680HOacfhimoqstu\u10e4\u10f1\u10f7\u10fd\u1119\u111e\u1151\u1156\u1161\u1167\u11b5\u11bb\u11bf\u0100Cc\u10e9\u10eeHcy;\u4429y;\u4428FTcy;\u442ccute;\u415a\u0280;aeiy\u1108\u1109\u110e\u1113\u1117\u6abcron;\u4160dil;\u415erc;\u415c;\u4421r;\uc000\ud835\udd16ort\u0200DLRU\u112a\u1134\u113e\u1149ownArrow\xbb\u041eeftArrow\xbb\u089aightArrow\xbb\u0fddpArrow;\u6191gma;\u43a3allCircle;\u6218pf;\uc000\ud835\udd4a\u0272\u116d\0\0\u1170t;\u621aare\u0200;ISU\u117b\u117c\u1189\u11af\u65a1ntersection;\u6293u\u0100bp\u118f\u119eset\u0100;E\u1197\u1198\u628fqual;\u6291erset\u0100;E\u11a8\u11a9\u6290qual;\u6292nion;\u6294cr;\uc000\ud835\udcaear;\u62c6\u0200bcmp\u11c8\u11db\u1209\u120b\u0100;s\u11cd\u11ce\u62d0et\u0100;E\u11cd\u11d5qual;\u6286\u0100ch\u11e0\u1205eeds\u0200;EST\u11ed\u11ee\u11f4\u11ff\u627bqual;\u6ab0lantEqual;\u627dilde;\u627fTh\xe1\u0f8c;\u6211\u0180;es\u1212\u1213\u1223\u62d1rset\u0100;E\u121c\u121d\u6283qual;\u6287et\xbb\u1213\u0580HRSacfhiors\u123e\u1244\u1249\u1255\u125e\u1271\u1276\u129f\u12c2\u12c8\u12d1ORN\u803b\xde\u40deADE;\u6122\u0100Hc\u124e\u1252cy;\u440by;\u4426\u0100bu\u125a\u125c;\u4009;\u43a4\u0180aey\u1265\u126a\u126fron;\u4164dil;\u4162;\u4422r;\uc000\ud835\udd17\u0100ei\u127b\u1289\u01f2\u1280\0\u1287efore;\u6234a;\u4398\u0100cn\u128e\u1298kSpace;\uc000\u205f\u200aSpace;\u6009lde\u0200;EFT\u12ab\u12ac\u12b2\u12bc\u623cqual;\u6243ullEqual;\u6245ilde;\u6248pf;\uc000\ud835\udd4bipleDot;\u60db\u0100ct\u12d6\u12dbr;\uc000\ud835\udcafrok;\u4166\u0ae1\u12f7\u130e\u131a\u1326\0\u132c\u1331\0\0\0\0\0\u1338\u133d\u1377\u1385\0\u13ff\u1404\u140a\u1410\u0100cr\u12fb\u1301ute\u803b\xda\u40dar\u0100;o\u1307\u1308\u619fcir;\u6949r\u01e3\u1313\0\u1316y;\u440eve;\u416c\u0100iy\u131e\u1323rc\u803b\xdb\u40db;\u4423blac;\u4170r;\uc000\ud835\udd18rave\u803b\xd9\u40d9acr;\u416a\u0100di\u1341\u1369er\u0100BP\u1348\u135d\u0100ar\u134d\u1350r;\u405fac\u0100ek\u1357\u1359;\u63dfet;\u63b5arenthesis;\u63ddon\u0100;P\u1370\u1371\u62c3lus;\u628e\u0100gp\u137b\u137fon;\u4172f;\uc000\ud835\udd4c\u0400ADETadps\u1395\u13ae\u13b8\u13c4\u03e8\u13d2\u13d7\u13f3rrow\u0180;BD\u1150\u13a0\u13a4ar;\u6912ownArrow;\u61c5ownArrow;\u6195quilibrium;\u696eee\u0100;A\u13cb\u13cc\u62a5rrow;\u61a5own\xe1\u03f3er\u0100LR\u13de\u13e8eftArrow;\u6196ightArrow;\u6197i\u0100;l\u13f9\u13fa\u43d2on;\u43a5ing;\u416ecr;\uc000\ud835\udcb0ilde;\u4168ml\u803b\xdc\u40dc\u0480Dbcdefosv\u1427\u142c\u1430\u1433\u143e\u1485\u148a\u1490\u1496ash;\u62abar;\u6aeby;\u4412ash\u0100;l\u143b\u143c\u62a9;\u6ae6\u0100er\u1443\u1445;\u62c1\u0180bty\u144c\u1450\u147aar;\u6016\u0100;i\u144f\u1455cal\u0200BLST\u1461\u1465\u146a\u1474ar;\u6223ine;\u407ceparator;\u6758ilde;\u6240ThinSpace;\u600ar;\uc000\ud835\udd19pf;\uc000\ud835\udd4dcr;\uc000\ud835\udcb1dash;\u62aa\u0280cefos\u14a7\u14ac\u14b1\u14b6\u14bcirc;\u4174dge;\u62c0r;\uc000\ud835\udd1apf;\uc000\ud835\udd4ecr;\uc000\ud835\udcb2\u0200fios\u14cb\u14d0\u14d2\u14d8r;\uc000\ud835\udd1b;\u439epf;\uc000\ud835\udd4fcr;\uc000\ud835\udcb3\u0480AIUacfosu\u14f1\u14f5\u14f9\u14fd\u1504\u150f\u1514\u151a\u1520cy;\u442fcy;\u4407cy;\u442ecute\u803b\xdd\u40dd\u0100iy\u1509\u150drc;\u4176;\u442br;\uc000\ud835\udd1cpf;\uc000\ud835\udd50cr;\uc000\ud835\udcb4ml;\u4178\u0400Hacdefos\u1535\u1539\u153f\u154b\u154f\u155d\u1560\u1564cy;\u4416cute;\u4179\u0100ay\u1544\u1549ron;\u417d;\u4417ot;\u417b\u01f2\u1554\0\u155boWidt\xe8\u0ad9a;\u4396r;\u6128pf;\u6124cr;\uc000\ud835\udcb5\u0be1\u1583\u158a\u1590\0\u15b0\u15b6\u15bf\0\0\0\0\u15c6\u15db\u15eb\u165f\u166d\0\u1695\u169b\u16b2\u16b9\0\u16becute\u803b\xe1\u40e1reve;\u4103\u0300;Ediuy\u159c\u159d\u15a1\u15a3\u15a8\u15ad\u623e;\uc000\u223e\u0333;\u623frc\u803b\xe2\u40e2te\u80bb\xb4\u0306;\u4430lig\u803b\xe6\u40e6\u0100;r\xb2\u15ba;\uc000\ud835\udd1erave\u803b\xe0\u40e0\u0100ep\u15ca\u15d6\u0100fp\u15cf\u15d4sym;\u6135\xe8\u15d3ha;\u43b1\u0100ap\u15dfc\u0100cl\u15e4\u15e7r;\u4101g;\u6a3f\u0264\u15f0\0\0\u160a\u0280;adsv\u15fa\u15fb\u15ff\u1601\u1607\u6227nd;\u6a55;\u6a5clope;\u6a58;\u6a5a\u0380;elmrsz\u1618\u1619\u161b\u161e\u163f\u164f\u1659\u6220;\u69a4e\xbb\u1619sd\u0100;a\u1625\u1626\u6221\u0461\u1630\u1632\u1634\u1636\u1638\u163a\u163c\u163e;\u69a8;\u69a9;\u69aa;\u69ab;\u69ac;\u69ad;\u69ae;\u69aft\u0100;v\u1645\u1646\u621fb\u0100;d\u164c\u164d\u62be;\u699d\u0100pt\u1654\u1657h;\u6222\xbb\xb9arr;\u637c\u0100gp\u1663\u1667on;\u4105f;\uc000\ud835\udd52\u0380;Eaeiop\u12c1\u167b\u167d\u1682\u1684\u1687\u168a;\u6a70cir;\u6a6f;\u624ad;\u624bs;\u4027rox\u0100;e\u12c1\u1692\xf1\u1683ing\u803b\xe5\u40e5\u0180cty\u16a1\u16a6\u16a8r;\uc000\ud835\udcb6;\u402amp\u0100;e\u12c1\u16af\xf1\u0288ilde\u803b\xe3\u40e3ml\u803b\xe4\u40e4\u0100ci\u16c2\u16c8onin\xf4\u0272nt;\u6a11\u0800Nabcdefiklnoprsu\u16ed\u16f1\u1730\u173c\u1743\u1748\u1778\u177d\u17e0\u17e6\u1839\u1850\u170d\u193d\u1948\u1970ot;\u6aed\u0100cr\u16f6\u171ek\u0200ceps\u1700\u1705\u170d\u1713ong;\u624cpsilon;\u43f6rime;\u6035im\u0100;e\u171a\u171b\u623dq;\u62cd\u0176\u1722\u1726ee;\u62bded\u0100;g\u172c\u172d\u6305e\xbb\u172drk\u0100;t\u135c\u1737brk;\u63b6\u0100oy\u1701\u1741;\u4431quo;\u601e\u0280cmprt\u1753\u175b\u1761\u1764\u1768aus\u0100;e\u010a\u0109ptyv;\u69b0s\xe9\u170cno\xf5\u0113\u0180ahw\u176f\u1771\u1773;\u43b2;\u6136een;\u626cr;\uc000\ud835\udd1fg\u0380costuvw\u178d\u179d\u17b3\u17c1\u17d5\u17db\u17de\u0180aiu\u1794\u1796\u179a\xf0\u0760rc;\u65efp\xbb\u1371\u0180dpt\u17a4\u17a8\u17adot;\u6a00lus;\u6a01imes;\u6a02\u0271\u17b9\0\0\u17becup;\u6a06ar;\u6605riangle\u0100du\u17cd\u17d2own;\u65bdp;\u65b3plus;\u6a04e\xe5\u1444\xe5\u14adarow;\u690d\u0180ako\u17ed\u1826\u1835\u0100cn\u17f2\u1823k\u0180lst\u17fa\u05ab\u1802ozenge;\u69ebriangle\u0200;dlr\u1812\u1813\u1818\u181d\u65b4own;\u65beeft;\u65c2ight;\u65b8k;\u6423\u01b1\u182b\0\u1833\u01b2\u182f\0\u1831;\u6592;\u65914;\u6593ck;\u6588\u0100eo\u183e\u184d\u0100;q\u1843\u1846\uc000=\u20e5uiv;\uc000\u2261\u20e5t;\u6310\u0200ptwx\u1859\u185e\u1867\u186cf;\uc000\ud835\udd53\u0100;t\u13cb\u1863om\xbb\u13cctie;\u62c8\u0600DHUVbdhmptuv\u1885\u1896\u18aa\u18bb\u18d7\u18db\u18ec\u18ff\u1905\u190a\u1910\u1921\u0200LRlr\u188e\u1890\u1892\u1894;\u6557;\u6554;\u6556;\u6553\u0280;DUdu\u18a1\u18a2\u18a4\u18a6\u18a8\u6550;\u6566;\u6569;\u6564;\u6567\u0200LRlr\u18b3\u18b5\u18b7\u18b9;\u655d;\u655a;\u655c;\u6559\u0380;HLRhlr\u18ca\u18cb\u18cd\u18cf\u18d1\u18d3\u18d5\u6551;\u656c;\u6563;\u6560;\u656b;\u6562;\u655fox;\u69c9\u0200LRlr\u18e4\u18e6\u18e8\u18ea;\u6555;\u6552;\u6510;\u650c\u0280;DUdu\u06bd\u18f7\u18f9\u18fb\u18fd;\u6565;\u6568;\u652c;\u6534inus;\u629flus;\u629eimes;\u62a0\u0200LRlr\u1919\u191b\u191d\u191f;\u655b;\u6558;\u6518;\u6514\u0380;HLRhlr\u1930\u1931\u1933\u1935\u1937\u1939\u193b\u6502;\u656a;\u6561;\u655e;\u653c;\u6524;\u651c\u0100ev\u0123\u1942bar\u803b\xa6\u40a6\u0200ceio\u1951\u1956\u195a\u1960r;\uc000\ud835\udcb7mi;\u604fm\u0100;e\u171a\u171cl\u0180;bh\u1968\u1969\u196b\u405c;\u69c5sub;\u67c8\u016c\u1974\u197el\u0100;e\u1979\u197a\u6022t\xbb\u197ap\u0180;Ee\u012f\u1985\u1987;\u6aae\u0100;q\u06dc\u06db\u0ce1\u19a7\0\u19e8\u1a11\u1a15\u1a32\0\u1a37\u1a50\0\0\u1ab4\0\0\u1ac1\0\0\u1b21\u1b2e\u1b4d\u1b52\0\u1bfd\0\u1c0c\u0180cpr\u19ad\u19b2\u19ddute;\u4107\u0300;abcds\u19bf\u19c0\u19c4\u19ca\u19d5\u19d9\u6229nd;\u6a44rcup;\u6a49\u0100au\u19cf\u19d2p;\u6a4bp;\u6a47ot;\u6a40;\uc000\u2229\ufe00\u0100eo\u19e2\u19e5t;\u6041\xee\u0693\u0200aeiu\u19f0\u19fb\u1a01\u1a05\u01f0\u19f5\0\u19f8s;\u6a4don;\u410ddil\u803b\xe7\u40e7rc;\u4109ps\u0100;s\u1a0c\u1a0d\u6a4cm;\u6a50ot;\u410b\u0180dmn\u1a1b\u1a20\u1a26il\u80bb\xb8\u01adptyv;\u69b2t\u8100\xa2;e\u1a2d\u1a2e\u40a2r\xe4\u01b2r;\uc000\ud835\udd20\u0180cei\u1a3d\u1a40\u1a4dy;\u4447ck\u0100;m\u1a47\u1a48\u6713ark\xbb\u1a48;\u43c7r\u0380;Ecefms\u1a5f\u1a60\u1a62\u1a6b\u1aa4\u1aaa\u1aae\u65cb;\u69c3\u0180;el\u1a69\u1a6a\u1a6d\u42c6q;\u6257e\u0261\u1a74\0\0\u1a88rrow\u0100lr\u1a7c\u1a81eft;\u61baight;\u61bb\u0280RSacd\u1a92\u1a94\u1a96\u1a9a\u1a9f\xbb\u0f47;\u64c8st;\u629birc;\u629aash;\u629dnint;\u6a10id;\u6aefcir;\u69c2ubs\u0100;u\u1abb\u1abc\u6663it\xbb\u1abc\u02ec\u1ac7\u1ad4\u1afa\0\u1b0aon\u0100;e\u1acd\u1ace\u403a\u0100;q\xc7\xc6\u026d\u1ad9\0\0\u1ae2a\u0100;t\u1ade\u1adf\u402c;\u4040\u0180;fl\u1ae8\u1ae9\u1aeb\u6201\xee\u1160e\u0100mx\u1af1\u1af6ent\xbb\u1ae9e\xf3\u024d\u01e7\u1afe\0\u1b07\u0100;d\u12bb\u1b02ot;\u6a6dn\xf4\u0246\u0180fry\u1b10\u1b14\u1b17;\uc000\ud835\udd54o\xe4\u0254\u8100\xa9;s\u0155\u1b1dr;\u6117\u0100ao\u1b25\u1b29rr;\u61b5ss;\u6717\u0100cu\u1b32\u1b37r;\uc000\ud835\udcb8\u0100bp\u1b3c\u1b44\u0100;e\u1b41\u1b42\u6acf;\u6ad1\u0100;e\u1b49\u1b4a\u6ad0;\u6ad2dot;\u62ef\u0380delprvw\u1b60\u1b6c\u1b77\u1b82\u1bac\u1bd4\u1bf9arr\u0100lr\u1b68\u1b6a;\u6938;\u6935\u0270\u1b72\0\0\u1b75r;\u62dec;\u62dfarr\u0100;p\u1b7f\u1b80\u61b6;\u693d\u0300;bcdos\u1b8f\u1b90\u1b96\u1ba1\u1ba5\u1ba8\u622arcap;\u6a48\u0100au\u1b9b\u1b9ep;\u6a46p;\u6a4aot;\u628dr;\u6a45;\uc000\u222a\ufe00\u0200alrv\u1bb5\u1bbf\u1bde\u1be3rr\u0100;m\u1bbc\u1bbd\u61b7;\u693cy\u0180evw\u1bc7\u1bd4\u1bd8q\u0270\u1bce\0\0\u1bd2re\xe3\u1b73u\xe3\u1b75ee;\u62ceedge;\u62cfen\u803b\xa4\u40a4earrow\u0100lr\u1bee\u1bf3eft\xbb\u1b80ight\xbb\u1bbde\xe4\u1bdd\u0100ci\u1c01\u1c07onin\xf4\u01f7nt;\u6231lcty;\u632d\u0980AHabcdefhijlorstuwz\u1c38\u1c3b\u1c3f\u1c5d\u1c69\u1c75\u1c8a\u1c9e\u1cac\u1cb7\u1cfb\u1cff\u1d0d\u1d7b\u1d91\u1dab\u1dbb\u1dc6\u1dcdr\xf2\u0381ar;\u6965\u0200glrs\u1c48\u1c4d\u1c52\u1c54ger;\u6020eth;\u6138\xf2\u1133h\u0100;v\u1c5a\u1c5b\u6010\xbb\u090a\u016b\u1c61\u1c67arow;\u690fa\xe3\u0315\u0100ay\u1c6e\u1c73ron;\u410f;\u4434\u0180;ao\u0332\u1c7c\u1c84\u0100gr\u02bf\u1c81r;\u61catseq;\u6a77\u0180glm\u1c91\u1c94\u1c98\u803b\xb0\u40b0ta;\u43b4ptyv;\u69b1\u0100ir\u1ca3\u1ca8sht;\u697f;\uc000\ud835\udd21ar\u0100lr\u1cb3\u1cb5\xbb\u08dc\xbb\u101e\u0280aegsv\u1cc2\u0378\u1cd6\u1cdc\u1ce0m\u0180;os\u0326\u1cca\u1cd4nd\u0100;s\u0326\u1cd1uit;\u6666amma;\u43ddin;\u62f2\u0180;io\u1ce7\u1ce8\u1cf8\u40f7de\u8100\xf7;o\u1ce7\u1cf0ntimes;\u62c7n\xf8\u1cf7cy;\u4452c\u026f\u1d06\0\0\u1d0arn;\u631eop;\u630d\u0280lptuw\u1d18\u1d1d\u1d22\u1d49\u1d55lar;\u4024f;\uc000\ud835\udd55\u0280;emps\u030b\u1d2d\u1d37\u1d3d\u1d42q\u0100;d\u0352\u1d33ot;\u6251inus;\u6238lus;\u6214quare;\u62a1blebarwedg\xe5\xfan\u0180adh\u112e\u1d5d\u1d67ownarrow\xf3\u1c83arpoon\u0100lr\u1d72\u1d76ef\xf4\u1cb4igh\xf4\u1cb6\u0162\u1d7f\u1d85karo\xf7\u0f42\u026f\u1d8a\0\0\u1d8ern;\u631fop;\u630c\u0180cot\u1d98\u1da3\u1da6\u0100ry\u1d9d\u1da1;\uc000\ud835\udcb9;\u4455l;\u69f6rok;\u4111\u0100dr\u1db0\u1db4ot;\u62f1i\u0100;f\u1dba\u1816\u65bf\u0100ah\u1dc0\u1dc3r\xf2\u0429a\xf2\u0fa6angle;\u69a6\u0100ci\u1dd2\u1dd5y;\u445fgrarr;\u67ff\u0900Dacdefglmnopqrstux\u1e01\u1e09\u1e19\u1e38\u0578\u1e3c\u1e49\u1e61\u1e7e\u1ea5\u1eaf\u1ebd\u1ee1\u1f2a\u1f37\u1f44\u1f4e\u1f5a\u0100Do\u1e06\u1d34o\xf4\u1c89\u0100cs\u1e0e\u1e14ute\u803b\xe9\u40e9ter;\u6a6e\u0200aioy\u1e22\u1e27\u1e31\u1e36ron;\u411br\u0100;c\u1e2d\u1e2e\u6256\u803b\xea\u40ealon;\u6255;\u444dot;\u4117\u0100Dr\u1e41\u1e45ot;\u6252;\uc000\ud835\udd22\u0180;rs\u1e50\u1e51\u1e57\u6a9aave\u803b\xe8\u40e8\u0100;d\u1e5c\u1e5d\u6a96ot;\u6a98\u0200;ils\u1e6a\u1e6b\u1e72\u1e74\u6a99nters;\u63e7;\u6113\u0100;d\u1e79\u1e7a\u6a95ot;\u6a97\u0180aps\u1e85\u1e89\u1e97cr;\u4113ty\u0180;sv\u1e92\u1e93\u1e95\u6205et\xbb\u1e93p\u01001;\u1e9d\u1ea4\u0133\u1ea1\u1ea3;\u6004;\u6005\u6003\u0100gs\u1eaa\u1eac;\u414bp;\u6002\u0100gp\u1eb4\u1eb8on;\u4119f;\uc000\ud835\udd56\u0180als\u1ec4\u1ece\u1ed2r\u0100;s\u1eca\u1ecb\u62d5l;\u69e3us;\u6a71i\u0180;lv\u1eda\u1edb\u1edf\u43b5on\xbb\u1edb;\u43f5\u0200csuv\u1eea\u1ef3\u1f0b\u1f23\u0100io\u1eef\u1e31rc\xbb\u1e2e\u0269\u1ef9\0\0\u1efb\xed\u0548ant\u0100gl\u1f02\u1f06tr\xbb\u1e5dess\xbb\u1e7a\u0180aei\u1f12\u1f16\u1f1als;\u403dst;\u625fv\u0100;D\u0235\u1f20D;\u6a78parsl;\u69e5\u0100Da\u1f2f\u1f33ot;\u6253rr;\u6971\u0180cdi\u1f3e\u1f41\u1ef8r;\u612fo\xf4\u0352\u0100ah\u1f49\u1f4b;\u43b7\u803b\xf0\u40f0\u0100mr\u1f53\u1f57l\u803b\xeb\u40ebo;\u60ac\u0180cip\u1f61\u1f64\u1f67l;\u4021s\xf4\u056e\u0100eo\u1f6c\u1f74ctatio\xee\u0559nential\xe5\u0579\u09e1\u1f92\0\u1f9e\0\u1fa1\u1fa7\0\0\u1fc6\u1fcc\0\u1fd3\0\u1fe6\u1fea\u2000\0\u2008\u205allingdotse\xf1\u1e44y;\u4444male;\u6640\u0180ilr\u1fad\u1fb3\u1fc1lig;\u8000\ufb03\u0269\u1fb9\0\0\u1fbdg;\u8000\ufb00ig;\u8000\ufb04;\uc000\ud835\udd23lig;\u8000\ufb01lig;\uc000fj\u0180alt\u1fd9\u1fdc\u1fe1t;\u666dig;\u8000\ufb02ns;\u65b1of;\u4192\u01f0\u1fee\0\u1ff3f;\uc000\ud835\udd57\u0100ak\u05bf\u1ff7\u0100;v\u1ffc\u1ffd\u62d4;\u6ad9artint;\u6a0d\u0100ao\u200c\u2055\u0100cs\u2011\u2052\u03b1\u201a\u2030\u2038\u2045\u2048\0\u2050\u03b2\u2022\u2025\u2027\u202a\u202c\0\u202e\u803b\xbd\u40bd;\u6153\u803b\xbc\u40bc;\u6155;\u6159;\u615b\u01b3\u2034\0\u2036;\u6154;\u6156\u02b4\u203e\u2041\0\0\u2043\u803b\xbe\u40be;\u6157;\u615c5;\u6158\u01b6\u204c\0\u204e;\u615a;\u615d8;\u615el;\u6044wn;\u6322cr;\uc000\ud835\udcbb\u0880Eabcdefgijlnorstv\u2082\u2089\u209f\u20a5\u20b0\u20b4\u20f0\u20f5\u20fa\u20ff\u2103\u2112\u2138\u0317\u213e\u2152\u219e\u0100;l\u064d\u2087;\u6a8c\u0180cmp\u2090\u2095\u209dute;\u41f5ma\u0100;d\u209c\u1cda\u43b3;\u6a86reve;\u411f\u0100iy\u20aa\u20aerc;\u411d;\u4433ot;\u4121\u0200;lqs\u063e\u0642\u20bd\u20c9\u0180;qs\u063e\u064c\u20c4lan\xf4\u0665\u0200;cdl\u0665\u20d2\u20d5\u20e5c;\u6aa9ot\u0100;o\u20dc\u20dd\u6a80\u0100;l\u20e2\u20e3\u6a82;\u6a84\u0100;e\u20ea\u20ed\uc000\u22db\ufe00s;\u6a94r;\uc000\ud835\udd24\u0100;g\u0673\u061bmel;\u6137cy;\u4453\u0200;Eaj\u065a\u210c\u210e\u2110;\u6a92;\u6aa5;\u6aa4\u0200Eaes\u211b\u211d\u2129\u2134;\u6269p\u0100;p\u2123\u2124\u6a8arox\xbb\u2124\u0100;q\u212e\u212f\u6a88\u0100;q\u212e\u211bim;\u62e7pf;\uc000\ud835\udd58\u0100ci\u2143\u2146r;\u610am\u0180;el\u066b\u214e\u2150;\u6a8e;\u6a90\u8300>;cdlqr\u05ee\u2160\u216a\u216e\u2173\u2179\u0100ci\u2165\u2167;\u6aa7r;\u6a7aot;\u62d7Par;\u6995uest;\u6a7c\u0280adels\u2184\u216a\u2190\u0656\u219b\u01f0\u2189\0\u218epro\xf8\u209er;\u6978q\u0100lq\u063f\u2196les\xf3\u2088i\xed\u066b\u0100en\u21a3\u21adrtneqq;\uc000\u2269\ufe00\xc5\u21aa\u0500Aabcefkosy\u21c4\u21c7\u21f1\u21f5\u21fa\u2218\u221d\u222f\u2268\u227dr\xf2\u03a0\u0200ilmr\u21d0\u21d4\u21d7\u21dbrs\xf0\u1484f\xbb\u2024il\xf4\u06a9\u0100dr\u21e0\u21e4cy;\u444a\u0180;cw\u08f4\u21eb\u21efir;\u6948;\u61adar;\u610firc;\u4125\u0180alr\u2201\u220e\u2213rts\u0100;u\u2209\u220a\u6665it\xbb\u220alip;\u6026con;\u62b9r;\uc000\ud835\udd25s\u0100ew\u2223\u2229arow;\u6925arow;\u6926\u0280amopr\u223a\u223e\u2243\u225e\u2263rr;\u61fftht;\u623bk\u0100lr\u2249\u2253eftarrow;\u61a9ightarrow;\u61aaf;\uc000\ud835\udd59bar;\u6015\u0180clt\u226f\u2274\u2278r;\uc000\ud835\udcbdas\xe8\u21f4rok;\u4127\u0100bp\u2282\u2287ull;\u6043hen\xbb\u1c5b\u0ae1\u22a3\0\u22aa\0\u22b8\u22c5\u22ce\0\u22d5\u22f3\0\0\u22f8\u2322\u2367\u2362\u237f\0\u2386\u23aa\u23b4cute\u803b\xed\u40ed\u0180;iy\u0771\u22b0\u22b5rc\u803b\xee\u40ee;\u4438\u0100cx\u22bc\u22bfy;\u4435cl\u803b\xa1\u40a1\u0100fr\u039f\u22c9;\uc000\ud835\udd26rave\u803b\xec\u40ec\u0200;ino\u073e\u22dd\u22e9\u22ee\u0100in\u22e2\u22e6nt;\u6a0ct;\u622dfin;\u69dcta;\u6129lig;\u4133\u0180aop\u22fe\u231a\u231d\u0180cgt\u2305\u2308\u2317r;\u412b\u0180elp\u071f\u230f\u2313in\xe5\u078ear\xf4\u0720h;\u4131f;\u62b7ed;\u41b5\u0280;cfot\u04f4\u232c\u2331\u233d\u2341are;\u6105in\u0100;t\u2338\u2339\u621eie;\u69dddo\xf4\u2319\u0280;celp\u0757\u234c\u2350\u235b\u2361al;\u62ba\u0100gr\u2355\u2359er\xf3\u1563\xe3\u234darhk;\u6a17rod;\u6a3c\u0200cgpt\u236f\u2372\u2376\u237by;\u4451on;\u412ff;\uc000\ud835\udd5aa;\u43b9uest\u803b\xbf\u40bf\u0100ci\u238a\u238fr;\uc000\ud835\udcben\u0280;Edsv\u04f4\u239b\u239d\u23a1\u04f3;\u62f9ot;\u62f5\u0100;v\u23a6\u23a7\u62f4;\u62f3\u0100;i\u0777\u23aelde;\u4129\u01eb\u23b8\0\u23bccy;\u4456l\u803b\xef\u40ef\u0300cfmosu\u23cc\u23d7\u23dc\u23e1\u23e7\u23f5\u0100iy\u23d1\u23d5rc;\u4135;\u4439r;\uc000\ud835\udd27ath;\u4237pf;\uc000\ud835\udd5b\u01e3\u23ec\0\u23f1r;\uc000\ud835\udcbfrcy;\u4458kcy;\u4454\u0400acfghjos\u240b\u2416\u2422\u2427\u242d\u2431\u2435\u243bppa\u0100;v\u2413\u2414\u43ba;\u43f0\u0100ey\u241b\u2420dil;\u4137;\u443ar;\uc000\ud835\udd28reen;\u4138cy;\u4445cy;\u445cpf;\uc000\ud835\udd5ccr;\uc000\ud835\udcc0\u0b80ABEHabcdefghjlmnoprstuv\u2470\u2481\u2486\u248d\u2491\u250e\u253d\u255a\u2580\u264e\u265e\u2665\u2679\u267d\u269a\u26b2\u26d8\u275d\u2768\u278b\u27c0\u2801\u2812\u0180art\u2477\u247a\u247cr\xf2\u09c6\xf2\u0395ail;\u691barr;\u690e\u0100;g\u0994\u248b;\u6a8bar;\u6962\u0963\u24a5\0\u24aa\0\u24b1\0\0\0\0\0\u24b5\u24ba\0\u24c6\u24c8\u24cd\0\u24f9ute;\u413amptyv;\u69b4ra\xee\u084cbda;\u43bbg\u0180;dl\u088e\u24c1\u24c3;\u6991\xe5\u088e;\u6a85uo\u803b\xab\u40abr\u0400;bfhlpst\u0899\u24de\u24e6\u24e9\u24eb\u24ee\u24f1\u24f5\u0100;f\u089d\u24e3s;\u691fs;\u691d\xeb\u2252p;\u61abl;\u6939im;\u6973l;\u61a2\u0180;ae\u24ff\u2500\u2504\u6aabil;\u6919\u0100;s\u2509\u250a\u6aad;\uc000\u2aad\ufe00\u0180abr\u2515\u2519\u251drr;\u690crk;\u6772\u0100ak\u2522\u252cc\u0100ek\u2528\u252a;\u407b;\u405b\u0100es\u2531\u2533;\u698bl\u0100du\u2539\u253b;\u698f;\u698d\u0200aeuy\u2546\u254b\u2556\u2558ron;\u413e\u0100di\u2550\u2554il;\u413c\xec\u08b0\xe2\u2529;\u443b\u0200cqrs\u2563\u2566\u256d\u257da;\u6936uo\u0100;r\u0e19\u1746\u0100du\u2572\u2577har;\u6967shar;\u694bh;\u61b2\u0280;fgqs\u258b\u258c\u0989\u25f3\u25ff\u6264t\u0280ahlrt\u2598\u25a4\u25b7\u25c2\u25e8rrow\u0100;t\u0899\u25a1a\xe9\u24f6arpoon\u0100du\u25af\u25b4own\xbb\u045ap\xbb\u0966eftarrows;\u61c7ight\u0180ahs\u25cd\u25d6\u25derrow\u0100;s\u08f4\u08a7arpoon\xf3\u0f98quigarro\xf7\u21f0hreetimes;\u62cb\u0180;qs\u258b\u0993\u25falan\xf4\u09ac\u0280;cdgs\u09ac\u260a\u260d\u261d\u2628c;\u6aa8ot\u0100;o\u2614\u2615\u6a7f\u0100;r\u261a\u261b\u6a81;\u6a83\u0100;e\u2622\u2625\uc000\u22da\ufe00s;\u6a93\u0280adegs\u2633\u2639\u263d\u2649\u264bppro\xf8\u24c6ot;\u62d6q\u0100gq\u2643\u2645\xf4\u0989gt\xf2\u248c\xf4\u099bi\xed\u09b2\u0180ilr\u2655\u08e1\u265asht;\u697c;\uc000\ud835\udd29\u0100;E\u099c\u2663;\u6a91\u0161\u2669\u2676r\u0100du\u25b2\u266e\u0100;l\u0965\u2673;\u696alk;\u6584cy;\u4459\u0280;acht\u0a48\u2688\u268b\u2691\u2696r\xf2\u25c1orne\xf2\u1d08ard;\u696bri;\u65fa\u0100io\u269f\u26a4dot;\u4140ust\u0100;a\u26ac\u26ad\u63b0che\xbb\u26ad\u0200Eaes\u26bb\u26bd\u26c9\u26d4;\u6268p\u0100;p\u26c3\u26c4\u6a89rox\xbb\u26c4\u0100;q\u26ce\u26cf\u6a87\u0100;q\u26ce\u26bbim;\u62e6\u0400abnoptwz\u26e9\u26f4\u26f7\u271a\u272f\u2741\u2747\u2750\u0100nr\u26ee\u26f1g;\u67ecr;\u61fdr\xeb\u08c1g\u0180lmr\u26ff\u270d\u2714eft\u0100ar\u09e6\u2707ight\xe1\u09f2apsto;\u67fcight\xe1\u09fdparrow\u0100lr\u2725\u2729ef\xf4\u24edight;\u61ac\u0180afl\u2736\u2739\u273dr;\u6985;\uc000\ud835\udd5dus;\u6a2dimes;\u6a34\u0161\u274b\u274fst;\u6217\xe1\u134e\u0180;ef\u2757\u2758\u1800\u65cange\xbb\u2758ar\u0100;l\u2764\u2765\u4028t;\u6993\u0280achmt\u2773\u2776\u277c\u2785\u2787r\xf2\u08a8orne\xf2\u1d8car\u0100;d\u0f98\u2783;\u696d;\u600eri;\u62bf\u0300achiqt\u2798\u279d\u0a40\u27a2\u27ae\u27bbquo;\u6039r;\uc000\ud835\udcc1m\u0180;eg\u09b2\u27aa\u27ac;\u6a8d;\u6a8f\u0100bu\u252a\u27b3o\u0100;r\u0e1f\u27b9;\u601arok;\u4142\u8400<;cdhilqr\u082b\u27d2\u2639\u27dc\u27e0\u27e5\u27ea\u27f0\u0100ci\u27d7\u27d9;\u6aa6r;\u6a79re\xe5\u25f2mes;\u62c9arr;\u6976uest;\u6a7b\u0100Pi\u27f5\u27f9ar;\u6996\u0180;ef\u2800\u092d\u181b\u65c3r\u0100du\u2807\u280dshar;\u694ahar;\u6966\u0100en\u2817\u2821rtneqq;\uc000\u2268\ufe00\xc5\u281e\u0700Dacdefhilnopsu\u2840\u2845\u2882\u288e\u2893\u28a0\u28a5\u28a8\u28da\u28e2\u28e4\u0a83\u28f3\u2902Dot;\u623a\u0200clpr\u284e\u2852\u2863\u287dr\u803b\xaf\u40af\u0100et\u2857\u2859;\u6642\u0100;e\u285e\u285f\u6720se\xbb\u285f\u0100;s\u103b\u2868to\u0200;dlu\u103b\u2873\u2877\u287bow\xee\u048cef\xf4\u090f\xf0\u13d1ker;\u65ae\u0100oy\u2887\u288cmma;\u6a29;\u443cash;\u6014asuredangle\xbb\u1626r;\uc000\ud835\udd2ao;\u6127\u0180cdn\u28af\u28b4\u28c9ro\u803b\xb5\u40b5\u0200;acd\u1464\u28bd\u28c0\u28c4s\xf4\u16a7ir;\u6af0ot\u80bb\xb7\u01b5us\u0180;bd\u28d2\u1903\u28d3\u6212\u0100;u\u1d3c\u28d8;\u6a2a\u0163\u28de\u28e1p;\u6adb\xf2\u2212\xf0\u0a81\u0100dp\u28e9\u28eeels;\u62a7f;\uc000\ud835\udd5e\u0100ct\u28f8\u28fdr;\uc000\ud835\udcc2pos\xbb\u159d\u0180;lm\u2909\u290a\u290d\u43bctimap;\u62b8\u0c00GLRVabcdefghijlmoprstuvw\u2942\u2953\u297e\u2989\u2998\u29da\u29e9\u2a15\u2a1a\u2a58\u2a5d\u2a83\u2a95\u2aa4\u2aa8\u2b04\u2b07\u2b44\u2b7f\u2bae\u2c34\u2c67\u2c7c\u2ce9\u0100gt\u2947\u294b;\uc000\u22d9\u0338\u0100;v\u2950\u0bcf\uc000\u226b\u20d2\u0180elt\u295a\u2972\u2976ft\u0100ar\u2961\u2967rrow;\u61cdightarrow;\u61ce;\uc000\u22d8\u0338\u0100;v\u297b\u0c47\uc000\u226a\u20d2ightarrow;\u61cf\u0100Dd\u298e\u2993ash;\u62afash;\u62ae\u0280bcnpt\u29a3\u29a7\u29ac\u29b1\u29ccla\xbb\u02deute;\u4144g;\uc000\u2220\u20d2\u0280;Eiop\u0d84\u29bc\u29c0\u29c5\u29c8;\uc000\u2a70\u0338d;\uc000\u224b\u0338s;\u4149ro\xf8\u0d84ur\u0100;a\u29d3\u29d4\u666el\u0100;s\u29d3\u0b38\u01f3\u29df\0\u29e3p\u80bb\xa0\u0b37mp\u0100;e\u0bf9\u0c00\u0280aeouy\u29f4\u29fe\u2a03\u2a10\u2a13\u01f0\u29f9\0\u29fb;\u6a43on;\u4148dil;\u4146ng\u0100;d\u0d7e\u2a0aot;\uc000\u2a6d\u0338p;\u6a42;\u443dash;\u6013\u0380;Aadqsx\u0b92\u2a29\u2a2d\u2a3b\u2a41\u2a45\u2a50rr;\u61d7r\u0100hr\u2a33\u2a36k;\u6924\u0100;o\u13f2\u13f0ot;\uc000\u2250\u0338ui\xf6\u0b63\u0100ei\u2a4a\u2a4ear;\u6928\xed\u0b98ist\u0100;s\u0ba0\u0b9fr;\uc000\ud835\udd2b\u0200Eest\u0bc5\u2a66\u2a79\u2a7c\u0180;qs\u0bbc\u2a6d\u0be1\u0180;qs\u0bbc\u0bc5\u2a74lan\xf4\u0be2i\xed\u0bea\u0100;r\u0bb6\u2a81\xbb\u0bb7\u0180Aap\u2a8a\u2a8d\u2a91r\xf2\u2971rr;\u61aear;\u6af2\u0180;sv\u0f8d\u2a9c\u0f8c\u0100;d\u2aa1\u2aa2\u62fc;\u62facy;\u445a\u0380AEadest\u2ab7\u2aba\u2abe\u2ac2\u2ac5\u2af6\u2af9r\xf2\u2966;\uc000\u2266\u0338rr;\u619ar;\u6025\u0200;fqs\u0c3b\u2ace\u2ae3\u2aeft\u0100ar\u2ad4\u2ad9rro\xf7\u2ac1ightarro\xf7\u2a90\u0180;qs\u0c3b\u2aba\u2aealan\xf4\u0c55\u0100;s\u0c55\u2af4\xbb\u0c36i\xed\u0c5d\u0100;r\u0c35\u2afei\u0100;e\u0c1a\u0c25i\xe4\u0d90\u0100pt\u2b0c\u2b11f;\uc000\ud835\udd5f\u8180\xac;in\u2b19\u2b1a\u2b36\u40acn\u0200;Edv\u0b89\u2b24\u2b28\u2b2e;\uc000\u22f9\u0338ot;\uc000\u22f5\u0338\u01e1\u0b89\u2b33\u2b35;\u62f7;\u62f6i\u0100;v\u0cb8\u2b3c\u01e1\u0cb8\u2b41\u2b43;\u62fe;\u62fd\u0180aor\u2b4b\u2b63\u2b69r\u0200;ast\u0b7b\u2b55\u2b5a\u2b5flle\xec\u0b7bl;\uc000\u2afd\u20e5;\uc000\u2202\u0338lint;\u6a14\u0180;ce\u0c92\u2b70\u2b73u\xe5\u0ca5\u0100;c\u0c98\u2b78\u0100;e\u0c92\u2b7d\xf1\u0c98\u0200Aait\u2b88\u2b8b\u2b9d\u2ba7r\xf2\u2988rr\u0180;cw\u2b94\u2b95\u2b99\u619b;\uc000\u2933\u0338;\uc000\u219d\u0338ghtarrow\xbb\u2b95ri\u0100;e\u0ccb\u0cd6\u0380chimpqu\u2bbd\u2bcd\u2bd9\u2b04\u0b78\u2be4\u2bef\u0200;cer\u0d32\u2bc6\u0d37\u2bc9u\xe5\u0d45;\uc000\ud835\udcc3ort\u026d\u2b05\0\0\u2bd6ar\xe1\u2b56m\u0100;e\u0d6e\u2bdf\u0100;q\u0d74\u0d73su\u0100bp\u2beb\u2bed\xe5\u0cf8\xe5\u0d0b\u0180bcp\u2bf6\u2c11\u2c19\u0200;Ees\u2bff\u2c00\u0d22\u2c04\u6284;\uc000\u2ac5\u0338et\u0100;e\u0d1b\u2c0bq\u0100;q\u0d23\u2c00c\u0100;e\u0d32\u2c17\xf1\u0d38\u0200;Ees\u2c22\u2c23\u0d5f\u2c27\u6285;\uc000\u2ac6\u0338et\u0100;e\u0d58\u2c2eq\u0100;q\u0d60\u2c23\u0200gilr\u2c3d\u2c3f\u2c45\u2c47\xec\u0bd7lde\u803b\xf1\u40f1\xe7\u0c43iangle\u0100lr\u2c52\u2c5ceft\u0100;e\u0c1a\u2c5a\xf1\u0c26ight\u0100;e\u0ccb\u2c65\xf1\u0cd7\u0100;m\u2c6c\u2c6d\u43bd\u0180;es\u2c74\u2c75\u2c79\u4023ro;\u6116p;\u6007\u0480DHadgilrs\u2c8f\u2c94\u2c99\u2c9e\u2ca3\u2cb0\u2cb6\u2cd3\u2ce3ash;\u62adarr;\u6904p;\uc000\u224d\u20d2ash;\u62ac\u0100et\u2ca8\u2cac;\uc000\u2265\u20d2;\uc000>\u20d2nfin;\u69de\u0180Aet\u2cbd\u2cc1\u2cc5rr;\u6902;\uc000\u2264\u20d2\u0100;r\u2cca\u2ccd\uc000<\u20d2ie;\uc000\u22b4\u20d2\u0100At\u2cd8\u2cdcrr;\u6903rie;\uc000\u22b5\u20d2im;\uc000\u223c\u20d2\u0180Aan\u2cf0\u2cf4\u2d02rr;\u61d6r\u0100hr\u2cfa\u2cfdk;\u6923\u0100;o\u13e7\u13e5ear;\u6927\u1253\u1a95\0\0\0\0\0\0\0\0\0\0\0\0\0\u2d2d\0\u2d38\u2d48\u2d60\u2d65\u2d72\u2d84\u1b07\0\0\u2d8d\u2dab\0\u2dc8\u2dce\0\u2ddc\u2e19\u2e2b\u2e3e\u2e43\u0100cs\u2d31\u1a97ute\u803b\xf3\u40f3\u0100iy\u2d3c\u2d45r\u0100;c\u1a9e\u2d42\u803b\xf4\u40f4;\u443e\u0280abios\u1aa0\u2d52\u2d57\u01c8\u2d5alac;\u4151v;\u6a38old;\u69bclig;\u4153\u0100cr\u2d69\u2d6dir;\u69bf;\uc000\ud835\udd2c\u036f\u2d79\0\0\u2d7c\0\u2d82n;\u42dbave\u803b\xf2\u40f2;\u69c1\u0100bm\u2d88\u0df4ar;\u69b5\u0200acit\u2d95\u2d98\u2da5\u2da8r\xf2\u1a80\u0100ir\u2d9d\u2da0r;\u69beoss;\u69bbn\xe5\u0e52;\u69c0\u0180aei\u2db1\u2db5\u2db9cr;\u414dga;\u43c9\u0180cdn\u2dc0\u2dc5\u01cdron;\u43bf;\u69b6pf;\uc000\ud835\udd60\u0180ael\u2dd4\u2dd7\u01d2r;\u69b7rp;\u69b9\u0380;adiosv\u2dea\u2deb\u2dee\u2e08\u2e0d\u2e10\u2e16\u6228r\xf2\u1a86\u0200;efm\u2df7\u2df8\u2e02\u2e05\u6a5dr\u0100;o\u2dfe\u2dff\u6134f\xbb\u2dff\u803b\xaa\u40aa\u803b\xba\u40bagof;\u62b6r;\u6a56lope;\u6a57;\u6a5b\u0180clo\u2e1f\u2e21\u2e27\xf2\u2e01ash\u803b\xf8\u40f8l;\u6298i\u016c\u2e2f\u2e34de\u803b\xf5\u40f5es\u0100;a\u01db\u2e3as;\u6a36ml\u803b\xf6\u40f6bar;\u633d\u0ae1\u2e5e\0\u2e7d\0\u2e80\u2e9d\0\u2ea2\u2eb9\0\0\u2ecb\u0e9c\0\u2f13\0\0\u2f2b\u2fbc\0\u2fc8r\u0200;ast\u0403\u2e67\u2e72\u0e85\u8100\xb6;l\u2e6d\u2e6e\u40b6le\xec\u0403\u0269\u2e78\0\0\u2e7bm;\u6af3;\u6afdy;\u443fr\u0280cimpt\u2e8b\u2e8f\u2e93\u1865\u2e97nt;\u4025od;\u402eil;\u6030enk;\u6031r;\uc000\ud835\udd2d\u0180imo\u2ea8\u2eb0\u2eb4\u0100;v\u2ead\u2eae\u43c6;\u43d5ma\xf4\u0a76ne;\u660e\u0180;tv\u2ebf\u2ec0\u2ec8\u43c0chfork\xbb\u1ffd;\u43d6\u0100au\u2ecf\u2edfn\u0100ck\u2ed5\u2eddk\u0100;h\u21f4\u2edb;\u610e\xf6\u21f4s\u0480;abcdemst\u2ef3\u2ef4\u1908\u2ef9\u2efd\u2f04\u2f06\u2f0a\u2f0e\u402bcir;\u6a23ir;\u6a22\u0100ou\u1d40\u2f02;\u6a25;\u6a72n\u80bb\xb1\u0e9dim;\u6a26wo;\u6a27\u0180ipu\u2f19\u2f20\u2f25ntint;\u6a15f;\uc000\ud835\udd61nd\u803b\xa3\u40a3\u0500;Eaceinosu\u0ec8\u2f3f\u2f41\u2f44\u2f47\u2f81\u2f89\u2f92\u2f7e\u2fb6;\u6ab3p;\u6ab7u\xe5\u0ed9\u0100;c\u0ece\u2f4c\u0300;acens\u0ec8\u2f59\u2f5f\u2f66\u2f68\u2f7eppro\xf8\u2f43urlye\xf1\u0ed9\xf1\u0ece\u0180aes\u2f6f\u2f76\u2f7approx;\u6ab9qq;\u6ab5im;\u62e8i\xed\u0edfme\u0100;s\u2f88\u0eae\u6032\u0180Eas\u2f78\u2f90\u2f7a\xf0\u2f75\u0180dfp\u0eec\u2f99\u2faf\u0180als\u2fa0\u2fa5\u2faalar;\u632eine;\u6312urf;\u6313\u0100;t\u0efb\u2fb4\xef\u0efbrel;\u62b0\u0100ci\u2fc0\u2fc5r;\uc000\ud835\udcc5;\u43c8ncsp;\u6008\u0300fiopsu\u2fda\u22e2\u2fdf\u2fe5\u2feb\u2ff1r;\uc000\ud835\udd2epf;\uc000\ud835\udd62rime;\u6057cr;\uc000\ud835\udcc6\u0180aeo\u2ff8\u3009\u3013t\u0100ei\u2ffe\u3005rnion\xf3\u06b0nt;\u6a16st\u0100;e\u3010\u3011\u403f\xf1\u1f19\xf4\u0f14\u0a80ABHabcdefhilmnoprstux\u3040\u3051\u3055\u3059\u30e0\u310e\u312b\u3147\u3162\u3172\u318e\u3206\u3215\u3224\u3229\u3258\u326e\u3272\u3290\u32b0\u32b7\u0180art\u3047\u304a\u304cr\xf2\u10b3\xf2\u03ddail;\u691car\xf2\u1c65ar;\u6964\u0380cdenqrt\u3068\u3075\u3078\u307f\u308f\u3094\u30cc\u0100eu\u306d\u3071;\uc000\u223d\u0331te;\u4155i\xe3\u116emptyv;\u69b3g\u0200;del\u0fd1\u3089\u308b\u308d;\u6992;\u69a5\xe5\u0fd1uo\u803b\xbb\u40bbr\u0580;abcfhlpstw\u0fdc\u30ac\u30af\u30b7\u30b9\u30bc\u30be\u30c0\u30c3\u30c7\u30cap;\u6975\u0100;f\u0fe0\u30b4s;\u6920;\u6933s;\u691e\xeb\u225d\xf0\u272el;\u6945im;\u6974l;\u61a3;\u619d\u0100ai\u30d1\u30d5il;\u691ao\u0100;n\u30db\u30dc\u6236al\xf3\u0f1e\u0180abr\u30e7\u30ea\u30eer\xf2\u17e5rk;\u6773\u0100ak\u30f3\u30fdc\u0100ek\u30f9\u30fb;\u407d;\u405d\u0100es\u3102\u3104;\u698cl\u0100du\u310a\u310c;\u698e;\u6990\u0200aeuy\u3117\u311c\u3127\u3129ron;\u4159\u0100di\u3121\u3125il;\u4157\xec\u0ff2\xe2\u30fa;\u4440\u0200clqs\u3134\u3137\u313d\u3144a;\u6937dhar;\u6969uo\u0100;r\u020e\u020dh;\u61b3\u0180acg\u314e\u315f\u0f44l\u0200;ips\u0f78\u3158\u315b\u109cn\xe5\u10bbar\xf4\u0fa9t;\u65ad\u0180ilr\u3169\u1023\u316esht;\u697d;\uc000\ud835\udd2f\u0100ao\u3177\u3186r\u0100du\u317d\u317f\xbb\u047b\u0100;l\u1091\u3184;\u696c\u0100;v\u318b\u318c\u43c1;\u43f1\u0180gns\u3195\u31f9\u31fcht\u0300ahlrst\u31a4\u31b0\u31c2\u31d8\u31e4\u31eerrow\u0100;t\u0fdc\u31ada\xe9\u30c8arpoon\u0100du\u31bb\u31bfow\xee\u317ep\xbb\u1092eft\u0100ah\u31ca\u31d0rrow\xf3\u0feaarpoon\xf3\u0551ightarrows;\u61c9quigarro\xf7\u30cbhreetimes;\u62ccg;\u42daingdotse\xf1\u1f32\u0180ahm\u320d\u3210\u3213r\xf2\u0feaa\xf2\u0551;\u600foust\u0100;a\u321e\u321f\u63b1che\xbb\u321fmid;\u6aee\u0200abpt\u3232\u323d\u3240\u3252\u0100nr\u3237\u323ag;\u67edr;\u61fer\xeb\u1003\u0180afl\u3247\u324a\u324er;\u6986;\uc000\ud835\udd63us;\u6a2eimes;\u6a35\u0100ap\u325d\u3267r\u0100;g\u3263\u3264\u4029t;\u6994olint;\u6a12ar\xf2\u31e3\u0200achq\u327b\u3280\u10bc\u3285quo;\u603ar;\uc000\ud835\udcc7\u0100bu\u30fb\u328ao\u0100;r\u0214\u0213\u0180hir\u3297\u329b\u32a0re\xe5\u31f8mes;\u62cai\u0200;efl\u32aa\u1059\u1821\u32ab\u65b9tri;\u69celuhar;\u6968;\u611e\u0d61\u32d5\u32db\u32df\u332c\u3338\u3371\0\u337a\u33a4\0\0\u33ec\u33f0\0\u3428\u3448\u345a\u34ad\u34b1\u34ca\u34f1\0\u3616\0\0\u3633cute;\u415bqu\xef\u27ba\u0500;Eaceinpsy\u11ed\u32f3\u32f5\u32ff\u3302\u330b\u330f\u331f\u3326\u3329;\u6ab4\u01f0\u32fa\0\u32fc;\u6ab8on;\u4161u\xe5\u11fe\u0100;d\u11f3\u3307il;\u415frc;\u415d\u0180Eas\u3316\u3318\u331b;\u6ab6p;\u6abaim;\u62e9olint;\u6a13i\xed\u1204;\u4441ot\u0180;be\u3334\u1d47\u3335\u62c5;\u6a66\u0380Aacmstx\u3346\u334a\u3357\u335b\u335e\u3363\u336drr;\u61d8r\u0100hr\u3350\u3352\xeb\u2228\u0100;o\u0a36\u0a34t\u803b\xa7\u40a7i;\u403bwar;\u6929m\u0100in\u3369\xf0nu\xf3\xf1t;\u6736r\u0100;o\u3376\u2055\uc000\ud835\udd30\u0200acoy\u3382\u3386\u3391\u33a0rp;\u666f\u0100hy\u338b\u338fcy;\u4449;\u4448rt\u026d\u3399\0\0\u339ci\xe4\u1464ara\xec\u2e6f\u803b\xad\u40ad\u0100gm\u33a8\u33b4ma\u0180;fv\u33b1\u33b2\u33b2\u43c3;\u43c2\u0400;deglnpr\u12ab\u33c5\u33c9\u33ce\u33d6\u33de\u33e1\u33e6ot;\u6a6a\u0100;q\u12b1\u12b0\u0100;E\u33d3\u33d4\u6a9e;\u6aa0\u0100;E\u33db\u33dc\u6a9d;\u6a9fe;\u6246lus;\u6a24arr;\u6972ar\xf2\u113d\u0200aeit\u33f8\u3408\u340f\u3417\u0100ls\u33fd\u3404lsetm\xe9\u336ahp;\u6a33parsl;\u69e4\u0100dl\u1463\u3414e;\u6323\u0100;e\u341c\u341d\u6aaa\u0100;s\u3422\u3423\u6aac;\uc000\u2aac\ufe00\u0180flp\u342e\u3433\u3442tcy;\u444c\u0100;b\u3438\u3439\u402f\u0100;a\u343e\u343f\u69c4r;\u633ff;\uc000\ud835\udd64a\u0100dr\u344d\u0402es\u0100;u\u3454\u3455\u6660it\xbb\u3455\u0180csu\u3460\u3479\u349f\u0100au\u3465\u346fp\u0100;s\u1188\u346b;\uc000\u2293\ufe00p\u0100;s\u11b4\u3475;\uc000\u2294\ufe00u\u0100bp\u347f\u348f\u0180;es\u1197\u119c\u3486et\u0100;e\u1197\u348d\xf1\u119d\u0180;es\u11a8\u11ad\u3496et\u0100;e\u11a8\u349d\xf1\u11ae\u0180;af\u117b\u34a6\u05b0r\u0165\u34ab\u05b1\xbb\u117car\xf2\u1148\u0200cemt\u34b9\u34be\u34c2\u34c5r;\uc000\ud835\udcc8tm\xee\xf1i\xec\u3415ar\xe6\u11be\u0100ar\u34ce\u34d5r\u0100;f\u34d4\u17bf\u6606\u0100an\u34da\u34edight\u0100ep\u34e3\u34eapsilo\xee\u1ee0h\xe9\u2eafs\xbb\u2852\u0280bcmnp\u34fb\u355e\u1209\u358b\u358e\u0480;Edemnprs\u350e\u350f\u3511\u3515\u351e\u3523\u352c\u3531\u3536\u6282;\u6ac5ot;\u6abd\u0100;d\u11da\u351aot;\u6ac3ult;\u6ac1\u0100Ee\u3528\u352a;\u6acb;\u628alus;\u6abfarr;\u6979\u0180eiu\u353d\u3552\u3555t\u0180;en\u350e\u3545\u354bq\u0100;q\u11da\u350feq\u0100;q\u352b\u3528m;\u6ac7\u0100bp\u355a\u355c;\u6ad5;\u6ad3c\u0300;acens\u11ed\u356c\u3572\u3579\u357b\u3326ppro\xf8\u32faurlye\xf1\u11fe\xf1\u11f3\u0180aes\u3582\u3588\u331bppro\xf8\u331aq\xf1\u3317g;\u666a\u0680123;Edehlmnps\u35a9\u35ac\u35af\u121c\u35b2\u35b4\u35c0\u35c9\u35d5\u35da\u35df\u35e8\u35ed\u803b\xb9\u40b9\u803b\xb2\u40b2\u803b\xb3\u40b3;\u6ac6\u0100os\u35b9\u35bct;\u6abeub;\u6ad8\u0100;d\u1222\u35c5ot;\u6ac4s\u0100ou\u35cf\u35d2l;\u67c9b;\u6ad7arr;\u697bult;\u6ac2\u0100Ee\u35e4\u35e6;\u6acc;\u628blus;\u6ac0\u0180eiu\u35f4\u3609\u360ct\u0180;en\u121c\u35fc\u3602q\u0100;q\u1222\u35b2eq\u0100;q\u35e7\u35e4m;\u6ac8\u0100bp\u3611\u3613;\u6ad4;\u6ad6\u0180Aan\u361c\u3620\u362drr;\u61d9r\u0100hr\u3626\u3628\xeb\u222e\u0100;o\u0a2b\u0a29war;\u692alig\u803b\xdf\u40df\u0be1\u3651\u365d\u3660\u12ce\u3673\u3679\0\u367e\u36c2\0\0\0\0\0\u36db\u3703\0\u3709\u376c\0\0\0\u3787\u0272\u3656\0\0\u365bget;\u6316;\u43c4r\xeb\u0e5f\u0180aey\u3666\u366b\u3670ron;\u4165dil;\u4163;\u4442lrec;\u6315r;\uc000\ud835\udd31\u0200eiko\u3686\u369d\u36b5\u36bc\u01f2\u368b\0\u3691e\u01004f\u1284\u1281a\u0180;sv\u3698\u3699\u369b\u43b8ym;\u43d1\u0100cn\u36a2\u36b2k\u0100as\u36a8\u36aeppro\xf8\u12c1im\xbb\u12acs\xf0\u129e\u0100as\u36ba\u36ae\xf0\u12c1rn\u803b\xfe\u40fe\u01ec\u031f\u36c6\u22e7es\u8180\xd7;bd\u36cf\u36d0\u36d8\u40d7\u0100;a\u190f\u36d5r;\u6a31;\u6a30\u0180eps\u36e1\u36e3\u3700\xe1\u2a4d\u0200;bcf\u0486\u36ec\u36f0\u36f4ot;\u6336ir;\u6af1\u0100;o\u36f9\u36fc\uc000\ud835\udd65rk;\u6ada\xe1\u3362rime;\u6034\u0180aip\u370f\u3712\u3764d\xe5\u1248\u0380adempst\u3721\u374d\u3740\u3751\u3757\u375c\u375fngle\u0280;dlqr\u3730\u3731\u3736\u3740\u3742\u65b5own\xbb\u1dbbeft\u0100;e\u2800\u373e\xf1\u092e;\u625cight\u0100;e\u32aa\u374b\xf1\u105aot;\u65ecinus;\u6a3alus;\u6a39b;\u69cdime;\u6a3bezium;\u63e2\u0180cht\u3772\u377d\u3781\u0100ry\u3777\u377b;\uc000\ud835\udcc9;\u4446cy;\u445brok;\u4167\u0100io\u378b\u378ex\xf4\u1777head\u0100lr\u3797\u37a0eftarro\xf7\u084fightarrow\xbb\u0f5d\u0900AHabcdfghlmoprstuw\u37d0\u37d3\u37d7\u37e4\u37f0\u37fc\u380e\u381c\u3823\u3834\u3851\u385d\u386b\u38a9\u38cc\u38d2\u38ea\u38f6r\xf2\u03edar;\u6963\u0100cr\u37dc\u37e2ute\u803b\xfa\u40fa\xf2\u1150r\u01e3\u37ea\0\u37edy;\u445eve;\u416d\u0100iy\u37f5\u37farc\u803b\xfb\u40fb;\u4443\u0180abh\u3803\u3806\u380br\xf2\u13adlac;\u4171a\xf2\u13c3\u0100ir\u3813\u3818sht;\u697e;\uc000\ud835\udd32rave\u803b\xf9\u40f9\u0161\u3827\u3831r\u0100lr\u382c\u382e\xbb\u0957\xbb\u1083lk;\u6580\u0100ct\u3839\u384d\u026f\u383f\0\0\u384arn\u0100;e\u3845\u3846\u631cr\xbb\u3846op;\u630fri;\u65f8\u0100al\u3856\u385acr;\u416b\u80bb\xa8\u0349\u0100gp\u3862\u3866on;\u4173f;\uc000\ud835\udd66\u0300adhlsu\u114b\u3878\u387d\u1372\u3891\u38a0own\xe1\u13b3arpoon\u0100lr\u3888\u388cef\xf4\u382digh\xf4\u382fi\u0180;hl\u3899\u389a\u389c\u43c5\xbb\u13faon\xbb\u389aparrows;\u61c8\u0180cit\u38b0\u38c4\u38c8\u026f\u38b6\0\0\u38c1rn\u0100;e\u38bc\u38bd\u631dr\xbb\u38bdop;\u630eng;\u416fri;\u65f9cr;\uc000\ud835\udcca\u0180dir\u38d9\u38dd\u38e2ot;\u62f0lde;\u4169i\u0100;f\u3730\u38e8\xbb\u1813\u0100am\u38ef\u38f2r\xf2\u38a8l\u803b\xfc\u40fcangle;\u69a7\u0780ABDacdeflnoprsz\u391c\u391f\u3929\u392d\u39b5\u39b8\u39bd\u39df\u39e4\u39e8\u39f3\u39f9\u39fd\u3a01\u3a20r\xf2\u03f7ar\u0100;v\u3926\u3927\u6ae8;\u6ae9as\xe8\u03e1\u0100nr\u3932\u3937grt;\u699c\u0380eknprst\u34e3\u3946\u394b\u3952\u395d\u3964\u3996app\xe1\u2415othin\xe7\u1e96\u0180hir\u34eb\u2ec8\u3959op\xf4\u2fb5\u0100;h\u13b7\u3962\xef\u318d\u0100iu\u3969\u396dgm\xe1\u33b3\u0100bp\u3972\u3984setneq\u0100;q\u397d\u3980\uc000\u228a\ufe00;\uc000\u2acb\ufe00setneq\u0100;q\u398f\u3992\uc000\u228b\ufe00;\uc000\u2acc\ufe00\u0100hr\u399b\u399fet\xe1\u369ciangle\u0100lr\u39aa\u39afeft\xbb\u0925ight\xbb\u1051y;\u4432ash\xbb\u1036\u0180elr\u39c4\u39d2\u39d7\u0180;be\u2dea\u39cb\u39cfar;\u62bbq;\u625alip;\u62ee\u0100bt\u39dc\u1468a\xf2\u1469r;\uc000\ud835\udd33tr\xe9\u39aesu\u0100bp\u39ef\u39f1\xbb\u0d1c\xbb\u0d59pf;\uc000\ud835\udd67ro\xf0\u0efbtr\xe9\u39b4\u0100cu\u3a06\u3a0br;\uc000\ud835\udccb\u0100bp\u3a10\u3a18n\u0100Ee\u3980\u3a16\xbb\u397en\u0100Ee\u3992\u3a1e\xbb\u3990igzag;\u699a\u0380cefoprs\u3a36\u3a3b\u3a56\u3a5b\u3a54\u3a61\u3a6airc;\u4175\u0100di\u3a40\u3a51\u0100bg\u3a45\u3a49ar;\u6a5fe\u0100;q\u15fa\u3a4f;\u6259erp;\u6118r;\uc000\ud835\udd34pf;\uc000\ud835\udd68\u0100;e\u1479\u3a66at\xe8\u1479cr;\uc000\ud835\udccc\u0ae3\u178e\u3a87\0\u3a8b\0\u3a90\u3a9b\0\0\u3a9d\u3aa8\u3aab\u3aaf\0\0\u3ac3\u3ace\0\u3ad8\u17dc\u17dftr\xe9\u17d1r;\uc000\ud835\udd35\u0100Aa\u3a94\u3a97r\xf2\u03c3r\xf2\u09f6;\u43be\u0100Aa\u3aa1\u3aa4r\xf2\u03b8r\xf2\u09eba\xf0\u2713is;\u62fb\u0180dpt\u17a4\u3ab5\u3abe\u0100fl\u3aba\u17a9;\uc000\ud835\udd69im\xe5\u17b2\u0100Aa\u3ac7\u3acar\xf2\u03cer\xf2\u0a01\u0100cq\u3ad2\u17b8r;\uc000\ud835\udccd\u0100pt\u17d6\u3adcr\xe9\u17d4\u0400acefiosu\u3af0\u3afd\u3b08\u3b0c\u3b11\u3b15\u3b1b\u3b21c\u0100uy\u3af6\u3afbte\u803b\xfd\u40fd;\u444f\u0100iy\u3b02\u3b06rc;\u4177;\u444bn\u803b\xa5\u40a5r;\uc000\ud835\udd36cy;\u4457pf;\uc000\ud835\udd6acr;\uc000\ud835\udcce\u0100cm\u3b26\u3b29y;\u444el\u803b\xff\u40ff\u0500acdefhiosw\u3b42\u3b48\u3b54\u3b58\u3b64\u3b69\u3b6d\u3b74\u3b7a\u3b80cute;\u417a\u0100ay\u3b4d\u3b52ron;\u417e;\u4437ot;\u417c\u0100et\u3b5d\u3b61tr\xe6\u155fa;\u43b6r;\uc000\ud835\udd37cy;\u4436grarr;\u61ddpf;\uc000\ud835\udd6bcr;\uc000\ud835\udccf\u0100jn\u3b85\u3b87;\u600dj;\u600c"
|
|
114968
|
+
.split("")
|
|
114969
|
+
.map((c) => c.charCodeAt(0))));
|
|
114970
|
+
//# sourceMappingURL=decode-data-html.js.map
|
|
114971
|
+
;// ./node_modules/entities/lib/esm/generated/decode-data-xml.js
|
|
114972
|
+
// Generated using scripts/write-decode-map.ts
|
|
114973
|
+
/* harmony default export */ const decode_data_xml = (new Uint16Array(
|
|
114974
|
+
// prettier-ignore
|
|
114975
|
+
"\u0200aglq\t\x15\x18\x1b\u026d\x0f\0\0\x12p;\u4026os;\u4027t;\u403et;\u403cuot;\u4022"
|
|
114976
|
+
.split("")
|
|
114977
|
+
.map((c) => c.charCodeAt(0))));
|
|
114978
|
+
//# sourceMappingURL=decode-data-xml.js.map
|
|
114979
|
+
;// ./node_modules/entities/lib/esm/decode_codepoint.js
|
|
114980
|
+
// Adapted from https://github.com/mathiasbynens/he/blob/36afe179392226cf1b6ccdb16ebbb7a5a844d93a/src/he.js#L106-L134
|
|
114981
|
+
var esm_decode_codepoint_a;
|
|
114982
|
+
const decode_codepoint_decodeMap = new Map([
|
|
114983
|
+
[0, 65533],
|
|
114984
|
+
// C1 Unicode control character reference replacements
|
|
114985
|
+
[128, 8364],
|
|
114986
|
+
[130, 8218],
|
|
114987
|
+
[131, 402],
|
|
114988
|
+
[132, 8222],
|
|
114989
|
+
[133, 8230],
|
|
114990
|
+
[134, 8224],
|
|
114991
|
+
[135, 8225],
|
|
114992
|
+
[136, 710],
|
|
114993
|
+
[137, 8240],
|
|
114994
|
+
[138, 352],
|
|
114995
|
+
[139, 8249],
|
|
114996
|
+
[140, 338],
|
|
114997
|
+
[142, 381],
|
|
114998
|
+
[145, 8216],
|
|
114999
|
+
[146, 8217],
|
|
115000
|
+
[147, 8220],
|
|
115001
|
+
[148, 8221],
|
|
115002
|
+
[149, 8226],
|
|
115003
|
+
[150, 8211],
|
|
115004
|
+
[151, 8212],
|
|
115005
|
+
[152, 732],
|
|
115006
|
+
[153, 8482],
|
|
115007
|
+
[154, 353],
|
|
115008
|
+
[155, 8250],
|
|
115009
|
+
[156, 339],
|
|
115010
|
+
[158, 382],
|
|
115011
|
+
[159, 376],
|
|
115012
|
+
]);
|
|
115013
|
+
/**
|
|
115014
|
+
* Polyfill for `String.fromCodePoint`. It is used to create a string from a Unicode code point.
|
|
115015
|
+
*/
|
|
115016
|
+
const esm_decode_codepoint_fromCodePoint =
|
|
115017
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition, node/no-unsupported-features/es-builtins
|
|
115018
|
+
(esm_decode_codepoint_a = String.fromCodePoint) !== null && esm_decode_codepoint_a !== void 0 ? esm_decode_codepoint_a : function (codePoint) {
|
|
115019
|
+
let output = "";
|
|
115020
|
+
if (codePoint > 0xffff) {
|
|
115021
|
+
codePoint -= 0x10000;
|
|
115022
|
+
output += String.fromCharCode(((codePoint >>> 10) & 0x3ff) | 0xd800);
|
|
115023
|
+
codePoint = 0xdc00 | (codePoint & 0x3ff);
|
|
115024
|
+
}
|
|
115025
|
+
output += String.fromCharCode(codePoint);
|
|
115026
|
+
return output;
|
|
115027
|
+
};
|
|
115028
|
+
/**
|
|
115029
|
+
* Replace the given code point with a replacement character if it is a
|
|
115030
|
+
* surrogate or is outside the valid range. Otherwise return the code
|
|
115031
|
+
* point unchanged.
|
|
115032
|
+
*/
|
|
115033
|
+
function decode_codepoint_replaceCodePoint(codePoint) {
|
|
115034
|
+
var _a;
|
|
115035
|
+
if ((codePoint >= 0xd800 && codePoint <= 0xdfff) || codePoint > 0x10ffff) {
|
|
115036
|
+
return 0xfffd;
|
|
115037
|
+
}
|
|
115038
|
+
return (_a = decode_codepoint_decodeMap.get(codePoint)) !== null && _a !== void 0 ? _a : codePoint;
|
|
115039
|
+
}
|
|
115040
|
+
/**
|
|
115041
|
+
* Replace the code point if relevant, then convert it to a string.
|
|
115042
|
+
*
|
|
115043
|
+
* @deprecated Use `fromCodePoint(replaceCodePoint(codePoint))` instead.
|
|
115044
|
+
* @param codePoint The code point to decode.
|
|
115045
|
+
* @returns The decoded code point.
|
|
115046
|
+
*/
|
|
115047
|
+
function decode_codepoint_decodeCodePoint(codePoint) {
|
|
115048
|
+
return esm_decode_codepoint_fromCodePoint(decode_codepoint_replaceCodePoint(codePoint));
|
|
115049
|
+
}
|
|
115050
|
+
//# sourceMappingURL=decode_codepoint.js.map
|
|
115051
|
+
;// ./node_modules/entities/lib/esm/decode.js
|
|
115052
|
+
|
|
115053
|
+
|
|
115054
|
+
|
|
115055
|
+
// Re-export for use by eg. htmlparser2
|
|
115056
|
+
|
|
115057
|
+
|
|
115058
|
+
var decode_CharCodes;
|
|
115059
|
+
(function (CharCodes) {
|
|
115060
|
+
CharCodes[CharCodes["NUM"] = 35] = "NUM";
|
|
115061
|
+
CharCodes[CharCodes["SEMI"] = 59] = "SEMI";
|
|
115062
|
+
CharCodes[CharCodes["EQUALS"] = 61] = "EQUALS";
|
|
115063
|
+
CharCodes[CharCodes["ZERO"] = 48] = "ZERO";
|
|
115064
|
+
CharCodes[CharCodes["NINE"] = 57] = "NINE";
|
|
115065
|
+
CharCodes[CharCodes["LOWER_A"] = 97] = "LOWER_A";
|
|
115066
|
+
CharCodes[CharCodes["LOWER_F"] = 102] = "LOWER_F";
|
|
115067
|
+
CharCodes[CharCodes["LOWER_X"] = 120] = "LOWER_X";
|
|
115068
|
+
CharCodes[CharCodes["LOWER_Z"] = 122] = "LOWER_Z";
|
|
115069
|
+
CharCodes[CharCodes["UPPER_A"] = 65] = "UPPER_A";
|
|
115070
|
+
CharCodes[CharCodes["UPPER_F"] = 70] = "UPPER_F";
|
|
115071
|
+
CharCodes[CharCodes["UPPER_Z"] = 90] = "UPPER_Z";
|
|
115072
|
+
})(decode_CharCodes || (decode_CharCodes = {}));
|
|
115073
|
+
/** Bit that needs to be set to convert an upper case ASCII character to lower case */
|
|
115074
|
+
const decode_TO_LOWER_BIT = 0b100000;
|
|
115075
|
+
var decode_BinTrieFlags;
|
|
115076
|
+
(function (BinTrieFlags) {
|
|
115077
|
+
BinTrieFlags[BinTrieFlags["VALUE_LENGTH"] = 49152] = "VALUE_LENGTH";
|
|
115078
|
+
BinTrieFlags[BinTrieFlags["BRANCH_LENGTH"] = 16256] = "BRANCH_LENGTH";
|
|
115079
|
+
BinTrieFlags[BinTrieFlags["JUMP_TABLE"] = 127] = "JUMP_TABLE";
|
|
115080
|
+
})(decode_BinTrieFlags || (decode_BinTrieFlags = {}));
|
|
115081
|
+
function decode_isNumber(code) {
|
|
115082
|
+
return code >= decode_CharCodes.ZERO && code <= decode_CharCodes.NINE;
|
|
115083
|
+
}
|
|
115084
|
+
function decode_isHexadecimalCharacter(code) {
|
|
115085
|
+
return ((code >= decode_CharCodes.UPPER_A && code <= decode_CharCodes.UPPER_F) ||
|
|
115086
|
+
(code >= decode_CharCodes.LOWER_A && code <= decode_CharCodes.LOWER_F));
|
|
115087
|
+
}
|
|
115088
|
+
function decode_isAsciiAlphaNumeric(code) {
|
|
115089
|
+
return ((code >= decode_CharCodes.UPPER_A && code <= decode_CharCodes.UPPER_Z) ||
|
|
115090
|
+
(code >= decode_CharCodes.LOWER_A && code <= decode_CharCodes.LOWER_Z) ||
|
|
115091
|
+
decode_isNumber(code));
|
|
115092
|
+
}
|
|
115093
|
+
/**
|
|
115094
|
+
* Checks if the given character is a valid end character for an entity in an attribute.
|
|
115095
|
+
*
|
|
115096
|
+
* Attribute values that aren't terminated properly aren't parsed, and shouldn't lead to a parser error.
|
|
115097
|
+
* See the example in https://html.spec.whatwg.org/multipage/parsing.html#named-character-reference-state
|
|
115098
|
+
*/
|
|
115099
|
+
function decode_isEntityInAttributeInvalidEnd(code) {
|
|
115100
|
+
return code === decode_CharCodes.EQUALS || decode_isAsciiAlphaNumeric(code);
|
|
115101
|
+
}
|
|
115102
|
+
var decode_EntityDecoderState;
|
|
115103
|
+
(function (EntityDecoderState) {
|
|
115104
|
+
EntityDecoderState[EntityDecoderState["EntityStart"] = 0] = "EntityStart";
|
|
115105
|
+
EntityDecoderState[EntityDecoderState["NumericStart"] = 1] = "NumericStart";
|
|
115106
|
+
EntityDecoderState[EntityDecoderState["NumericDecimal"] = 2] = "NumericDecimal";
|
|
115107
|
+
EntityDecoderState[EntityDecoderState["NumericHex"] = 3] = "NumericHex";
|
|
115108
|
+
EntityDecoderState[EntityDecoderState["NamedEntity"] = 4] = "NamedEntity";
|
|
115109
|
+
})(decode_EntityDecoderState || (decode_EntityDecoderState = {}));
|
|
115110
|
+
var esm_decode_DecodingMode;
|
|
115111
|
+
(function (DecodingMode) {
|
|
115112
|
+
/** Entities in text nodes that can end with any character. */
|
|
115113
|
+
DecodingMode[DecodingMode["Legacy"] = 0] = "Legacy";
|
|
115114
|
+
/** Only allow entities terminated with a semicolon. */
|
|
115115
|
+
DecodingMode[DecodingMode["Strict"] = 1] = "Strict";
|
|
115116
|
+
/** Entities in attributes have limitations on ending characters. */
|
|
115117
|
+
DecodingMode[DecodingMode["Attribute"] = 2] = "Attribute";
|
|
115118
|
+
})(esm_decode_DecodingMode || (esm_decode_DecodingMode = {}));
|
|
115119
|
+
/**
|
|
115120
|
+
* Token decoder with support of writing partial entities.
|
|
115121
|
+
*/
|
|
115122
|
+
class decode_EntityDecoder {
|
|
115123
|
+
constructor(
|
|
115124
|
+
/** The tree used to decode entities. */
|
|
115125
|
+
decodeTree,
|
|
115126
|
+
/**
|
|
115127
|
+
* The function that is called when a codepoint is decoded.
|
|
115128
|
+
*
|
|
115129
|
+
* For multi-byte named entities, this will be called multiple times,
|
|
115130
|
+
* with the second codepoint, and the same `consumed` value.
|
|
115131
|
+
*
|
|
115132
|
+
* @param codepoint The decoded codepoint.
|
|
115133
|
+
* @param consumed The number of bytes consumed by the decoder.
|
|
115134
|
+
*/
|
|
115135
|
+
emitCodePoint,
|
|
115136
|
+
/** An object that is used to produce errors. */
|
|
115137
|
+
errors) {
|
|
115138
|
+
this.decodeTree = decodeTree;
|
|
115139
|
+
this.emitCodePoint = emitCodePoint;
|
|
115140
|
+
this.errors = errors;
|
|
115141
|
+
/** The current state of the decoder. */
|
|
115142
|
+
this.state = decode_EntityDecoderState.EntityStart;
|
|
115143
|
+
/** Characters that were consumed while parsing an entity. */
|
|
115144
|
+
this.consumed = 1;
|
|
115145
|
+
/**
|
|
115146
|
+
* The result of the entity.
|
|
115147
|
+
*
|
|
115148
|
+
* Either the result index of a numeric entity, or the codepoint of a
|
|
115149
|
+
* numeric entity.
|
|
115150
|
+
*/
|
|
115151
|
+
this.result = 0;
|
|
115152
|
+
/** The current index in the decode tree. */
|
|
115153
|
+
this.treeIndex = 0;
|
|
115154
|
+
/** The number of characters that were consumed in excess. */
|
|
115155
|
+
this.excess = 1;
|
|
115156
|
+
/** The mode in which the decoder is operating. */
|
|
115157
|
+
this.decodeMode = esm_decode_DecodingMode.Strict;
|
|
115158
|
+
}
|
|
115159
|
+
/** Resets the instance to make it reusable. */
|
|
115160
|
+
startEntity(decodeMode) {
|
|
115161
|
+
this.decodeMode = decodeMode;
|
|
115162
|
+
this.state = decode_EntityDecoderState.EntityStart;
|
|
115163
|
+
this.result = 0;
|
|
115164
|
+
this.treeIndex = 0;
|
|
115165
|
+
this.excess = 1;
|
|
115166
|
+
this.consumed = 1;
|
|
115167
|
+
}
|
|
115168
|
+
/**
|
|
115169
|
+
* Write an entity to the decoder. This can be called multiple times with partial entities.
|
|
115170
|
+
* If the entity is incomplete, the decoder will return -1.
|
|
115171
|
+
*
|
|
115172
|
+
* Mirrors the implementation of `getDecoder`, but with the ability to stop decoding if the
|
|
115173
|
+
* entity is incomplete, and resume when the next string is written.
|
|
115174
|
+
*
|
|
115175
|
+
* @param string The string containing the entity (or a continuation of the entity).
|
|
115176
|
+
* @param offset The offset at which the entity begins. Should be 0 if this is not the first call.
|
|
115177
|
+
* @returns The number of characters that were consumed, or -1 if the entity is incomplete.
|
|
115178
|
+
*/
|
|
115179
|
+
write(str, offset) {
|
|
115180
|
+
switch (this.state) {
|
|
115181
|
+
case decode_EntityDecoderState.EntityStart: {
|
|
115182
|
+
if (str.charCodeAt(offset) === decode_CharCodes.NUM) {
|
|
115183
|
+
this.state = decode_EntityDecoderState.NumericStart;
|
|
115184
|
+
this.consumed += 1;
|
|
115185
|
+
return this.stateNumericStart(str, offset + 1);
|
|
115186
|
+
}
|
|
115187
|
+
this.state = decode_EntityDecoderState.NamedEntity;
|
|
115188
|
+
return this.stateNamedEntity(str, offset);
|
|
115189
|
+
}
|
|
115190
|
+
case decode_EntityDecoderState.NumericStart: {
|
|
115191
|
+
return this.stateNumericStart(str, offset);
|
|
115192
|
+
}
|
|
115193
|
+
case decode_EntityDecoderState.NumericDecimal: {
|
|
115194
|
+
return this.stateNumericDecimal(str, offset);
|
|
115195
|
+
}
|
|
115196
|
+
case decode_EntityDecoderState.NumericHex: {
|
|
115197
|
+
return this.stateNumericHex(str, offset);
|
|
115198
|
+
}
|
|
115199
|
+
case decode_EntityDecoderState.NamedEntity: {
|
|
115200
|
+
return this.stateNamedEntity(str, offset);
|
|
115201
|
+
}
|
|
115202
|
+
}
|
|
115203
|
+
}
|
|
115204
|
+
/**
|
|
115205
|
+
* Switches between the numeric decimal and hexadecimal states.
|
|
115206
|
+
*
|
|
115207
|
+
* Equivalent to the `Numeric character reference state` in the HTML spec.
|
|
115208
|
+
*
|
|
115209
|
+
* @param str The string containing the entity (or a continuation of the entity).
|
|
115210
|
+
* @param offset The current offset.
|
|
115211
|
+
* @returns The number of characters that were consumed, or -1 if the entity is incomplete.
|
|
115212
|
+
*/
|
|
115213
|
+
stateNumericStart(str, offset) {
|
|
115214
|
+
if (offset >= str.length) {
|
|
115215
|
+
return -1;
|
|
115216
|
+
}
|
|
115217
|
+
if ((str.charCodeAt(offset) | decode_TO_LOWER_BIT) === decode_CharCodes.LOWER_X) {
|
|
115218
|
+
this.state = decode_EntityDecoderState.NumericHex;
|
|
115219
|
+
this.consumed += 1;
|
|
115220
|
+
return this.stateNumericHex(str, offset + 1);
|
|
115221
|
+
}
|
|
115222
|
+
this.state = decode_EntityDecoderState.NumericDecimal;
|
|
115223
|
+
return this.stateNumericDecimal(str, offset);
|
|
115224
|
+
}
|
|
115225
|
+
addToNumericResult(str, start, end, base) {
|
|
115226
|
+
if (start !== end) {
|
|
115227
|
+
const digitCount = end - start;
|
|
115228
|
+
this.result =
|
|
115229
|
+
this.result * Math.pow(base, digitCount) +
|
|
115230
|
+
parseInt(str.substr(start, digitCount), base);
|
|
115231
|
+
this.consumed += digitCount;
|
|
115232
|
+
}
|
|
115233
|
+
}
|
|
115234
|
+
/**
|
|
115235
|
+
* Parses a hexadecimal numeric entity.
|
|
115236
|
+
*
|
|
115237
|
+
* Equivalent to the `Hexademical character reference state` in the HTML spec.
|
|
115238
|
+
*
|
|
115239
|
+
* @param str The string containing the entity (or a continuation of the entity).
|
|
115240
|
+
* @param offset The current offset.
|
|
115241
|
+
* @returns The number of characters that were consumed, or -1 if the entity is incomplete.
|
|
115242
|
+
*/
|
|
115243
|
+
stateNumericHex(str, offset) {
|
|
115244
|
+
const startIdx = offset;
|
|
115245
|
+
while (offset < str.length) {
|
|
115246
|
+
const char = str.charCodeAt(offset);
|
|
115247
|
+
if (decode_isNumber(char) || decode_isHexadecimalCharacter(char)) {
|
|
115248
|
+
offset += 1;
|
|
115249
|
+
}
|
|
115250
|
+
else {
|
|
115251
|
+
this.addToNumericResult(str, startIdx, offset, 16);
|
|
115252
|
+
return this.emitNumericEntity(char, 3);
|
|
115253
|
+
}
|
|
115254
|
+
}
|
|
115255
|
+
this.addToNumericResult(str, startIdx, offset, 16);
|
|
115256
|
+
return -1;
|
|
115257
|
+
}
|
|
115258
|
+
/**
|
|
115259
|
+
* Parses a decimal numeric entity.
|
|
115260
|
+
*
|
|
115261
|
+
* Equivalent to the `Decimal character reference state` in the HTML spec.
|
|
115262
|
+
*
|
|
115263
|
+
* @param str The string containing the entity (or a continuation of the entity).
|
|
115264
|
+
* @param offset The current offset.
|
|
115265
|
+
* @returns The number of characters that were consumed, or -1 if the entity is incomplete.
|
|
115266
|
+
*/
|
|
115267
|
+
stateNumericDecimal(str, offset) {
|
|
115268
|
+
const startIdx = offset;
|
|
115269
|
+
while (offset < str.length) {
|
|
115270
|
+
const char = str.charCodeAt(offset);
|
|
115271
|
+
if (decode_isNumber(char)) {
|
|
115272
|
+
offset += 1;
|
|
115273
|
+
}
|
|
115274
|
+
else {
|
|
115275
|
+
this.addToNumericResult(str, startIdx, offset, 10);
|
|
115276
|
+
return this.emitNumericEntity(char, 2);
|
|
115277
|
+
}
|
|
115278
|
+
}
|
|
115279
|
+
this.addToNumericResult(str, startIdx, offset, 10);
|
|
115280
|
+
return -1;
|
|
115281
|
+
}
|
|
115282
|
+
/**
|
|
115283
|
+
* Validate and emit a numeric entity.
|
|
115284
|
+
*
|
|
115285
|
+
* Implements the logic from the `Hexademical character reference start
|
|
115286
|
+
* state` and `Numeric character reference end state` in the HTML spec.
|
|
115287
|
+
*
|
|
115288
|
+
* @param lastCp The last code point of the entity. Used to see if the
|
|
115289
|
+
* entity was terminated with a semicolon.
|
|
115290
|
+
* @param expectedLength The minimum number of characters that should be
|
|
115291
|
+
* consumed. Used to validate that at least one digit
|
|
115292
|
+
* was consumed.
|
|
115293
|
+
* @returns The number of characters that were consumed.
|
|
115294
|
+
*/
|
|
115295
|
+
emitNumericEntity(lastCp, expectedLength) {
|
|
115296
|
+
var _a;
|
|
115297
|
+
// Ensure we consumed at least one digit.
|
|
115298
|
+
if (this.consumed <= expectedLength) {
|
|
115299
|
+
(_a = this.errors) === null || _a === void 0 ? void 0 : _a.absenceOfDigitsInNumericCharacterReference(this.consumed);
|
|
115300
|
+
return 0;
|
|
115301
|
+
}
|
|
115302
|
+
// Figure out if this is a legit end of the entity
|
|
115303
|
+
if (lastCp === decode_CharCodes.SEMI) {
|
|
115304
|
+
this.consumed += 1;
|
|
115305
|
+
}
|
|
115306
|
+
else if (this.decodeMode === esm_decode_DecodingMode.Strict) {
|
|
115307
|
+
return 0;
|
|
115308
|
+
}
|
|
115309
|
+
this.emitCodePoint(decode_codepoint_replaceCodePoint(this.result), this.consumed);
|
|
115310
|
+
if (this.errors) {
|
|
115311
|
+
if (lastCp !== decode_CharCodes.SEMI) {
|
|
115312
|
+
this.errors.missingSemicolonAfterCharacterReference();
|
|
115313
|
+
}
|
|
115314
|
+
this.errors.validateNumericCharacterReference(this.result);
|
|
115315
|
+
}
|
|
115316
|
+
return this.consumed;
|
|
115317
|
+
}
|
|
115318
|
+
/**
|
|
115319
|
+
* Parses a named entity.
|
|
115320
|
+
*
|
|
115321
|
+
* Equivalent to the `Named character reference state` in the HTML spec.
|
|
115322
|
+
*
|
|
115323
|
+
* @param str The string containing the entity (or a continuation of the entity).
|
|
115324
|
+
* @param offset The current offset.
|
|
115325
|
+
* @returns The number of characters that were consumed, or -1 if the entity is incomplete.
|
|
115326
|
+
*/
|
|
115327
|
+
stateNamedEntity(str, offset) {
|
|
115328
|
+
const { decodeTree } = this;
|
|
115329
|
+
let current = decodeTree[this.treeIndex];
|
|
115330
|
+
// The mask is the number of bytes of the value, including the current byte.
|
|
115331
|
+
let valueLength = (current & decode_BinTrieFlags.VALUE_LENGTH) >> 14;
|
|
115332
|
+
for (; offset < str.length; offset++, this.excess++) {
|
|
115333
|
+
const char = str.charCodeAt(offset);
|
|
115334
|
+
this.treeIndex = decode_determineBranch(decodeTree, current, this.treeIndex + Math.max(1, valueLength), char);
|
|
115335
|
+
if (this.treeIndex < 0) {
|
|
115336
|
+
return this.result === 0 ||
|
|
115337
|
+
// If we are parsing an attribute
|
|
115338
|
+
(this.decodeMode === esm_decode_DecodingMode.Attribute &&
|
|
115339
|
+
// We shouldn't have consumed any characters after the entity,
|
|
115340
|
+
(valueLength === 0 ||
|
|
115341
|
+
// And there should be no invalid characters.
|
|
115342
|
+
decode_isEntityInAttributeInvalidEnd(char)))
|
|
115343
|
+
? 0
|
|
115344
|
+
: this.emitNotTerminatedNamedEntity();
|
|
115345
|
+
}
|
|
115346
|
+
current = decodeTree[this.treeIndex];
|
|
115347
|
+
valueLength = (current & decode_BinTrieFlags.VALUE_LENGTH) >> 14;
|
|
115348
|
+
// If the branch is a value, store it and continue
|
|
115349
|
+
if (valueLength !== 0) {
|
|
115350
|
+
// If the entity is terminated by a semicolon, we are done.
|
|
115351
|
+
if (char === decode_CharCodes.SEMI) {
|
|
115352
|
+
return this.emitNamedEntityData(this.treeIndex, valueLength, this.consumed + this.excess);
|
|
115353
|
+
}
|
|
115354
|
+
// If we encounter a non-terminated (legacy) entity while parsing strictly, then ignore it.
|
|
115355
|
+
if (this.decodeMode !== esm_decode_DecodingMode.Strict) {
|
|
115356
|
+
this.result = this.treeIndex;
|
|
115357
|
+
this.consumed += this.excess;
|
|
115358
|
+
this.excess = 0;
|
|
115359
|
+
}
|
|
115360
|
+
}
|
|
115361
|
+
}
|
|
115362
|
+
return -1;
|
|
115363
|
+
}
|
|
115364
|
+
/**
|
|
115365
|
+
* Emit a named entity that was not terminated with a semicolon.
|
|
115366
|
+
*
|
|
115367
|
+
* @returns The number of characters consumed.
|
|
115368
|
+
*/
|
|
115369
|
+
emitNotTerminatedNamedEntity() {
|
|
115370
|
+
var _a;
|
|
115371
|
+
const { result, decodeTree } = this;
|
|
115372
|
+
const valueLength = (decodeTree[result] & decode_BinTrieFlags.VALUE_LENGTH) >> 14;
|
|
115373
|
+
this.emitNamedEntityData(result, valueLength, this.consumed);
|
|
115374
|
+
(_a = this.errors) === null || _a === void 0 ? void 0 : _a.missingSemicolonAfterCharacterReference();
|
|
115375
|
+
return this.consumed;
|
|
115376
|
+
}
|
|
115377
|
+
/**
|
|
115378
|
+
* Emit a named entity.
|
|
115379
|
+
*
|
|
115380
|
+
* @param result The index of the entity in the decode tree.
|
|
115381
|
+
* @param valueLength The number of bytes in the entity.
|
|
115382
|
+
* @param consumed The number of characters consumed.
|
|
115383
|
+
*
|
|
115384
|
+
* @returns The number of characters consumed.
|
|
115385
|
+
*/
|
|
115386
|
+
emitNamedEntityData(result, valueLength, consumed) {
|
|
115387
|
+
const { decodeTree } = this;
|
|
115388
|
+
this.emitCodePoint(valueLength === 1
|
|
115389
|
+
? decodeTree[result] & ~decode_BinTrieFlags.VALUE_LENGTH
|
|
115390
|
+
: decodeTree[result + 1], consumed);
|
|
115391
|
+
if (valueLength === 3) {
|
|
115392
|
+
// For multi-byte values, we need to emit the second byte.
|
|
115393
|
+
this.emitCodePoint(decodeTree[result + 2], consumed);
|
|
115394
|
+
}
|
|
115395
|
+
return consumed;
|
|
115396
|
+
}
|
|
115397
|
+
/**
|
|
115398
|
+
* Signal to the parser that the end of the input was reached.
|
|
115399
|
+
*
|
|
115400
|
+
* Remaining data will be emitted and relevant errors will be produced.
|
|
115401
|
+
*
|
|
115402
|
+
* @returns The number of characters consumed.
|
|
115403
|
+
*/
|
|
115404
|
+
end() {
|
|
115405
|
+
var _a;
|
|
115406
|
+
switch (this.state) {
|
|
115407
|
+
case decode_EntityDecoderState.NamedEntity: {
|
|
115408
|
+
// Emit a named entity if we have one.
|
|
115409
|
+
return this.result !== 0 &&
|
|
115410
|
+
(this.decodeMode !== esm_decode_DecodingMode.Attribute ||
|
|
115411
|
+
this.result === this.treeIndex)
|
|
115412
|
+
? this.emitNotTerminatedNamedEntity()
|
|
115413
|
+
: 0;
|
|
115414
|
+
}
|
|
115415
|
+
// Otherwise, emit a numeric entity if we have one.
|
|
115416
|
+
case decode_EntityDecoderState.NumericDecimal: {
|
|
115417
|
+
return this.emitNumericEntity(0, 2);
|
|
115418
|
+
}
|
|
115419
|
+
case decode_EntityDecoderState.NumericHex: {
|
|
115420
|
+
return this.emitNumericEntity(0, 3);
|
|
115421
|
+
}
|
|
115422
|
+
case decode_EntityDecoderState.NumericStart: {
|
|
115423
|
+
(_a = this.errors) === null || _a === void 0 ? void 0 : _a.absenceOfDigitsInNumericCharacterReference(this.consumed);
|
|
115424
|
+
return 0;
|
|
115425
|
+
}
|
|
115426
|
+
case decode_EntityDecoderState.EntityStart: {
|
|
115427
|
+
// Return 0 if we have no entity.
|
|
115428
|
+
return 0;
|
|
115429
|
+
}
|
|
115430
|
+
}
|
|
115431
|
+
}
|
|
115432
|
+
}
|
|
115433
|
+
/**
|
|
115434
|
+
* Creates a function that decodes entities in a string.
|
|
115435
|
+
*
|
|
115436
|
+
* @param decodeTree The decode tree.
|
|
115437
|
+
* @returns A function that decodes entities in a string.
|
|
115438
|
+
*/
|
|
115439
|
+
function decode_getDecoder(decodeTree) {
|
|
115440
|
+
let ret = "";
|
|
115441
|
+
const decoder = new decode_EntityDecoder(decodeTree, (str) => (ret += esm_decode_codepoint_fromCodePoint(str)));
|
|
115442
|
+
return function decodeWithTrie(str, decodeMode) {
|
|
115443
|
+
let lastIndex = 0;
|
|
115444
|
+
let offset = 0;
|
|
115445
|
+
while ((offset = str.indexOf("&", offset)) >= 0) {
|
|
115446
|
+
ret += str.slice(lastIndex, offset);
|
|
115447
|
+
decoder.startEntity(decodeMode);
|
|
115448
|
+
const len = decoder.write(str,
|
|
115449
|
+
// Skip the "&"
|
|
115450
|
+
offset + 1);
|
|
115451
|
+
if (len < 0) {
|
|
115452
|
+
lastIndex = offset + decoder.end();
|
|
115453
|
+
break;
|
|
115454
|
+
}
|
|
115455
|
+
lastIndex = offset + len;
|
|
115456
|
+
// If `len` is 0, skip the current `&` and continue.
|
|
115457
|
+
offset = len === 0 ? lastIndex + 1 : lastIndex;
|
|
115458
|
+
}
|
|
115459
|
+
const result = ret + str.slice(lastIndex);
|
|
115460
|
+
// Make sure we don't keep a reference to the final string.
|
|
115461
|
+
ret = "";
|
|
115462
|
+
return result;
|
|
115463
|
+
};
|
|
115464
|
+
}
|
|
115465
|
+
/**
|
|
115466
|
+
* Determines the branch of the current node that is taken given the current
|
|
115467
|
+
* character. This function is used to traverse the trie.
|
|
115468
|
+
*
|
|
115469
|
+
* @param decodeTree The trie.
|
|
115470
|
+
* @param current The current node.
|
|
115471
|
+
* @param nodeIdx The index right after the current node and its value.
|
|
115472
|
+
* @param char The current character.
|
|
115473
|
+
* @returns The index of the next node, or -1 if no branch is taken.
|
|
115474
|
+
*/
|
|
115475
|
+
function decode_determineBranch(decodeTree, current, nodeIdx, char) {
|
|
115476
|
+
const branchCount = (current & decode_BinTrieFlags.BRANCH_LENGTH) >> 7;
|
|
115477
|
+
const jumpOffset = current & decode_BinTrieFlags.JUMP_TABLE;
|
|
115478
|
+
// Case 1: Single branch encoded in jump offset
|
|
115479
|
+
if (branchCount === 0) {
|
|
115480
|
+
return jumpOffset !== 0 && char === jumpOffset ? nodeIdx : -1;
|
|
115481
|
+
}
|
|
115482
|
+
// Case 2: Multiple branches encoded in jump table
|
|
115483
|
+
if (jumpOffset) {
|
|
115484
|
+
const value = char - jumpOffset;
|
|
115485
|
+
return value < 0 || value >= branchCount
|
|
115486
|
+
? -1
|
|
115487
|
+
: decodeTree[nodeIdx + value] - 1;
|
|
115488
|
+
}
|
|
115489
|
+
// Case 3: Multiple branches encoded in dictionary
|
|
115490
|
+
// Binary search for the character.
|
|
115491
|
+
let lo = nodeIdx;
|
|
115492
|
+
let hi = lo + branchCount - 1;
|
|
115493
|
+
while (lo <= hi) {
|
|
115494
|
+
const mid = (lo + hi) >>> 1;
|
|
115495
|
+
const midVal = decodeTree[mid];
|
|
115496
|
+
if (midVal < char) {
|
|
115497
|
+
lo = mid + 1;
|
|
115498
|
+
}
|
|
115499
|
+
else if (midVal > char) {
|
|
115500
|
+
hi = mid - 1;
|
|
115501
|
+
}
|
|
115502
|
+
else {
|
|
115503
|
+
return decodeTree[mid + branchCount];
|
|
115504
|
+
}
|
|
115505
|
+
}
|
|
115506
|
+
return -1;
|
|
115507
|
+
}
|
|
115508
|
+
const decode_htmlDecoder = decode_getDecoder(decode_data_html);
|
|
115509
|
+
const decode_xmlDecoder = decode_getDecoder(decode_data_xml);
|
|
115510
|
+
/**
|
|
115511
|
+
* Decodes an HTML string.
|
|
115512
|
+
*
|
|
115513
|
+
* @param str The string to decode.
|
|
115514
|
+
* @param mode The decoding mode.
|
|
115515
|
+
* @returns The decoded string.
|
|
115516
|
+
*/
|
|
115517
|
+
function esm_decode_decodeHTML(str, mode = esm_decode_DecodingMode.Legacy) {
|
|
115518
|
+
return decode_htmlDecoder(str, mode);
|
|
115519
|
+
}
|
|
115520
|
+
/**
|
|
115521
|
+
* Decodes an HTML string in an attribute.
|
|
115522
|
+
*
|
|
115523
|
+
* @param str The string to decode.
|
|
115524
|
+
* @returns The decoded string.
|
|
115525
|
+
*/
|
|
115526
|
+
function decode_decodeHTMLAttribute(str) {
|
|
115527
|
+
return decode_htmlDecoder(str, esm_decode_DecodingMode.Attribute);
|
|
115528
|
+
}
|
|
115529
|
+
/**
|
|
115530
|
+
* Decodes an HTML string, requiring all entities to be terminated by a semicolon.
|
|
115531
|
+
*
|
|
115532
|
+
* @param str The string to decode.
|
|
115533
|
+
* @returns The decoded string.
|
|
115534
|
+
*/
|
|
115535
|
+
function decode_decodeHTMLStrict(str) {
|
|
115536
|
+
return decode_htmlDecoder(str, esm_decode_DecodingMode.Strict);
|
|
115537
|
+
}
|
|
115538
|
+
/**
|
|
115539
|
+
* Decodes an XML string, requiring all entities to be terminated by a semicolon.
|
|
115540
|
+
*
|
|
115541
|
+
* @param str The string to decode.
|
|
115542
|
+
* @returns The decoded string.
|
|
115543
|
+
*/
|
|
115544
|
+
function esm_decode_decodeXML(str) {
|
|
115545
|
+
return decode_xmlDecoder(str, esm_decode_DecodingMode.Strict);
|
|
115546
|
+
}
|
|
115547
|
+
//# sourceMappingURL=decode.js.map
|
|
115010
115548
|
;// ./node_modules/entities/lib/esm/generated/encode-html.js
|
|
115011
115549
|
// Generated using scripts/write-encode-map.ts
|
|
115012
115550
|
function restoreDiff(arr) {
|
|
@@ -115018,6 +115556,123 @@ function restoreDiff(arr) {
|
|
|
115018
115556
|
// prettier-ignore
|
|
115019
115557
|
/* harmony default export */ const encode_html = (new Map(/* #__PURE__ */ restoreDiff([[9, "	"], [0, "
"], [22, "!"], [0, """], [0, "#"], [0, "$"], [0, "%"], [0, "&"], [0, "'"], [0, "("], [0, ")"], [0, "*"], [0, "+"], [0, ","], [1, "."], [0, "/"], [10, ":"], [0, ";"], [0, { v: "<", n: 8402, o: "<⃒" }], [0, { v: "=", n: 8421, o: "=⃥" }], [0, { v: ">", n: 8402, o: ">⃒" }], [0, "?"], [0, "@"], [26, "["], [0, "\"], [0, "]"], [0, "^"], [0, "_"], [0, "`"], [5, { n: 106, o: "fj" }], [20, "{"], [0, "|"], [0, "}"], [34, " "], [0, "¡"], [0, "¢"], [0, "£"], [0, "¤"], [0, "¥"], [0, "¦"], [0, "§"], [0, "¨"], [0, "©"], [0, "ª"], [0, "«"], [0, "¬"], [0, "­"], [0, "®"], [0, "¯"], [0, "°"], [0, "±"], [0, "²"], [0, "³"], [0, "´"], [0, "µ"], [0, "¶"], [0, "·"], [0, "¸"], [0, "¹"], [0, "º"], [0, "»"], [0, "¼"], [0, "½"], [0, "¾"], [0, "¿"], [0, "À"], [0, "Á"], [0, "Â"], [0, "Ã"], [0, "Ä"], [0, "Å"], [0, "Æ"], [0, "Ç"], [0, "È"], [0, "É"], [0, "Ê"], [0, "Ë"], [0, "Ì"], [0, "Í"], [0, "Î"], [0, "Ï"], [0, "Ð"], [0, "Ñ"], [0, "Ò"], [0, "Ó"], [0, "Ô"], [0, "Õ"], [0, "Ö"], [0, "×"], [0, "Ø"], [0, "Ù"], [0, "Ú"], [0, "Û"], [0, "Ü"], [0, "Ý"], [0, "Þ"], [0, "ß"], [0, "à"], [0, "á"], [0, "â"], [0, "ã"], [0, "ä"], [0, "å"], [0, "æ"], [0, "ç"], [0, "è"], [0, "é"], [0, "ê"], [0, "ë"], [0, "ì"], [0, "í"], [0, "î"], [0, "ï"], [0, "ð"], [0, "ñ"], [0, "ò"], [0, "ó"], [0, "ô"], [0, "õ"], [0, "ö"], [0, "÷"], [0, "ø"], [0, "ù"], [0, "ú"], [0, "û"], [0, "ü"], [0, "ý"], [0, "þ"], [0, "ÿ"], [0, "Ā"], [0, "ā"], [0, "Ă"], [0, "ă"], [0, "Ą"], [0, "ą"], [0, "Ć"], [0, "ć"], [0, "Ĉ"], [0, "ĉ"], [0, "Ċ"], [0, "ċ"], [0, "Č"], [0, "č"], [0, "Ď"], [0, "ď"], [0, "Đ"], [0, "đ"], [0, "Ē"], [0, "ē"], [2, "Ė"], [0, "ė"], [0, "Ę"], [0, "ę"], [0, "Ě"], [0, "ě"], [0, "Ĝ"], [0, "ĝ"], [0, "Ğ"], [0, "ğ"], [0, "Ġ"], [0, "ġ"], [0, "Ģ"], [1, "Ĥ"], [0, "ĥ"], [0, "Ħ"], [0, "ħ"], [0, "Ĩ"], [0, "ĩ"], [0, "Ī"], [0, "ī"], [2, "Į"], [0, "į"], [0, "İ"], [0, "ı"], [0, "IJ"], [0, "ij"], [0, "Ĵ"], [0, "ĵ"], [0, "Ķ"], [0, "ķ"], [0, "ĸ"], [0, "Ĺ"], [0, "ĺ"], [0, "Ļ"], [0, "ļ"], [0, "Ľ"], [0, "ľ"], [0, "Ŀ"], [0, "ŀ"], [0, "Ł"], [0, "ł"], [0, "Ń"], [0, "ń"], [0, "Ņ"], [0, "ņ"], [0, "Ň"], [0, "ň"], [0, "ʼn"], [0, "Ŋ"], [0, "ŋ"], [0, "Ō"], [0, "ō"], [2, "Ő"], [0, "ő"], [0, "Œ"], [0, "œ"], [0, "Ŕ"], [0, "ŕ"], [0, "Ŗ"], [0, "ŗ"], [0, "Ř"], [0, "ř"], [0, "Ś"], [0, "ś"], [0, "Ŝ"], [0, "ŝ"], [0, "Ş"], [0, "ş"], [0, "Š"], [0, "š"], [0, "Ţ"], [0, "ţ"], [0, "Ť"], [0, "ť"], [0, "Ŧ"], [0, "ŧ"], [0, "Ũ"], [0, "ũ"], [0, "Ū"], [0, "ū"], [0, "Ŭ"], [0, "ŭ"], [0, "Ů"], [0, "ů"], [0, "Ű"], [0, "ű"], [0, "Ų"], [0, "ų"], [0, "Ŵ"], [0, "ŵ"], [0, "Ŷ"], [0, "ŷ"], [0, "Ÿ"], [0, "Ź"], [0, "ź"], [0, "Ż"], [0, "ż"], [0, "Ž"], [0, "ž"], [19, "ƒ"], [34, "Ƶ"], [63, "ǵ"], [65, "ȷ"], [142, "ˆ"], [0, "ˇ"], [16, "˘"], [0, "˙"], [0, "˚"], [0, "˛"], [0, "˜"], [0, "˝"], [51, "̑"], [127, "Α"], [0, "Β"], [0, "Γ"], [0, "Δ"], [0, "Ε"], [0, "Ζ"], [0, "Η"], [0, "Θ"], [0, "Ι"], [0, "Κ"], [0, "Λ"], [0, "Μ"], [0, "Ν"], [0, "Ξ"], [0, "Ο"], [0, "Π"], [0, "Ρ"], [1, "Σ"], [0, "Τ"], [0, "Υ"], [0, "Φ"], [0, "Χ"], [0, "Ψ"], [0, "Ω"], [7, "α"], [0, "β"], [0, "γ"], [0, "δ"], [0, "ε"], [0, "ζ"], [0, "η"], [0, "θ"], [0, "ι"], [0, "κ"], [0, "λ"], [0, "μ"], [0, "ν"], [0, "ξ"], [0, "ο"], [0, "π"], [0, "ρ"], [0, "ς"], [0, "σ"], [0, "τ"], [0, "υ"], [0, "φ"], [0, "χ"], [0, "ψ"], [0, "ω"], [7, "ϑ"], [0, "ϒ"], [2, "ϕ"], [0, "ϖ"], [5, "Ϝ"], [0, "ϝ"], [18, "ϰ"], [0, "ϱ"], [3, "ϵ"], [0, "϶"], [10, "Ё"], [0, "Ђ"], [0, "Ѓ"], [0, "Є"], [0, "Ѕ"], [0, "І"], [0, "Ї"], [0, "Ј"], [0, "Љ"], [0, "Њ"], [0, "Ћ"], [0, "Ќ"], [1, "Ў"], [0, "Џ"], [0, "А"], [0, "Б"], [0, "В"], [0, "Г"], [0, "Д"], [0, "Е"], [0, "Ж"], [0, "З"], [0, "И"], [0, "Й"], [0, "К"], [0, "Л"], [0, "М"], [0, "Н"], [0, "О"], [0, "П"], [0, "Р"], [0, "С"], [0, "Т"], [0, "У"], [0, "Ф"], [0, "Х"], [0, "Ц"], [0, "Ч"], [0, "Ш"], [0, "Щ"], [0, "Ъ"], [0, "Ы"], [0, "Ь"], [0, "Э"], [0, "Ю"], [0, "Я"], [0, "а"], [0, "б"], [0, "в"], [0, "г"], [0, "д"], [0, "е"], [0, "ж"], [0, "з"], [0, "и"], [0, "й"], [0, "к"], [0, "л"], [0, "м"], [0, "н"], [0, "о"], [0, "п"], [0, "р"], [0, "с"], [0, "т"], [0, "у"], [0, "ф"], [0, "х"], [0, "ц"], [0, "ч"], [0, "ш"], [0, "щ"], [0, "ъ"], [0, "ы"], [0, "ь"], [0, "э"], [0, "ю"], [0, "я"], [1, "ё"], [0, "ђ"], [0, "ѓ"], [0, "є"], [0, "ѕ"], [0, "і"], [0, "ї"], [0, "ј"], [0, "љ"], [0, "њ"], [0, "ћ"], [0, "ќ"], [1, "ў"], [0, "џ"], [7074, " "], [0, " "], [0, " "], [0, " "], [1, " "], [0, " "], [0, " "], [0, " "], [0, "​"], [0, "‌"], [0, "‍"], [0, "‎"], [0, "‏"], [0, "‐"], [2, "–"], [0, "—"], [0, "―"], [0, "‖"], [1, "‘"], [0, "’"], [0, "‚"], [1, "“"], [0, "”"], [0, "„"], [1, "†"], [0, "‡"], [0, "•"], [2, "‥"], [0, "…"], [9, "‰"], [0, "‱"], [0, "′"], [0, "″"], [0, "‴"], [0, "‵"], [3, "‹"], [0, "›"], [3, "‾"], [2, "⁁"], [1, "⁃"], [0, "⁄"], [10, "⁏"], [7, "⁗"], [7, { v: " ", n: 8202, o: "  " }], [0, "⁠"], [0, "⁡"], [0, "⁢"], [0, "⁣"], [72, "€"], [46, "⃛"], [0, "⃜"], [37, "ℂ"], [2, "℅"], [4, "ℊ"], [0, "ℋ"], [0, "ℌ"], [0, "ℍ"], [0, "ℎ"], [0, "ℏ"], [0, "ℐ"], [0, "ℑ"], [0, "ℒ"], [0, "ℓ"], [1, "ℕ"], [0, "№"], [0, "℗"], [0, "℘"], [0, "ℙ"], [0, "ℚ"], [0, "ℛ"], [0, "ℜ"], [0, "ℝ"], [0, "℞"], [3, "™"], [1, "ℤ"], [2, "℧"], [0, "ℨ"], [0, "℩"], [2, "ℬ"], [0, "ℭ"], [1, "ℯ"], [0, "ℰ"], [0, "ℱ"], [1, "ℳ"], [0, "ℴ"], [0, "ℵ"], [0, "ℶ"], [0, "ℷ"], [0, "ℸ"], [12, "ⅅ"], [0, "ⅆ"], [0, "ⅇ"], [0, "ⅈ"], [10, "⅓"], [0, "⅔"], [0, "⅕"], [0, "⅖"], [0, "⅗"], [0, "⅘"], [0, "⅙"], [0, "⅚"], [0, "⅛"], [0, "⅜"], [0, "⅝"], [0, "⅞"], [49, "←"], [0, "↑"], [0, "→"], [0, "↓"], [0, "↔"], [0, "↕"], [0, "↖"], [0, "↗"], [0, "↘"], [0, "↙"], [0, "↚"], [0, "↛"], [1, { v: "↝", n: 824, o: "↝̸" }], [0, "↞"], [0, "↟"], [0, "↠"], [0, "↡"], [0, "↢"], [0, "↣"], [0, "↤"], [0, "↥"], [0, "↦"], [0, "↧"], [1, "↩"], [0, "↪"], [0, "↫"], [0, "↬"], [0, "↭"], [0, "↮"], [1, "↰"], [0, "↱"], [0, "↲"], [0, "↳"], [1, "↵"], [0, "↶"], [0, "↷"], [2, "↺"], [0, "↻"], [0, "↼"], [0, "↽"], [0, "↾"], [0, "↿"], [0, "⇀"], [0, "⇁"], [0, "⇂"], [0, "⇃"], [0, "⇄"], [0, "⇅"], [0, "⇆"], [0, "⇇"], [0, "⇈"], [0, "⇉"], [0, "⇊"], [0, "⇋"], [0, "⇌"], [0, "⇍"], [0, "⇎"], [0, "⇏"], [0, "⇐"], [0, "⇑"], [0, "⇒"], [0, "⇓"], [0, "⇔"], [0, "⇕"], [0, "⇖"], [0, "⇗"], [0, "⇘"], [0, "⇙"], [0, "⇚"], [0, "⇛"], [1, "⇝"], [6, "⇤"], [0, "⇥"], [15, "⇵"], [7, "⇽"], [0, "⇾"], [0, "⇿"], [0, "∀"], [0, "∁"], [0, { v: "∂", n: 824, o: "∂̸" }], [0, "∃"], [0, "∄"], [0, "∅"], [1, "∇"], [0, "∈"], [0, "∉"], [1, "∋"], [0, "∌"], [2, "∏"], [0, "∐"], [0, "∑"], [0, "−"], [0, "∓"], [0, "∔"], [1, "∖"], [0, "∗"], [0, "∘"], [1, "√"], [2, "∝"], [0, "∞"], [0, "∟"], [0, { v: "∠", n: 8402, o: "∠⃒" }], [0, "∡"], [0, "∢"], [0, "∣"], [0, "∤"], [0, "∥"], [0, "∦"], [0, "∧"], [0, "∨"], [0, { v: "∩", n: 65024, o: "∩︀" }], [0, { v: "∪", n: 65024, o: "∪︀" }], [0, "∫"], [0, "∬"], [0, "∭"], [0, "∮"], [0, "∯"], [0, "∰"], [0, "∱"], [0, "∲"], [0, "∳"], [0, "∴"], [0, "∵"], [0, "∶"], [0, "∷"], [0, "∸"], [1, "∺"], [0, "∻"], [0, { v: "∼", n: 8402, o: "∼⃒" }], [0, { v: "∽", n: 817, o: "∽̱" }], [0, { v: "∾", n: 819, o: "∾̳" }], [0, "∿"], [0, "≀"], [0, "≁"], [0, { v: "≂", n: 824, o: "≂̸" }], [0, "≃"], [0, "≄"], [0, "≅"], [0, "≆"], [0, "≇"], [0, "≈"], [0, "≉"], [0, "≊"], [0, { v: "≋", n: 824, o: "≋̸" }], [0, "≌"], [0, { v: "≍", n: 8402, o: "≍⃒" }], [0, { v: "≎", n: 824, o: "≎̸" }], [0, { v: "≏", n: 824, o: "≏̸" }], [0, { v: "≐", n: 824, o: "≐̸" }], [0, "≑"], [0, "≒"], [0, "≓"], [0, "≔"], [0, "≕"], [0, "≖"], [0, "≗"], [1, "≙"], [0, "≚"], [1, "≜"], [2, "≟"], [0, "≠"], [0, { v: "≡", n: 8421, o: "≡⃥" }], [0, "≢"], [1, { v: "≤", n: 8402, o: "≤⃒" }], [0, { v: "≥", n: 8402, o: "≥⃒" }], [0, { v: "≦", n: 824, o: "≦̸" }], [0, { v: "≧", n: 824, o: "≧̸" }], [0, { v: "≨", n: 65024, o: "≨︀" }], [0, { v: "≩", n: 65024, o: "≩︀" }], [0, { v: "≪", n: new Map(/* #__PURE__ */ restoreDiff([[824, "≪̸"], [7577, "≪⃒"]])) }], [0, { v: "≫", n: new Map(/* #__PURE__ */ restoreDiff([[824, "≫̸"], [7577, "≫⃒"]])) }], [0, "≬"], [0, "≭"], [0, "≮"], [0, "≯"], [0, "≰"], [0, "≱"], [0, "≲"], [0, "≳"], [0, "≴"], [0, "≵"], [0, "≶"], [0, "≷"], [0, "≸"], [0, "≹"], [0, "≺"], [0, "≻"], [0, "≼"], [0, "≽"], [0, "≾"], [0, { v: "≿", n: 824, o: "≿̸" }], [0, "⊀"], [0, "⊁"], [0, { v: "⊂", n: 8402, o: "⊂⃒" }], [0, { v: "⊃", n: 8402, o: "⊃⃒" }], [0, "⊄"], [0, "⊅"], [0, "⊆"], [0, "⊇"], [0, "⊈"], [0, "⊉"], [0, { v: "⊊", n: 65024, o: "⊊︀" }], [0, { v: "⊋", n: 65024, o: "⊋︀" }], [1, "⊍"], [0, "⊎"], [0, { v: "⊏", n: 824, o: "⊏̸" }], [0, { v: "⊐", n: 824, o: "⊐̸" }], [0, "⊑"], [0, "⊒"], [0, { v: "⊓", n: 65024, o: "⊓︀" }], [0, { v: "⊔", n: 65024, o: "⊔︀" }], [0, "⊕"], [0, "⊖"], [0, "⊗"], [0, "⊘"], [0, "⊙"], [0, "⊚"], [0, "⊛"], [1, "⊝"], [0, "⊞"], [0, "⊟"], [0, "⊠"], [0, "⊡"], [0, "⊢"], [0, "⊣"], [0, "⊤"], [0, "⊥"], [1, "⊧"], [0, "⊨"], [0, "⊩"], [0, "⊪"], [0, "⊫"], [0, "⊬"], [0, "⊭"], [0, "⊮"], [0, "⊯"], [0, "⊰"], [1, "⊲"], [0, "⊳"], [0, { v: "⊴", n: 8402, o: "⊴⃒" }], [0, { v: "⊵", n: 8402, o: "⊵⃒" }], [0, "⊶"], [0, "⊷"], [0, "⊸"], [0, "⊹"], [0, "⊺"], [0, "⊻"], [1, "⊽"], [0, "⊾"], [0, "⊿"], [0, "⋀"], [0, "⋁"], [0, "⋂"], [0, "⋃"], [0, "⋄"], [0, "⋅"], [0, "⋆"], [0, "⋇"], [0, "⋈"], [0, "⋉"], [0, "⋊"], [0, "⋋"], [0, "⋌"], [0, "⋍"], [0, "⋎"], [0, "⋏"], [0, "⋐"], [0, "⋑"], [0, "⋒"], [0, "⋓"], [0, "⋔"], [0, "⋕"], [0, "⋖"], [0, "⋗"], [0, { v: "⋘", n: 824, o: "⋘̸" }], [0, { v: "⋙", n: 824, o: "⋙̸" }], [0, { v: "⋚", n: 65024, o: "⋚︀" }], [0, { v: "⋛", n: 65024, o: "⋛︀" }], [2, "⋞"], [0, "⋟"], [0, "⋠"], [0, "⋡"], [0, "⋢"], [0, "⋣"], [2, "⋦"], [0, "⋧"], [0, "⋨"], [0, "⋩"], [0, "⋪"], [0, "⋫"], [0, "⋬"], [0, "⋭"], [0, "⋮"], [0, "⋯"], [0, "⋰"], [0, "⋱"], [0, "⋲"], [0, "⋳"], [0, "⋴"], [0, { v: "⋵", n: 824, o: "⋵̸" }], [0, "⋶"], [0, "⋷"], [1, { v: "⋹", n: 824, o: "⋹̸" }], [0, "⋺"], [0, "⋻"], [0, "⋼"], [0, "⋽"], [0, "⋾"], [6, "⌅"], [0, "⌆"], [1, "⌈"], [0, "⌉"], [0, "⌊"], [0, "⌋"], [0, "⌌"], [0, "⌍"], [0, "⌎"], [0, "⌏"], [0, "⌐"], [1, "⌒"], [0, "⌓"], [1, "⌕"], [0, "⌖"], [5, "⌜"], [0, "⌝"], [0, "⌞"], [0, "⌟"], [2, "⌢"], [0, "⌣"], [9, "⌭"], [0, "⌮"], [7, "⌶"], [6, "⌽"], [1, "⌿"], [60, "⍼"], [51, "⎰"], [0, "⎱"], [2, "⎴"], [0, "⎵"], [0, "⎶"], [37, "⏜"], [0, "⏝"], [0, "⏞"], [0, "⏟"], [2, "⏢"], [4, "⏧"], [59, "␣"], [164, "Ⓢ"], [55, "─"], [1, "│"], [9, "┌"], [3, "┐"], [3, "└"], [3, "┘"], [3, "├"], [7, "┤"], [7, "┬"], [7, "┴"], [7, "┼"], [19, "═"], [0, "║"], [0, "╒"], [0, "╓"], [0, "╔"], [0, "╕"], [0, "╖"], [0, "╗"], [0, "╘"], [0, "╙"], [0, "╚"], [0, "╛"], [0, "╜"], [0, "╝"], [0, "╞"], [0, "╟"], [0, "╠"], [0, "╡"], [0, "╢"], [0, "╣"], [0, "╤"], [0, "╥"], [0, "╦"], [0, "╧"], [0, "╨"], [0, "╩"], [0, "╪"], [0, "╫"], [0, "╬"], [19, "▀"], [3, "▄"], [3, "█"], [8, "░"], [0, "▒"], [0, "▓"], [13, "□"], [8, "▪"], [0, "▫"], [1, "▭"], [0, "▮"], [2, "▱"], [1, "△"], [0, "▴"], [0, "▵"], [2, "▸"], [0, "▹"], [3, "▽"], [0, "▾"], [0, "▿"], [2, "◂"], [0, "◃"], [6, "◊"], [0, "○"], [32, "◬"], [2, "◯"], [8, "◸"], [0, "◹"], [0, "◺"], [0, "◻"], [0, "◼"], [8, "★"], [0, "☆"], [7, "☎"], [49, "♀"], [1, "♂"], [29, "♠"], [2, "♣"], [1, "♥"], [0, "♦"], [3, "♪"], [2, "♭"], [0, "♮"], [0, "♯"], [163, "✓"], [3, "✗"], [8, "✠"], [21, "✶"], [33, "❘"], [25, "❲"], [0, "❳"], [84, "⟈"], [0, "⟉"], [28, "⟦"], [0, "⟧"], [0, "⟨"], [0, "⟩"], [0, "⟪"], [0, "⟫"], [0, "⟬"], [0, "⟭"], [7, "⟵"], [0, "⟶"], [0, "⟷"], [0, "⟸"], [0, "⟹"], [0, "⟺"], [1, "⟼"], [2, "⟿"], [258, "⤂"], [0, "⤃"], [0, "⤄"], [0, "⤅"], [6, "⤌"], [0, "⤍"], [0, "⤎"], [0, "⤏"], [0, "⤐"], [0, "⤑"], [0, "⤒"], [0, "⤓"], [2, "⤖"], [2, "⤙"], [0, "⤚"], [0, "⤛"], [0, "⤜"], [0, "⤝"], [0, "⤞"], [0, "⤟"], [0, "⤠"], [2, "⤣"], [0, "⤤"], [0, "⤥"], [0, "⤦"], [0, "⤧"], [0, "⤨"], [0, "⤩"], [0, "⤪"], [8, { v: "⤳", n: 824, o: "⤳̸" }], [1, "⤵"], [0, "⤶"], [0, "⤷"], [0, "⤸"], [0, "⤹"], [2, "⤼"], [0, "⤽"], [7, "⥅"], [2, "⥈"], [0, "⥉"], [0, "⥊"], [0, "⥋"], [2, "⥎"], [0, "⥏"], [0, "⥐"], [0, "⥑"], [0, "⥒"], [0, "⥓"], [0, "⥔"], [0, "⥕"], [0, "⥖"], [0, "⥗"], [0, "⥘"], [0, "⥙"], [0, "⥚"], [0, "⥛"], [0, "⥜"], [0, "⥝"], [0, "⥞"], [0, "⥟"], [0, "⥠"], [0, "⥡"], [0, "⥢"], [0, "⥣"], [0, "⥤"], [0, "⥥"], [0, "⥦"], [0, "⥧"], [0, "⥨"], [0, "⥩"], [0, "⥪"], [0, "⥫"], [0, "⥬"], [0, "⥭"], [0, "⥮"], [0, "⥯"], [0, "⥰"], [0, "⥱"], [0, "⥲"], [0, "⥳"], [0, "⥴"], [0, "⥵"], [0, "⥶"], [1, "⥸"], [0, "⥹"], [1, "⥻"], [0, "⥼"], [0, "⥽"], [0, "⥾"], [0, "⥿"], [5, "⦅"], [0, "⦆"], [4, "⦋"], [0, "⦌"], [0, "⦍"], [0, "⦎"], [0, "⦏"], [0, "⦐"], [0, "⦑"], [0, "⦒"], [0, "⦓"], [0, "⦔"], [0, "⦕"], [0, "⦖"], [3, "⦚"], [1, "⦜"], [0, "⦝"], [6, "⦤"], [0, "⦥"], [0, "⦦"], [0, "⦧"], [0, "⦨"], [0, "⦩"], [0, "⦪"], [0, "⦫"], [0, "⦬"], [0, "⦭"], [0, "⦮"], [0, "⦯"], [0, "⦰"], [0, "⦱"], [0, "⦲"], [0, "⦳"], [0, "⦴"], [0, "⦵"], [0, "⦶"], [0, "⦷"], [1, "⦹"], [1, "⦻"], [0, "⦼"], [1, "⦾"], [0, "⦿"], [0, "⧀"], [0, "⧁"], [0, "⧂"], [0, "⧃"], [0, "⧄"], [0, "⧅"], [3, "⧉"], [3, "⧍"], [0, "⧎"], [0, { v: "⧏", n: 824, o: "⧏̸" }], [0, { v: "⧐", n: 824, o: "⧐̸" }], [11, "⧜"], [0, "⧝"], [0, "⧞"], [4, "⧣"], [0, "⧤"], [0, "⧥"], [5, "⧫"], [8, "⧴"], [1, "⧶"], [9, "⨀"], [0, "⨁"], [0, "⨂"], [1, "⨄"], [1, "⨆"], [5, "⨌"], [0, "⨍"], [2, "⨐"], [0, "⨑"], [0, "⨒"], [0, "⨓"], [0, "⨔"], [0, "⨕"], [0, "⨖"], [0, "⨗"], [10, "⨢"], [0, "⨣"], [0, "⨤"], [0, "⨥"], [0, "⨦"], [0, "⨧"], [1, "⨩"], [0, "⨪"], [2, "⨭"], [0, "⨮"], [0, "⨯"], [0, "⨰"], [0, "⨱"], [1, "⨳"], [0, "⨴"], [0, "⨵"], [0, "⨶"], [0, "⨷"], [0, "⨸"], [0, "⨹"], [0, "⨺"], [0, "⨻"], [0, "⨼"], [2, "⨿"], [0, "⩀"], [1, "⩂"], [0, "⩃"], [0, "⩄"], [0, "⩅"], [0, "⩆"], [0, "⩇"], [0, "⩈"], [0, "⩉"], [0, "⩊"], [0, "⩋"], [0, "⩌"], [0, "⩍"], [2, "⩐"], [2, "⩓"], [0, "⩔"], [0, "⩕"], [0, "⩖"], [0, "⩗"], [0, "⩘"], [1, "⩚"], [0, "⩛"], [0, "⩜"], [0, "⩝"], [1, "⩟"], [6, "⩦"], [3, "⩪"], [2, { v: "⩭", n: 824, o: "⩭̸" }], [0, "⩮"], [0, "⩯"], [0, { v: "⩰", n: 824, o: "⩰̸" }], [0, "⩱"], [0, "⩲"], [0, "⩳"], [0, "⩴"], [0, "⩵"], [1, "⩷"], [0, "⩸"], [0, "⩹"], [0, "⩺"], [0, "⩻"], [0, "⩼"], [0, { v: "⩽", n: 824, o: "⩽̸" }], [0, { v: "⩾", n: 824, o: "⩾̸" }], [0, "⩿"], [0, "⪀"], [0, "⪁"], [0, "⪂"], [0, "⪃"], [0, "⪄"], [0, "⪅"], [0, "⪆"], [0, "⪇"], [0, "⪈"], [0, "⪉"], [0, "⪊"], [0, "⪋"], [0, "⪌"], [0, "⪍"], [0, "⪎"], [0, "⪏"], [0, "⪐"], [0, "⪑"], [0, "⪒"], [0, "⪓"], [0, "⪔"], [0, "⪕"], [0, "⪖"], [0, "⪗"], [0, "⪘"], [0, "⪙"], [0, "⪚"], [2, "⪝"], [0, "⪞"], [0, "⪟"], [0, "⪠"], [0, { v: "⪡", n: 824, o: "⪡̸" }], [0, { v: "⪢", n: 824, o: "⪢̸" }], [1, "⪤"], [0, "⪥"], [0, "⪦"], [0, "⪧"], [0, "⪨"], [0, "⪩"], [0, "⪪"], [0, "⪫"], [0, { v: "⪬", n: 65024, o: "⪬︀" }], [0, { v: "⪭", n: 65024, o: "⪭︀" }], [0, "⪮"], [0, { v: "⪯", n: 824, o: "⪯̸" }], [0, { v: "⪰", n: 824, o: "⪰̸" }], [2, "⪳"], [0, "⪴"], [0, "⪵"], [0, "⪶"], [0, "⪷"], [0, "⪸"], [0, "⪹"], [0, "⪺"], [0, "⪻"], [0, "⪼"], [0, "⪽"], [0, "⪾"], [0, "⪿"], [0, "⫀"], [0, "⫁"], [0, "⫂"], [0, "⫃"], [0, "⫄"], [0, { v: "⫅", n: 824, o: "⫅̸" }], [0, { v: "⫆", n: 824, o: "⫆̸" }], [0, "⫇"], [0, "⫈"], [2, { v: "⫋", n: 65024, o: "⫋︀" }], [0, { v: "⫌", n: 65024, o: "⫌︀" }], [2, "⫏"], [0, "⫐"], [0, "⫑"], [0, "⫒"], [0, "⫓"], [0, "⫔"], [0, "⫕"], [0, "⫖"], [0, "⫗"], [0, "⫘"], [0, "⫙"], [0, "⫚"], [0, "⫛"], [8, "⫤"], [1, "⫦"], [0, "⫧"], [0, "⫨"], [0, "⫩"], [1, "⫫"], [0, "⫬"], [0, "⫭"], [0, "⫮"], [0, "⫯"], [0, "⫰"], [0, "⫱"], [0, "⫲"], [0, "⫳"], [9, { v: "⫽", n: 8421, o: "⫽⃥" }], [44343, { n: new Map(/* #__PURE__ */ restoreDiff([[56476, "𝒜"], [1, "𝒞"], [0, "𝒟"], [2, "𝒢"], [2, "𝒥"], [0, "𝒦"], [2, "𝒩"], [0, "𝒪"], [0, "𝒫"], [0, "𝒬"], [1, "𝒮"], [0, "𝒯"], [0, "𝒰"], [0, "𝒱"], [0, "𝒲"], [0, "𝒳"], [0, "𝒴"], [0, "𝒵"], [0, "𝒶"], [0, "𝒷"], [0, "𝒸"], [0, "𝒹"], [1, "𝒻"], [1, "𝒽"], [0, "𝒾"], [0, "𝒿"], [0, "𝓀"], [0, "𝓁"], [0, "𝓂"], [0, "𝓃"], [1, "𝓅"], [0, "𝓆"], [0, "𝓇"], [0, "𝓈"], [0, "𝓉"], [0, "𝓊"], [0, "𝓋"], [0, "𝓌"], [0, "𝓍"], [0, "𝓎"], [0, "𝓏"], [52, "𝔄"], [0, "𝔅"], [1, "𝔇"], [0, "𝔈"], [0, "𝔉"], [0, "𝔊"], [2, "𝔍"], [0, "𝔎"], [0, "𝔏"], [0, "𝔐"], [0, "𝔑"], [0, "𝔒"], [0, "𝔓"], [0, "𝔔"], [1, "𝔖"], [0, "𝔗"], [0, "𝔘"], [0, "𝔙"], [0, "𝔚"], [0, "𝔛"], [0, "𝔜"], [1, "𝔞"], [0, "𝔟"], [0, "𝔠"], [0, "𝔡"], [0, "𝔢"], [0, "𝔣"], [0, "𝔤"], [0, "𝔥"], [0, "𝔦"], [0, "𝔧"], [0, "𝔨"], [0, "𝔩"], [0, "𝔪"], [0, "𝔫"], [0, "𝔬"], [0, "𝔭"], [0, "𝔮"], [0, "𝔯"], [0, "𝔰"], [0, "𝔱"], [0, "𝔲"], [0, "𝔳"], [0, "𝔴"], [0, "𝔵"], [0, "𝔶"], [0, "𝔷"], [0, "𝔸"], [0, "𝔹"], [1, "𝔻"], [0, "𝔼"], [0, "𝔽"], [0, "𝔾"], [1, "𝕀"], [0, "𝕁"], [0, "𝕂"], [0, "𝕃"], [0, "𝕄"], [1, "𝕆"], [3, "𝕊"], [0, "𝕋"], [0, "𝕌"], [0, "𝕍"], [0, "𝕎"], [0, "𝕏"], [0, "𝕐"], [1, "𝕒"], [0, "𝕓"], [0, "𝕔"], [0, "𝕕"], [0, "𝕖"], [0, "𝕗"], [0, "𝕘"], [0, "𝕙"], [0, "𝕚"], [0, "𝕛"], [0, "𝕜"], [0, "𝕝"], [0, "𝕞"], [0, "𝕟"], [0, "𝕠"], [0, "𝕡"], [0, "𝕢"], [0, "𝕣"], [0, "𝕤"], [0, "𝕥"], [0, "𝕦"], [0, "𝕧"], [0, "𝕨"], [0, "𝕩"], [0, "𝕪"], [0, "𝕫"]])) }], [8906, "ff"], [0, "fi"], [0, "fl"], [0, "ffi"], [0, "ffl"]])));
|
|
115020
115558
|
//# sourceMappingURL=encode-html.js.map
|
|
115559
|
+
;// ./node_modules/entities/lib/esm/escape.js
|
|
115560
|
+
const esm_escape_xmlReplacer = /["&'<>$\x80-\uFFFF]/g;
|
|
115561
|
+
const escape_xmlCodeMap = new Map([
|
|
115562
|
+
[34, """],
|
|
115563
|
+
[38, "&"],
|
|
115564
|
+
[39, "'"],
|
|
115565
|
+
[60, "<"],
|
|
115566
|
+
[62, ">"],
|
|
115567
|
+
]);
|
|
115568
|
+
// For compatibility with node < 4, we wrap `codePointAt`
|
|
115569
|
+
const esm_escape_getCodePoint =
|
|
115570
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
|
|
115571
|
+
String.prototype.codePointAt != null
|
|
115572
|
+
? (str, index) => str.codePointAt(index)
|
|
115573
|
+
: // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae
|
|
115574
|
+
(c, index) => (c.charCodeAt(index) & 0xfc00) === 0xd800
|
|
115575
|
+
? (c.charCodeAt(index) - 0xd800) * 0x400 +
|
|
115576
|
+
c.charCodeAt(index + 1) -
|
|
115577
|
+
0xdc00 +
|
|
115578
|
+
0x10000
|
|
115579
|
+
: c.charCodeAt(index);
|
|
115580
|
+
/**
|
|
115581
|
+
* Encodes all non-ASCII characters, as well as characters not valid in XML
|
|
115582
|
+
* documents using XML entities.
|
|
115583
|
+
*
|
|
115584
|
+
* If a character has no equivalent entity, a
|
|
115585
|
+
* numeric hexadecimal reference (eg. `ü`) will be used.
|
|
115586
|
+
*/
|
|
115587
|
+
function esm_escape_encodeXML(str) {
|
|
115588
|
+
let ret = "";
|
|
115589
|
+
let lastIdx = 0;
|
|
115590
|
+
let match;
|
|
115591
|
+
while ((match = esm_escape_xmlReplacer.exec(str)) !== null) {
|
|
115592
|
+
const i = match.index;
|
|
115593
|
+
const char = str.charCodeAt(i);
|
|
115594
|
+
const next = escape_xmlCodeMap.get(char);
|
|
115595
|
+
if (next !== undefined) {
|
|
115596
|
+
ret += str.substring(lastIdx, i) + next;
|
|
115597
|
+
lastIdx = i + 1;
|
|
115598
|
+
}
|
|
115599
|
+
else {
|
|
115600
|
+
ret += `${str.substring(lastIdx, i)}&#x${esm_escape_getCodePoint(str, i).toString(16)};`;
|
|
115601
|
+
// Increase by 1 if we have a surrogate pair
|
|
115602
|
+
lastIdx = esm_escape_xmlReplacer.lastIndex += Number((char & 0xfc00) === 0xd800);
|
|
115603
|
+
}
|
|
115604
|
+
}
|
|
115605
|
+
return ret + str.substr(lastIdx);
|
|
115606
|
+
}
|
|
115607
|
+
/**
|
|
115608
|
+
* Encodes all non-ASCII characters, as well as characters not valid in XML
|
|
115609
|
+
* documents using numeric hexadecimal reference (eg. `ü`).
|
|
115610
|
+
*
|
|
115611
|
+
* Have a look at `escapeUTF8` if you want a more concise output at the expense
|
|
115612
|
+
* of reduced transportability.
|
|
115613
|
+
*
|
|
115614
|
+
* @param data String to escape.
|
|
115615
|
+
*/
|
|
115616
|
+
const esm_escape_escape = (/* unused pure expression or super */ null && (esm_escape_encodeXML));
|
|
115617
|
+
/**
|
|
115618
|
+
* Creates a function that escapes all characters matched by the given regular
|
|
115619
|
+
* expression using the given map of characters to escape to their entities.
|
|
115620
|
+
*
|
|
115621
|
+
* @param regex Regular expression to match characters to escape.
|
|
115622
|
+
* @param map Map of characters to escape to their entities.
|
|
115623
|
+
*
|
|
115624
|
+
* @returns Function that escapes all characters matched by the given regular
|
|
115625
|
+
* expression using the given map of characters to escape to their entities.
|
|
115626
|
+
*/
|
|
115627
|
+
function escape_getEscaper(regex, map) {
|
|
115628
|
+
return function escape(data) {
|
|
115629
|
+
let match;
|
|
115630
|
+
let lastIdx = 0;
|
|
115631
|
+
let result = "";
|
|
115632
|
+
while ((match = regex.exec(data))) {
|
|
115633
|
+
if (lastIdx !== match.index) {
|
|
115634
|
+
result += data.substring(lastIdx, match.index);
|
|
115635
|
+
}
|
|
115636
|
+
// We know that this character will be in the map.
|
|
115637
|
+
result += map.get(match[0].charCodeAt(0));
|
|
115638
|
+
// Every match will be of length 1
|
|
115639
|
+
lastIdx = match.index + 1;
|
|
115640
|
+
}
|
|
115641
|
+
return result + data.substring(lastIdx);
|
|
115642
|
+
};
|
|
115643
|
+
}
|
|
115644
|
+
/**
|
|
115645
|
+
* Encodes all characters not valid in XML documents using XML entities.
|
|
115646
|
+
*
|
|
115647
|
+
* Note that the output will be character-set dependent.
|
|
115648
|
+
*
|
|
115649
|
+
* @param data String to escape.
|
|
115650
|
+
*/
|
|
115651
|
+
const esm_escape_escapeUTF8 = escape_getEscaper(/[&<>'"]/g, escape_xmlCodeMap);
|
|
115652
|
+
/**
|
|
115653
|
+
* Encodes all characters that have to be escaped in HTML attributes,
|
|
115654
|
+
* following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}.
|
|
115655
|
+
*
|
|
115656
|
+
* @param data String to escape.
|
|
115657
|
+
*/
|
|
115658
|
+
const esm_escape_escapeAttribute = escape_getEscaper(/["&\u00A0]/g, new Map([
|
|
115659
|
+
[34, """],
|
|
115660
|
+
[38, "&"],
|
|
115661
|
+
[160, " "],
|
|
115662
|
+
]));
|
|
115663
|
+
/**
|
|
115664
|
+
* Encodes all characters that have to be escaped in HTML text,
|
|
115665
|
+
* following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}.
|
|
115666
|
+
*
|
|
115667
|
+
* @param data String to escape.
|
|
115668
|
+
*/
|
|
115669
|
+
const esm_escape_escapeText = escape_getEscaper(/[&<>\u00A0]/g, new Map([
|
|
115670
|
+
[38, "&"],
|
|
115671
|
+
[60, "<"],
|
|
115672
|
+
[62, ">"],
|
|
115673
|
+
[160, " "],
|
|
115674
|
+
]));
|
|
115675
|
+
//# sourceMappingURL=escape.js.map
|
|
115021
115676
|
;// ./node_modules/entities/lib/esm/encode.js
|
|
115022
115677
|
|
|
115023
115678
|
|
|
@@ -115195,7 +115850,7 @@ const looseHtmlEntityConstruct = {
|
|
|
115195
115850
|
};
|
|
115196
115851
|
function resolveEntity(name) {
|
|
115197
115852
|
const input = `&${name};`;
|
|
115198
|
-
const decoded =
|
|
115853
|
+
const decoded = decode_decodeHTMLStrict(input);
|
|
115199
115854
|
return decoded !== input ? decoded : undefined;
|
|
115200
115855
|
}
|
|
115201
115856
|
function tokenizeLooseHtmlEntity(effects, ok, nok) {
|
|
@@ -115665,7 +116320,7 @@ function transformMagicBlock(blockType, data, rawValue, options = {}) {
|
|
|
115665
116320
|
data: {
|
|
115666
116321
|
hProperties: {
|
|
115667
116322
|
...(imgData.align && { align: imgData.align }),
|
|
115668
|
-
...(imgData.border && { border: imgData.border
|
|
116323
|
+
...(imgData.border !== undefined && { border: String(imgData.border) !== 'false' }),
|
|
115669
116324
|
...(imgData.sizing && { width: imgWidthBySize[imgData.sizing] }),
|
|
115670
116325
|
},
|
|
115671
116326
|
},
|
|
@@ -115944,7 +116599,7 @@ const constants_INLINE_COMPONENT_TAGS = new Set(['Anchor']);
|
|
|
115944
116599
|
|
|
115945
116600
|
|
|
115946
116601
|
|
|
115947
|
-
const pascalCaseTagPattern = /^<([A-Z][A-Za-z0-9_]*)([^>]*?)(\/?)>([\s\S]*)?$/;
|
|
116602
|
+
const pascalCaseTagPattern = /^<([A-Z][A-Za-z0-9_]*)((?:[^>"']|"[^"]*"|'[^']*')*?)(\/?)>([\s\S]*)?$/;
|
|
115948
116603
|
const tagAttributePattern = /([a-zA-Z_:][-a-zA-Z0-9_:.]*)(?:\s*=\s*("[^"]*"|'[^']*'|[^\s"'>]+))?/g;
|
|
115949
116604
|
/**
|
|
115950
116605
|
* Maximum number of siblings to scan forward when looking for a closing tag
|
|
@@ -116668,6 +117323,30 @@ const mdxishInlineComponents = () => tree => {
|
|
|
116668
117323
|
|
|
116669
117324
|
|
|
116670
117325
|
|
|
117326
|
+
function toImageAlign(value) {
|
|
117327
|
+
if (value === 'left' || value === 'center' || value === 'right') {
|
|
117328
|
+
return value;
|
|
117329
|
+
}
|
|
117330
|
+
return undefined;
|
|
117331
|
+
}
|
|
117332
|
+
function toBool(value) {
|
|
117333
|
+
if (value === undefined)
|
|
117334
|
+
return undefined;
|
|
117335
|
+
if (typeof value === 'boolean')
|
|
117336
|
+
return value;
|
|
117337
|
+
return value !== '' && value !== 'false';
|
|
117338
|
+
}
|
|
117339
|
+
function mdxish_jsx_to_mdast_extractText(nodes) {
|
|
117340
|
+
return nodes
|
|
117341
|
+
.map(n => {
|
|
117342
|
+
if ('value' in n && typeof n.value === 'string')
|
|
117343
|
+
return n.value;
|
|
117344
|
+
if ('children' in n)
|
|
117345
|
+
return mdxish_jsx_to_mdast_extractText(n.children);
|
|
117346
|
+
return '';
|
|
117347
|
+
})
|
|
117348
|
+
.join('');
|
|
117349
|
+
}
|
|
116671
117350
|
const transformAnchor = (jsx) => {
|
|
116672
117351
|
const attrs = getAttrs(jsx);
|
|
116673
117352
|
const { href = '', label, target, title } = attrs;
|
|
@@ -116689,31 +117368,35 @@ const transformAnchor = (jsx) => {
|
|
|
116689
117368
|
const transformImage = (jsx) => {
|
|
116690
117369
|
const attrs = getAttrs(jsx);
|
|
116691
117370
|
const { align, alt = '', border, caption, className, height, lazy, src = '', title = '', width } = attrs;
|
|
117371
|
+
const validAlign = toImageAlign(align);
|
|
117372
|
+
const sizing = width !== undefined ? String(width) : undefined;
|
|
116692
117373
|
const hProperties = {
|
|
116693
117374
|
alt,
|
|
116694
117375
|
src,
|
|
116695
117376
|
title,
|
|
116696
|
-
...(
|
|
116697
|
-
...(border !== undefined && { border:
|
|
117377
|
+
...(validAlign && { align: validAlign }),
|
|
117378
|
+
...(border !== undefined && { border: toBool(border) }),
|
|
116698
117379
|
...(caption && { caption }),
|
|
116699
117380
|
...(className && { className }),
|
|
116700
117381
|
...(height !== undefined && { height: String(height) }),
|
|
116701
|
-
...(lazy !== undefined && { lazy }),
|
|
116702
|
-
...(
|
|
117382
|
+
...(lazy !== undefined && { lazy: toBool(lazy) }),
|
|
117383
|
+
...(sizing && { sizing }),
|
|
117384
|
+
...(sizing && { width: sizing }),
|
|
116703
117385
|
};
|
|
116704
117386
|
return {
|
|
116705
117387
|
type: NodeTypes.imageBlock,
|
|
116706
|
-
align,
|
|
117388
|
+
align: validAlign,
|
|
116707
117389
|
alt,
|
|
116708
|
-
border:
|
|
117390
|
+
border: toBool(border),
|
|
116709
117391
|
caption,
|
|
116710
117392
|
children: caption ? lib_mdast(caption).children : [],
|
|
116711
117393
|
className,
|
|
116712
117394
|
height: height !== undefined ? String(height) : undefined,
|
|
116713
|
-
lazy,
|
|
117395
|
+
lazy: toBool(lazy),
|
|
117396
|
+
sizing,
|
|
116714
117397
|
src,
|
|
116715
117398
|
title,
|
|
116716
|
-
width:
|
|
117399
|
+
width: sizing,
|
|
116717
117400
|
data: {
|
|
116718
117401
|
hName: 'img',
|
|
116719
117402
|
hProperties,
|
|
@@ -116740,7 +117423,7 @@ const transformCallout = (jsx) => {
|
|
|
116740
117423
|
};
|
|
116741
117424
|
const transformEmbed = (jsx) => {
|
|
116742
117425
|
const attrs = getAttrs(jsx);
|
|
116743
|
-
const { favicon, height, html, iframe, image, providerName, providerUrl, title = '', typeOfEmbed, url = '', width } = attrs;
|
|
117426
|
+
const { favicon, height, href, html, iframe, image, providerName, providerUrl, provider, title = '', typeOfEmbed, url = '', width, } = attrs;
|
|
116744
117427
|
return {
|
|
116745
117428
|
type: NodeTypes.embedBlock,
|
|
116746
117429
|
title,
|
|
@@ -116752,11 +117435,13 @@ const transformEmbed = (jsx) => {
|
|
|
116752
117435
|
url,
|
|
116753
117436
|
...(favicon && { favicon }),
|
|
116754
117437
|
...(height && { height }),
|
|
117438
|
+
...(href && { href }),
|
|
116755
117439
|
...(html && { html }),
|
|
116756
117440
|
...(iframe !== undefined && { iframe }),
|
|
116757
117441
|
...(image && { image }),
|
|
116758
117442
|
...(providerName && { providerName }),
|
|
116759
117443
|
...(providerUrl && { providerUrl }),
|
|
117444
|
+
...(provider && { provider }),
|
|
116760
117445
|
...(typeOfEmbed && { typeOfEmbed }),
|
|
116761
117446
|
...(width && { width }),
|
|
116762
117447
|
},
|
|
@@ -116786,22 +117471,26 @@ const transformMagicBlockImage = (node) => {
|
|
|
116786
117471
|
const { alt = '', data, position, title = '', url = '' } = node;
|
|
116787
117472
|
const hProps = data?.hProperties || {};
|
|
116788
117473
|
const { align, border, width } = hProps;
|
|
117474
|
+
const validAlign = toImageAlign(align);
|
|
117475
|
+
const sizing = width || undefined;
|
|
116789
117476
|
const hProperties = {
|
|
116790
117477
|
alt,
|
|
116791
117478
|
src: url,
|
|
116792
117479
|
title,
|
|
116793
|
-
...(
|
|
116794
|
-
...(border && { border }),
|
|
116795
|
-
...(
|
|
117480
|
+
...(validAlign && { align: validAlign }),
|
|
117481
|
+
...(border !== undefined && { border: toBool(border) }),
|
|
117482
|
+
...(sizing && { sizing }),
|
|
117483
|
+
...(sizing && { width: sizing }),
|
|
116796
117484
|
};
|
|
116797
117485
|
return {
|
|
116798
117486
|
type: NodeTypes.imageBlock,
|
|
116799
|
-
align,
|
|
117487
|
+
align: validAlign,
|
|
116800
117488
|
alt,
|
|
116801
|
-
border,
|
|
117489
|
+
border: toBool(border),
|
|
117490
|
+
sizing,
|
|
116802
117491
|
src: url,
|
|
116803
117492
|
title,
|
|
116804
|
-
width,
|
|
117493
|
+
width: sizing,
|
|
116805
117494
|
data: {
|
|
116806
117495
|
hName: 'img',
|
|
116807
117496
|
hProperties,
|
|
@@ -116816,7 +117505,7 @@ const transformMagicBlockImage = (node) => {
|
|
|
116816
117505
|
const transformMagicBlockEmbed = (node) => {
|
|
116817
117506
|
const { data, position } = node;
|
|
116818
117507
|
const hProps = data?.hProperties || {};
|
|
116819
|
-
const { favicon, html, image, providerName, providerUrl, title = '', url = '' } = hProps;
|
|
117508
|
+
const { favicon, height, href, html, iframe, image, provider, providerName, providerUrl, title = '', typeOfEmbed, url = '', width, } = hProps;
|
|
116820
117509
|
return {
|
|
116821
117510
|
type: NodeTypes.embedBlock,
|
|
116822
117511
|
title,
|
|
@@ -116827,10 +117516,16 @@ const transformMagicBlockEmbed = (node) => {
|
|
|
116827
117516
|
title,
|
|
116828
117517
|
url,
|
|
116829
117518
|
...(favicon && { favicon }),
|
|
117519
|
+
...(height && { height }),
|
|
117520
|
+
...(href && { href }),
|
|
116830
117521
|
...(html && { html }),
|
|
117522
|
+
...(iframe !== undefined && { iframe }),
|
|
116831
117523
|
...(image && { image }),
|
|
117524
|
+
...(typeOfEmbed && { typeOfEmbed }),
|
|
116832
117525
|
...(providerName && { providerName }),
|
|
116833
117526
|
...(providerUrl && { providerUrl }),
|
|
117527
|
+
...(provider && { provider }),
|
|
117528
|
+
...(width && { width }),
|
|
116834
117529
|
},
|
|
116835
117530
|
},
|
|
116836
117531
|
position,
|
|
@@ -116849,7 +117544,8 @@ const COMPONENT_MAP = {
|
|
|
116849
117544
|
* - JSX component elements (Image, Callout, Embed, Recipe) into their corresponding MDAST types
|
|
116850
117545
|
* - Magic block image nodes (type: 'image') into image-block
|
|
116851
117546
|
* - Magic block embed nodes (type: 'embed') into embed-block
|
|
116852
|
-
* - Figure nodes
|
|
117547
|
+
* - Figure nodes (magic blocks with captions) into flat image-block with caption string
|
|
117548
|
+
* - Normalizes all image-block attrs (border, align, sizing, caption) to a consistent shape
|
|
116853
117549
|
*
|
|
116854
117550
|
* This is controlled by the `newEditorTypes` flag to maintain backwards compatibility.
|
|
116855
117551
|
*/
|
|
@@ -116875,12 +117571,10 @@ const mdxishJsxToMdast = () => tree => {
|
|
|
116875
117571
|
}
|
|
116876
117572
|
});
|
|
116877
117573
|
// Transform magic block images (type: 'image') to image-block
|
|
116878
|
-
//
|
|
116879
|
-
// Magic block images are direct children of root, so we handle them here
|
|
117574
|
+
// Images inside paragraphs are standard markdown — handled by imageTransformer, normalized below
|
|
116880
117575
|
visit(tree, 'image', (node, index, parent) => {
|
|
116881
117576
|
if (!parent || index === undefined)
|
|
116882
117577
|
return SKIP;
|
|
116883
|
-
// Skip images inside paragraphs (those are standard markdown images handled by imageTransformer)
|
|
116884
117578
|
if (parent.type === 'paragraph')
|
|
116885
117579
|
return SKIP;
|
|
116886
117580
|
const newNode = transformMagicBlockImage(node);
|
|
@@ -116895,16 +117589,74 @@ const mdxishJsxToMdast = () => tree => {
|
|
|
116895
117589
|
parent.children[index] = newNode;
|
|
116896
117590
|
return SKIP;
|
|
116897
117591
|
});
|
|
116898
|
-
//
|
|
117592
|
+
// Flatten figure nodes (magic blocks with captions) into image-block nodes
|
|
116899
117593
|
const isFigure = (node) => node.type === 'figure';
|
|
116900
|
-
visit(tree, isFigure, node => {
|
|
116901
|
-
|
|
116902
|
-
|
|
116903
|
-
|
|
116904
|
-
|
|
116905
|
-
|
|
116906
|
-
|
|
116907
|
-
|
|
117594
|
+
visit(tree, isFigure, (node, index, parent) => {
|
|
117595
|
+
if (!parent || index === undefined)
|
|
117596
|
+
return;
|
|
117597
|
+
const imageChild = node.children.find(child => child.type === 'image' || child.type === NodeTypes.imageBlock);
|
|
117598
|
+
if (!imageChild)
|
|
117599
|
+
return;
|
|
117600
|
+
const figcaptionChild = node.children.find(child => child.type === 'figcaption');
|
|
117601
|
+
// If the image was already transformed to image-block by the earlier visitor, use it directly
|
|
117602
|
+
const imageBlock = imageChild.type === NodeTypes.imageBlock
|
|
117603
|
+
? imageChild
|
|
117604
|
+
: transformMagicBlockImage(imageChild);
|
|
117605
|
+
if (figcaptionChild?.children) {
|
|
117606
|
+
const caption = mdxish_jsx_to_mdast_extractText(figcaptionChild.children);
|
|
117607
|
+
if (caption) {
|
|
117608
|
+
imageBlock.caption = caption;
|
|
117609
|
+
imageBlock.data.hProperties.caption = caption;
|
|
117610
|
+
}
|
|
117611
|
+
}
|
|
117612
|
+
parent.children[index] = imageBlock;
|
|
117613
|
+
});
|
|
117614
|
+
// Final normalization pass across all image-block nodes
|
|
117615
|
+
// Ensures consistent types (border→boolean, align→ImageAlign, width→sizing) and cleans up artifacts
|
|
117616
|
+
const isImageBlock = (node) => node.type === NodeTypes.imageBlock;
|
|
117617
|
+
visit(tree, isImageBlock, _node => {
|
|
117618
|
+
const node = _node;
|
|
117619
|
+
const hProps = (node.data?.hProperties || {});
|
|
117620
|
+
// Normalize boolean attrs
|
|
117621
|
+
if (hProps.border !== undefined) {
|
|
117622
|
+
const val = toBool(hProps.border);
|
|
117623
|
+
node.border = val;
|
|
117624
|
+
hProps.border = val;
|
|
117625
|
+
}
|
|
117626
|
+
else if (node.border !== undefined) {
|
|
117627
|
+
node.border = toBool(node.border);
|
|
117628
|
+
}
|
|
117629
|
+
// Validate align
|
|
117630
|
+
const validAlign = toImageAlign(hProps.align) || toImageAlign(node.align);
|
|
117631
|
+
node.align = validAlign;
|
|
117632
|
+
if (validAlign) {
|
|
117633
|
+
hProps.align = validAlign;
|
|
117634
|
+
}
|
|
117635
|
+
else {
|
|
117636
|
+
delete hProps.align;
|
|
117637
|
+
}
|
|
117638
|
+
// Map width → sizing
|
|
117639
|
+
const width = hProps.width || node.width;
|
|
117640
|
+
if (width) {
|
|
117641
|
+
node.sizing = width;
|
|
117642
|
+
node.width = width;
|
|
117643
|
+
hProps.sizing = width;
|
|
117644
|
+
hProps.width = width;
|
|
117645
|
+
}
|
|
117646
|
+
// Normalize caption
|
|
117647
|
+
const caption = hProps.caption || node.caption;
|
|
117648
|
+
if (caption) {
|
|
117649
|
+
node.caption = caption;
|
|
117650
|
+
hProps.caption = caption;
|
|
117651
|
+
}
|
|
117652
|
+
// Normalize src (url → src)
|
|
117653
|
+
node.src = hProps.src || node.src;
|
|
117654
|
+
hProps.src = node.src;
|
|
117655
|
+
// Remove stray children array from imageTransformer, but preserve caption children
|
|
117656
|
+
if (!caption) {
|
|
117657
|
+
delete node.children;
|
|
117658
|
+
}
|
|
117659
|
+
delete hProps.children;
|
|
116908
117660
|
});
|
|
116909
117661
|
return tree;
|
|
116910
117662
|
};
|
|
@@ -116942,6 +117694,74 @@ const mdxishMermaidTransformer = () => (tree) => {
|
|
|
116942
117694
|
};
|
|
116943
117695
|
/* harmony default export */ const mdxish_mermaid = (mdxishMermaidTransformer);
|
|
116944
117696
|
|
|
117697
|
+
;// ./processor/transform/mdxish/mdxish-self-closing-blocks.ts
|
|
117698
|
+
|
|
117699
|
+
|
|
117700
|
+
/**
|
|
117701
|
+
* Tags to process as self-closing blocks.
|
|
117702
|
+
* These components use simple string attributes (no JSX expressions like `data={[...]}`).
|
|
117703
|
+
* Components with JSX expression attributes should NOT be added here as parseAttributes
|
|
117704
|
+
* cannot handle them correctly.
|
|
117705
|
+
*/
|
|
117706
|
+
const SELF_CLOSING_BLOCK_TAGS = new Set(['Embed', 'Recipe']);
|
|
117707
|
+
// Regex to match self-closing PascalCase tags (handles multi-line)
|
|
117708
|
+
const selfClosingTagPattern = /^<([A-Z][A-Za-z0-9_]*)([\s\S]*?)\/>$/;
|
|
117709
|
+
/**
|
|
117710
|
+
* Try to convert a paragraph node containing a self-closing JSX component into an mdxJsxFlowElement.
|
|
117711
|
+
* Returns the new node if conversion succeeded, or null if the node doesn't match.
|
|
117712
|
+
*/
|
|
117713
|
+
const tryConvertToMdxNode = (node) => {
|
|
117714
|
+
if (node.children.length !== 1)
|
|
117715
|
+
return null;
|
|
117716
|
+
const child = node.children[0];
|
|
117717
|
+
if (child.type !== 'html')
|
|
117718
|
+
return null;
|
|
117719
|
+
const value = child.value?.trim();
|
|
117720
|
+
if (!value)
|
|
117721
|
+
return null;
|
|
117722
|
+
const match = value.match(selfClosingTagPattern);
|
|
117723
|
+
if (!match)
|
|
117724
|
+
return null;
|
|
117725
|
+
const [, tag, attrString] = match;
|
|
117726
|
+
if (!SELF_CLOSING_BLOCK_TAGS.has(tag))
|
|
117727
|
+
return null;
|
|
117728
|
+
return {
|
|
117729
|
+
type: 'mdxJsxFlowElement',
|
|
117730
|
+
name: tag,
|
|
117731
|
+
attributes: parseAttributes(attrString),
|
|
117732
|
+
children: [],
|
|
117733
|
+
position: node.position,
|
|
117734
|
+
};
|
|
117735
|
+
};
|
|
117736
|
+
/**
|
|
117737
|
+
* Transform paragraph-wrapped self-closing JSX components into mdxJsxFlowElement nodes.
|
|
117738
|
+
*
|
|
117739
|
+
* CommonMark wraps multi-line JSX in paragraphs when the opening tag isn't complete
|
|
117740
|
+
* on one line. This plugin detects these structures and unwraps them for components
|
|
117741
|
+
* in the SELF_CLOSING_BLOCK_TAGS allowlist.
|
|
117742
|
+
*
|
|
117743
|
+
* Input structure:
|
|
117744
|
+
* ```
|
|
117745
|
+
* paragraph > html: "<Embed\n typeOfEmbed=\"youtube\"\n/>"
|
|
117746
|
+
* ```
|
|
117747
|
+
*
|
|
117748
|
+
* Output structure:
|
|
117749
|
+
* ```
|
|
117750
|
+
* mdxJsxFlowElement: { name: "Embed", attributes: [...], children: [] }
|
|
117751
|
+
* ```
|
|
117752
|
+
*/
|
|
117753
|
+
const mdxishSelfClosingBlocks = () => tree => {
|
|
117754
|
+
visit(tree, 'paragraph', (node, index, parent) => {
|
|
117755
|
+
if (index === undefined || !parent)
|
|
117756
|
+
return;
|
|
117757
|
+
const mdxNode = tryConvertToMdxNode(node);
|
|
117758
|
+
if (mdxNode) {
|
|
117759
|
+
parent.children.splice(index, 1, mdxNode);
|
|
117760
|
+
}
|
|
117761
|
+
});
|
|
117762
|
+
};
|
|
117763
|
+
/* harmony default export */ const mdxish_self_closing_blocks = (mdxishSelfClosingBlocks);
|
|
117764
|
+
|
|
116945
117765
|
;// ./processor/transform/mdxish/mdxish-snake-case-components.ts
|
|
116946
117766
|
|
|
116947
117767
|
|
|
@@ -119186,6 +120006,7 @@ function loadComponents() {
|
|
|
119186
120006
|
|
|
119187
120007
|
|
|
119188
120008
|
|
|
120009
|
+
|
|
119189
120010
|
|
|
119190
120011
|
|
|
119191
120012
|
const defaultTransformers = [
|
|
@@ -119261,13 +120082,13 @@ function mdxishAstProcessor(mdContent, opts = {}) {
|
|
|
119261
120082
|
.use(magic_block_transformer)
|
|
119262
120083
|
.use(transform_images, { isMdxish: true })
|
|
119263
120084
|
.use(defaultTransformers)
|
|
120085
|
+
.use(mdxish_self_closing_blocks)
|
|
119264
120086
|
.use(mdxish_component_blocks)
|
|
119265
120087
|
.use(restore_snake_case_component_name, { mapping: snakeCaseMapping })
|
|
119266
120088
|
.use(mdxish_tables)
|
|
119267
120089
|
.use(mdxish_html_blocks)
|
|
119268
120090
|
.use(newEditorTypes ? mdxish_inline_components : undefined) // Merge inline html components (e.g. <Anchor>) into MDAST nodes
|
|
119269
120091
|
.use(newEditorTypes ? mdxish_jsx_to_mdast : undefined) // Convert block JSX elements to MDAST types
|
|
119270
|
-
.use(safeMode ? undefined : evaluate_expressions, { context: jsxContext }) // Evaluate MDX expressions using jsxContext
|
|
119271
120092
|
.use(variables_text) // Parse {user.*} patterns from text nodes
|
|
119272
120093
|
.use(useTailwind ? transform_tailwind : undefined, { components: tempComponentsMap })
|
|
119273
120094
|
.use(remarkGfm);
|
|
@@ -119967,6 +120788,7 @@ const utils = {
|
|
|
119967
120788
|
|
|
119968
120789
|
|
|
119969
120790
|
|
|
120791
|
+
|
|
119970
120792
|
})();
|
|
119971
120793
|
|
|
119972
120794
|
module.exports = __webpack_exports__;
|