@hina114514/chaite 1.9.3
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/README.md +143 -0
- package/dist/__dirname-xAmdQ8wE.mjs +13 -0
- package/dist/__dirname.d.ts +4 -0
- package/dist/__dirname.mjs +4 -0
- package/dist/adapters-BeZFg37c.mjs +30 -0
- package/dist/chunks/@anthropic-ai/sdk/index.mjs-BBdoshoG.mjs +44887 -0
- package/dist/chunks/@google/genai/index.mjs-CJMm4uh0.mjs +25136 -0
- package/dist/chunks/@karinjs/node-schedule/index.mjs-UoPXNUgp.mjs +8403 -0
- package/dist/chunks/@xmldom/xmldom/index.mjs-BARr5-gb.mjs +4280 -0
- package/dist/chunks/accepts/index.mjs-BpfWQu4-.mjs +8009 -0
- package/dist/chunks/agent-base/index.mjs-BZ87hIEB.mjs +199 -0
- package/dist/chunks/array-flatten/index.mjs-CFicqOhD.mjs +54 -0
- package/dist/chunks/bluebird/index.mjs-D4zFjek8.mjs +4094 -0
- package/dist/chunks/body-parser/index.mjs-BrUY71SQ.mjs +13756 -0
- package/dist/chunks/chokidar/index.mjs-BvSuth5p.mjs +1537 -0
- package/dist/chunks/content-disposition/index.mjs-DqMQ6Fbz.mjs +307 -0
- package/dist/chunks/cookie/index.mjs-CTmQWCqd.mjs +243 -0
- package/dist/chunks/cookie-signature/index.mjs-CIA1F6JJ.mjs +46 -0
- package/dist/chunks/core-util-is/index.mjs-C0h_2dGX.mjs +69 -0
- package/dist/chunks/cors/index.mjs-DGt6p49t.mjs +311 -0
- package/dist/chunks/data-uri-to-buffer/index.mjs-CLj4bast.mjs +44 -0
- package/dist/chunks/debug/index.mjs-BgKBSuIO.mjs +703 -0
- package/dist/chunks/dingbat-to-unicode/index.mjs-DjR5pQCM.mjs +7481 -0
- package/dist/chunks/encodeurl/index.mjs-CvPRUh2S.mjs +105 -0
- package/dist/chunks/escape-html/index.mjs-CeA_Z7EO.mjs +65 -0
- package/dist/chunks/etag/index.mjs-D58ziXwz.mjs +80 -0
- package/dist/chunks/express/index.mjs-CHnhA_pr.mjs +6787 -0
- package/dist/chunks/fetch-blob/index.mjs-Pm1zUh3g.mjs +3803 -0
- package/dist/chunks/formdata-node/index.mjs-B2Ji6hC0.mjs +92 -0
- package/dist/chunks/formdata-polyfill/index.mjs-BTkafjCT.mjs +87 -0
- package/dist/chunks/https-proxy-agent/index.mjs-DTZuZn-J.mjs +239 -0
- package/dist/chunks/immediate/index.mjs-CkWjI_b-.mjs +59 -0
- package/dist/chunks/isarray/index.mjs-DaT02uUW.mjs +12 -0
- package/dist/chunks/jszip/index.mjs-CvfsTniy.mjs +8599 -0
- package/dist/chunks/lop/index.mjs-BWbOMJZv.mjs +3540 -0
- package/dist/chunks/mammoth/index.mjs-C9xwBIgf.mjs +5081 -0
- package/dist/chunks/node-fetch/index.mjs-Cdihbb0Q.mjs +1446 -0
- package/dist/chunks/openai/index.mjs-M-HPLtaS.mjs +6691 -0
- package/dist/dist-C0tgywA-.mjs +8 -0
- package/dist/fileFromPath-CJ_N7wA9.mjs +6 -0
- package/dist/index.d.ts +1579 -0
- package/dist/index.mjs +30 -0
- package/dist/multipart-parser-CCl_4A7w.mjs +6 -0
- package/dist/rolldown-runtime-DVriDoez.mjs +43 -0
- package/dist/src-BjDIhdKO.mjs +5179 -0
- package/dist/src-DmcKtGy2.mjs +7 -0
- package/dist/types-6jzst6Q4.mjs +30 -0
- package/frontend/build/assets/ChannelFormModal-1GO2eD4m.css +1 -0
- package/frontend/build/assets/ChannelFormModal-B6e7ZIO6.js +5 -0
- package/frontend/build/assets/ChannelFormModal-CV7fs6-7.js +5 -0
- package/frontend/build/assets/ChannelFormModal-DBZyhZDI.css +1 -0
- package/frontend/build/assets/ChannelFormModal-DL0qkZX-.js +5 -0
- package/frontend/build/assets/ChannelFormModal-DuAAlw-8.js +5 -0
- package/frontend/build/assets/ChannelFormModal-Hp6Y4QBc.js +5 -0
- package/frontend/build/assets/ChannelFormModal-xPhm1bZd.js +5 -0
- package/frontend/build/assets/Checkbox-BvK-NJJX.js +105 -0
- package/frontend/build/assets/Checkbox-CNMr2-eQ.js +105 -0
- package/frontend/build/assets/Checkbox-DOJuZG8N.js +105 -0
- package/frontend/build/assets/Checkbox-DWREbqxa.js +105 -0
- package/frontend/build/assets/Checkbox-HPhUtTKu.js +105 -0
- package/frontend/build/assets/Checkbox-gNUlkipW.js +105 -0
- package/frontend/build/assets/CollapseItem-7YFuTj31.js +41 -0
- package/frontend/build/assets/CollapseItem-BVnC3pah.js +41 -0
- package/frontend/build/assets/CollapseItem-Bk7f5wCb.js +41 -0
- package/frontend/build/assets/CollapseItem-Calq76Jj.js +41 -0
- package/frontend/build/assets/CollapseItem-DOnuDO5j.js +41 -0
- package/frontend/build/assets/CollapseItem-fWJBGjAw.js +41 -0
- package/frontend/build/assets/ConversationDetailDrawer-BYG2DS4S.js +1 -0
- package/frontend/build/assets/ConversationDetailDrawer-BYZeaeoF.js +1 -0
- package/frontend/build/assets/ConversationDetailDrawer-gVn82fSx.js +1 -0
- package/frontend/build/assets/ConversationDetailDrawer-jtT8U08c.js +1 -0
- package/frontend/build/assets/ConversationDetailDrawer-m-rNIWZj.js +1 -0
- package/frontend/build/assets/ConversationDetailDrawer-xbhamnIs.js +1 -0
- package/frontend/build/assets/ConversationDetailDrawer.vue_vue_type_script_setup_true_lang-BRZBnJxg.js +97 -0
- package/frontend/build/assets/ConversationDetailDrawer.vue_vue_type_script_setup_true_lang-BnR3ffRY.js +97 -0
- package/frontend/build/assets/ConversationDetailDrawer.vue_vue_type_script_setup_true_lang-C0KA87GQ.js +97 -0
- package/frontend/build/assets/ConversationDetailDrawer.vue_vue_type_script_setup_true_lang-CnLM8_TJ.js +97 -0
- package/frontend/build/assets/ConversationDetailDrawer.vue_vue_type_script_setup_true_lang-CzZvhLM_.js +97 -0
- package/frontend/build/assets/ConversationDetailDrawer.vue_vue_type_script_setup_true_lang-U0BsqrL8.js +97 -0
- package/frontend/build/assets/DataTable-4ViTZyB6.js +457 -0
- package/frontend/build/assets/DataTable-B8zZmlji.js +457 -0
- package/frontend/build/assets/DataTable-BNjopWG3.js +457 -0
- package/frontend/build/assets/DataTable-CZyItGh5.js +457 -0
- package/frontend/build/assets/DataTable-DJj26Pzn.js +454 -0
- package/frontend/build/assets/DataTable-DoEbD9LL.js +457 -0
- package/frontend/build/assets/DynamicTags-BccLo-fc.js +1 -0
- package/frontend/build/assets/DynamicTags-Bmg43ONH.js +1 -0
- package/frontend/build/assets/DynamicTags-CyLbZ9I2.js +1 -0
- package/frontend/build/assets/DynamicTags-DNTdDdGA.js +1 -0
- package/frontend/build/assets/DynamicTags-VCyQf17w.js +1 -0
- package/frontend/build/assets/DynamicTags-rIgGdrL5.js +1 -0
- package/frontend/build/assets/Ellipsis-BST77ylS.js +187 -0
- package/frontend/build/assets/Ellipsis-BTz09kpN.js +187 -0
- package/frontend/build/assets/Ellipsis-BbsLqJtK.js +187 -0
- package/frontend/build/assets/Ellipsis-BdMplm4D.js +187 -0
- package/frontend/build/assets/Ellipsis-C3lHtvjF.js +187 -0
- package/frontend/build/assets/Ellipsis-CEbBdn2n.js +187 -0
- package/frontend/build/assets/ErrorTip.vue_vue_type_script_setup_true_lang-B5o0iz7y.js +1 -0
- package/frontend/build/assets/ErrorTip.vue_vue_type_script_setup_true_lang-BTf_XpHq.js +1 -0
- package/frontend/build/assets/ErrorTip.vue_vue_type_script_setup_true_lang-DFWrNfDB.js +1 -0
- package/frontend/build/assets/ErrorTip.vue_vue_type_script_setup_true_lang-DTFtcs8p.js +1 -0
- package/frontend/build/assets/ErrorTip.vue_vue_type_script_setup_true_lang-QKywH0iL.js +1 -0
- package/frontend/build/assets/ErrorTip.vue_vue_type_script_setup_true_lang-q7wMY1La.js +1 -0
- package/frontend/build/assets/FormItem-BFYeYoTE.js +110 -0
- package/frontend/build/assets/FormItem-B_V_gknG.js +110 -0
- package/frontend/build/assets/FormItem-C2ziP3u7.js +110 -0
- package/frontend/build/assets/FormItem-CDsgx_ab.js +110 -0
- package/frontend/build/assets/FormItem-D5nKwNGe.js +110 -0
- package/frontend/build/assets/FormItem-DcKuwtDH.js +110 -0
- package/frontend/build/assets/FormItemGridItem-BiRqZE_B.js +1 -0
- package/frontend/build/assets/FormItemGridItem-CEbJWTJd.js +1 -0
- package/frontend/build/assets/FormItemGridItem-DaKl8_2L.js +1 -0
- package/frontend/build/assets/FormItemGridItem-DkQ8mrOt.js +1 -0
- package/frontend/build/assets/FormItemGridItem-YEC3z4HO.js +1 -0
- package/frontend/build/assets/FormItemGridItem-cjYQS3d8.js +1 -0
- package/frontend/build/assets/Grid-0zzIexHr.js +1 -0
- package/frontend/build/assets/Grid-BNlPkf-g.js +1 -0
- package/frontend/build/assets/Grid-CmLEm3vL.js +1 -0
- package/frontend/build/assets/Grid-CqcXqV8U.js +1 -0
- package/frontend/build/assets/Grid-DmeNHOJx.js +1 -0
- package/frontend/build/assets/Grid-WK2vuhLP.js +1 -0
- package/frontend/build/assets/Image-CMvlvuJp.js +132 -0
- package/frontend/build/assets/Image-CbdTV78X.js +132 -0
- package/frontend/build/assets/Image-Cf2fbKtf.js +132 -0
- package/frontend/build/assets/Image-Crg2QYhk.js +132 -0
- package/frontend/build/assets/Image-D53Xywez.js +132 -0
- package/frontend/build/assets/Image-tNy1v7mL.js +132 -0
- package/frontend/build/assets/InputNumber-BjfLyebn.js +13 -0
- package/frontend/build/assets/InputNumber-BtSrvYnH.js +13 -0
- package/frontend/build/assets/InputNumber-BxeR-3jl.js +13 -0
- package/frontend/build/assets/InputNumber-C7hKPk7P.js +13 -0
- package/frontend/build/assets/InputNumber-CbRGvPDs.js +13 -0
- package/frontend/build/assets/InputNumber-qiteD5Uu.js +13 -0
- package/frontend/build/assets/MessageContentCard-333YPcPx.js +1 -0
- package/frontend/build/assets/MessageContentCard-B0-LvWuB.js +1 -0
- package/frontend/build/assets/MessageContentCard-C2uRLdgO.js +1 -0
- package/frontend/build/assets/MessageContentCard-CjL6sc3W.js +1 -0
- package/frontend/build/assets/MessageContentCard-D3wLdleV.css +1 -0
- package/frontend/build/assets/MessageContentCard-DQ6w5avD.css +1 -0
- package/frontend/build/assets/MessageContentCard-DRoS4fsn.js +1 -0
- package/frontend/build/assets/MessageContentCard-DRsw0lK-.js +1 -0
- package/frontend/build/assets/Popconfirm-DsC1UchR.js +16 -0
- package/frontend/build/assets/Popconfirm-wmBfNL4Y.js +16 -0
- package/frontend/build/assets/PresetFormModal-B87TaT8J.js +1 -0
- package/frontend/build/assets/PresetFormModal-BpleAL8Z.js +1 -0
- package/frontend/build/assets/PresetFormModal-BrNCyqXq.css +1 -0
- package/frontend/build/assets/PresetFormModal-D6bXLlH2.css +1 -0
- package/frontend/build/assets/PresetFormModal-D8RNddGW.css +1 -0
- package/frontend/build/assets/PresetFormModal-DZlJ1Vcp.css +1 -0
- package/frontend/build/assets/PresetFormModal-Dah-5WHj.js +1 -0
- package/frontend/build/assets/PresetFormModal-DepNynU1.js +1 -0
- package/frontend/build/assets/PresetFormModal-Diebn4cS.js +1 -0
- package/frontend/build/assets/PresetFormModal-Dol9eToM.js +1 -0
- package/frontend/build/assets/PresetFormModal-ah6zWfbB.css +1 -0
- package/frontend/build/assets/ProcessorFormModal-BLiL3tFS.js +1 -0
- package/frontend/build/assets/ProcessorFormModal-C4rqrypu.js +1 -0
- package/frontend/build/assets/ProcessorFormModal-D9X5zzKG.js +1 -0
- package/frontend/build/assets/ProcessorFormModal-Ik7zSGUU.js +1 -0
- package/frontend/build/assets/ProcessorFormModal-Q5ARXwwU.js +1 -0
- package/frontend/build/assets/ProcessorFormModal-vpoqf_VP.js +1 -0
- package/frontend/build/assets/ProcessorFormModal.vue_vue_type_script_setup_true_lang-BK03vxpt.js +42 -0
- package/frontend/build/assets/ProcessorFormModal.vue_vue_type_script_setup_true_lang-D8NYnQ0b.js +42 -0
- package/frontend/build/assets/ProcessorFormModal.vue_vue_type_script_setup_true_lang-DKnpVb21.js +42 -0
- package/frontend/build/assets/ProcessorFormModal.vue_vue_type_script_setup_true_lang-DQayqXcu.js +42 -0
- package/frontend/build/assets/ProcessorFormModal.vue_vue_type_script_setup_true_lang-EUAgxSFF.js +42 -0
- package/frontend/build/assets/ProcessorFormModal.vue_vue_type_script_setup_true_lang-HZQFntw0.js +42 -0
- package/frontend/build/assets/Spin-BP0yPWNS.js +43 -0
- package/frontend/build/assets/Spin-C2G3wcnB.js +43 -0
- package/frontend/build/assets/Spin-C7sqRNqw.js +43 -0
- package/frontend/build/assets/Spin-Cy3cVx8W.js +43 -0
- package/frontend/build/assets/Spin-UrFjnOlY.js +43 -0
- package/frontend/build/assets/Spin-yYcNW-yl.js +43 -0
- package/frontend/build/assets/ToolFormModal-CVZFxPxz.js +1 -0
- package/frontend/build/assets/ToolFormModal-CgHH9Bbh.js +1 -0
- package/frontend/build/assets/ToolFormModal-D7NFHjzM.js +1 -0
- package/frontend/build/assets/ToolFormModal-DpVk5ooz.js +1 -0
- package/frontend/build/assets/ToolFormModal-DsS34Jdc.js +1 -0
- package/frontend/build/assets/ToolFormModal-hx-a_w1d.js +1 -0
- package/frontend/build/assets/ToolFormModal.vue_vue_type_script_setup_true_lang-Biq3KQMr.js +51 -0
- package/frontend/build/assets/ToolFormModal.vue_vue_type_script_setup_true_lang-DAbXNKv-.js +51 -0
- package/frontend/build/assets/ToolFormModal.vue_vue_type_script_setup_true_lang-DGdJ6txC.js +51 -0
- package/frontend/build/assets/ToolFormModal.vue_vue_type_script_setup_true_lang-QIhGuSJV.js +51 -0
- package/frontend/build/assets/ToolFormModal.vue_vue_type_script_setup_true_lang-sVSPLzuy.js +51 -0
- package/frontend/build/assets/ToolFormModal.vue_vue_type_script_setup_true_lang-yH3HeP81.js +51 -0
- package/frontend/build/assets/ToolGroupFormModal-2uJQDkUz.js +1 -0
- package/frontend/build/assets/ToolGroupFormModal-B-OxsC_e.js +1 -0
- package/frontend/build/assets/ToolGroupFormModal-CXbSBPSI.js +1 -0
- package/frontend/build/assets/ToolGroupFormModal-CeF3hW-I.js +1 -0
- package/frontend/build/assets/ToolGroupFormModal-DfEZcYi7.js +1 -0
- package/frontend/build/assets/ToolGroupFormModal-DvGS2rQd.js +1 -0
- package/frontend/build/assets/ToolGroupFormModal.vue_vue_type_script_setup_true_lang-AsEJ8jCe.js +146 -0
- package/frontend/build/assets/ToolGroupFormModal.vue_vue_type_script_setup_true_lang-B5V2XNND.js +146 -0
- package/frontend/build/assets/ToolGroupFormModal.vue_vue_type_script_setup_true_lang-BYmI5807.js +146 -0
- package/frontend/build/assets/ToolGroupFormModal.vue_vue_type_script_setup_true_lang-C32gc6LQ.js +146 -0
- package/frontend/build/assets/ToolGroupFormModal.vue_vue_type_script_setup_true_lang-CRwhppLH.js +146 -0
- package/frontend/build/assets/ToolGroupFormModal.vue_vue_type_script_setup_true_lang-Cz49lSiC.js +146 -0
- package/frontend/build/assets/TriggerFormModal-B9hL6DT2.js +1 -0
- package/frontend/build/assets/TriggerFormModal-D6tlqZPa.js +1 -0
- package/frontend/build/assets/TriggerFormModal-DngyRFuZ.js +1 -0
- package/frontend/build/assets/TriggerFormModal-jUjJ3cpY.js +1 -0
- package/frontend/build/assets/TriggerFormModal-zyHfq9gk.js +1 -0
- package/frontend/build/assets/TriggerFormModal.vue_vue_type_script_setup_true_lang-65eiY_Fl.js +15 -0
- package/frontend/build/assets/TriggerFormModal.vue_vue_type_script_setup_true_lang-BDVxuECo.js +15 -0
- package/frontend/build/assets/TriggerFormModal.vue_vue_type_script_setup_true_lang-BGdRzXOm.js +15 -0
- package/frontend/build/assets/TriggerFormModal.vue_vue_type_script_setup_true_lang-Bq6N6Y6d.js +15 -0
- package/frontend/build/assets/TriggerFormModal.vue_vue_type_script_setup_true_lang-DPcB1irn.js +15 -0
- package/frontend/build/assets/add-one-BaGYp8TD.js +1 -0
- package/frontend/build/assets/add-one-CTqCiftQ.js +1 -0
- package/frontend/build/assets/add-one-DBohvXa7.js +1 -0
- package/frontend/build/assets/add-one-DQqaMb3g.js +1 -0
- package/frontend/build/assets/add-one-DT3qGnwW.js +1 -0
- package/frontend/build/assets/add-one-DenQ1X6U.js +1 -0
- package/frontend/build/assets/channels-5BB_92I-.js +1 -0
- package/frontend/build/assets/channels-C2i9C4LP.js +1 -0
- package/frontend/build/assets/channels-C53UiHV8.js +1 -0
- package/frontend/build/assets/channels-Cm8UM1Z7.js +1 -0
- package/frontend/build/assets/channels-DdlEEU3s.js +1 -0
- package/frontend/build/assets/channels-DzKbsjiA.js +1 -0
- package/frontend/build/assets/cloudy-BnletBC6.js +1 -0
- package/frontend/build/assets/cloudy-C02z4bvP.js +1 -0
- package/frontend/build/assets/cloudy-DCLcLr7j.js +1 -0
- package/frontend/build/assets/cloudy-DEHW5vHA.js +1 -0
- package/frontend/build/assets/cloudy-MrNAszHw.js +1 -0
- package/frontend/build/assets/cloudy-zp1Y9L1v.js +1 -0
- package/frontend/build/assets/default-resource.png +0 -0
- package/frontend/build/assets/download-C2161hUv.js +1 -0
- package/frontend/build/assets/error-403-VPEqmg7m.svg +1 -0
- package/frontend/build/assets/error-404-DLMSXL2R.svg +1 -0
- package/frontend/build/assets/error-500-C1R4JvdT.svg +1 -0
- package/frontend/build/assets/gemini-full-DjWArg1A.png +0 -0
- package/frontend/build/assets/headers-CYAAtr6C.js +16 -0
- package/frontend/build/assets/headers-CiEBSHa2.js +16 -0
- package/frontend/build/assets/headers-D9Kcnpmr.js +16 -0
- package/frontend/build/assets/headers-PaTXxtPR.js +16 -0
- package/frontend/build/assets/headers-UoeXy2eZ.js +16 -0
- package/frontend/build/assets/headers-VVIzblQ_.js +16 -0
- package/frontend/build/assets/index--eQYnbum.js +1 -0
- package/frontend/build/assets/index-03UGSOxl.js +3022 -0
- package/frontend/build/assets/index-2VSakRqN.js +1 -0
- package/frontend/build/assets/index-2WhMzyiQ.js +1 -0
- package/frontend/build/assets/index-2_Tj01eS.js +1 -0
- package/frontend/build/assets/index-2ds3nwBz.js +1 -0
- package/frontend/build/assets/index-5HLgPZyA.js +1 -0
- package/frontend/build/assets/index-A-Nxva_P.js +1 -0
- package/frontend/build/assets/index-AOaD5c69.css +1 -0
- package/frontend/build/assets/index-AxmlVWLb.js +88 -0
- package/frontend/build/assets/index-B1vc1sYC.js +88 -0
- package/frontend/build/assets/index-B2xcn1Zp.js +88 -0
- package/frontend/build/assets/index-B3vwplQQ.js +1 -0
- package/frontend/build/assets/index-B3xgRJTP.js +1 -0
- package/frontend/build/assets/index-B5DOGUIX.js +1 -0
- package/frontend/build/assets/index-B6OH0R7T.js +1 -0
- package/frontend/build/assets/index-B84-YkMr.js +1 -0
- package/frontend/build/assets/index-BEeRPoRP.css +1 -0
- package/frontend/build/assets/index-BG6BPhzo.js +1 -0
- package/frontend/build/assets/index-BITQakTn.js +1 -0
- package/frontend/build/assets/index-BMLd3diZ.js +1 -0
- package/frontend/build/assets/index-BVn0o2ft.js +1 -0
- package/frontend/build/assets/index-BWa7FUv_.css +1 -0
- package/frontend/build/assets/index-BX8jlXqW.js +1 -0
- package/frontend/build/assets/index-BfkNMt-Z.js +4 -0
- package/frontend/build/assets/index-BiTjEGM3.js +1 -0
- package/frontend/build/assets/index-BjIbFF1J.css +1 -0
- package/frontend/build/assets/index-BjlhqqjK.js +1 -0
- package/frontend/build/assets/index-BnFsJO-x.css +1 -0
- package/frontend/build/assets/index-BnLYNBvb.js +34 -0
- package/frontend/build/assets/index-BpyNu5uz.css +1 -0
- package/frontend/build/assets/index-Bq8g4Sjx.js +34 -0
- package/frontend/build/assets/index-BqnNVMWz.js +1 -0
- package/frontend/build/assets/index-BqvhG25P.js +1 -0
- package/frontend/build/assets/index-BxVOuJCR.js +88 -0
- package/frontend/build/assets/index-C0cu-RWI.js +1 -0
- package/frontend/build/assets/index-C3PU0-pz.js +1 -0
- package/frontend/build/assets/index-C6PGuM0W.js +1 -0
- package/frontend/build/assets/index-C8kC4vgj.js +73 -0
- package/frontend/build/assets/index-C929_ci3.js +1 -0
- package/frontend/build/assets/index-CAvXXNvC.js +4 -0
- package/frontend/build/assets/index-CH4h1wcf.js +1 -0
- package/frontend/build/assets/index-CIJ6rjR4.js +1 -0
- package/frontend/build/assets/index-CIr65QIJ.js +88 -0
- package/frontend/build/assets/index-CJIWqxBN.js +3022 -0
- package/frontend/build/assets/index-CK1nPYvM.js +1 -0
- package/frontend/build/assets/index-CKrf6ZAU.js +1 -0
- package/frontend/build/assets/index-CLfO7Gf6.js +1 -0
- package/frontend/build/assets/index-C_X4kJPv.js +1 -0
- package/frontend/build/assets/index-C_Y4E6cV.js +1 -0
- package/frontend/build/assets/index-Cb7i0EbW.js +1 -0
- package/frontend/build/assets/index-CbWw_OnJ.js +1 -0
- package/frontend/build/assets/index-CbeMIVMe.js +1 -0
- package/frontend/build/assets/index-CdNjPHZ4.css +1 -0
- package/frontend/build/assets/index-CeFBXiHy.js +34 -0
- package/frontend/build/assets/index-CfqNGf3J.js +1 -0
- package/frontend/build/assets/index-Cgw3BtX5.js +1 -0
- package/frontend/build/assets/index-Ci64noNy.js +4 -0
- package/frontend/build/assets/index-CpE2LZf6.js +88 -0
- package/frontend/build/assets/index-CqKFcCqq.js +1 -0
- package/frontend/build/assets/index-CrbhbDn6.js +1 -0
- package/frontend/build/assets/index-Csi2jHp6.js +1 -0
- package/frontend/build/assets/index-CuRn3Zj6.js +1 -0
- package/frontend/build/assets/index-Cvb6isPu.js +34 -0
- package/frontend/build/assets/index-D1keqYcn.js +1 -0
- package/frontend/build/assets/index-D4yD21Ii.js +1 -0
- package/frontend/build/assets/index-D60uSbJs.css +1 -0
- package/frontend/build/assets/index-D6ESmTyE.js +51 -0
- package/frontend/build/assets/index-D81JopND.js +1 -0
- package/frontend/build/assets/index-D8Ea2ZYj.js +1 -0
- package/frontend/build/assets/index-D8GATqgc.js +88 -0
- package/frontend/build/assets/index-DAP5yTaX.js +1 -0
- package/frontend/build/assets/index-DBBLpo8h.js +73 -0
- package/frontend/build/assets/index-DBaGV7UL.js +1 -0
- package/frontend/build/assets/index-DEVf6CSD.css +1 -0
- package/frontend/build/assets/index-DG-8CbiW.css +1 -0
- package/frontend/build/assets/index-DGBf1FIP.js +1 -0
- package/frontend/build/assets/index-DGJCAKZq.js +1 -0
- package/frontend/build/assets/index-DGyDjezP.js +1 -0
- package/frontend/build/assets/index-DJdQ0nV5.js +3022 -0
- package/frontend/build/assets/index-DK0t9ttf.js +51 -0
- package/frontend/build/assets/index-DNH9PMk-.js +1 -0
- package/frontend/build/assets/index-DOSf5RcO.css +1 -0
- package/frontend/build/assets/index-DOpBnx1_.js +3 -0
- package/frontend/build/assets/index-DOpZxAwZ.js +1 -0
- package/frontend/build/assets/index-DPHVwNRA.js +1 -0
- package/frontend/build/assets/index-DSzihJo9.js +1 -0
- package/frontend/build/assets/index-DVJZAGXg.js +1 -0
- package/frontend/build/assets/index-DXr1ddHm.js +3 -0
- package/frontend/build/assets/index-DamztouA.js +1 -0
- package/frontend/build/assets/index-Dd2IZqLs.js +1 -0
- package/frontend/build/assets/index-DfOc9UlB.js +1 -0
- package/frontend/build/assets/index-DgVSxPXN.css +1 -0
- package/frontend/build/assets/index-Dhp8dh5v.js +1 -0
- package/frontend/build/assets/index-DlqpxOQl.css +1 -0
- package/frontend/build/assets/index-DlvxwSxx.js +1 -0
- package/frontend/build/assets/index-Dn5ZzrRm.css +1 -0
- package/frontend/build/assets/index-Dp1faHeH.js +3020 -0
- package/frontend/build/assets/index-DsLf2ZDE.js +1 -0
- package/frontend/build/assets/index-DsUl8Ptm.js +1 -0
- package/frontend/build/assets/index-Dw0tLRur.js +1 -0
- package/frontend/build/assets/index-DwXVBZsv.js +1 -0
- package/frontend/build/assets/index-DyaHYcgL.js +1 -0
- package/frontend/build/assets/index-DzBQLoNi.js +3022 -0
- package/frontend/build/assets/index-GrVsVGKe.js +1 -0
- package/frontend/build/assets/index-IzGzRXKT.js +1 -0
- package/frontend/build/assets/index-MHTC5Jaf.js +1 -0
- package/frontend/build/assets/index-PDPwUSMg.js +34 -0
- package/frontend/build/assets/index-QYahACFP.css +1 -0
- package/frontend/build/assets/index-QkZPwKD6.js +88 -0
- package/frontend/build/assets/index-Tg84pa9I.js +88 -0
- package/frontend/build/assets/index-UL4MAKLb.js +88 -0
- package/frontend/build/assets/index-aa34KBYr.js +34 -0
- package/frontend/build/assets/index-ajvK6t0Y.js +1 -0
- package/frontend/build/assets/index-b5SryupN.js +1 -0
- package/frontend/build/assets/index-d3LI8LJL.js +4 -0
- package/frontend/build/assets/index-e1kUgjjO.js +1 -0
- package/frontend/build/assets/index-jTalI0G5.js +1 -0
- package/frontend/build/assets/index-jZroxcSG.js +1 -0
- package/frontend/build/assets/index-kLEe-31q.js +3022 -0
- package/frontend/build/assets/index-nxD1J_1U.js +1 -0
- package/frontend/build/assets/index-qD9Q6D9I.js +1 -0
- package/frontend/build/assets/index-uBZFl8l2.js +1 -0
- package/frontend/build/assets/index-wr8bxnDK.js +1 -0
- package/frontend/build/assets/index.vue_vue_type_script_setup_true_lang-B4NwmABd.js +1 -0
- package/frontend/build/assets/index.vue_vue_type_script_setup_true_lang-B4oNPU3q.js +1 -0
- package/frontend/build/assets/index.vue_vue_type_script_setup_true_lang-BBmwAav-.js +1 -0
- package/frontend/build/assets/index.vue_vue_type_script_setup_true_lang-BOOc15c_.js +1 -0
- package/frontend/build/assets/index.vue_vue_type_script_setup_true_lang-BY9Af5Nc.js +1 -0
- package/frontend/build/assets/index.vue_vue_type_script_setup_true_lang-Bej651CN.js +1 -0
- package/frontend/build/assets/index.vue_vue_type_script_setup_true_lang-C2vb4Dqf.js +1 -0
- package/frontend/build/assets/index.vue_vue_type_script_setup_true_lang-CL2618tE.js +1 -0
- package/frontend/build/assets/index.vue_vue_type_script_setup_true_lang-CLxSBkmO.js +1 -0
- package/frontend/build/assets/index.vue_vue_type_script_setup_true_lang-C_JTuf1y.js +1 -0
- package/frontend/build/assets/index.vue_vue_type_script_setup_true_lang-CcJN846R.js +1 -0
- package/frontend/build/assets/index.vue_vue_type_script_setup_true_lang-CijuxZr1.js +1 -0
- package/frontend/build/assets/index.vue_vue_type_script_setup_true_lang-CmP-e403.js +1 -0
- package/frontend/build/assets/index.vue_vue_type_script_setup_true_lang-Cs16N-Xd.js +1 -0
- package/frontend/build/assets/index.vue_vue_type_script_setup_true_lang-D06MdY7a.js +1 -0
- package/frontend/build/assets/index.vue_vue_type_script_setup_true_lang-DdgjuITP.js +1 -0
- package/frontend/build/assets/index.vue_vue_type_script_setup_true_lang-DuLmC4Hy.js +1 -0
- package/frontend/build/assets/index.vue_vue_type_script_setup_true_lang-i_-VJTVk.js +1 -0
- package/frontend/build/assets/logo-B8LLnbYy.jpg +0 -0
- package/frontend/build/assets/memory-C4zB60HJ.js +1 -0
- package/frontend/build/assets/memory-DHzPXs82.js +1 -0
- package/frontend/build/assets/presets-8ZEu20ZL.js +1 -0
- package/frontend/build/assets/presets-Bbyt0PjB.js +1 -0
- package/frontend/build/assets/presets-DGMnsFyv.js +1 -0
- package/frontend/build/assets/presets-DqF27psW.js +1 -0
- package/frontend/build/assets/presets-N8YNqfPr.js +1 -0
- package/frontend/build/assets/presets-cCI64Dxi.js +1 -0
- package/frontend/build/assets/preview-close-one-BtVZjDje.js +1 -0
- package/frontend/build/assets/preview-close-one-CduaZ9go.js +1 -0
- package/frontend/build/assets/preview-close-one-DQdsMFNB.js +1 -0
- package/frontend/build/assets/preview-close-one-DZiBTyj3.js +1 -0
- package/frontend/build/assets/preview-close-one-ZEGMXVTp.js +1 -0
- package/frontend/build/assets/preview-close-one-vOfiPsm0.js +1 -0
- package/frontend/build/assets/preview-open--FMuWVpI.js +1 -0
- package/frontend/build/assets/preview-open-5axv2eoi.js +1 -0
- package/frontend/build/assets/preview-open-BwhyOZZZ.js +1 -0
- package/frontend/build/assets/preview-open-CEgCXCaz.js +1 -0
- package/frontend/build/assets/preview-open-CIsmwiay.js +1 -0
- package/frontend/build/assets/preview-open-DqXcn0Io.js +1 -0
- package/frontend/build/assets/processors-0_RUgaZm.js +1 -0
- package/frontend/build/assets/processors-BGAbvhSk.js +1 -0
- package/frontend/build/assets/processors-CJsyXjR7.js +1 -0
- package/frontend/build/assets/processors-CmJ007yb.js +1 -0
- package/frontend/build/assets/processors-CsDJer4R.js +1 -0
- package/frontend/build/assets/processors-on-PUe_q.js +1 -0
- package/frontend/build/assets/prop-BjyUHhTu.js +1 -0
- package/frontend/build/assets/text-BU3n8x_S.js +21 -0
- package/frontend/build/assets/text-BdCfEojD.js +21 -0
- package/frontend/build/assets/text-BfkuQm58.js +21 -0
- package/frontend/build/assets/text-BhKp8kwX.js +21 -0
- package/frontend/build/assets/text-C8WlRvWq.js +21 -0
- package/frontend/build/assets/text-Dm8ZXeiW.js +21 -0
- package/frontend/build/assets/toolGroup-BpThfFxc.js +1 -0
- package/frontend/build/assets/toolGroup-C7yi3DD-.js +1 -0
- package/frontend/build/assets/toolGroup-Cl_28ogB.js +1 -0
- package/frontend/build/assets/toolGroup-CvTMJceG.js +1 -0
- package/frontend/build/assets/toolGroup-DIZrVG-u.js +1 -0
- package/frontend/build/assets/toolGroup-YtViuyrx.js +1 -0
- package/frontend/build/assets/tools-BWpxaWcy.js +1 -0
- package/frontend/build/assets/tools-CivF5Y63.js +1 -0
- package/frontend/build/assets/tools-ClM2lWje.js +1 -0
- package/frontend/build/assets/tools-DlNqOoYG.js +1 -0
- package/frontend/build/assets/tools-DrffVcid.js +1 -0
- package/frontend/build/assets/tools-VKwjF6eb.js +1 -0
- package/frontend/build/favicon.jpg +0 -0
- package/frontend/build/index.html +537 -0
- package/package.json +71 -0
|
@@ -0,0 +1,4280 @@
|
|
|
1
|
+
import { t as __commonJS } from "../../../rolldown-runtime-DVriDoez.mjs";
|
|
2
|
+
|
|
3
|
+
//#region node_modules/.pnpm/@xmldom+xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/conventions.js
|
|
4
|
+
var require_conventions = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/@xmldom+xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/conventions.js": ((exports) => {
|
|
5
|
+
/**
|
|
6
|
+
* Ponyfill for `Array.prototype.find` which is only available in ES6 runtimes.
|
|
7
|
+
*
|
|
8
|
+
* Works with anything that has a `length` property and index access properties, including NodeList.
|
|
9
|
+
*
|
|
10
|
+
* @template {unknown} T
|
|
11
|
+
* @param {Array<T> | ({length:number, [number]: T})} list
|
|
12
|
+
* @param {function (item: T, index: number, list:Array<T> | ({length:number, [number]: T})):boolean} predicate
|
|
13
|
+
* @param {Partial<Pick<ArrayConstructor['prototype'], 'find'>>?} ac `Array.prototype` by default,
|
|
14
|
+
* allows injecting a custom implementation in tests
|
|
15
|
+
* @returns {T | undefined}
|
|
16
|
+
*
|
|
17
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find
|
|
18
|
+
* @see https://tc39.es/ecma262/multipage/indexed-collections.html#sec-array.prototype.find
|
|
19
|
+
*/
|
|
20
|
+
function find$1(list, predicate, ac) {
|
|
21
|
+
if (ac === void 0) ac = Array.prototype;
|
|
22
|
+
if (list && typeof ac.find === "function") return ac.find.call(list, predicate);
|
|
23
|
+
for (var i = 0; i < list.length; i++) if (Object.prototype.hasOwnProperty.call(list, i)) {
|
|
24
|
+
var item = list[i];
|
|
25
|
+
if (predicate.call(void 0, item, i, list)) return item;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* "Shallow freezes" an object to render it immutable.
|
|
30
|
+
* Uses `Object.freeze` if available,
|
|
31
|
+
* otherwise the immutability is only in the type.
|
|
32
|
+
*
|
|
33
|
+
* Is used to create "enum like" objects.
|
|
34
|
+
*
|
|
35
|
+
* @template T
|
|
36
|
+
* @param {T} object the object to freeze
|
|
37
|
+
* @param {Pick<ObjectConstructor, 'freeze'> = Object} oc `Object` by default,
|
|
38
|
+
* allows to inject custom object constructor for tests
|
|
39
|
+
* @returns {Readonly<T>}
|
|
40
|
+
*
|
|
41
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze
|
|
42
|
+
*/
|
|
43
|
+
function freeze$1(object, oc) {
|
|
44
|
+
if (oc === void 0) oc = Object;
|
|
45
|
+
return oc && typeof oc.freeze === "function" ? oc.freeze(object) : object;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Since we can not rely on `Object.assign` we provide a simplified version
|
|
49
|
+
* that is sufficient for our needs.
|
|
50
|
+
*
|
|
51
|
+
* @param {Object} target
|
|
52
|
+
* @param {Object | null | undefined} source
|
|
53
|
+
*
|
|
54
|
+
* @returns {Object} target
|
|
55
|
+
* @throws TypeError if target is not an object
|
|
56
|
+
*
|
|
57
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign
|
|
58
|
+
* @see https://tc39.es/ecma262/multipage/fundamental-objects.html#sec-object.assign
|
|
59
|
+
*/
|
|
60
|
+
function assign(target, source) {
|
|
61
|
+
if (target === null || typeof target !== "object") throw new TypeError("target is not an object");
|
|
62
|
+
for (var key in source) if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
|
|
63
|
+
return target;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* All mime types that are allowed as input to `DOMParser.parseFromString`
|
|
67
|
+
*
|
|
68
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/DOMParser/parseFromString#Argument02 MDN
|
|
69
|
+
* @see https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#domparsersupportedtype WHATWG HTML Spec
|
|
70
|
+
* @see DOMParser.prototype.parseFromString
|
|
71
|
+
*/
|
|
72
|
+
var MIME_TYPE = freeze$1({
|
|
73
|
+
HTML: "text/html",
|
|
74
|
+
isHTML: function(value) {
|
|
75
|
+
return value === MIME_TYPE.HTML;
|
|
76
|
+
},
|
|
77
|
+
XML_APPLICATION: "application/xml",
|
|
78
|
+
XML_TEXT: "text/xml",
|
|
79
|
+
XML_XHTML_APPLICATION: "application/xhtml+xml",
|
|
80
|
+
XML_SVG_IMAGE: "image/svg+xml"
|
|
81
|
+
});
|
|
82
|
+
/**
|
|
83
|
+
* Namespaces that are used in this code base.
|
|
84
|
+
*
|
|
85
|
+
* @see http://www.w3.org/TR/REC-xml-names
|
|
86
|
+
*/
|
|
87
|
+
var NAMESPACE$3 = freeze$1({
|
|
88
|
+
HTML: "http://www.w3.org/1999/xhtml",
|
|
89
|
+
isHTML: function(uri) {
|
|
90
|
+
return uri === NAMESPACE$3.HTML;
|
|
91
|
+
},
|
|
92
|
+
SVG: "http://www.w3.org/2000/svg",
|
|
93
|
+
XML: "http://www.w3.org/XML/1998/namespace",
|
|
94
|
+
XMLNS: "http://www.w3.org/2000/xmlns/"
|
|
95
|
+
});
|
|
96
|
+
exports.assign = assign;
|
|
97
|
+
exports.find = find$1;
|
|
98
|
+
exports.freeze = freeze$1;
|
|
99
|
+
exports.MIME_TYPE = MIME_TYPE;
|
|
100
|
+
exports.NAMESPACE = NAMESPACE$3;
|
|
101
|
+
}) });
|
|
102
|
+
|
|
103
|
+
//#endregion
|
|
104
|
+
//#region node_modules/.pnpm/@xmldom+xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/dom.js
|
|
105
|
+
var require_dom = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/@xmldom+xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/dom.js": ((exports) => {
|
|
106
|
+
var conventions$1 = require_conventions();
|
|
107
|
+
var find = conventions$1.find;
|
|
108
|
+
var NAMESPACE$2 = conventions$1.NAMESPACE;
|
|
109
|
+
/**
|
|
110
|
+
* A prerequisite for `[].filter`, to drop elements that are empty
|
|
111
|
+
* @param {string} input
|
|
112
|
+
* @returns {boolean}
|
|
113
|
+
*/
|
|
114
|
+
function notEmptyString(input) {
|
|
115
|
+
return input !== "";
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* @see https://infra.spec.whatwg.org/#split-on-ascii-whitespace
|
|
119
|
+
* @see https://infra.spec.whatwg.org/#ascii-whitespace
|
|
120
|
+
*
|
|
121
|
+
* @param {string} input
|
|
122
|
+
* @returns {string[]} (can be empty)
|
|
123
|
+
*/
|
|
124
|
+
function splitOnASCIIWhitespace(input) {
|
|
125
|
+
return input ? input.split(/[\t\n\f\r ]+/).filter(notEmptyString) : [];
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Adds element as a key to current if it is not already present.
|
|
129
|
+
*
|
|
130
|
+
* @param {Record<string, boolean | undefined>} current
|
|
131
|
+
* @param {string} element
|
|
132
|
+
* @returns {Record<string, boolean | undefined>}
|
|
133
|
+
*/
|
|
134
|
+
function orderedSetReducer(current, element) {
|
|
135
|
+
if (!current.hasOwnProperty(element)) current[element] = true;
|
|
136
|
+
return current;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* @see https://infra.spec.whatwg.org/#ordered-set
|
|
140
|
+
* @param {string} input
|
|
141
|
+
* @returns {string[]}
|
|
142
|
+
*/
|
|
143
|
+
function toOrderedSet(input) {
|
|
144
|
+
if (!input) return [];
|
|
145
|
+
var list = splitOnASCIIWhitespace(input);
|
|
146
|
+
return Object.keys(list.reduce(orderedSetReducer, {}));
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Uses `list.indexOf` to implement something like `Array.prototype.includes`,
|
|
150
|
+
* which we can not rely on being available.
|
|
151
|
+
*
|
|
152
|
+
* @param {any[]} list
|
|
153
|
+
* @returns {function(any): boolean}
|
|
154
|
+
*/
|
|
155
|
+
function arrayIncludes(list) {
|
|
156
|
+
return function(element) {
|
|
157
|
+
return list && list.indexOf(element) !== -1;
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
function copy(src, dest) {
|
|
161
|
+
for (var p in src) if (Object.prototype.hasOwnProperty.call(src, p)) dest[p] = src[p];
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
^\w+\.prototype\.([_\w]+)\s*=\s*((?:.*\{\s*?[\r\n][\s\S]*?^})|\S.*?(?=[;\r\n]));?
|
|
165
|
+
^\w+\.prototype\.([_\w]+)\s*=\s*(\S.*?(?=[;\r\n]));?
|
|
166
|
+
*/
|
|
167
|
+
function _extends(Class, Super) {
|
|
168
|
+
var pt = Class.prototype;
|
|
169
|
+
if (!(pt instanceof Super)) {
|
|
170
|
+
function t() {}
|
|
171
|
+
t.prototype = Super.prototype;
|
|
172
|
+
t = new t();
|
|
173
|
+
copy(pt, t);
|
|
174
|
+
Class.prototype = pt = t;
|
|
175
|
+
}
|
|
176
|
+
if (pt.constructor != Class) {
|
|
177
|
+
if (typeof Class != "function") console.error("unknown Class:" + Class);
|
|
178
|
+
pt.constructor = Class;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
var NodeType = {};
|
|
182
|
+
var ELEMENT_NODE = NodeType.ELEMENT_NODE = 1;
|
|
183
|
+
var ATTRIBUTE_NODE = NodeType.ATTRIBUTE_NODE = 2;
|
|
184
|
+
var TEXT_NODE = NodeType.TEXT_NODE = 3;
|
|
185
|
+
var CDATA_SECTION_NODE = NodeType.CDATA_SECTION_NODE = 4;
|
|
186
|
+
var ENTITY_REFERENCE_NODE = NodeType.ENTITY_REFERENCE_NODE = 5;
|
|
187
|
+
var ENTITY_NODE = NodeType.ENTITY_NODE = 6;
|
|
188
|
+
var PROCESSING_INSTRUCTION_NODE = NodeType.PROCESSING_INSTRUCTION_NODE = 7;
|
|
189
|
+
var COMMENT_NODE = NodeType.COMMENT_NODE = 8;
|
|
190
|
+
var DOCUMENT_NODE = NodeType.DOCUMENT_NODE = 9;
|
|
191
|
+
var DOCUMENT_TYPE_NODE = NodeType.DOCUMENT_TYPE_NODE = 10;
|
|
192
|
+
var DOCUMENT_FRAGMENT_NODE = NodeType.DOCUMENT_FRAGMENT_NODE = 11;
|
|
193
|
+
var NOTATION_NODE = NodeType.NOTATION_NODE = 12;
|
|
194
|
+
var ExceptionCode = {};
|
|
195
|
+
var ExceptionMessage = {};
|
|
196
|
+
ExceptionCode.INDEX_SIZE_ERR = (ExceptionMessage[1] = "Index size error", 1);
|
|
197
|
+
ExceptionCode.DOMSTRING_SIZE_ERR = (ExceptionMessage[2] = "DOMString size error", 2);
|
|
198
|
+
var HIERARCHY_REQUEST_ERR = ExceptionCode.HIERARCHY_REQUEST_ERR = (ExceptionMessage[3] = "Hierarchy request error", 3);
|
|
199
|
+
ExceptionCode.WRONG_DOCUMENT_ERR = (ExceptionMessage[4] = "Wrong document", 4);
|
|
200
|
+
ExceptionCode.INVALID_CHARACTER_ERR = (ExceptionMessage[5] = "Invalid character", 5);
|
|
201
|
+
ExceptionCode.NO_DATA_ALLOWED_ERR = (ExceptionMessage[6] = "No data allowed", 6);
|
|
202
|
+
ExceptionCode.NO_MODIFICATION_ALLOWED_ERR = (ExceptionMessage[7] = "No modification allowed", 7);
|
|
203
|
+
var NOT_FOUND_ERR = ExceptionCode.NOT_FOUND_ERR = (ExceptionMessage[8] = "Not found", 8);
|
|
204
|
+
ExceptionCode.NOT_SUPPORTED_ERR = (ExceptionMessage[9] = "Not supported", 9);
|
|
205
|
+
var INUSE_ATTRIBUTE_ERR = ExceptionCode.INUSE_ATTRIBUTE_ERR = (ExceptionMessage[10] = "Attribute in use", 10);
|
|
206
|
+
ExceptionCode.INVALID_STATE_ERR = (ExceptionMessage[11] = "Invalid state", 11);
|
|
207
|
+
ExceptionCode.SYNTAX_ERR = (ExceptionMessage[12] = "Syntax error", 12);
|
|
208
|
+
ExceptionCode.INVALID_MODIFICATION_ERR = (ExceptionMessage[13] = "Invalid modification", 13);
|
|
209
|
+
ExceptionCode.NAMESPACE_ERR = (ExceptionMessage[14] = "Invalid namespace", 14);
|
|
210
|
+
ExceptionCode.INVALID_ACCESS_ERR = (ExceptionMessage[15] = "Invalid access", 15);
|
|
211
|
+
/**
|
|
212
|
+
* DOM Level 2
|
|
213
|
+
* Object DOMException
|
|
214
|
+
* @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html
|
|
215
|
+
* @see http://www.w3.org/TR/REC-DOM-Level-1/ecma-script-language-binding.html
|
|
216
|
+
*/
|
|
217
|
+
function DOMException(code, message) {
|
|
218
|
+
if (message instanceof Error) var error = message;
|
|
219
|
+
else {
|
|
220
|
+
error = this;
|
|
221
|
+
Error.call(this, ExceptionMessage[code]);
|
|
222
|
+
this.message = ExceptionMessage[code];
|
|
223
|
+
if (Error.captureStackTrace) Error.captureStackTrace(this, DOMException);
|
|
224
|
+
}
|
|
225
|
+
error.code = code;
|
|
226
|
+
if (message) this.message = this.message + ": " + message;
|
|
227
|
+
return error;
|
|
228
|
+
}
|
|
229
|
+
DOMException.prototype = Error.prototype;
|
|
230
|
+
copy(ExceptionCode, DOMException);
|
|
231
|
+
/**
|
|
232
|
+
* @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-536297177
|
|
233
|
+
* The NodeList interface provides the abstraction of an ordered collection of nodes, without defining or constraining how this collection is implemented. NodeList objects in the DOM are live.
|
|
234
|
+
* The items in the NodeList are accessible via an integral index, starting from 0.
|
|
235
|
+
*/
|
|
236
|
+
function NodeList() {}
|
|
237
|
+
NodeList.prototype = {
|
|
238
|
+
length: 0,
|
|
239
|
+
item: function(index) {
|
|
240
|
+
return index >= 0 && index < this.length ? this[index] : null;
|
|
241
|
+
},
|
|
242
|
+
toString: function(isHTML, nodeFilter) {
|
|
243
|
+
for (var buf = [], i = 0; i < this.length; i++) serializeToString(this[i], buf, isHTML, nodeFilter);
|
|
244
|
+
return buf.join("");
|
|
245
|
+
},
|
|
246
|
+
filter: function(predicate) {
|
|
247
|
+
return Array.prototype.filter.call(this, predicate);
|
|
248
|
+
},
|
|
249
|
+
indexOf: function(item) {
|
|
250
|
+
return Array.prototype.indexOf.call(this, item);
|
|
251
|
+
}
|
|
252
|
+
};
|
|
253
|
+
function LiveNodeList(node, refresh) {
|
|
254
|
+
this._node = node;
|
|
255
|
+
this._refresh = refresh;
|
|
256
|
+
_updateLiveList(this);
|
|
257
|
+
}
|
|
258
|
+
function _updateLiveList(list) {
|
|
259
|
+
var inc = list._node._inc || list._node.ownerDocument._inc;
|
|
260
|
+
if (list._inc !== inc) {
|
|
261
|
+
var ls = list._refresh(list._node);
|
|
262
|
+
__set__(list, "length", ls.length);
|
|
263
|
+
if (!list.$$length || ls.length < list.$$length) {
|
|
264
|
+
for (var i = ls.length; i in list; i++) if (Object.prototype.hasOwnProperty.call(list, i)) delete list[i];
|
|
265
|
+
}
|
|
266
|
+
copy(ls, list);
|
|
267
|
+
list._inc = inc;
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
LiveNodeList.prototype.item = function(i) {
|
|
271
|
+
_updateLiveList(this);
|
|
272
|
+
return this[i] || null;
|
|
273
|
+
};
|
|
274
|
+
_extends(LiveNodeList, NodeList);
|
|
275
|
+
/**
|
|
276
|
+
* Objects implementing the NamedNodeMap interface are used
|
|
277
|
+
* to represent collections of nodes that can be accessed by name.
|
|
278
|
+
* Note that NamedNodeMap does not inherit from NodeList;
|
|
279
|
+
* NamedNodeMaps are not maintained in any particular order.
|
|
280
|
+
* Objects contained in an object implementing NamedNodeMap may also be accessed by an ordinal index,
|
|
281
|
+
* but this is simply to allow convenient enumeration of the contents of a NamedNodeMap,
|
|
282
|
+
* and does not imply that the DOM specifies an order to these Nodes.
|
|
283
|
+
* NamedNodeMap objects in the DOM are live.
|
|
284
|
+
* used for attributes or DocumentType entities
|
|
285
|
+
*/
|
|
286
|
+
function NamedNodeMap() {}
|
|
287
|
+
function _findNodeIndex(list, node) {
|
|
288
|
+
var i = list.length;
|
|
289
|
+
while (i--) if (list[i] === node) return i;
|
|
290
|
+
}
|
|
291
|
+
function _addNamedNode(el, list, newAttr, oldAttr) {
|
|
292
|
+
if (oldAttr) list[_findNodeIndex(list, oldAttr)] = newAttr;
|
|
293
|
+
else list[list.length++] = newAttr;
|
|
294
|
+
if (el) {
|
|
295
|
+
newAttr.ownerElement = el;
|
|
296
|
+
var doc = el.ownerDocument;
|
|
297
|
+
if (doc) {
|
|
298
|
+
oldAttr && _onRemoveAttribute(doc, el, oldAttr);
|
|
299
|
+
_onAddAttribute(doc, el, newAttr);
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
function _removeNamedNode(el, list, attr) {
|
|
304
|
+
var i = _findNodeIndex(list, attr);
|
|
305
|
+
if (i >= 0) {
|
|
306
|
+
var lastIndex = list.length - 1;
|
|
307
|
+
while (i < lastIndex) list[i] = list[++i];
|
|
308
|
+
list.length = lastIndex;
|
|
309
|
+
if (el) {
|
|
310
|
+
var doc = el.ownerDocument;
|
|
311
|
+
if (doc) {
|
|
312
|
+
_onRemoveAttribute(doc, el, attr);
|
|
313
|
+
attr.ownerElement = null;
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
} else throw new DOMException(NOT_FOUND_ERR, /* @__PURE__ */ new Error(el.tagName + "@" + attr));
|
|
317
|
+
}
|
|
318
|
+
NamedNodeMap.prototype = {
|
|
319
|
+
length: 0,
|
|
320
|
+
item: NodeList.prototype.item,
|
|
321
|
+
getNamedItem: function(key) {
|
|
322
|
+
var i = this.length;
|
|
323
|
+
while (i--) {
|
|
324
|
+
var attr = this[i];
|
|
325
|
+
if (attr.nodeName == key) return attr;
|
|
326
|
+
}
|
|
327
|
+
},
|
|
328
|
+
setNamedItem: function(attr) {
|
|
329
|
+
var el = attr.ownerElement;
|
|
330
|
+
if (el && el != this._ownerElement) throw new DOMException(INUSE_ATTRIBUTE_ERR);
|
|
331
|
+
var oldAttr = this.getNamedItem(attr.nodeName);
|
|
332
|
+
_addNamedNode(this._ownerElement, this, attr, oldAttr);
|
|
333
|
+
return oldAttr;
|
|
334
|
+
},
|
|
335
|
+
setNamedItemNS: function(attr) {
|
|
336
|
+
var el = attr.ownerElement, oldAttr;
|
|
337
|
+
if (el && el != this._ownerElement) throw new DOMException(INUSE_ATTRIBUTE_ERR);
|
|
338
|
+
oldAttr = this.getNamedItemNS(attr.namespaceURI, attr.localName);
|
|
339
|
+
_addNamedNode(this._ownerElement, this, attr, oldAttr);
|
|
340
|
+
return oldAttr;
|
|
341
|
+
},
|
|
342
|
+
removeNamedItem: function(key) {
|
|
343
|
+
var attr = this.getNamedItem(key);
|
|
344
|
+
_removeNamedNode(this._ownerElement, this, attr);
|
|
345
|
+
return attr;
|
|
346
|
+
},
|
|
347
|
+
removeNamedItemNS: function(namespaceURI, localName) {
|
|
348
|
+
var attr = this.getNamedItemNS(namespaceURI, localName);
|
|
349
|
+
_removeNamedNode(this._ownerElement, this, attr);
|
|
350
|
+
return attr;
|
|
351
|
+
},
|
|
352
|
+
getNamedItemNS: function(namespaceURI, localName) {
|
|
353
|
+
var i = this.length;
|
|
354
|
+
while (i--) {
|
|
355
|
+
var node = this[i];
|
|
356
|
+
if (node.localName == localName && node.namespaceURI == namespaceURI) return node;
|
|
357
|
+
}
|
|
358
|
+
return null;
|
|
359
|
+
}
|
|
360
|
+
};
|
|
361
|
+
/**
|
|
362
|
+
* The DOMImplementation interface represents an object providing methods
|
|
363
|
+
* which are not dependent on any particular document.
|
|
364
|
+
* Such an object is returned by the `Document.implementation` property.
|
|
365
|
+
*
|
|
366
|
+
* __The individual methods describe the differences compared to the specs.__
|
|
367
|
+
*
|
|
368
|
+
* @constructor
|
|
369
|
+
*
|
|
370
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/DOMImplementation MDN
|
|
371
|
+
* @see https://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#ID-102161490 DOM Level 1 Core (Initial)
|
|
372
|
+
* @see https://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-102161490 DOM Level 2 Core
|
|
373
|
+
* @see https://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-102161490 DOM Level 3 Core
|
|
374
|
+
* @see https://dom.spec.whatwg.org/#domimplementation DOM Living Standard
|
|
375
|
+
*/
|
|
376
|
+
function DOMImplementation$1() {}
|
|
377
|
+
DOMImplementation$1.prototype = {
|
|
378
|
+
hasFeature: function(feature, version) {
|
|
379
|
+
return true;
|
|
380
|
+
},
|
|
381
|
+
createDocument: function(namespaceURI, qualifiedName, doctype) {
|
|
382
|
+
var doc = new Document();
|
|
383
|
+
doc.implementation = this;
|
|
384
|
+
doc.childNodes = new NodeList();
|
|
385
|
+
doc.doctype = doctype || null;
|
|
386
|
+
if (doctype) doc.appendChild(doctype);
|
|
387
|
+
if (qualifiedName) {
|
|
388
|
+
var root = doc.createElementNS(namespaceURI, qualifiedName);
|
|
389
|
+
doc.appendChild(root);
|
|
390
|
+
}
|
|
391
|
+
return doc;
|
|
392
|
+
},
|
|
393
|
+
createDocumentType: function(qualifiedName, publicId, systemId) {
|
|
394
|
+
var node = new DocumentType();
|
|
395
|
+
node.name = qualifiedName;
|
|
396
|
+
node.nodeName = qualifiedName;
|
|
397
|
+
node.publicId = publicId || "";
|
|
398
|
+
node.systemId = systemId || "";
|
|
399
|
+
return node;
|
|
400
|
+
}
|
|
401
|
+
};
|
|
402
|
+
/**
|
|
403
|
+
* @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-1950641247
|
|
404
|
+
*/
|
|
405
|
+
function Node() {}
|
|
406
|
+
Node.prototype = {
|
|
407
|
+
firstChild: null,
|
|
408
|
+
lastChild: null,
|
|
409
|
+
previousSibling: null,
|
|
410
|
+
nextSibling: null,
|
|
411
|
+
attributes: null,
|
|
412
|
+
parentNode: null,
|
|
413
|
+
childNodes: null,
|
|
414
|
+
ownerDocument: null,
|
|
415
|
+
nodeValue: null,
|
|
416
|
+
namespaceURI: null,
|
|
417
|
+
prefix: null,
|
|
418
|
+
localName: null,
|
|
419
|
+
insertBefore: function(newChild, refChild) {
|
|
420
|
+
return _insertBefore(this, newChild, refChild);
|
|
421
|
+
},
|
|
422
|
+
replaceChild: function(newChild, oldChild) {
|
|
423
|
+
_insertBefore(this, newChild, oldChild, assertPreReplacementValidityInDocument);
|
|
424
|
+
if (oldChild) this.removeChild(oldChild);
|
|
425
|
+
},
|
|
426
|
+
removeChild: function(oldChild) {
|
|
427
|
+
return _removeChild(this, oldChild);
|
|
428
|
+
},
|
|
429
|
+
appendChild: function(newChild) {
|
|
430
|
+
return this.insertBefore(newChild, null);
|
|
431
|
+
},
|
|
432
|
+
hasChildNodes: function() {
|
|
433
|
+
return this.firstChild != null;
|
|
434
|
+
},
|
|
435
|
+
cloneNode: function(deep) {
|
|
436
|
+
return cloneNode(this.ownerDocument || this, this, deep);
|
|
437
|
+
},
|
|
438
|
+
normalize: function() {
|
|
439
|
+
var child = this.firstChild;
|
|
440
|
+
while (child) {
|
|
441
|
+
var next = child.nextSibling;
|
|
442
|
+
if (next && next.nodeType == TEXT_NODE && child.nodeType == TEXT_NODE) {
|
|
443
|
+
this.removeChild(next);
|
|
444
|
+
child.appendData(next.data);
|
|
445
|
+
} else {
|
|
446
|
+
child.normalize();
|
|
447
|
+
child = next;
|
|
448
|
+
}
|
|
449
|
+
}
|
|
450
|
+
},
|
|
451
|
+
isSupported: function(feature, version) {
|
|
452
|
+
return this.ownerDocument.implementation.hasFeature(feature, version);
|
|
453
|
+
},
|
|
454
|
+
hasAttributes: function() {
|
|
455
|
+
return this.attributes.length > 0;
|
|
456
|
+
},
|
|
457
|
+
lookupPrefix: function(namespaceURI) {
|
|
458
|
+
var el = this;
|
|
459
|
+
while (el) {
|
|
460
|
+
var map = el._nsMap;
|
|
461
|
+
if (map) {
|
|
462
|
+
for (var n in map) if (Object.prototype.hasOwnProperty.call(map, n) && map[n] === namespaceURI) return n;
|
|
463
|
+
}
|
|
464
|
+
el = el.nodeType == ATTRIBUTE_NODE ? el.ownerDocument : el.parentNode;
|
|
465
|
+
}
|
|
466
|
+
return null;
|
|
467
|
+
},
|
|
468
|
+
lookupNamespaceURI: function(prefix) {
|
|
469
|
+
var el = this;
|
|
470
|
+
while (el) {
|
|
471
|
+
var map = el._nsMap;
|
|
472
|
+
if (map) {
|
|
473
|
+
if (Object.prototype.hasOwnProperty.call(map, prefix)) return map[prefix];
|
|
474
|
+
}
|
|
475
|
+
el = el.nodeType == ATTRIBUTE_NODE ? el.ownerDocument : el.parentNode;
|
|
476
|
+
}
|
|
477
|
+
return null;
|
|
478
|
+
},
|
|
479
|
+
isDefaultNamespace: function(namespaceURI) {
|
|
480
|
+
return this.lookupPrefix(namespaceURI) == null;
|
|
481
|
+
}
|
|
482
|
+
};
|
|
483
|
+
function _xmlEncoder(c) {
|
|
484
|
+
return c == "<" && "<" || c == ">" && ">" || c == "&" && "&" || c == "\"" && """ || "&#" + c.charCodeAt() + ";";
|
|
485
|
+
}
|
|
486
|
+
copy(NodeType, Node);
|
|
487
|
+
copy(NodeType, Node.prototype);
|
|
488
|
+
/**
|
|
489
|
+
* @param callback return true for continue,false for break
|
|
490
|
+
* @return boolean true: break visit;
|
|
491
|
+
*/
|
|
492
|
+
function _visitNode(node, callback) {
|
|
493
|
+
if (callback(node)) return true;
|
|
494
|
+
if (node = node.firstChild) do
|
|
495
|
+
if (_visitNode(node, callback)) return true;
|
|
496
|
+
while (node = node.nextSibling);
|
|
497
|
+
}
|
|
498
|
+
function Document() {
|
|
499
|
+
this.ownerDocument = this;
|
|
500
|
+
}
|
|
501
|
+
function _onAddAttribute(doc, el, newAttr) {
|
|
502
|
+
doc && doc._inc++;
|
|
503
|
+
if (newAttr.namespaceURI === NAMESPACE$2.XMLNS) el._nsMap[newAttr.prefix ? newAttr.localName : ""] = newAttr.value;
|
|
504
|
+
}
|
|
505
|
+
function _onRemoveAttribute(doc, el, newAttr, remove) {
|
|
506
|
+
doc && doc._inc++;
|
|
507
|
+
if (newAttr.namespaceURI === NAMESPACE$2.XMLNS) delete el._nsMap[newAttr.prefix ? newAttr.localName : ""];
|
|
508
|
+
}
|
|
509
|
+
/**
|
|
510
|
+
* Updates `el.childNodes`, updating the indexed items and it's `length`.
|
|
511
|
+
* Passing `newChild` means it will be appended.
|
|
512
|
+
* Otherwise it's assumed that an item has been removed,
|
|
513
|
+
* and `el.firstNode` and it's `.nextSibling` are used
|
|
514
|
+
* to walk the current list of child nodes.
|
|
515
|
+
*
|
|
516
|
+
* @param {Document} doc
|
|
517
|
+
* @param {Node} el
|
|
518
|
+
* @param {Node} [newChild]
|
|
519
|
+
* @private
|
|
520
|
+
*/
|
|
521
|
+
function _onUpdateChild(doc, el, newChild) {
|
|
522
|
+
if (doc && doc._inc) {
|
|
523
|
+
doc._inc++;
|
|
524
|
+
var cs = el.childNodes;
|
|
525
|
+
if (newChild) cs[cs.length++] = newChild;
|
|
526
|
+
else {
|
|
527
|
+
var child = el.firstChild;
|
|
528
|
+
var i = 0;
|
|
529
|
+
while (child) {
|
|
530
|
+
cs[i++] = child;
|
|
531
|
+
child = child.nextSibling;
|
|
532
|
+
}
|
|
533
|
+
cs.length = i;
|
|
534
|
+
delete cs[cs.length];
|
|
535
|
+
}
|
|
536
|
+
}
|
|
537
|
+
}
|
|
538
|
+
/**
|
|
539
|
+
* Removes the connections between `parentNode` and `child`
|
|
540
|
+
* and any existing `child.previousSibling` or `child.nextSibling`.
|
|
541
|
+
*
|
|
542
|
+
* @see https://github.com/xmldom/xmldom/issues/135
|
|
543
|
+
* @see https://github.com/xmldom/xmldom/issues/145
|
|
544
|
+
*
|
|
545
|
+
* @param {Node} parentNode
|
|
546
|
+
* @param {Node} child
|
|
547
|
+
* @returns {Node} the child that was removed.
|
|
548
|
+
* @private
|
|
549
|
+
*/
|
|
550
|
+
function _removeChild(parentNode, child) {
|
|
551
|
+
var previous = child.previousSibling;
|
|
552
|
+
var next = child.nextSibling;
|
|
553
|
+
if (previous) previous.nextSibling = next;
|
|
554
|
+
else parentNode.firstChild = next;
|
|
555
|
+
if (next) next.previousSibling = previous;
|
|
556
|
+
else parentNode.lastChild = previous;
|
|
557
|
+
child.parentNode = null;
|
|
558
|
+
child.previousSibling = null;
|
|
559
|
+
child.nextSibling = null;
|
|
560
|
+
_onUpdateChild(parentNode.ownerDocument, parentNode);
|
|
561
|
+
return child;
|
|
562
|
+
}
|
|
563
|
+
/**
|
|
564
|
+
* Returns `true` if `node` can be a parent for insertion.
|
|
565
|
+
* @param {Node} node
|
|
566
|
+
* @returns {boolean}
|
|
567
|
+
*/
|
|
568
|
+
function hasValidParentNodeType(node) {
|
|
569
|
+
return node && (node.nodeType === Node.DOCUMENT_NODE || node.nodeType === Node.DOCUMENT_FRAGMENT_NODE || node.nodeType === Node.ELEMENT_NODE);
|
|
570
|
+
}
|
|
571
|
+
/**
|
|
572
|
+
* Returns `true` if `node` can be inserted according to it's `nodeType`.
|
|
573
|
+
* @param {Node} node
|
|
574
|
+
* @returns {boolean}
|
|
575
|
+
*/
|
|
576
|
+
function hasInsertableNodeType(node) {
|
|
577
|
+
return node && (isElementNode(node) || isTextNode(node) || isDocTypeNode(node) || node.nodeType === Node.DOCUMENT_FRAGMENT_NODE || node.nodeType === Node.COMMENT_NODE || node.nodeType === Node.PROCESSING_INSTRUCTION_NODE);
|
|
578
|
+
}
|
|
579
|
+
/**
|
|
580
|
+
* Returns true if `node` is a DOCTYPE node
|
|
581
|
+
* @param {Node} node
|
|
582
|
+
* @returns {boolean}
|
|
583
|
+
*/
|
|
584
|
+
function isDocTypeNode(node) {
|
|
585
|
+
return node && node.nodeType === Node.DOCUMENT_TYPE_NODE;
|
|
586
|
+
}
|
|
587
|
+
/**
|
|
588
|
+
* Returns true if the node is an element
|
|
589
|
+
* @param {Node} node
|
|
590
|
+
* @returns {boolean}
|
|
591
|
+
*/
|
|
592
|
+
function isElementNode(node) {
|
|
593
|
+
return node && node.nodeType === Node.ELEMENT_NODE;
|
|
594
|
+
}
|
|
595
|
+
/**
|
|
596
|
+
* Returns true if `node` is a text node
|
|
597
|
+
* @param {Node} node
|
|
598
|
+
* @returns {boolean}
|
|
599
|
+
*/
|
|
600
|
+
function isTextNode(node) {
|
|
601
|
+
return node && node.nodeType === Node.TEXT_NODE;
|
|
602
|
+
}
|
|
603
|
+
/**
|
|
604
|
+
* Check if en element node can be inserted before `child`, or at the end if child is falsy,
|
|
605
|
+
* according to the presence and position of a doctype node on the same level.
|
|
606
|
+
*
|
|
607
|
+
* @param {Document} doc The document node
|
|
608
|
+
* @param {Node} child the node that would become the nextSibling if the element would be inserted
|
|
609
|
+
* @returns {boolean} `true` if an element can be inserted before child
|
|
610
|
+
* @private
|
|
611
|
+
* https://dom.spec.whatwg.org/#concept-node-ensure-pre-insertion-validity
|
|
612
|
+
*/
|
|
613
|
+
function isElementInsertionPossible(doc, child) {
|
|
614
|
+
var parentChildNodes = doc.childNodes || [];
|
|
615
|
+
if (find(parentChildNodes, isElementNode) || isDocTypeNode(child)) return false;
|
|
616
|
+
var docTypeNode = find(parentChildNodes, isDocTypeNode);
|
|
617
|
+
return !(child && docTypeNode && parentChildNodes.indexOf(docTypeNode) > parentChildNodes.indexOf(child));
|
|
618
|
+
}
|
|
619
|
+
/**
|
|
620
|
+
* Check if en element node can be inserted before `child`, or at the end if child is falsy,
|
|
621
|
+
* according to the presence and position of a doctype node on the same level.
|
|
622
|
+
*
|
|
623
|
+
* @param {Node} doc The document node
|
|
624
|
+
* @param {Node} child the node that would become the nextSibling if the element would be inserted
|
|
625
|
+
* @returns {boolean} `true` if an element can be inserted before child
|
|
626
|
+
* @private
|
|
627
|
+
* https://dom.spec.whatwg.org/#concept-node-ensure-pre-insertion-validity
|
|
628
|
+
*/
|
|
629
|
+
function isElementReplacementPossible(doc, child) {
|
|
630
|
+
var parentChildNodes = doc.childNodes || [];
|
|
631
|
+
function hasElementChildThatIsNotChild(node) {
|
|
632
|
+
return isElementNode(node) && node !== child;
|
|
633
|
+
}
|
|
634
|
+
if (find(parentChildNodes, hasElementChildThatIsNotChild)) return false;
|
|
635
|
+
var docTypeNode = find(parentChildNodes, isDocTypeNode);
|
|
636
|
+
return !(child && docTypeNode && parentChildNodes.indexOf(docTypeNode) > parentChildNodes.indexOf(child));
|
|
637
|
+
}
|
|
638
|
+
/**
|
|
639
|
+
* @private
|
|
640
|
+
* Steps 1-5 of the checks before inserting and before replacing a child are the same.
|
|
641
|
+
*
|
|
642
|
+
* @param {Node} parent the parent node to insert `node` into
|
|
643
|
+
* @param {Node} node the node to insert
|
|
644
|
+
* @param {Node=} child the node that should become the `nextSibling` of `node`
|
|
645
|
+
* @returns {Node}
|
|
646
|
+
* @throws DOMException for several node combinations that would create a DOM that is not well-formed.
|
|
647
|
+
* @throws DOMException if `child` is provided but is not a child of `parent`.
|
|
648
|
+
* @see https://dom.spec.whatwg.org/#concept-node-ensure-pre-insertion-validity
|
|
649
|
+
* @see https://dom.spec.whatwg.org/#concept-node-replace
|
|
650
|
+
*/
|
|
651
|
+
function assertPreInsertionValidity1to5(parent, node, child) {
|
|
652
|
+
if (!hasValidParentNodeType(parent)) throw new DOMException(HIERARCHY_REQUEST_ERR, "Unexpected parent node type " + parent.nodeType);
|
|
653
|
+
if (child && child.parentNode !== parent) throw new DOMException(NOT_FOUND_ERR, "child not in parent");
|
|
654
|
+
if (!hasInsertableNodeType(node) || isDocTypeNode(node) && parent.nodeType !== Node.DOCUMENT_NODE) throw new DOMException(HIERARCHY_REQUEST_ERR, "Unexpected node type " + node.nodeType + " for parent node type " + parent.nodeType);
|
|
655
|
+
}
|
|
656
|
+
/**
|
|
657
|
+
* @private
|
|
658
|
+
* Step 6 of the checks before inserting and before replacing a child are different.
|
|
659
|
+
*
|
|
660
|
+
* @param {Document} parent the parent node to insert `node` into
|
|
661
|
+
* @param {Node} node the node to insert
|
|
662
|
+
* @param {Node | undefined} child the node that should become the `nextSibling` of `node`
|
|
663
|
+
* @returns {Node}
|
|
664
|
+
* @throws DOMException for several node combinations that would create a DOM that is not well-formed.
|
|
665
|
+
* @throws DOMException if `child` is provided but is not a child of `parent`.
|
|
666
|
+
* @see https://dom.spec.whatwg.org/#concept-node-ensure-pre-insertion-validity
|
|
667
|
+
* @see https://dom.spec.whatwg.org/#concept-node-replace
|
|
668
|
+
*/
|
|
669
|
+
function assertPreInsertionValidityInDocument(parent, node, child) {
|
|
670
|
+
var parentChildNodes = parent.childNodes || [];
|
|
671
|
+
var nodeChildNodes = node.childNodes || [];
|
|
672
|
+
if (node.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {
|
|
673
|
+
var nodeChildElements = nodeChildNodes.filter(isElementNode);
|
|
674
|
+
if (nodeChildElements.length > 1 || find(nodeChildNodes, isTextNode)) throw new DOMException(HIERARCHY_REQUEST_ERR, "More than one element or text in fragment");
|
|
675
|
+
if (nodeChildElements.length === 1 && !isElementInsertionPossible(parent, child)) throw new DOMException(HIERARCHY_REQUEST_ERR, "Element in fragment can not be inserted before doctype");
|
|
676
|
+
}
|
|
677
|
+
if (isElementNode(node)) {
|
|
678
|
+
if (!isElementInsertionPossible(parent, child)) throw new DOMException(HIERARCHY_REQUEST_ERR, "Only one element can be added and only after doctype");
|
|
679
|
+
}
|
|
680
|
+
if (isDocTypeNode(node)) {
|
|
681
|
+
if (find(parentChildNodes, isDocTypeNode)) throw new DOMException(HIERARCHY_REQUEST_ERR, "Only one doctype is allowed");
|
|
682
|
+
var parentElementChild = find(parentChildNodes, isElementNode);
|
|
683
|
+
if (child && parentChildNodes.indexOf(parentElementChild) < parentChildNodes.indexOf(child)) throw new DOMException(HIERARCHY_REQUEST_ERR, "Doctype can only be inserted before an element");
|
|
684
|
+
if (!child && parentElementChild) throw new DOMException(HIERARCHY_REQUEST_ERR, "Doctype can not be appended since element is present");
|
|
685
|
+
}
|
|
686
|
+
}
|
|
687
|
+
/**
|
|
688
|
+
* @private
|
|
689
|
+
* Step 6 of the checks before inserting and before replacing a child are different.
|
|
690
|
+
*
|
|
691
|
+
* @param {Document} parent the parent node to insert `node` into
|
|
692
|
+
* @param {Node} node the node to insert
|
|
693
|
+
* @param {Node | undefined} child the node that should become the `nextSibling` of `node`
|
|
694
|
+
* @returns {Node}
|
|
695
|
+
* @throws DOMException for several node combinations that would create a DOM that is not well-formed.
|
|
696
|
+
* @throws DOMException if `child` is provided but is not a child of `parent`.
|
|
697
|
+
* @see https://dom.spec.whatwg.org/#concept-node-ensure-pre-insertion-validity
|
|
698
|
+
* @see https://dom.spec.whatwg.org/#concept-node-replace
|
|
699
|
+
*/
|
|
700
|
+
function assertPreReplacementValidityInDocument(parent, node, child) {
|
|
701
|
+
var parentChildNodes = parent.childNodes || [];
|
|
702
|
+
var nodeChildNodes = node.childNodes || [];
|
|
703
|
+
if (node.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {
|
|
704
|
+
var nodeChildElements = nodeChildNodes.filter(isElementNode);
|
|
705
|
+
if (nodeChildElements.length > 1 || find(nodeChildNodes, isTextNode)) throw new DOMException(HIERARCHY_REQUEST_ERR, "More than one element or text in fragment");
|
|
706
|
+
if (nodeChildElements.length === 1 && !isElementReplacementPossible(parent, child)) throw new DOMException(HIERARCHY_REQUEST_ERR, "Element in fragment can not be inserted before doctype");
|
|
707
|
+
}
|
|
708
|
+
if (isElementNode(node)) {
|
|
709
|
+
if (!isElementReplacementPossible(parent, child)) throw new DOMException(HIERARCHY_REQUEST_ERR, "Only one element can be added and only after doctype");
|
|
710
|
+
}
|
|
711
|
+
if (isDocTypeNode(node)) {
|
|
712
|
+
function hasDoctypeChildThatIsNotChild(node$1) {
|
|
713
|
+
return isDocTypeNode(node$1) && node$1 !== child;
|
|
714
|
+
}
|
|
715
|
+
if (find(parentChildNodes, hasDoctypeChildThatIsNotChild)) throw new DOMException(HIERARCHY_REQUEST_ERR, "Only one doctype is allowed");
|
|
716
|
+
var parentElementChild = find(parentChildNodes, isElementNode);
|
|
717
|
+
if (child && parentChildNodes.indexOf(parentElementChild) < parentChildNodes.indexOf(child)) throw new DOMException(HIERARCHY_REQUEST_ERR, "Doctype can only be inserted before an element");
|
|
718
|
+
}
|
|
719
|
+
}
|
|
720
|
+
/**
|
|
721
|
+
* @private
|
|
722
|
+
* @param {Node} parent the parent node to insert `node` into
|
|
723
|
+
* @param {Node} node the node to insert
|
|
724
|
+
* @param {Node=} child the node that should become the `nextSibling` of `node`
|
|
725
|
+
* @returns {Node}
|
|
726
|
+
* @throws DOMException for several node combinations that would create a DOM that is not well-formed.
|
|
727
|
+
* @throws DOMException if `child` is provided but is not a child of `parent`.
|
|
728
|
+
* @see https://dom.spec.whatwg.org/#concept-node-ensure-pre-insertion-validity
|
|
729
|
+
*/
|
|
730
|
+
function _insertBefore(parent, node, child, _inDocumentAssertion) {
|
|
731
|
+
assertPreInsertionValidity1to5(parent, node, child);
|
|
732
|
+
if (parent.nodeType === Node.DOCUMENT_NODE) (_inDocumentAssertion || assertPreInsertionValidityInDocument)(parent, node, child);
|
|
733
|
+
var cp = node.parentNode;
|
|
734
|
+
if (cp) cp.removeChild(node);
|
|
735
|
+
if (node.nodeType === DOCUMENT_FRAGMENT_NODE) {
|
|
736
|
+
var newFirst = node.firstChild;
|
|
737
|
+
if (newFirst == null) return node;
|
|
738
|
+
var newLast = node.lastChild;
|
|
739
|
+
} else newFirst = newLast = node;
|
|
740
|
+
var pre = child ? child.previousSibling : parent.lastChild;
|
|
741
|
+
newFirst.previousSibling = pre;
|
|
742
|
+
newLast.nextSibling = child;
|
|
743
|
+
if (pre) pre.nextSibling = newFirst;
|
|
744
|
+
else parent.firstChild = newFirst;
|
|
745
|
+
if (child == null) parent.lastChild = newLast;
|
|
746
|
+
else child.previousSibling = newLast;
|
|
747
|
+
do
|
|
748
|
+
newFirst.parentNode = parent;
|
|
749
|
+
while (newFirst !== newLast && (newFirst = newFirst.nextSibling));
|
|
750
|
+
_onUpdateChild(parent.ownerDocument || parent, parent);
|
|
751
|
+
if (node.nodeType == DOCUMENT_FRAGMENT_NODE) node.firstChild = node.lastChild = null;
|
|
752
|
+
return node;
|
|
753
|
+
}
|
|
754
|
+
/**
|
|
755
|
+
* Appends `newChild` to `parentNode`.
|
|
756
|
+
* If `newChild` is already connected to a `parentNode` it is first removed from it.
|
|
757
|
+
*
|
|
758
|
+
* @see https://github.com/xmldom/xmldom/issues/135
|
|
759
|
+
* @see https://github.com/xmldom/xmldom/issues/145
|
|
760
|
+
* @param {Node} parentNode
|
|
761
|
+
* @param {Node} newChild
|
|
762
|
+
* @returns {Node}
|
|
763
|
+
* @private
|
|
764
|
+
*/
|
|
765
|
+
function _appendSingleChild(parentNode, newChild) {
|
|
766
|
+
if (newChild.parentNode) newChild.parentNode.removeChild(newChild);
|
|
767
|
+
newChild.parentNode = parentNode;
|
|
768
|
+
newChild.previousSibling = parentNode.lastChild;
|
|
769
|
+
newChild.nextSibling = null;
|
|
770
|
+
if (newChild.previousSibling) newChild.previousSibling.nextSibling = newChild;
|
|
771
|
+
else parentNode.firstChild = newChild;
|
|
772
|
+
parentNode.lastChild = newChild;
|
|
773
|
+
_onUpdateChild(parentNode.ownerDocument, parentNode, newChild);
|
|
774
|
+
return newChild;
|
|
775
|
+
}
|
|
776
|
+
Document.prototype = {
|
|
777
|
+
nodeName: "#document",
|
|
778
|
+
nodeType: DOCUMENT_NODE,
|
|
779
|
+
doctype: null,
|
|
780
|
+
documentElement: null,
|
|
781
|
+
_inc: 1,
|
|
782
|
+
insertBefore: function(newChild, refChild) {
|
|
783
|
+
if (newChild.nodeType == DOCUMENT_FRAGMENT_NODE) {
|
|
784
|
+
var child = newChild.firstChild;
|
|
785
|
+
while (child) {
|
|
786
|
+
var next = child.nextSibling;
|
|
787
|
+
this.insertBefore(child, refChild);
|
|
788
|
+
child = next;
|
|
789
|
+
}
|
|
790
|
+
return newChild;
|
|
791
|
+
}
|
|
792
|
+
_insertBefore(this, newChild, refChild);
|
|
793
|
+
newChild.ownerDocument = this;
|
|
794
|
+
if (this.documentElement === null && newChild.nodeType === ELEMENT_NODE) this.documentElement = newChild;
|
|
795
|
+
return newChild;
|
|
796
|
+
},
|
|
797
|
+
removeChild: function(oldChild) {
|
|
798
|
+
if (this.documentElement == oldChild) this.documentElement = null;
|
|
799
|
+
return _removeChild(this, oldChild);
|
|
800
|
+
},
|
|
801
|
+
replaceChild: function(newChild, oldChild) {
|
|
802
|
+
_insertBefore(this, newChild, oldChild, assertPreReplacementValidityInDocument);
|
|
803
|
+
newChild.ownerDocument = this;
|
|
804
|
+
if (oldChild) this.removeChild(oldChild);
|
|
805
|
+
if (isElementNode(newChild)) this.documentElement = newChild;
|
|
806
|
+
},
|
|
807
|
+
importNode: function(importedNode, deep) {
|
|
808
|
+
return importNode(this, importedNode, deep);
|
|
809
|
+
},
|
|
810
|
+
getElementById: function(id) {
|
|
811
|
+
var rtv = null;
|
|
812
|
+
_visitNode(this.documentElement, function(node) {
|
|
813
|
+
if (node.nodeType == ELEMENT_NODE) {
|
|
814
|
+
if (node.getAttribute("id") == id) {
|
|
815
|
+
rtv = node;
|
|
816
|
+
return true;
|
|
817
|
+
}
|
|
818
|
+
}
|
|
819
|
+
});
|
|
820
|
+
return rtv;
|
|
821
|
+
},
|
|
822
|
+
getElementsByClassName: function(classNames) {
|
|
823
|
+
var classNamesSet = toOrderedSet(classNames);
|
|
824
|
+
return new LiveNodeList(this, function(base) {
|
|
825
|
+
var ls = [];
|
|
826
|
+
if (classNamesSet.length > 0) _visitNode(base.documentElement, function(node) {
|
|
827
|
+
if (node !== base && node.nodeType === ELEMENT_NODE) {
|
|
828
|
+
var nodeClassNames = node.getAttribute("class");
|
|
829
|
+
if (nodeClassNames) {
|
|
830
|
+
var matches = classNames === nodeClassNames;
|
|
831
|
+
if (!matches) {
|
|
832
|
+
var nodeClassNamesSet = toOrderedSet(nodeClassNames);
|
|
833
|
+
matches = classNamesSet.every(arrayIncludes(nodeClassNamesSet));
|
|
834
|
+
}
|
|
835
|
+
if (matches) ls.push(node);
|
|
836
|
+
}
|
|
837
|
+
}
|
|
838
|
+
});
|
|
839
|
+
return ls;
|
|
840
|
+
});
|
|
841
|
+
},
|
|
842
|
+
createElement: function(tagName) {
|
|
843
|
+
var node = new Element();
|
|
844
|
+
node.ownerDocument = this;
|
|
845
|
+
node.nodeName = tagName;
|
|
846
|
+
node.tagName = tagName;
|
|
847
|
+
node.localName = tagName;
|
|
848
|
+
node.childNodes = new NodeList();
|
|
849
|
+
var attrs = node.attributes = new NamedNodeMap();
|
|
850
|
+
attrs._ownerElement = node;
|
|
851
|
+
return node;
|
|
852
|
+
},
|
|
853
|
+
createDocumentFragment: function() {
|
|
854
|
+
var node = new DocumentFragment();
|
|
855
|
+
node.ownerDocument = this;
|
|
856
|
+
node.childNodes = new NodeList();
|
|
857
|
+
return node;
|
|
858
|
+
},
|
|
859
|
+
createTextNode: function(data) {
|
|
860
|
+
var node = new Text();
|
|
861
|
+
node.ownerDocument = this;
|
|
862
|
+
node.appendData(data);
|
|
863
|
+
return node;
|
|
864
|
+
},
|
|
865
|
+
createComment: function(data) {
|
|
866
|
+
var node = new Comment();
|
|
867
|
+
node.ownerDocument = this;
|
|
868
|
+
node.appendData(data);
|
|
869
|
+
return node;
|
|
870
|
+
},
|
|
871
|
+
createCDATASection: function(data) {
|
|
872
|
+
var node = new CDATASection();
|
|
873
|
+
node.ownerDocument = this;
|
|
874
|
+
node.appendData(data);
|
|
875
|
+
return node;
|
|
876
|
+
},
|
|
877
|
+
createProcessingInstruction: function(target, data) {
|
|
878
|
+
var node = new ProcessingInstruction();
|
|
879
|
+
node.ownerDocument = this;
|
|
880
|
+
node.tagName = node.nodeName = node.target = target;
|
|
881
|
+
node.nodeValue = node.data = data;
|
|
882
|
+
return node;
|
|
883
|
+
},
|
|
884
|
+
createAttribute: function(name) {
|
|
885
|
+
var node = new Attr();
|
|
886
|
+
node.ownerDocument = this;
|
|
887
|
+
node.name = name;
|
|
888
|
+
node.nodeName = name;
|
|
889
|
+
node.localName = name;
|
|
890
|
+
node.specified = true;
|
|
891
|
+
return node;
|
|
892
|
+
},
|
|
893
|
+
createEntityReference: function(name) {
|
|
894
|
+
var node = new EntityReference();
|
|
895
|
+
node.ownerDocument = this;
|
|
896
|
+
node.nodeName = name;
|
|
897
|
+
return node;
|
|
898
|
+
},
|
|
899
|
+
createElementNS: function(namespaceURI, qualifiedName) {
|
|
900
|
+
var node = new Element();
|
|
901
|
+
var pl = qualifiedName.split(":");
|
|
902
|
+
var attrs = node.attributes = new NamedNodeMap();
|
|
903
|
+
node.childNodes = new NodeList();
|
|
904
|
+
node.ownerDocument = this;
|
|
905
|
+
node.nodeName = qualifiedName;
|
|
906
|
+
node.tagName = qualifiedName;
|
|
907
|
+
node.namespaceURI = namespaceURI;
|
|
908
|
+
if (pl.length == 2) {
|
|
909
|
+
node.prefix = pl[0];
|
|
910
|
+
node.localName = pl[1];
|
|
911
|
+
} else node.localName = qualifiedName;
|
|
912
|
+
attrs._ownerElement = node;
|
|
913
|
+
return node;
|
|
914
|
+
},
|
|
915
|
+
createAttributeNS: function(namespaceURI, qualifiedName) {
|
|
916
|
+
var node = new Attr();
|
|
917
|
+
var pl = qualifiedName.split(":");
|
|
918
|
+
node.ownerDocument = this;
|
|
919
|
+
node.nodeName = qualifiedName;
|
|
920
|
+
node.name = qualifiedName;
|
|
921
|
+
node.namespaceURI = namespaceURI;
|
|
922
|
+
node.specified = true;
|
|
923
|
+
if (pl.length == 2) {
|
|
924
|
+
node.prefix = pl[0];
|
|
925
|
+
node.localName = pl[1];
|
|
926
|
+
} else node.localName = qualifiedName;
|
|
927
|
+
return node;
|
|
928
|
+
}
|
|
929
|
+
};
|
|
930
|
+
_extends(Document, Node);
|
|
931
|
+
function Element() {
|
|
932
|
+
this._nsMap = {};
|
|
933
|
+
}
|
|
934
|
+
Element.prototype = {
|
|
935
|
+
nodeType: ELEMENT_NODE,
|
|
936
|
+
hasAttribute: function(name) {
|
|
937
|
+
return this.getAttributeNode(name) != null;
|
|
938
|
+
},
|
|
939
|
+
getAttribute: function(name) {
|
|
940
|
+
var attr = this.getAttributeNode(name);
|
|
941
|
+
return attr && attr.value || "";
|
|
942
|
+
},
|
|
943
|
+
getAttributeNode: function(name) {
|
|
944
|
+
return this.attributes.getNamedItem(name);
|
|
945
|
+
},
|
|
946
|
+
setAttribute: function(name, value) {
|
|
947
|
+
var attr = this.ownerDocument.createAttribute(name);
|
|
948
|
+
attr.value = attr.nodeValue = "" + value;
|
|
949
|
+
this.setAttributeNode(attr);
|
|
950
|
+
},
|
|
951
|
+
removeAttribute: function(name) {
|
|
952
|
+
var attr = this.getAttributeNode(name);
|
|
953
|
+
attr && this.removeAttributeNode(attr);
|
|
954
|
+
},
|
|
955
|
+
appendChild: function(newChild) {
|
|
956
|
+
if (newChild.nodeType === DOCUMENT_FRAGMENT_NODE) return this.insertBefore(newChild, null);
|
|
957
|
+
else return _appendSingleChild(this, newChild);
|
|
958
|
+
},
|
|
959
|
+
setAttributeNode: function(newAttr) {
|
|
960
|
+
return this.attributes.setNamedItem(newAttr);
|
|
961
|
+
},
|
|
962
|
+
setAttributeNodeNS: function(newAttr) {
|
|
963
|
+
return this.attributes.setNamedItemNS(newAttr);
|
|
964
|
+
},
|
|
965
|
+
removeAttributeNode: function(oldAttr) {
|
|
966
|
+
return this.attributes.removeNamedItem(oldAttr.nodeName);
|
|
967
|
+
},
|
|
968
|
+
removeAttributeNS: function(namespaceURI, localName) {
|
|
969
|
+
var old = this.getAttributeNodeNS(namespaceURI, localName);
|
|
970
|
+
old && this.removeAttributeNode(old);
|
|
971
|
+
},
|
|
972
|
+
hasAttributeNS: function(namespaceURI, localName) {
|
|
973
|
+
return this.getAttributeNodeNS(namespaceURI, localName) != null;
|
|
974
|
+
},
|
|
975
|
+
getAttributeNS: function(namespaceURI, localName) {
|
|
976
|
+
var attr = this.getAttributeNodeNS(namespaceURI, localName);
|
|
977
|
+
return attr && attr.value || "";
|
|
978
|
+
},
|
|
979
|
+
setAttributeNS: function(namespaceURI, qualifiedName, value) {
|
|
980
|
+
var attr = this.ownerDocument.createAttributeNS(namespaceURI, qualifiedName);
|
|
981
|
+
attr.value = attr.nodeValue = "" + value;
|
|
982
|
+
this.setAttributeNode(attr);
|
|
983
|
+
},
|
|
984
|
+
getAttributeNodeNS: function(namespaceURI, localName) {
|
|
985
|
+
return this.attributes.getNamedItemNS(namespaceURI, localName);
|
|
986
|
+
},
|
|
987
|
+
getElementsByTagName: function(tagName) {
|
|
988
|
+
return new LiveNodeList(this, function(base) {
|
|
989
|
+
var ls = [];
|
|
990
|
+
_visitNode(base, function(node) {
|
|
991
|
+
if (node !== base && node.nodeType == ELEMENT_NODE && (tagName === "*" || node.tagName == tagName)) ls.push(node);
|
|
992
|
+
});
|
|
993
|
+
return ls;
|
|
994
|
+
});
|
|
995
|
+
},
|
|
996
|
+
getElementsByTagNameNS: function(namespaceURI, localName) {
|
|
997
|
+
return new LiveNodeList(this, function(base) {
|
|
998
|
+
var ls = [];
|
|
999
|
+
_visitNode(base, function(node) {
|
|
1000
|
+
if (node !== base && node.nodeType === ELEMENT_NODE && (namespaceURI === "*" || node.namespaceURI === namespaceURI) && (localName === "*" || node.localName == localName)) ls.push(node);
|
|
1001
|
+
});
|
|
1002
|
+
return ls;
|
|
1003
|
+
});
|
|
1004
|
+
}
|
|
1005
|
+
};
|
|
1006
|
+
Document.prototype.getElementsByTagName = Element.prototype.getElementsByTagName;
|
|
1007
|
+
Document.prototype.getElementsByTagNameNS = Element.prototype.getElementsByTagNameNS;
|
|
1008
|
+
_extends(Element, Node);
|
|
1009
|
+
function Attr() {}
|
|
1010
|
+
Attr.prototype.nodeType = ATTRIBUTE_NODE;
|
|
1011
|
+
_extends(Attr, Node);
|
|
1012
|
+
function CharacterData() {}
|
|
1013
|
+
CharacterData.prototype = {
|
|
1014
|
+
data: "",
|
|
1015
|
+
substringData: function(offset, count) {
|
|
1016
|
+
return this.data.substring(offset, offset + count);
|
|
1017
|
+
},
|
|
1018
|
+
appendData: function(text) {
|
|
1019
|
+
text = this.data + text;
|
|
1020
|
+
this.nodeValue = this.data = text;
|
|
1021
|
+
this.length = text.length;
|
|
1022
|
+
},
|
|
1023
|
+
insertData: function(offset, text) {
|
|
1024
|
+
this.replaceData(offset, 0, text);
|
|
1025
|
+
},
|
|
1026
|
+
appendChild: function(newChild) {
|
|
1027
|
+
throw new Error(ExceptionMessage[HIERARCHY_REQUEST_ERR]);
|
|
1028
|
+
},
|
|
1029
|
+
deleteData: function(offset, count) {
|
|
1030
|
+
this.replaceData(offset, count, "");
|
|
1031
|
+
},
|
|
1032
|
+
replaceData: function(offset, count, text) {
|
|
1033
|
+
var start = this.data.substring(0, offset);
|
|
1034
|
+
var end = this.data.substring(offset + count);
|
|
1035
|
+
text = start + text + end;
|
|
1036
|
+
this.nodeValue = this.data = text;
|
|
1037
|
+
this.length = text.length;
|
|
1038
|
+
}
|
|
1039
|
+
};
|
|
1040
|
+
_extends(CharacterData, Node);
|
|
1041
|
+
function Text() {}
|
|
1042
|
+
Text.prototype = {
|
|
1043
|
+
nodeName: "#text",
|
|
1044
|
+
nodeType: TEXT_NODE,
|
|
1045
|
+
splitText: function(offset) {
|
|
1046
|
+
var text = this.data;
|
|
1047
|
+
var newText = text.substring(offset);
|
|
1048
|
+
text = text.substring(0, offset);
|
|
1049
|
+
this.data = this.nodeValue = text;
|
|
1050
|
+
this.length = text.length;
|
|
1051
|
+
var newNode = this.ownerDocument.createTextNode(newText);
|
|
1052
|
+
if (this.parentNode) this.parentNode.insertBefore(newNode, this.nextSibling);
|
|
1053
|
+
return newNode;
|
|
1054
|
+
}
|
|
1055
|
+
};
|
|
1056
|
+
_extends(Text, CharacterData);
|
|
1057
|
+
function Comment() {}
|
|
1058
|
+
Comment.prototype = {
|
|
1059
|
+
nodeName: "#comment",
|
|
1060
|
+
nodeType: COMMENT_NODE
|
|
1061
|
+
};
|
|
1062
|
+
_extends(Comment, CharacterData);
|
|
1063
|
+
function CDATASection() {}
|
|
1064
|
+
CDATASection.prototype = {
|
|
1065
|
+
nodeName: "#cdata-section",
|
|
1066
|
+
nodeType: CDATA_SECTION_NODE
|
|
1067
|
+
};
|
|
1068
|
+
_extends(CDATASection, CharacterData);
|
|
1069
|
+
function DocumentType() {}
|
|
1070
|
+
DocumentType.prototype.nodeType = DOCUMENT_TYPE_NODE;
|
|
1071
|
+
_extends(DocumentType, Node);
|
|
1072
|
+
function Notation() {}
|
|
1073
|
+
Notation.prototype.nodeType = NOTATION_NODE;
|
|
1074
|
+
_extends(Notation, Node);
|
|
1075
|
+
function Entity() {}
|
|
1076
|
+
Entity.prototype.nodeType = ENTITY_NODE;
|
|
1077
|
+
_extends(Entity, Node);
|
|
1078
|
+
function EntityReference() {}
|
|
1079
|
+
EntityReference.prototype.nodeType = ENTITY_REFERENCE_NODE;
|
|
1080
|
+
_extends(EntityReference, Node);
|
|
1081
|
+
function DocumentFragment() {}
|
|
1082
|
+
DocumentFragment.prototype.nodeName = "#document-fragment";
|
|
1083
|
+
DocumentFragment.prototype.nodeType = DOCUMENT_FRAGMENT_NODE;
|
|
1084
|
+
_extends(DocumentFragment, Node);
|
|
1085
|
+
function ProcessingInstruction() {}
|
|
1086
|
+
ProcessingInstruction.prototype.nodeType = PROCESSING_INSTRUCTION_NODE;
|
|
1087
|
+
_extends(ProcessingInstruction, Node);
|
|
1088
|
+
function XMLSerializer() {}
|
|
1089
|
+
XMLSerializer.prototype.serializeToString = function(node, isHtml, nodeFilter) {
|
|
1090
|
+
return nodeSerializeToString.call(node, isHtml, nodeFilter);
|
|
1091
|
+
};
|
|
1092
|
+
Node.prototype.toString = nodeSerializeToString;
|
|
1093
|
+
function nodeSerializeToString(isHtml, nodeFilter) {
|
|
1094
|
+
var buf = [];
|
|
1095
|
+
var refNode = this.nodeType == 9 && this.documentElement || this;
|
|
1096
|
+
var prefix = refNode.prefix;
|
|
1097
|
+
var uri = refNode.namespaceURI;
|
|
1098
|
+
if (uri && prefix == null) {
|
|
1099
|
+
var prefix = refNode.lookupPrefix(uri);
|
|
1100
|
+
if (prefix == null) var visibleNamespaces = [{
|
|
1101
|
+
namespace: uri,
|
|
1102
|
+
prefix: null
|
|
1103
|
+
}];
|
|
1104
|
+
}
|
|
1105
|
+
serializeToString(this, buf, isHtml, nodeFilter, visibleNamespaces);
|
|
1106
|
+
return buf.join("");
|
|
1107
|
+
}
|
|
1108
|
+
function needNamespaceDefine(node, isHTML, visibleNamespaces) {
|
|
1109
|
+
var prefix = node.prefix || "";
|
|
1110
|
+
var uri = node.namespaceURI;
|
|
1111
|
+
if (!uri) return false;
|
|
1112
|
+
if (prefix === "xml" && uri === NAMESPACE$2.XML || uri === NAMESPACE$2.XMLNS) return false;
|
|
1113
|
+
var i = visibleNamespaces.length;
|
|
1114
|
+
while (i--) {
|
|
1115
|
+
var ns = visibleNamespaces[i];
|
|
1116
|
+
if (ns.prefix === prefix) return ns.namespace !== uri;
|
|
1117
|
+
}
|
|
1118
|
+
return true;
|
|
1119
|
+
}
|
|
1120
|
+
/**
|
|
1121
|
+
* Well-formed constraint: No < in Attribute Values
|
|
1122
|
+
* > The replacement text of any entity referred to directly or indirectly
|
|
1123
|
+
* > in an attribute value must not contain a <.
|
|
1124
|
+
* @see https://www.w3.org/TR/xml11/#CleanAttrVals
|
|
1125
|
+
* @see https://www.w3.org/TR/xml11/#NT-AttValue
|
|
1126
|
+
*
|
|
1127
|
+
* Literal whitespace other than space that appear in attribute values
|
|
1128
|
+
* are serialized as their entity references, so they will be preserved.
|
|
1129
|
+
* (In contrast to whitespace literals in the input which are normalized to spaces)
|
|
1130
|
+
* @see https://www.w3.org/TR/xml11/#AVNormalize
|
|
1131
|
+
* @see https://w3c.github.io/DOM-Parsing/#serializing-an-element-s-attributes
|
|
1132
|
+
*/
|
|
1133
|
+
function addSerializedAttribute(buf, qualifiedName, value) {
|
|
1134
|
+
buf.push(" ", qualifiedName, "=\"", value.replace(/[<>&"\t\n\r]/g, _xmlEncoder), "\"");
|
|
1135
|
+
}
|
|
1136
|
+
function serializeToString(node, buf, isHTML, nodeFilter, visibleNamespaces) {
|
|
1137
|
+
if (!visibleNamespaces) visibleNamespaces = [];
|
|
1138
|
+
if (nodeFilter) {
|
|
1139
|
+
node = nodeFilter(node);
|
|
1140
|
+
if (node) {
|
|
1141
|
+
if (typeof node == "string") {
|
|
1142
|
+
buf.push(node);
|
|
1143
|
+
return;
|
|
1144
|
+
}
|
|
1145
|
+
} else return;
|
|
1146
|
+
}
|
|
1147
|
+
switch (node.nodeType) {
|
|
1148
|
+
case ELEMENT_NODE:
|
|
1149
|
+
var attrs = node.attributes;
|
|
1150
|
+
var len = attrs.length;
|
|
1151
|
+
var child = node.firstChild;
|
|
1152
|
+
var nodeName = node.tagName;
|
|
1153
|
+
isHTML = NAMESPACE$2.isHTML(node.namespaceURI) || isHTML;
|
|
1154
|
+
var prefixedNodeName = nodeName;
|
|
1155
|
+
if (!isHTML && !node.prefix && node.namespaceURI) {
|
|
1156
|
+
var defaultNS;
|
|
1157
|
+
for (var ai = 0; ai < attrs.length; ai++) if (attrs.item(ai).name === "xmlns") {
|
|
1158
|
+
defaultNS = attrs.item(ai).value;
|
|
1159
|
+
break;
|
|
1160
|
+
}
|
|
1161
|
+
if (!defaultNS) for (var nsi = visibleNamespaces.length - 1; nsi >= 0; nsi--) {
|
|
1162
|
+
var namespace = visibleNamespaces[nsi];
|
|
1163
|
+
if (namespace.prefix === "" && namespace.namespace === node.namespaceURI) {
|
|
1164
|
+
defaultNS = namespace.namespace;
|
|
1165
|
+
break;
|
|
1166
|
+
}
|
|
1167
|
+
}
|
|
1168
|
+
if (defaultNS !== node.namespaceURI) for (var nsi = visibleNamespaces.length - 1; nsi >= 0; nsi--) {
|
|
1169
|
+
var namespace = visibleNamespaces[nsi];
|
|
1170
|
+
if (namespace.namespace === node.namespaceURI) {
|
|
1171
|
+
if (namespace.prefix) prefixedNodeName = namespace.prefix + ":" + nodeName;
|
|
1172
|
+
break;
|
|
1173
|
+
}
|
|
1174
|
+
}
|
|
1175
|
+
}
|
|
1176
|
+
buf.push("<", prefixedNodeName);
|
|
1177
|
+
for (var i = 0; i < len; i++) {
|
|
1178
|
+
var attr = attrs.item(i);
|
|
1179
|
+
if (attr.prefix == "xmlns") visibleNamespaces.push({
|
|
1180
|
+
prefix: attr.localName,
|
|
1181
|
+
namespace: attr.value
|
|
1182
|
+
});
|
|
1183
|
+
else if (attr.nodeName == "xmlns") visibleNamespaces.push({
|
|
1184
|
+
prefix: "",
|
|
1185
|
+
namespace: attr.value
|
|
1186
|
+
});
|
|
1187
|
+
}
|
|
1188
|
+
for (var i = 0; i < len; i++) {
|
|
1189
|
+
var attr = attrs.item(i);
|
|
1190
|
+
if (needNamespaceDefine(attr, isHTML, visibleNamespaces)) {
|
|
1191
|
+
var prefix = attr.prefix || "";
|
|
1192
|
+
var uri = attr.namespaceURI;
|
|
1193
|
+
addSerializedAttribute(buf, prefix ? "xmlns:" + prefix : "xmlns", uri);
|
|
1194
|
+
visibleNamespaces.push({
|
|
1195
|
+
prefix,
|
|
1196
|
+
namespace: uri
|
|
1197
|
+
});
|
|
1198
|
+
}
|
|
1199
|
+
serializeToString(attr, buf, isHTML, nodeFilter, visibleNamespaces);
|
|
1200
|
+
}
|
|
1201
|
+
if (nodeName === prefixedNodeName && needNamespaceDefine(node, isHTML, visibleNamespaces)) {
|
|
1202
|
+
var prefix = node.prefix || "";
|
|
1203
|
+
var uri = node.namespaceURI;
|
|
1204
|
+
addSerializedAttribute(buf, prefix ? "xmlns:" + prefix : "xmlns", uri);
|
|
1205
|
+
visibleNamespaces.push({
|
|
1206
|
+
prefix,
|
|
1207
|
+
namespace: uri
|
|
1208
|
+
});
|
|
1209
|
+
}
|
|
1210
|
+
if (child || isHTML && !/^(?:meta|link|img|br|hr|input)$/i.test(nodeName)) {
|
|
1211
|
+
buf.push(">");
|
|
1212
|
+
if (isHTML && /^script$/i.test(nodeName)) while (child) {
|
|
1213
|
+
if (child.data) buf.push(child.data);
|
|
1214
|
+
else serializeToString(child, buf, isHTML, nodeFilter, visibleNamespaces.slice());
|
|
1215
|
+
child = child.nextSibling;
|
|
1216
|
+
}
|
|
1217
|
+
else while (child) {
|
|
1218
|
+
serializeToString(child, buf, isHTML, nodeFilter, visibleNamespaces.slice());
|
|
1219
|
+
child = child.nextSibling;
|
|
1220
|
+
}
|
|
1221
|
+
buf.push("</", prefixedNodeName, ">");
|
|
1222
|
+
} else buf.push("/>");
|
|
1223
|
+
return;
|
|
1224
|
+
case DOCUMENT_NODE:
|
|
1225
|
+
case DOCUMENT_FRAGMENT_NODE:
|
|
1226
|
+
var child = node.firstChild;
|
|
1227
|
+
while (child) {
|
|
1228
|
+
serializeToString(child, buf, isHTML, nodeFilter, visibleNamespaces.slice());
|
|
1229
|
+
child = child.nextSibling;
|
|
1230
|
+
}
|
|
1231
|
+
return;
|
|
1232
|
+
case ATTRIBUTE_NODE: return addSerializedAttribute(buf, node.name, node.value);
|
|
1233
|
+
case TEXT_NODE:
|
|
1234
|
+
/**
|
|
1235
|
+
* The ampersand character (&) and the left angle bracket (<) must not appear in their literal form,
|
|
1236
|
+
* except when used as markup delimiters, or within a comment, a processing instruction, or a CDATA section.
|
|
1237
|
+
* If they are needed elsewhere, they must be escaped using either numeric character references or the strings
|
|
1238
|
+
* `&` and `<` respectively.
|
|
1239
|
+
* The right angle bracket (>) may be represented using the string " > ", and must, for compatibility,
|
|
1240
|
+
* be escaped using either `>` or a character reference when it appears in the string `]]>` in content,
|
|
1241
|
+
* when that string is not marking the end of a CDATA section.
|
|
1242
|
+
*
|
|
1243
|
+
* In the content of elements, character data is any string of characters
|
|
1244
|
+
* which does not contain the start-delimiter of any markup
|
|
1245
|
+
* and does not include the CDATA-section-close delimiter, `]]>`.
|
|
1246
|
+
*
|
|
1247
|
+
* @see https://www.w3.org/TR/xml/#NT-CharData
|
|
1248
|
+
* @see https://w3c.github.io/DOM-Parsing/#xml-serializing-a-text-node
|
|
1249
|
+
*/
|
|
1250
|
+
return buf.push(node.data.replace(/[<&>]/g, _xmlEncoder));
|
|
1251
|
+
case CDATA_SECTION_NODE: return buf.push("<![CDATA[", node.data, "]]>");
|
|
1252
|
+
case COMMENT_NODE: return buf.push("<!--", node.data, "-->");
|
|
1253
|
+
case DOCUMENT_TYPE_NODE:
|
|
1254
|
+
var pubid = node.publicId;
|
|
1255
|
+
var sysid = node.systemId;
|
|
1256
|
+
buf.push("<!DOCTYPE ", node.name);
|
|
1257
|
+
if (pubid) {
|
|
1258
|
+
buf.push(" PUBLIC ", pubid);
|
|
1259
|
+
if (sysid && sysid != ".") buf.push(" ", sysid);
|
|
1260
|
+
buf.push(">");
|
|
1261
|
+
} else if (sysid && sysid != ".") buf.push(" SYSTEM ", sysid, ">");
|
|
1262
|
+
else {
|
|
1263
|
+
var sub = node.internalSubset;
|
|
1264
|
+
if (sub) buf.push(" [", sub, "]");
|
|
1265
|
+
buf.push(">");
|
|
1266
|
+
}
|
|
1267
|
+
return;
|
|
1268
|
+
case PROCESSING_INSTRUCTION_NODE: return buf.push("<?", node.target, " ", node.data, "?>");
|
|
1269
|
+
case ENTITY_REFERENCE_NODE: return buf.push("&", node.nodeName, ";");
|
|
1270
|
+
default: buf.push("??", node.nodeName);
|
|
1271
|
+
}
|
|
1272
|
+
}
|
|
1273
|
+
function importNode(doc, node, deep) {
|
|
1274
|
+
var node2;
|
|
1275
|
+
switch (node.nodeType) {
|
|
1276
|
+
case ELEMENT_NODE:
|
|
1277
|
+
node2 = node.cloneNode(false);
|
|
1278
|
+
node2.ownerDocument = doc;
|
|
1279
|
+
case DOCUMENT_FRAGMENT_NODE: break;
|
|
1280
|
+
case ATTRIBUTE_NODE:
|
|
1281
|
+
deep = true;
|
|
1282
|
+
break;
|
|
1283
|
+
}
|
|
1284
|
+
if (!node2) node2 = node.cloneNode(false);
|
|
1285
|
+
node2.ownerDocument = doc;
|
|
1286
|
+
node2.parentNode = null;
|
|
1287
|
+
if (deep) {
|
|
1288
|
+
var child = node.firstChild;
|
|
1289
|
+
while (child) {
|
|
1290
|
+
node2.appendChild(importNode(doc, child, deep));
|
|
1291
|
+
child = child.nextSibling;
|
|
1292
|
+
}
|
|
1293
|
+
}
|
|
1294
|
+
return node2;
|
|
1295
|
+
}
|
|
1296
|
+
function cloneNode(doc, node, deep) {
|
|
1297
|
+
var node2 = new node.constructor();
|
|
1298
|
+
for (var n in node) if (Object.prototype.hasOwnProperty.call(node, n)) {
|
|
1299
|
+
var v = node[n];
|
|
1300
|
+
if (typeof v != "object") {
|
|
1301
|
+
if (v != node2[n]) node2[n] = v;
|
|
1302
|
+
}
|
|
1303
|
+
}
|
|
1304
|
+
if (node.childNodes) node2.childNodes = new NodeList();
|
|
1305
|
+
node2.ownerDocument = doc;
|
|
1306
|
+
switch (node2.nodeType) {
|
|
1307
|
+
case ELEMENT_NODE:
|
|
1308
|
+
var attrs = node.attributes;
|
|
1309
|
+
var attrs2 = node2.attributes = new NamedNodeMap();
|
|
1310
|
+
var len = attrs.length;
|
|
1311
|
+
attrs2._ownerElement = node2;
|
|
1312
|
+
for (var i = 0; i < len; i++) node2.setAttributeNode(cloneNode(doc, attrs.item(i), true));
|
|
1313
|
+
break;
|
|
1314
|
+
case ATTRIBUTE_NODE: deep = true;
|
|
1315
|
+
}
|
|
1316
|
+
if (deep) {
|
|
1317
|
+
var child = node.firstChild;
|
|
1318
|
+
while (child) {
|
|
1319
|
+
node2.appendChild(cloneNode(doc, child, deep));
|
|
1320
|
+
child = child.nextSibling;
|
|
1321
|
+
}
|
|
1322
|
+
}
|
|
1323
|
+
return node2;
|
|
1324
|
+
}
|
|
1325
|
+
function __set__(object, key, value) {
|
|
1326
|
+
object[key] = value;
|
|
1327
|
+
}
|
|
1328
|
+
try {
|
|
1329
|
+
if (Object.defineProperty) {
|
|
1330
|
+
Object.defineProperty(LiveNodeList.prototype, "length", { get: function() {
|
|
1331
|
+
_updateLiveList(this);
|
|
1332
|
+
return this.$$length;
|
|
1333
|
+
} });
|
|
1334
|
+
Object.defineProperty(Node.prototype, "textContent", {
|
|
1335
|
+
get: function() {
|
|
1336
|
+
return getTextContent(this);
|
|
1337
|
+
},
|
|
1338
|
+
set: function(data) {
|
|
1339
|
+
switch (this.nodeType) {
|
|
1340
|
+
case ELEMENT_NODE:
|
|
1341
|
+
case DOCUMENT_FRAGMENT_NODE:
|
|
1342
|
+
while (this.firstChild) this.removeChild(this.firstChild);
|
|
1343
|
+
if (data || String(data)) this.appendChild(this.ownerDocument.createTextNode(data));
|
|
1344
|
+
break;
|
|
1345
|
+
default:
|
|
1346
|
+
this.data = data;
|
|
1347
|
+
this.value = data;
|
|
1348
|
+
this.nodeValue = data;
|
|
1349
|
+
}
|
|
1350
|
+
}
|
|
1351
|
+
});
|
|
1352
|
+
function getTextContent(node) {
|
|
1353
|
+
switch (node.nodeType) {
|
|
1354
|
+
case ELEMENT_NODE:
|
|
1355
|
+
case DOCUMENT_FRAGMENT_NODE:
|
|
1356
|
+
var buf = [];
|
|
1357
|
+
node = node.firstChild;
|
|
1358
|
+
while (node) {
|
|
1359
|
+
if (node.nodeType !== 7 && node.nodeType !== 8) buf.push(getTextContent(node));
|
|
1360
|
+
node = node.nextSibling;
|
|
1361
|
+
}
|
|
1362
|
+
return buf.join("");
|
|
1363
|
+
default: return node.nodeValue;
|
|
1364
|
+
}
|
|
1365
|
+
}
|
|
1366
|
+
__set__ = function(object, key, value) {
|
|
1367
|
+
object["$$" + key] = value;
|
|
1368
|
+
};
|
|
1369
|
+
}
|
|
1370
|
+
} catch (e) {}
|
|
1371
|
+
exports.DocumentType = DocumentType;
|
|
1372
|
+
exports.DOMException = DOMException;
|
|
1373
|
+
exports.DOMImplementation = DOMImplementation$1;
|
|
1374
|
+
exports.Element = Element;
|
|
1375
|
+
exports.Node = Node;
|
|
1376
|
+
exports.NodeList = NodeList;
|
|
1377
|
+
exports.XMLSerializer = XMLSerializer;
|
|
1378
|
+
}) });
|
|
1379
|
+
|
|
1380
|
+
//#endregion
|
|
1381
|
+
//#region node_modules/.pnpm/@xmldom+xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/entities.js
|
|
1382
|
+
var require_entities = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/@xmldom+xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/entities.js": ((exports) => {
|
|
1383
|
+
var freeze = require_conventions().freeze;
|
|
1384
|
+
/**
|
|
1385
|
+
* The entities that are predefined in every XML document.
|
|
1386
|
+
*
|
|
1387
|
+
* @see https://www.w3.org/TR/2006/REC-xml11-20060816/#sec-predefined-ent W3C XML 1.1
|
|
1388
|
+
* @see https://www.w3.org/TR/2008/REC-xml-20081126/#sec-predefined-ent W3C XML 1.0
|
|
1389
|
+
* @see https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references#Predefined_entities_in_XML Wikipedia
|
|
1390
|
+
*/
|
|
1391
|
+
exports.XML_ENTITIES = freeze({
|
|
1392
|
+
amp: "&",
|
|
1393
|
+
apos: "'",
|
|
1394
|
+
gt: ">",
|
|
1395
|
+
lt: "<",
|
|
1396
|
+
quot: "\""
|
|
1397
|
+
});
|
|
1398
|
+
/**
|
|
1399
|
+
* A map of all entities that are detected in an HTML document.
|
|
1400
|
+
* They contain all entries from `XML_ENTITIES`.
|
|
1401
|
+
*
|
|
1402
|
+
* @see XML_ENTITIES
|
|
1403
|
+
* @see DOMParser.parseFromString
|
|
1404
|
+
* @see DOMImplementation.prototype.createHTMLDocument
|
|
1405
|
+
* @see https://html.spec.whatwg.org/#named-character-references WHATWG HTML(5) Spec
|
|
1406
|
+
* @see https://html.spec.whatwg.org/entities.json JSON
|
|
1407
|
+
* @see https://www.w3.org/TR/xml-entity-names/ W3C XML Entity Names
|
|
1408
|
+
* @see https://www.w3.org/TR/html4/sgml/entities.html W3C HTML4/SGML
|
|
1409
|
+
* @see https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references#Character_entity_references_in_HTML Wikipedia (HTML)
|
|
1410
|
+
* @see https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references#Entities_representing_special_characters_in_XHTML Wikpedia (XHTML)
|
|
1411
|
+
*/
|
|
1412
|
+
exports.HTML_ENTITIES = freeze({
|
|
1413
|
+
Aacute: "Á",
|
|
1414
|
+
aacute: "á",
|
|
1415
|
+
Abreve: "Ă",
|
|
1416
|
+
abreve: "ă",
|
|
1417
|
+
ac: "∾",
|
|
1418
|
+
acd: "∿",
|
|
1419
|
+
acE: "∾̳",
|
|
1420
|
+
Acirc: "Â",
|
|
1421
|
+
acirc: "â",
|
|
1422
|
+
acute: "´",
|
|
1423
|
+
Acy: "А",
|
|
1424
|
+
acy: "а",
|
|
1425
|
+
AElig: "Æ",
|
|
1426
|
+
aelig: "æ",
|
|
1427
|
+
af: "",
|
|
1428
|
+
Afr: "𝔄",
|
|
1429
|
+
afr: "𝔞",
|
|
1430
|
+
Agrave: "À",
|
|
1431
|
+
agrave: "à",
|
|
1432
|
+
alefsym: "ℵ",
|
|
1433
|
+
aleph: "ℵ",
|
|
1434
|
+
Alpha: "Α",
|
|
1435
|
+
alpha: "α",
|
|
1436
|
+
Amacr: "Ā",
|
|
1437
|
+
amacr: "ā",
|
|
1438
|
+
amalg: "⨿",
|
|
1439
|
+
AMP: "&",
|
|
1440
|
+
amp: "&",
|
|
1441
|
+
And: "⩓",
|
|
1442
|
+
and: "∧",
|
|
1443
|
+
andand: "⩕",
|
|
1444
|
+
andd: "⩜",
|
|
1445
|
+
andslope: "⩘",
|
|
1446
|
+
andv: "⩚",
|
|
1447
|
+
ang: "∠",
|
|
1448
|
+
ange: "⦤",
|
|
1449
|
+
angle: "∠",
|
|
1450
|
+
angmsd: "∡",
|
|
1451
|
+
angmsdaa: "⦨",
|
|
1452
|
+
angmsdab: "⦩",
|
|
1453
|
+
angmsdac: "⦪",
|
|
1454
|
+
angmsdad: "⦫",
|
|
1455
|
+
angmsdae: "⦬",
|
|
1456
|
+
angmsdaf: "⦭",
|
|
1457
|
+
angmsdag: "⦮",
|
|
1458
|
+
angmsdah: "⦯",
|
|
1459
|
+
angrt: "∟",
|
|
1460
|
+
angrtvb: "⊾",
|
|
1461
|
+
angrtvbd: "⦝",
|
|
1462
|
+
angsph: "∢",
|
|
1463
|
+
angst: "Å",
|
|
1464
|
+
angzarr: "⍼",
|
|
1465
|
+
Aogon: "Ą",
|
|
1466
|
+
aogon: "ą",
|
|
1467
|
+
Aopf: "𝔸",
|
|
1468
|
+
aopf: "𝕒",
|
|
1469
|
+
ap: "≈",
|
|
1470
|
+
apacir: "⩯",
|
|
1471
|
+
apE: "⩰",
|
|
1472
|
+
ape: "≊",
|
|
1473
|
+
apid: "≋",
|
|
1474
|
+
apos: "'",
|
|
1475
|
+
ApplyFunction: "",
|
|
1476
|
+
approx: "≈",
|
|
1477
|
+
approxeq: "≊",
|
|
1478
|
+
Aring: "Å",
|
|
1479
|
+
aring: "å",
|
|
1480
|
+
Ascr: "𝒜",
|
|
1481
|
+
ascr: "𝒶",
|
|
1482
|
+
Assign: "≔",
|
|
1483
|
+
ast: "*",
|
|
1484
|
+
asymp: "≈",
|
|
1485
|
+
asympeq: "≍",
|
|
1486
|
+
Atilde: "Ã",
|
|
1487
|
+
atilde: "ã",
|
|
1488
|
+
Auml: "Ä",
|
|
1489
|
+
auml: "ä",
|
|
1490
|
+
awconint: "∳",
|
|
1491
|
+
awint: "⨑",
|
|
1492
|
+
backcong: "≌",
|
|
1493
|
+
backepsilon: "϶",
|
|
1494
|
+
backprime: "‵",
|
|
1495
|
+
backsim: "∽",
|
|
1496
|
+
backsimeq: "⋍",
|
|
1497
|
+
Backslash: "∖",
|
|
1498
|
+
Barv: "⫧",
|
|
1499
|
+
barvee: "⊽",
|
|
1500
|
+
Barwed: "⌆",
|
|
1501
|
+
barwed: "⌅",
|
|
1502
|
+
barwedge: "⌅",
|
|
1503
|
+
bbrk: "⎵",
|
|
1504
|
+
bbrktbrk: "⎶",
|
|
1505
|
+
bcong: "≌",
|
|
1506
|
+
Bcy: "Б",
|
|
1507
|
+
bcy: "б",
|
|
1508
|
+
bdquo: "„",
|
|
1509
|
+
becaus: "∵",
|
|
1510
|
+
Because: "∵",
|
|
1511
|
+
because: "∵",
|
|
1512
|
+
bemptyv: "⦰",
|
|
1513
|
+
bepsi: "϶",
|
|
1514
|
+
bernou: "ℬ",
|
|
1515
|
+
Bernoullis: "ℬ",
|
|
1516
|
+
Beta: "Β",
|
|
1517
|
+
beta: "β",
|
|
1518
|
+
beth: "ℶ",
|
|
1519
|
+
between: "≬",
|
|
1520
|
+
Bfr: "𝔅",
|
|
1521
|
+
bfr: "𝔟",
|
|
1522
|
+
bigcap: "⋂",
|
|
1523
|
+
bigcirc: "◯",
|
|
1524
|
+
bigcup: "⋃",
|
|
1525
|
+
bigodot: "⨀",
|
|
1526
|
+
bigoplus: "⨁",
|
|
1527
|
+
bigotimes: "⨂",
|
|
1528
|
+
bigsqcup: "⨆",
|
|
1529
|
+
bigstar: "★",
|
|
1530
|
+
bigtriangledown: "▽",
|
|
1531
|
+
bigtriangleup: "△",
|
|
1532
|
+
biguplus: "⨄",
|
|
1533
|
+
bigvee: "⋁",
|
|
1534
|
+
bigwedge: "⋀",
|
|
1535
|
+
bkarow: "⤍",
|
|
1536
|
+
blacklozenge: "⧫",
|
|
1537
|
+
blacksquare: "▪",
|
|
1538
|
+
blacktriangle: "▴",
|
|
1539
|
+
blacktriangledown: "▾",
|
|
1540
|
+
blacktriangleleft: "◂",
|
|
1541
|
+
blacktriangleright: "▸",
|
|
1542
|
+
blank: "␣",
|
|
1543
|
+
blk12: "▒",
|
|
1544
|
+
blk14: "░",
|
|
1545
|
+
blk34: "▓",
|
|
1546
|
+
block: "█",
|
|
1547
|
+
bne: "=⃥",
|
|
1548
|
+
bnequiv: "≡⃥",
|
|
1549
|
+
bNot: "⫭",
|
|
1550
|
+
bnot: "⌐",
|
|
1551
|
+
Bopf: "𝔹",
|
|
1552
|
+
bopf: "𝕓",
|
|
1553
|
+
bot: "⊥",
|
|
1554
|
+
bottom: "⊥",
|
|
1555
|
+
bowtie: "⋈",
|
|
1556
|
+
boxbox: "⧉",
|
|
1557
|
+
boxDL: "╗",
|
|
1558
|
+
boxDl: "╖",
|
|
1559
|
+
boxdL: "╕",
|
|
1560
|
+
boxdl: "┐",
|
|
1561
|
+
boxDR: "╔",
|
|
1562
|
+
boxDr: "╓",
|
|
1563
|
+
boxdR: "╒",
|
|
1564
|
+
boxdr: "┌",
|
|
1565
|
+
boxH: "═",
|
|
1566
|
+
boxh: "─",
|
|
1567
|
+
boxHD: "╦",
|
|
1568
|
+
boxHd: "╤",
|
|
1569
|
+
boxhD: "╥",
|
|
1570
|
+
boxhd: "┬",
|
|
1571
|
+
boxHU: "╩",
|
|
1572
|
+
boxHu: "╧",
|
|
1573
|
+
boxhU: "╨",
|
|
1574
|
+
boxhu: "┴",
|
|
1575
|
+
boxminus: "⊟",
|
|
1576
|
+
boxplus: "⊞",
|
|
1577
|
+
boxtimes: "⊠",
|
|
1578
|
+
boxUL: "╝",
|
|
1579
|
+
boxUl: "╜",
|
|
1580
|
+
boxuL: "╛",
|
|
1581
|
+
boxul: "┘",
|
|
1582
|
+
boxUR: "╚",
|
|
1583
|
+
boxUr: "╙",
|
|
1584
|
+
boxuR: "╘",
|
|
1585
|
+
boxur: "└",
|
|
1586
|
+
boxV: "║",
|
|
1587
|
+
boxv: "│",
|
|
1588
|
+
boxVH: "╬",
|
|
1589
|
+
boxVh: "╫",
|
|
1590
|
+
boxvH: "╪",
|
|
1591
|
+
boxvh: "┼",
|
|
1592
|
+
boxVL: "╣",
|
|
1593
|
+
boxVl: "╢",
|
|
1594
|
+
boxvL: "╡",
|
|
1595
|
+
boxvl: "┤",
|
|
1596
|
+
boxVR: "╠",
|
|
1597
|
+
boxVr: "╟",
|
|
1598
|
+
boxvR: "╞",
|
|
1599
|
+
boxvr: "├",
|
|
1600
|
+
bprime: "‵",
|
|
1601
|
+
Breve: "˘",
|
|
1602
|
+
breve: "˘",
|
|
1603
|
+
brvbar: "¦",
|
|
1604
|
+
Bscr: "ℬ",
|
|
1605
|
+
bscr: "𝒷",
|
|
1606
|
+
bsemi: "⁏",
|
|
1607
|
+
bsim: "∽",
|
|
1608
|
+
bsime: "⋍",
|
|
1609
|
+
bsol: "\\",
|
|
1610
|
+
bsolb: "⧅",
|
|
1611
|
+
bsolhsub: "⟈",
|
|
1612
|
+
bull: "•",
|
|
1613
|
+
bullet: "•",
|
|
1614
|
+
bump: "≎",
|
|
1615
|
+
bumpE: "⪮",
|
|
1616
|
+
bumpe: "≏",
|
|
1617
|
+
Bumpeq: "≎",
|
|
1618
|
+
bumpeq: "≏",
|
|
1619
|
+
Cacute: "Ć",
|
|
1620
|
+
cacute: "ć",
|
|
1621
|
+
Cap: "⋒",
|
|
1622
|
+
cap: "∩",
|
|
1623
|
+
capand: "⩄",
|
|
1624
|
+
capbrcup: "⩉",
|
|
1625
|
+
capcap: "⩋",
|
|
1626
|
+
capcup: "⩇",
|
|
1627
|
+
capdot: "⩀",
|
|
1628
|
+
CapitalDifferentialD: "ⅅ",
|
|
1629
|
+
caps: "∩︀",
|
|
1630
|
+
caret: "⁁",
|
|
1631
|
+
caron: "ˇ",
|
|
1632
|
+
Cayleys: "ℭ",
|
|
1633
|
+
ccaps: "⩍",
|
|
1634
|
+
Ccaron: "Č",
|
|
1635
|
+
ccaron: "č",
|
|
1636
|
+
Ccedil: "Ç",
|
|
1637
|
+
ccedil: "ç",
|
|
1638
|
+
Ccirc: "Ĉ",
|
|
1639
|
+
ccirc: "ĉ",
|
|
1640
|
+
Cconint: "∰",
|
|
1641
|
+
ccups: "⩌",
|
|
1642
|
+
ccupssm: "⩐",
|
|
1643
|
+
Cdot: "Ċ",
|
|
1644
|
+
cdot: "ċ",
|
|
1645
|
+
cedil: "¸",
|
|
1646
|
+
Cedilla: "¸",
|
|
1647
|
+
cemptyv: "⦲",
|
|
1648
|
+
cent: "¢",
|
|
1649
|
+
CenterDot: "·",
|
|
1650
|
+
centerdot: "·",
|
|
1651
|
+
Cfr: "ℭ",
|
|
1652
|
+
cfr: "𝔠",
|
|
1653
|
+
CHcy: "Ч",
|
|
1654
|
+
chcy: "ч",
|
|
1655
|
+
check: "✓",
|
|
1656
|
+
checkmark: "✓",
|
|
1657
|
+
Chi: "Χ",
|
|
1658
|
+
chi: "χ",
|
|
1659
|
+
cir: "○",
|
|
1660
|
+
circ: "ˆ",
|
|
1661
|
+
circeq: "≗",
|
|
1662
|
+
circlearrowleft: "↺",
|
|
1663
|
+
circlearrowright: "↻",
|
|
1664
|
+
circledast: "⊛",
|
|
1665
|
+
circledcirc: "⊚",
|
|
1666
|
+
circleddash: "⊝",
|
|
1667
|
+
CircleDot: "⊙",
|
|
1668
|
+
circledR: "®",
|
|
1669
|
+
circledS: "Ⓢ",
|
|
1670
|
+
CircleMinus: "⊖",
|
|
1671
|
+
CirclePlus: "⊕",
|
|
1672
|
+
CircleTimes: "⊗",
|
|
1673
|
+
cirE: "⧃",
|
|
1674
|
+
cire: "≗",
|
|
1675
|
+
cirfnint: "⨐",
|
|
1676
|
+
cirmid: "⫯",
|
|
1677
|
+
cirscir: "⧂",
|
|
1678
|
+
ClockwiseContourIntegral: "∲",
|
|
1679
|
+
CloseCurlyDoubleQuote: "”",
|
|
1680
|
+
CloseCurlyQuote: "’",
|
|
1681
|
+
clubs: "♣",
|
|
1682
|
+
clubsuit: "♣",
|
|
1683
|
+
Colon: "∷",
|
|
1684
|
+
colon: ":",
|
|
1685
|
+
Colone: "⩴",
|
|
1686
|
+
colone: "≔",
|
|
1687
|
+
coloneq: "≔",
|
|
1688
|
+
comma: ",",
|
|
1689
|
+
commat: "@",
|
|
1690
|
+
comp: "∁",
|
|
1691
|
+
compfn: "∘",
|
|
1692
|
+
complement: "∁",
|
|
1693
|
+
complexes: "ℂ",
|
|
1694
|
+
cong: "≅",
|
|
1695
|
+
congdot: "⩭",
|
|
1696
|
+
Congruent: "≡",
|
|
1697
|
+
Conint: "∯",
|
|
1698
|
+
conint: "∮",
|
|
1699
|
+
ContourIntegral: "∮",
|
|
1700
|
+
Copf: "ℂ",
|
|
1701
|
+
copf: "𝕔",
|
|
1702
|
+
coprod: "∐",
|
|
1703
|
+
Coproduct: "∐",
|
|
1704
|
+
COPY: "©",
|
|
1705
|
+
copy: "©",
|
|
1706
|
+
copysr: "℗",
|
|
1707
|
+
CounterClockwiseContourIntegral: "∳",
|
|
1708
|
+
crarr: "↵",
|
|
1709
|
+
Cross: "⨯",
|
|
1710
|
+
cross: "✗",
|
|
1711
|
+
Cscr: "𝒞",
|
|
1712
|
+
cscr: "𝒸",
|
|
1713
|
+
csub: "⫏",
|
|
1714
|
+
csube: "⫑",
|
|
1715
|
+
csup: "⫐",
|
|
1716
|
+
csupe: "⫒",
|
|
1717
|
+
ctdot: "⋯",
|
|
1718
|
+
cudarrl: "⤸",
|
|
1719
|
+
cudarrr: "⤵",
|
|
1720
|
+
cuepr: "⋞",
|
|
1721
|
+
cuesc: "⋟",
|
|
1722
|
+
cularr: "↶",
|
|
1723
|
+
cularrp: "⤽",
|
|
1724
|
+
Cup: "⋓",
|
|
1725
|
+
cup: "∪",
|
|
1726
|
+
cupbrcap: "⩈",
|
|
1727
|
+
CupCap: "≍",
|
|
1728
|
+
cupcap: "⩆",
|
|
1729
|
+
cupcup: "⩊",
|
|
1730
|
+
cupdot: "⊍",
|
|
1731
|
+
cupor: "⩅",
|
|
1732
|
+
cups: "∪︀",
|
|
1733
|
+
curarr: "↷",
|
|
1734
|
+
curarrm: "⤼",
|
|
1735
|
+
curlyeqprec: "⋞",
|
|
1736
|
+
curlyeqsucc: "⋟",
|
|
1737
|
+
curlyvee: "⋎",
|
|
1738
|
+
curlywedge: "⋏",
|
|
1739
|
+
curren: "¤",
|
|
1740
|
+
curvearrowleft: "↶",
|
|
1741
|
+
curvearrowright: "↷",
|
|
1742
|
+
cuvee: "⋎",
|
|
1743
|
+
cuwed: "⋏",
|
|
1744
|
+
cwconint: "∲",
|
|
1745
|
+
cwint: "∱",
|
|
1746
|
+
cylcty: "⌭",
|
|
1747
|
+
Dagger: "‡",
|
|
1748
|
+
dagger: "†",
|
|
1749
|
+
daleth: "ℸ",
|
|
1750
|
+
Darr: "↡",
|
|
1751
|
+
dArr: "⇓",
|
|
1752
|
+
darr: "↓",
|
|
1753
|
+
dash: "‐",
|
|
1754
|
+
Dashv: "⫤",
|
|
1755
|
+
dashv: "⊣",
|
|
1756
|
+
dbkarow: "⤏",
|
|
1757
|
+
dblac: "˝",
|
|
1758
|
+
Dcaron: "Ď",
|
|
1759
|
+
dcaron: "ď",
|
|
1760
|
+
Dcy: "Д",
|
|
1761
|
+
dcy: "д",
|
|
1762
|
+
DD: "ⅅ",
|
|
1763
|
+
dd: "ⅆ",
|
|
1764
|
+
ddagger: "‡",
|
|
1765
|
+
ddarr: "⇊",
|
|
1766
|
+
DDotrahd: "⤑",
|
|
1767
|
+
ddotseq: "⩷",
|
|
1768
|
+
deg: "°",
|
|
1769
|
+
Del: "∇",
|
|
1770
|
+
Delta: "Δ",
|
|
1771
|
+
delta: "δ",
|
|
1772
|
+
demptyv: "⦱",
|
|
1773
|
+
dfisht: "⥿",
|
|
1774
|
+
Dfr: "𝔇",
|
|
1775
|
+
dfr: "𝔡",
|
|
1776
|
+
dHar: "⥥",
|
|
1777
|
+
dharl: "⇃",
|
|
1778
|
+
dharr: "⇂",
|
|
1779
|
+
DiacriticalAcute: "´",
|
|
1780
|
+
DiacriticalDot: "˙",
|
|
1781
|
+
DiacriticalDoubleAcute: "˝",
|
|
1782
|
+
DiacriticalGrave: "`",
|
|
1783
|
+
DiacriticalTilde: "˜",
|
|
1784
|
+
diam: "⋄",
|
|
1785
|
+
Diamond: "⋄",
|
|
1786
|
+
diamond: "⋄",
|
|
1787
|
+
diamondsuit: "♦",
|
|
1788
|
+
diams: "♦",
|
|
1789
|
+
die: "¨",
|
|
1790
|
+
DifferentialD: "ⅆ",
|
|
1791
|
+
digamma: "ϝ",
|
|
1792
|
+
disin: "⋲",
|
|
1793
|
+
div: "÷",
|
|
1794
|
+
divide: "÷",
|
|
1795
|
+
divideontimes: "⋇",
|
|
1796
|
+
divonx: "⋇",
|
|
1797
|
+
DJcy: "Ђ",
|
|
1798
|
+
djcy: "ђ",
|
|
1799
|
+
dlcorn: "⌞",
|
|
1800
|
+
dlcrop: "⌍",
|
|
1801
|
+
dollar: "$",
|
|
1802
|
+
Dopf: "𝔻",
|
|
1803
|
+
dopf: "𝕕",
|
|
1804
|
+
Dot: "¨",
|
|
1805
|
+
dot: "˙",
|
|
1806
|
+
DotDot: "⃜",
|
|
1807
|
+
doteq: "≐",
|
|
1808
|
+
doteqdot: "≑",
|
|
1809
|
+
DotEqual: "≐",
|
|
1810
|
+
dotminus: "∸",
|
|
1811
|
+
dotplus: "∔",
|
|
1812
|
+
dotsquare: "⊡",
|
|
1813
|
+
doublebarwedge: "⌆",
|
|
1814
|
+
DoubleContourIntegral: "∯",
|
|
1815
|
+
DoubleDot: "¨",
|
|
1816
|
+
DoubleDownArrow: "⇓",
|
|
1817
|
+
DoubleLeftArrow: "⇐",
|
|
1818
|
+
DoubleLeftRightArrow: "⇔",
|
|
1819
|
+
DoubleLeftTee: "⫤",
|
|
1820
|
+
DoubleLongLeftArrow: "⟸",
|
|
1821
|
+
DoubleLongLeftRightArrow: "⟺",
|
|
1822
|
+
DoubleLongRightArrow: "⟹",
|
|
1823
|
+
DoubleRightArrow: "⇒",
|
|
1824
|
+
DoubleRightTee: "⊨",
|
|
1825
|
+
DoubleUpArrow: "⇑",
|
|
1826
|
+
DoubleUpDownArrow: "⇕",
|
|
1827
|
+
DoubleVerticalBar: "∥",
|
|
1828
|
+
DownArrow: "↓",
|
|
1829
|
+
Downarrow: "⇓",
|
|
1830
|
+
downarrow: "↓",
|
|
1831
|
+
DownArrowBar: "⤓",
|
|
1832
|
+
DownArrowUpArrow: "⇵",
|
|
1833
|
+
DownBreve: "̑",
|
|
1834
|
+
downdownarrows: "⇊",
|
|
1835
|
+
downharpoonleft: "⇃",
|
|
1836
|
+
downharpoonright: "⇂",
|
|
1837
|
+
DownLeftRightVector: "⥐",
|
|
1838
|
+
DownLeftTeeVector: "⥞",
|
|
1839
|
+
DownLeftVector: "↽",
|
|
1840
|
+
DownLeftVectorBar: "⥖",
|
|
1841
|
+
DownRightTeeVector: "⥟",
|
|
1842
|
+
DownRightVector: "⇁",
|
|
1843
|
+
DownRightVectorBar: "⥗",
|
|
1844
|
+
DownTee: "⊤",
|
|
1845
|
+
DownTeeArrow: "↧",
|
|
1846
|
+
drbkarow: "⤐",
|
|
1847
|
+
drcorn: "⌟",
|
|
1848
|
+
drcrop: "⌌",
|
|
1849
|
+
Dscr: "𝒟",
|
|
1850
|
+
dscr: "𝒹",
|
|
1851
|
+
DScy: "Ѕ",
|
|
1852
|
+
dscy: "ѕ",
|
|
1853
|
+
dsol: "⧶",
|
|
1854
|
+
Dstrok: "Đ",
|
|
1855
|
+
dstrok: "đ",
|
|
1856
|
+
dtdot: "⋱",
|
|
1857
|
+
dtri: "▿",
|
|
1858
|
+
dtrif: "▾",
|
|
1859
|
+
duarr: "⇵",
|
|
1860
|
+
duhar: "⥯",
|
|
1861
|
+
dwangle: "⦦",
|
|
1862
|
+
DZcy: "Џ",
|
|
1863
|
+
dzcy: "џ",
|
|
1864
|
+
dzigrarr: "⟿",
|
|
1865
|
+
Eacute: "É",
|
|
1866
|
+
eacute: "é",
|
|
1867
|
+
easter: "⩮",
|
|
1868
|
+
Ecaron: "Ě",
|
|
1869
|
+
ecaron: "ě",
|
|
1870
|
+
ecir: "≖",
|
|
1871
|
+
Ecirc: "Ê",
|
|
1872
|
+
ecirc: "ê",
|
|
1873
|
+
ecolon: "≕",
|
|
1874
|
+
Ecy: "Э",
|
|
1875
|
+
ecy: "э",
|
|
1876
|
+
eDDot: "⩷",
|
|
1877
|
+
Edot: "Ė",
|
|
1878
|
+
eDot: "≑",
|
|
1879
|
+
edot: "ė",
|
|
1880
|
+
ee: "ⅇ",
|
|
1881
|
+
efDot: "≒",
|
|
1882
|
+
Efr: "𝔈",
|
|
1883
|
+
efr: "𝔢",
|
|
1884
|
+
eg: "⪚",
|
|
1885
|
+
Egrave: "È",
|
|
1886
|
+
egrave: "è",
|
|
1887
|
+
egs: "⪖",
|
|
1888
|
+
egsdot: "⪘",
|
|
1889
|
+
el: "⪙",
|
|
1890
|
+
Element: "∈",
|
|
1891
|
+
elinters: "⏧",
|
|
1892
|
+
ell: "ℓ",
|
|
1893
|
+
els: "⪕",
|
|
1894
|
+
elsdot: "⪗",
|
|
1895
|
+
Emacr: "Ē",
|
|
1896
|
+
emacr: "ē",
|
|
1897
|
+
empty: "∅",
|
|
1898
|
+
emptyset: "∅",
|
|
1899
|
+
EmptySmallSquare: "◻",
|
|
1900
|
+
emptyv: "∅",
|
|
1901
|
+
EmptyVerySmallSquare: "▫",
|
|
1902
|
+
emsp: " ",
|
|
1903
|
+
emsp13: " ",
|
|
1904
|
+
emsp14: " ",
|
|
1905
|
+
ENG: "Ŋ",
|
|
1906
|
+
eng: "ŋ",
|
|
1907
|
+
ensp: " ",
|
|
1908
|
+
Eogon: "Ę",
|
|
1909
|
+
eogon: "ę",
|
|
1910
|
+
Eopf: "𝔼",
|
|
1911
|
+
eopf: "𝕖",
|
|
1912
|
+
epar: "⋕",
|
|
1913
|
+
eparsl: "⧣",
|
|
1914
|
+
eplus: "⩱",
|
|
1915
|
+
epsi: "ε",
|
|
1916
|
+
Epsilon: "Ε",
|
|
1917
|
+
epsilon: "ε",
|
|
1918
|
+
epsiv: "ϵ",
|
|
1919
|
+
eqcirc: "≖",
|
|
1920
|
+
eqcolon: "≕",
|
|
1921
|
+
eqsim: "≂",
|
|
1922
|
+
eqslantgtr: "⪖",
|
|
1923
|
+
eqslantless: "⪕",
|
|
1924
|
+
Equal: "⩵",
|
|
1925
|
+
equals: "=",
|
|
1926
|
+
EqualTilde: "≂",
|
|
1927
|
+
equest: "≟",
|
|
1928
|
+
Equilibrium: "⇌",
|
|
1929
|
+
equiv: "≡",
|
|
1930
|
+
equivDD: "⩸",
|
|
1931
|
+
eqvparsl: "⧥",
|
|
1932
|
+
erarr: "⥱",
|
|
1933
|
+
erDot: "≓",
|
|
1934
|
+
Escr: "ℰ",
|
|
1935
|
+
escr: "ℯ",
|
|
1936
|
+
esdot: "≐",
|
|
1937
|
+
Esim: "⩳",
|
|
1938
|
+
esim: "≂",
|
|
1939
|
+
Eta: "Η",
|
|
1940
|
+
eta: "η",
|
|
1941
|
+
ETH: "Ð",
|
|
1942
|
+
eth: "ð",
|
|
1943
|
+
Euml: "Ë",
|
|
1944
|
+
euml: "ë",
|
|
1945
|
+
euro: "€",
|
|
1946
|
+
excl: "!",
|
|
1947
|
+
exist: "∃",
|
|
1948
|
+
Exists: "∃",
|
|
1949
|
+
expectation: "ℰ",
|
|
1950
|
+
ExponentialE: "ⅇ",
|
|
1951
|
+
exponentiale: "ⅇ",
|
|
1952
|
+
fallingdotseq: "≒",
|
|
1953
|
+
Fcy: "Ф",
|
|
1954
|
+
fcy: "ф",
|
|
1955
|
+
female: "♀",
|
|
1956
|
+
ffilig: "ffi",
|
|
1957
|
+
fflig: "ff",
|
|
1958
|
+
ffllig: "ffl",
|
|
1959
|
+
Ffr: "𝔉",
|
|
1960
|
+
ffr: "𝔣",
|
|
1961
|
+
filig: "fi",
|
|
1962
|
+
FilledSmallSquare: "◼",
|
|
1963
|
+
FilledVerySmallSquare: "▪",
|
|
1964
|
+
fjlig: "fj",
|
|
1965
|
+
flat: "♭",
|
|
1966
|
+
fllig: "fl",
|
|
1967
|
+
fltns: "▱",
|
|
1968
|
+
fnof: "ƒ",
|
|
1969
|
+
Fopf: "𝔽",
|
|
1970
|
+
fopf: "𝕗",
|
|
1971
|
+
ForAll: "∀",
|
|
1972
|
+
forall: "∀",
|
|
1973
|
+
fork: "⋔",
|
|
1974
|
+
forkv: "⫙",
|
|
1975
|
+
Fouriertrf: "ℱ",
|
|
1976
|
+
fpartint: "⨍",
|
|
1977
|
+
frac12: "½",
|
|
1978
|
+
frac13: "⅓",
|
|
1979
|
+
frac14: "¼",
|
|
1980
|
+
frac15: "⅕",
|
|
1981
|
+
frac16: "⅙",
|
|
1982
|
+
frac18: "⅛",
|
|
1983
|
+
frac23: "⅔",
|
|
1984
|
+
frac25: "⅖",
|
|
1985
|
+
frac34: "¾",
|
|
1986
|
+
frac35: "⅗",
|
|
1987
|
+
frac38: "⅜",
|
|
1988
|
+
frac45: "⅘",
|
|
1989
|
+
frac56: "⅚",
|
|
1990
|
+
frac58: "⅝",
|
|
1991
|
+
frac78: "⅞",
|
|
1992
|
+
frasl: "⁄",
|
|
1993
|
+
frown: "⌢",
|
|
1994
|
+
Fscr: "ℱ",
|
|
1995
|
+
fscr: "𝒻",
|
|
1996
|
+
gacute: "ǵ",
|
|
1997
|
+
Gamma: "Γ",
|
|
1998
|
+
gamma: "γ",
|
|
1999
|
+
Gammad: "Ϝ",
|
|
2000
|
+
gammad: "ϝ",
|
|
2001
|
+
gap: "⪆",
|
|
2002
|
+
Gbreve: "Ğ",
|
|
2003
|
+
gbreve: "ğ",
|
|
2004
|
+
Gcedil: "Ģ",
|
|
2005
|
+
Gcirc: "Ĝ",
|
|
2006
|
+
gcirc: "ĝ",
|
|
2007
|
+
Gcy: "Г",
|
|
2008
|
+
gcy: "г",
|
|
2009
|
+
Gdot: "Ġ",
|
|
2010
|
+
gdot: "ġ",
|
|
2011
|
+
gE: "≧",
|
|
2012
|
+
ge: "≥",
|
|
2013
|
+
gEl: "⪌",
|
|
2014
|
+
gel: "⋛",
|
|
2015
|
+
geq: "≥",
|
|
2016
|
+
geqq: "≧",
|
|
2017
|
+
geqslant: "⩾",
|
|
2018
|
+
ges: "⩾",
|
|
2019
|
+
gescc: "⪩",
|
|
2020
|
+
gesdot: "⪀",
|
|
2021
|
+
gesdoto: "⪂",
|
|
2022
|
+
gesdotol: "⪄",
|
|
2023
|
+
gesl: "⋛︀",
|
|
2024
|
+
gesles: "⪔",
|
|
2025
|
+
Gfr: "𝔊",
|
|
2026
|
+
gfr: "𝔤",
|
|
2027
|
+
Gg: "⋙",
|
|
2028
|
+
gg: "≫",
|
|
2029
|
+
ggg: "⋙",
|
|
2030
|
+
gimel: "ℷ",
|
|
2031
|
+
GJcy: "Ѓ",
|
|
2032
|
+
gjcy: "ѓ",
|
|
2033
|
+
gl: "≷",
|
|
2034
|
+
gla: "⪥",
|
|
2035
|
+
glE: "⪒",
|
|
2036
|
+
glj: "⪤",
|
|
2037
|
+
gnap: "⪊",
|
|
2038
|
+
gnapprox: "⪊",
|
|
2039
|
+
gnE: "≩",
|
|
2040
|
+
gne: "⪈",
|
|
2041
|
+
gneq: "⪈",
|
|
2042
|
+
gneqq: "≩",
|
|
2043
|
+
gnsim: "⋧",
|
|
2044
|
+
Gopf: "𝔾",
|
|
2045
|
+
gopf: "𝕘",
|
|
2046
|
+
grave: "`",
|
|
2047
|
+
GreaterEqual: "≥",
|
|
2048
|
+
GreaterEqualLess: "⋛",
|
|
2049
|
+
GreaterFullEqual: "≧",
|
|
2050
|
+
GreaterGreater: "⪢",
|
|
2051
|
+
GreaterLess: "≷",
|
|
2052
|
+
GreaterSlantEqual: "⩾",
|
|
2053
|
+
GreaterTilde: "≳",
|
|
2054
|
+
Gscr: "𝒢",
|
|
2055
|
+
gscr: "ℊ",
|
|
2056
|
+
gsim: "≳",
|
|
2057
|
+
gsime: "⪎",
|
|
2058
|
+
gsiml: "⪐",
|
|
2059
|
+
Gt: "≫",
|
|
2060
|
+
GT: ">",
|
|
2061
|
+
gt: ">",
|
|
2062
|
+
gtcc: "⪧",
|
|
2063
|
+
gtcir: "⩺",
|
|
2064
|
+
gtdot: "⋗",
|
|
2065
|
+
gtlPar: "⦕",
|
|
2066
|
+
gtquest: "⩼",
|
|
2067
|
+
gtrapprox: "⪆",
|
|
2068
|
+
gtrarr: "⥸",
|
|
2069
|
+
gtrdot: "⋗",
|
|
2070
|
+
gtreqless: "⋛",
|
|
2071
|
+
gtreqqless: "⪌",
|
|
2072
|
+
gtrless: "≷",
|
|
2073
|
+
gtrsim: "≳",
|
|
2074
|
+
gvertneqq: "≩︀",
|
|
2075
|
+
gvnE: "≩︀",
|
|
2076
|
+
Hacek: "ˇ",
|
|
2077
|
+
hairsp: " ",
|
|
2078
|
+
half: "½",
|
|
2079
|
+
hamilt: "ℋ",
|
|
2080
|
+
HARDcy: "Ъ",
|
|
2081
|
+
hardcy: "ъ",
|
|
2082
|
+
hArr: "⇔",
|
|
2083
|
+
harr: "↔",
|
|
2084
|
+
harrcir: "⥈",
|
|
2085
|
+
harrw: "↭",
|
|
2086
|
+
Hat: "^",
|
|
2087
|
+
hbar: "ℏ",
|
|
2088
|
+
Hcirc: "Ĥ",
|
|
2089
|
+
hcirc: "ĥ",
|
|
2090
|
+
hearts: "♥",
|
|
2091
|
+
heartsuit: "♥",
|
|
2092
|
+
hellip: "…",
|
|
2093
|
+
hercon: "⊹",
|
|
2094
|
+
Hfr: "ℌ",
|
|
2095
|
+
hfr: "𝔥",
|
|
2096
|
+
HilbertSpace: "ℋ",
|
|
2097
|
+
hksearow: "⤥",
|
|
2098
|
+
hkswarow: "⤦",
|
|
2099
|
+
hoarr: "⇿",
|
|
2100
|
+
homtht: "∻",
|
|
2101
|
+
hookleftarrow: "↩",
|
|
2102
|
+
hookrightarrow: "↪",
|
|
2103
|
+
Hopf: "ℍ",
|
|
2104
|
+
hopf: "𝕙",
|
|
2105
|
+
horbar: "―",
|
|
2106
|
+
HorizontalLine: "─",
|
|
2107
|
+
Hscr: "ℋ",
|
|
2108
|
+
hscr: "𝒽",
|
|
2109
|
+
hslash: "ℏ",
|
|
2110
|
+
Hstrok: "Ħ",
|
|
2111
|
+
hstrok: "ħ",
|
|
2112
|
+
HumpDownHump: "≎",
|
|
2113
|
+
HumpEqual: "≏",
|
|
2114
|
+
hybull: "⁃",
|
|
2115
|
+
hyphen: "‐",
|
|
2116
|
+
Iacute: "Í",
|
|
2117
|
+
iacute: "í",
|
|
2118
|
+
ic: "",
|
|
2119
|
+
Icirc: "Î",
|
|
2120
|
+
icirc: "î",
|
|
2121
|
+
Icy: "И",
|
|
2122
|
+
icy: "и",
|
|
2123
|
+
Idot: "İ",
|
|
2124
|
+
IEcy: "Е",
|
|
2125
|
+
iecy: "е",
|
|
2126
|
+
iexcl: "¡",
|
|
2127
|
+
iff: "⇔",
|
|
2128
|
+
Ifr: "ℑ",
|
|
2129
|
+
ifr: "𝔦",
|
|
2130
|
+
Igrave: "Ì",
|
|
2131
|
+
igrave: "ì",
|
|
2132
|
+
ii: "ⅈ",
|
|
2133
|
+
iiiint: "⨌",
|
|
2134
|
+
iiint: "∭",
|
|
2135
|
+
iinfin: "⧜",
|
|
2136
|
+
iiota: "℩",
|
|
2137
|
+
IJlig: "IJ",
|
|
2138
|
+
ijlig: "ij",
|
|
2139
|
+
Im: "ℑ",
|
|
2140
|
+
Imacr: "Ī",
|
|
2141
|
+
imacr: "ī",
|
|
2142
|
+
image: "ℑ",
|
|
2143
|
+
ImaginaryI: "ⅈ",
|
|
2144
|
+
imagline: "ℐ",
|
|
2145
|
+
imagpart: "ℑ",
|
|
2146
|
+
imath: "ı",
|
|
2147
|
+
imof: "⊷",
|
|
2148
|
+
imped: "Ƶ",
|
|
2149
|
+
Implies: "⇒",
|
|
2150
|
+
in: "∈",
|
|
2151
|
+
incare: "℅",
|
|
2152
|
+
infin: "∞",
|
|
2153
|
+
infintie: "⧝",
|
|
2154
|
+
inodot: "ı",
|
|
2155
|
+
Int: "∬",
|
|
2156
|
+
int: "∫",
|
|
2157
|
+
intcal: "⊺",
|
|
2158
|
+
integers: "ℤ",
|
|
2159
|
+
Integral: "∫",
|
|
2160
|
+
intercal: "⊺",
|
|
2161
|
+
Intersection: "⋂",
|
|
2162
|
+
intlarhk: "⨗",
|
|
2163
|
+
intprod: "⨼",
|
|
2164
|
+
InvisibleComma: "",
|
|
2165
|
+
InvisibleTimes: "",
|
|
2166
|
+
IOcy: "Ё",
|
|
2167
|
+
iocy: "ё",
|
|
2168
|
+
Iogon: "Į",
|
|
2169
|
+
iogon: "į",
|
|
2170
|
+
Iopf: "𝕀",
|
|
2171
|
+
iopf: "𝕚",
|
|
2172
|
+
Iota: "Ι",
|
|
2173
|
+
iota: "ι",
|
|
2174
|
+
iprod: "⨼",
|
|
2175
|
+
iquest: "¿",
|
|
2176
|
+
Iscr: "ℐ",
|
|
2177
|
+
iscr: "𝒾",
|
|
2178
|
+
isin: "∈",
|
|
2179
|
+
isindot: "⋵",
|
|
2180
|
+
isinE: "⋹",
|
|
2181
|
+
isins: "⋴",
|
|
2182
|
+
isinsv: "⋳",
|
|
2183
|
+
isinv: "∈",
|
|
2184
|
+
it: "",
|
|
2185
|
+
Itilde: "Ĩ",
|
|
2186
|
+
itilde: "ĩ",
|
|
2187
|
+
Iukcy: "І",
|
|
2188
|
+
iukcy: "і",
|
|
2189
|
+
Iuml: "Ï",
|
|
2190
|
+
iuml: "ï",
|
|
2191
|
+
Jcirc: "Ĵ",
|
|
2192
|
+
jcirc: "ĵ",
|
|
2193
|
+
Jcy: "Й",
|
|
2194
|
+
jcy: "й",
|
|
2195
|
+
Jfr: "𝔍",
|
|
2196
|
+
jfr: "𝔧",
|
|
2197
|
+
jmath: "ȷ",
|
|
2198
|
+
Jopf: "𝕁",
|
|
2199
|
+
jopf: "𝕛",
|
|
2200
|
+
Jscr: "𝒥",
|
|
2201
|
+
jscr: "𝒿",
|
|
2202
|
+
Jsercy: "Ј",
|
|
2203
|
+
jsercy: "ј",
|
|
2204
|
+
Jukcy: "Є",
|
|
2205
|
+
jukcy: "є",
|
|
2206
|
+
Kappa: "Κ",
|
|
2207
|
+
kappa: "κ",
|
|
2208
|
+
kappav: "ϰ",
|
|
2209
|
+
Kcedil: "Ķ",
|
|
2210
|
+
kcedil: "ķ",
|
|
2211
|
+
Kcy: "К",
|
|
2212
|
+
kcy: "к",
|
|
2213
|
+
Kfr: "𝔎",
|
|
2214
|
+
kfr: "𝔨",
|
|
2215
|
+
kgreen: "ĸ",
|
|
2216
|
+
KHcy: "Х",
|
|
2217
|
+
khcy: "х",
|
|
2218
|
+
KJcy: "Ќ",
|
|
2219
|
+
kjcy: "ќ",
|
|
2220
|
+
Kopf: "𝕂",
|
|
2221
|
+
kopf: "𝕜",
|
|
2222
|
+
Kscr: "𝒦",
|
|
2223
|
+
kscr: "𝓀",
|
|
2224
|
+
lAarr: "⇚",
|
|
2225
|
+
Lacute: "Ĺ",
|
|
2226
|
+
lacute: "ĺ",
|
|
2227
|
+
laemptyv: "⦴",
|
|
2228
|
+
lagran: "ℒ",
|
|
2229
|
+
Lambda: "Λ",
|
|
2230
|
+
lambda: "λ",
|
|
2231
|
+
Lang: "⟪",
|
|
2232
|
+
lang: "⟨",
|
|
2233
|
+
langd: "⦑",
|
|
2234
|
+
langle: "⟨",
|
|
2235
|
+
lap: "⪅",
|
|
2236
|
+
Laplacetrf: "ℒ",
|
|
2237
|
+
laquo: "«",
|
|
2238
|
+
Larr: "↞",
|
|
2239
|
+
lArr: "⇐",
|
|
2240
|
+
larr: "←",
|
|
2241
|
+
larrb: "⇤",
|
|
2242
|
+
larrbfs: "⤟",
|
|
2243
|
+
larrfs: "⤝",
|
|
2244
|
+
larrhk: "↩",
|
|
2245
|
+
larrlp: "↫",
|
|
2246
|
+
larrpl: "⤹",
|
|
2247
|
+
larrsim: "⥳",
|
|
2248
|
+
larrtl: "↢",
|
|
2249
|
+
lat: "⪫",
|
|
2250
|
+
lAtail: "⤛",
|
|
2251
|
+
latail: "⤙",
|
|
2252
|
+
late: "⪭",
|
|
2253
|
+
lates: "⪭︀",
|
|
2254
|
+
lBarr: "⤎",
|
|
2255
|
+
lbarr: "⤌",
|
|
2256
|
+
lbbrk: "❲",
|
|
2257
|
+
lbrace: "{",
|
|
2258
|
+
lbrack: "[",
|
|
2259
|
+
lbrke: "⦋",
|
|
2260
|
+
lbrksld: "⦏",
|
|
2261
|
+
lbrkslu: "⦍",
|
|
2262
|
+
Lcaron: "Ľ",
|
|
2263
|
+
lcaron: "ľ",
|
|
2264
|
+
Lcedil: "Ļ",
|
|
2265
|
+
lcedil: "ļ",
|
|
2266
|
+
lceil: "⌈",
|
|
2267
|
+
lcub: "{",
|
|
2268
|
+
Lcy: "Л",
|
|
2269
|
+
lcy: "л",
|
|
2270
|
+
ldca: "⤶",
|
|
2271
|
+
ldquo: "“",
|
|
2272
|
+
ldquor: "„",
|
|
2273
|
+
ldrdhar: "⥧",
|
|
2274
|
+
ldrushar: "⥋",
|
|
2275
|
+
ldsh: "↲",
|
|
2276
|
+
lE: "≦",
|
|
2277
|
+
le: "≤",
|
|
2278
|
+
LeftAngleBracket: "⟨",
|
|
2279
|
+
LeftArrow: "←",
|
|
2280
|
+
Leftarrow: "⇐",
|
|
2281
|
+
leftarrow: "←",
|
|
2282
|
+
LeftArrowBar: "⇤",
|
|
2283
|
+
LeftArrowRightArrow: "⇆",
|
|
2284
|
+
leftarrowtail: "↢",
|
|
2285
|
+
LeftCeiling: "⌈",
|
|
2286
|
+
LeftDoubleBracket: "⟦",
|
|
2287
|
+
LeftDownTeeVector: "⥡",
|
|
2288
|
+
LeftDownVector: "⇃",
|
|
2289
|
+
LeftDownVectorBar: "⥙",
|
|
2290
|
+
LeftFloor: "⌊",
|
|
2291
|
+
leftharpoondown: "↽",
|
|
2292
|
+
leftharpoonup: "↼",
|
|
2293
|
+
leftleftarrows: "⇇",
|
|
2294
|
+
LeftRightArrow: "↔",
|
|
2295
|
+
Leftrightarrow: "⇔",
|
|
2296
|
+
leftrightarrow: "↔",
|
|
2297
|
+
leftrightarrows: "⇆",
|
|
2298
|
+
leftrightharpoons: "⇋",
|
|
2299
|
+
leftrightsquigarrow: "↭",
|
|
2300
|
+
LeftRightVector: "⥎",
|
|
2301
|
+
LeftTee: "⊣",
|
|
2302
|
+
LeftTeeArrow: "↤",
|
|
2303
|
+
LeftTeeVector: "⥚",
|
|
2304
|
+
leftthreetimes: "⋋",
|
|
2305
|
+
LeftTriangle: "⊲",
|
|
2306
|
+
LeftTriangleBar: "⧏",
|
|
2307
|
+
LeftTriangleEqual: "⊴",
|
|
2308
|
+
LeftUpDownVector: "⥑",
|
|
2309
|
+
LeftUpTeeVector: "⥠",
|
|
2310
|
+
LeftUpVector: "↿",
|
|
2311
|
+
LeftUpVectorBar: "⥘",
|
|
2312
|
+
LeftVector: "↼",
|
|
2313
|
+
LeftVectorBar: "⥒",
|
|
2314
|
+
lEg: "⪋",
|
|
2315
|
+
leg: "⋚",
|
|
2316
|
+
leq: "≤",
|
|
2317
|
+
leqq: "≦",
|
|
2318
|
+
leqslant: "⩽",
|
|
2319
|
+
les: "⩽",
|
|
2320
|
+
lescc: "⪨",
|
|
2321
|
+
lesdot: "⩿",
|
|
2322
|
+
lesdoto: "⪁",
|
|
2323
|
+
lesdotor: "⪃",
|
|
2324
|
+
lesg: "⋚︀",
|
|
2325
|
+
lesges: "⪓",
|
|
2326
|
+
lessapprox: "⪅",
|
|
2327
|
+
lessdot: "⋖",
|
|
2328
|
+
lesseqgtr: "⋚",
|
|
2329
|
+
lesseqqgtr: "⪋",
|
|
2330
|
+
LessEqualGreater: "⋚",
|
|
2331
|
+
LessFullEqual: "≦",
|
|
2332
|
+
LessGreater: "≶",
|
|
2333
|
+
lessgtr: "≶",
|
|
2334
|
+
LessLess: "⪡",
|
|
2335
|
+
lesssim: "≲",
|
|
2336
|
+
LessSlantEqual: "⩽",
|
|
2337
|
+
LessTilde: "≲",
|
|
2338
|
+
lfisht: "⥼",
|
|
2339
|
+
lfloor: "⌊",
|
|
2340
|
+
Lfr: "𝔏",
|
|
2341
|
+
lfr: "𝔩",
|
|
2342
|
+
lg: "≶",
|
|
2343
|
+
lgE: "⪑",
|
|
2344
|
+
lHar: "⥢",
|
|
2345
|
+
lhard: "↽",
|
|
2346
|
+
lharu: "↼",
|
|
2347
|
+
lharul: "⥪",
|
|
2348
|
+
lhblk: "▄",
|
|
2349
|
+
LJcy: "Љ",
|
|
2350
|
+
ljcy: "љ",
|
|
2351
|
+
Ll: "⋘",
|
|
2352
|
+
ll: "≪",
|
|
2353
|
+
llarr: "⇇",
|
|
2354
|
+
llcorner: "⌞",
|
|
2355
|
+
Lleftarrow: "⇚",
|
|
2356
|
+
llhard: "⥫",
|
|
2357
|
+
lltri: "◺",
|
|
2358
|
+
Lmidot: "Ŀ",
|
|
2359
|
+
lmidot: "ŀ",
|
|
2360
|
+
lmoust: "⎰",
|
|
2361
|
+
lmoustache: "⎰",
|
|
2362
|
+
lnap: "⪉",
|
|
2363
|
+
lnapprox: "⪉",
|
|
2364
|
+
lnE: "≨",
|
|
2365
|
+
lne: "⪇",
|
|
2366
|
+
lneq: "⪇",
|
|
2367
|
+
lneqq: "≨",
|
|
2368
|
+
lnsim: "⋦",
|
|
2369
|
+
loang: "⟬",
|
|
2370
|
+
loarr: "⇽",
|
|
2371
|
+
lobrk: "⟦",
|
|
2372
|
+
LongLeftArrow: "⟵",
|
|
2373
|
+
Longleftarrow: "⟸",
|
|
2374
|
+
longleftarrow: "⟵",
|
|
2375
|
+
LongLeftRightArrow: "⟷",
|
|
2376
|
+
Longleftrightarrow: "⟺",
|
|
2377
|
+
longleftrightarrow: "⟷",
|
|
2378
|
+
longmapsto: "⟼",
|
|
2379
|
+
LongRightArrow: "⟶",
|
|
2380
|
+
Longrightarrow: "⟹",
|
|
2381
|
+
longrightarrow: "⟶",
|
|
2382
|
+
looparrowleft: "↫",
|
|
2383
|
+
looparrowright: "↬",
|
|
2384
|
+
lopar: "⦅",
|
|
2385
|
+
Lopf: "𝕃",
|
|
2386
|
+
lopf: "𝕝",
|
|
2387
|
+
loplus: "⨭",
|
|
2388
|
+
lotimes: "⨴",
|
|
2389
|
+
lowast: "∗",
|
|
2390
|
+
lowbar: "_",
|
|
2391
|
+
LowerLeftArrow: "↙",
|
|
2392
|
+
LowerRightArrow: "↘",
|
|
2393
|
+
loz: "◊",
|
|
2394
|
+
lozenge: "◊",
|
|
2395
|
+
lozf: "⧫",
|
|
2396
|
+
lpar: "(",
|
|
2397
|
+
lparlt: "⦓",
|
|
2398
|
+
lrarr: "⇆",
|
|
2399
|
+
lrcorner: "⌟",
|
|
2400
|
+
lrhar: "⇋",
|
|
2401
|
+
lrhard: "⥭",
|
|
2402
|
+
lrm: "",
|
|
2403
|
+
lrtri: "⊿",
|
|
2404
|
+
lsaquo: "‹",
|
|
2405
|
+
Lscr: "ℒ",
|
|
2406
|
+
lscr: "𝓁",
|
|
2407
|
+
Lsh: "↰",
|
|
2408
|
+
lsh: "↰",
|
|
2409
|
+
lsim: "≲",
|
|
2410
|
+
lsime: "⪍",
|
|
2411
|
+
lsimg: "⪏",
|
|
2412
|
+
lsqb: "[",
|
|
2413
|
+
lsquo: "‘",
|
|
2414
|
+
lsquor: "‚",
|
|
2415
|
+
Lstrok: "Ł",
|
|
2416
|
+
lstrok: "ł",
|
|
2417
|
+
Lt: "≪",
|
|
2418
|
+
LT: "<",
|
|
2419
|
+
lt: "<",
|
|
2420
|
+
ltcc: "⪦",
|
|
2421
|
+
ltcir: "⩹",
|
|
2422
|
+
ltdot: "⋖",
|
|
2423
|
+
lthree: "⋋",
|
|
2424
|
+
ltimes: "⋉",
|
|
2425
|
+
ltlarr: "⥶",
|
|
2426
|
+
ltquest: "⩻",
|
|
2427
|
+
ltri: "◃",
|
|
2428
|
+
ltrie: "⊴",
|
|
2429
|
+
ltrif: "◂",
|
|
2430
|
+
ltrPar: "⦖",
|
|
2431
|
+
lurdshar: "⥊",
|
|
2432
|
+
luruhar: "⥦",
|
|
2433
|
+
lvertneqq: "≨︀",
|
|
2434
|
+
lvnE: "≨︀",
|
|
2435
|
+
macr: "¯",
|
|
2436
|
+
male: "♂",
|
|
2437
|
+
malt: "✠",
|
|
2438
|
+
maltese: "✠",
|
|
2439
|
+
Map: "⤅",
|
|
2440
|
+
map: "↦",
|
|
2441
|
+
mapsto: "↦",
|
|
2442
|
+
mapstodown: "↧",
|
|
2443
|
+
mapstoleft: "↤",
|
|
2444
|
+
mapstoup: "↥",
|
|
2445
|
+
marker: "▮",
|
|
2446
|
+
mcomma: "⨩",
|
|
2447
|
+
Mcy: "М",
|
|
2448
|
+
mcy: "м",
|
|
2449
|
+
mdash: "—",
|
|
2450
|
+
mDDot: "∺",
|
|
2451
|
+
measuredangle: "∡",
|
|
2452
|
+
MediumSpace: " ",
|
|
2453
|
+
Mellintrf: "ℳ",
|
|
2454
|
+
Mfr: "𝔐",
|
|
2455
|
+
mfr: "𝔪",
|
|
2456
|
+
mho: "℧",
|
|
2457
|
+
micro: "µ",
|
|
2458
|
+
mid: "∣",
|
|
2459
|
+
midast: "*",
|
|
2460
|
+
midcir: "⫰",
|
|
2461
|
+
middot: "·",
|
|
2462
|
+
minus: "−",
|
|
2463
|
+
minusb: "⊟",
|
|
2464
|
+
minusd: "∸",
|
|
2465
|
+
minusdu: "⨪",
|
|
2466
|
+
MinusPlus: "∓",
|
|
2467
|
+
mlcp: "⫛",
|
|
2468
|
+
mldr: "…",
|
|
2469
|
+
mnplus: "∓",
|
|
2470
|
+
models: "⊧",
|
|
2471
|
+
Mopf: "𝕄",
|
|
2472
|
+
mopf: "𝕞",
|
|
2473
|
+
mp: "∓",
|
|
2474
|
+
Mscr: "ℳ",
|
|
2475
|
+
mscr: "𝓂",
|
|
2476
|
+
mstpos: "∾",
|
|
2477
|
+
Mu: "Μ",
|
|
2478
|
+
mu: "μ",
|
|
2479
|
+
multimap: "⊸",
|
|
2480
|
+
mumap: "⊸",
|
|
2481
|
+
nabla: "∇",
|
|
2482
|
+
Nacute: "Ń",
|
|
2483
|
+
nacute: "ń",
|
|
2484
|
+
nang: "∠⃒",
|
|
2485
|
+
nap: "≉",
|
|
2486
|
+
napE: "⩰̸",
|
|
2487
|
+
napid: "≋̸",
|
|
2488
|
+
napos: "ʼn",
|
|
2489
|
+
napprox: "≉",
|
|
2490
|
+
natur: "♮",
|
|
2491
|
+
natural: "♮",
|
|
2492
|
+
naturals: "ℕ",
|
|
2493
|
+
nbsp: "\xA0",
|
|
2494
|
+
nbump: "≎̸",
|
|
2495
|
+
nbumpe: "≏̸",
|
|
2496
|
+
ncap: "⩃",
|
|
2497
|
+
Ncaron: "Ň",
|
|
2498
|
+
ncaron: "ň",
|
|
2499
|
+
Ncedil: "Ņ",
|
|
2500
|
+
ncedil: "ņ",
|
|
2501
|
+
ncong: "≇",
|
|
2502
|
+
ncongdot: "⩭̸",
|
|
2503
|
+
ncup: "⩂",
|
|
2504
|
+
Ncy: "Н",
|
|
2505
|
+
ncy: "н",
|
|
2506
|
+
ndash: "–",
|
|
2507
|
+
ne: "≠",
|
|
2508
|
+
nearhk: "⤤",
|
|
2509
|
+
neArr: "⇗",
|
|
2510
|
+
nearr: "↗",
|
|
2511
|
+
nearrow: "↗",
|
|
2512
|
+
nedot: "≐̸",
|
|
2513
|
+
NegativeMediumSpace: "",
|
|
2514
|
+
NegativeThickSpace: "",
|
|
2515
|
+
NegativeThinSpace: "",
|
|
2516
|
+
NegativeVeryThinSpace: "",
|
|
2517
|
+
nequiv: "≢",
|
|
2518
|
+
nesear: "⤨",
|
|
2519
|
+
nesim: "≂̸",
|
|
2520
|
+
NestedGreaterGreater: "≫",
|
|
2521
|
+
NestedLessLess: "≪",
|
|
2522
|
+
NewLine: "\n",
|
|
2523
|
+
nexist: "∄",
|
|
2524
|
+
nexists: "∄",
|
|
2525
|
+
Nfr: "𝔑",
|
|
2526
|
+
nfr: "𝔫",
|
|
2527
|
+
ngE: "≧̸",
|
|
2528
|
+
nge: "≱",
|
|
2529
|
+
ngeq: "≱",
|
|
2530
|
+
ngeqq: "≧̸",
|
|
2531
|
+
ngeqslant: "⩾̸",
|
|
2532
|
+
nges: "⩾̸",
|
|
2533
|
+
nGg: "⋙̸",
|
|
2534
|
+
ngsim: "≵",
|
|
2535
|
+
nGt: "≫⃒",
|
|
2536
|
+
ngt: "≯",
|
|
2537
|
+
ngtr: "≯",
|
|
2538
|
+
nGtv: "≫̸",
|
|
2539
|
+
nhArr: "⇎",
|
|
2540
|
+
nharr: "↮",
|
|
2541
|
+
nhpar: "⫲",
|
|
2542
|
+
ni: "∋",
|
|
2543
|
+
nis: "⋼",
|
|
2544
|
+
nisd: "⋺",
|
|
2545
|
+
niv: "∋",
|
|
2546
|
+
NJcy: "Њ",
|
|
2547
|
+
njcy: "њ",
|
|
2548
|
+
nlArr: "⇍",
|
|
2549
|
+
nlarr: "↚",
|
|
2550
|
+
nldr: "‥",
|
|
2551
|
+
nlE: "≦̸",
|
|
2552
|
+
nle: "≰",
|
|
2553
|
+
nLeftarrow: "⇍",
|
|
2554
|
+
nleftarrow: "↚",
|
|
2555
|
+
nLeftrightarrow: "⇎",
|
|
2556
|
+
nleftrightarrow: "↮",
|
|
2557
|
+
nleq: "≰",
|
|
2558
|
+
nleqq: "≦̸",
|
|
2559
|
+
nleqslant: "⩽̸",
|
|
2560
|
+
nles: "⩽̸",
|
|
2561
|
+
nless: "≮",
|
|
2562
|
+
nLl: "⋘̸",
|
|
2563
|
+
nlsim: "≴",
|
|
2564
|
+
nLt: "≪⃒",
|
|
2565
|
+
nlt: "≮",
|
|
2566
|
+
nltri: "⋪",
|
|
2567
|
+
nltrie: "⋬",
|
|
2568
|
+
nLtv: "≪̸",
|
|
2569
|
+
nmid: "∤",
|
|
2570
|
+
NoBreak: "",
|
|
2571
|
+
NonBreakingSpace: "\xA0",
|
|
2572
|
+
Nopf: "ℕ",
|
|
2573
|
+
nopf: "𝕟",
|
|
2574
|
+
Not: "⫬",
|
|
2575
|
+
not: "¬",
|
|
2576
|
+
NotCongruent: "≢",
|
|
2577
|
+
NotCupCap: "≭",
|
|
2578
|
+
NotDoubleVerticalBar: "∦",
|
|
2579
|
+
NotElement: "∉",
|
|
2580
|
+
NotEqual: "≠",
|
|
2581
|
+
NotEqualTilde: "≂̸",
|
|
2582
|
+
NotExists: "∄",
|
|
2583
|
+
NotGreater: "≯",
|
|
2584
|
+
NotGreaterEqual: "≱",
|
|
2585
|
+
NotGreaterFullEqual: "≧̸",
|
|
2586
|
+
NotGreaterGreater: "≫̸",
|
|
2587
|
+
NotGreaterLess: "≹",
|
|
2588
|
+
NotGreaterSlantEqual: "⩾̸",
|
|
2589
|
+
NotGreaterTilde: "≵",
|
|
2590
|
+
NotHumpDownHump: "≎̸",
|
|
2591
|
+
NotHumpEqual: "≏̸",
|
|
2592
|
+
notin: "∉",
|
|
2593
|
+
notindot: "⋵̸",
|
|
2594
|
+
notinE: "⋹̸",
|
|
2595
|
+
notinva: "∉",
|
|
2596
|
+
notinvb: "⋷",
|
|
2597
|
+
notinvc: "⋶",
|
|
2598
|
+
NotLeftTriangle: "⋪",
|
|
2599
|
+
NotLeftTriangleBar: "⧏̸",
|
|
2600
|
+
NotLeftTriangleEqual: "⋬",
|
|
2601
|
+
NotLess: "≮",
|
|
2602
|
+
NotLessEqual: "≰",
|
|
2603
|
+
NotLessGreater: "≸",
|
|
2604
|
+
NotLessLess: "≪̸",
|
|
2605
|
+
NotLessSlantEqual: "⩽̸",
|
|
2606
|
+
NotLessTilde: "≴",
|
|
2607
|
+
NotNestedGreaterGreater: "⪢̸",
|
|
2608
|
+
NotNestedLessLess: "⪡̸",
|
|
2609
|
+
notni: "∌",
|
|
2610
|
+
notniva: "∌",
|
|
2611
|
+
notnivb: "⋾",
|
|
2612
|
+
notnivc: "⋽",
|
|
2613
|
+
NotPrecedes: "⊀",
|
|
2614
|
+
NotPrecedesEqual: "⪯̸",
|
|
2615
|
+
NotPrecedesSlantEqual: "⋠",
|
|
2616
|
+
NotReverseElement: "∌",
|
|
2617
|
+
NotRightTriangle: "⋫",
|
|
2618
|
+
NotRightTriangleBar: "⧐̸",
|
|
2619
|
+
NotRightTriangleEqual: "⋭",
|
|
2620
|
+
NotSquareSubset: "⊏̸",
|
|
2621
|
+
NotSquareSubsetEqual: "⋢",
|
|
2622
|
+
NotSquareSuperset: "⊐̸",
|
|
2623
|
+
NotSquareSupersetEqual: "⋣",
|
|
2624
|
+
NotSubset: "⊂⃒",
|
|
2625
|
+
NotSubsetEqual: "⊈",
|
|
2626
|
+
NotSucceeds: "⊁",
|
|
2627
|
+
NotSucceedsEqual: "⪰̸",
|
|
2628
|
+
NotSucceedsSlantEqual: "⋡",
|
|
2629
|
+
NotSucceedsTilde: "≿̸",
|
|
2630
|
+
NotSuperset: "⊃⃒",
|
|
2631
|
+
NotSupersetEqual: "⊉",
|
|
2632
|
+
NotTilde: "≁",
|
|
2633
|
+
NotTildeEqual: "≄",
|
|
2634
|
+
NotTildeFullEqual: "≇",
|
|
2635
|
+
NotTildeTilde: "≉",
|
|
2636
|
+
NotVerticalBar: "∤",
|
|
2637
|
+
npar: "∦",
|
|
2638
|
+
nparallel: "∦",
|
|
2639
|
+
nparsl: "⫽⃥",
|
|
2640
|
+
npart: "∂̸",
|
|
2641
|
+
npolint: "⨔",
|
|
2642
|
+
npr: "⊀",
|
|
2643
|
+
nprcue: "⋠",
|
|
2644
|
+
npre: "⪯̸",
|
|
2645
|
+
nprec: "⊀",
|
|
2646
|
+
npreceq: "⪯̸",
|
|
2647
|
+
nrArr: "⇏",
|
|
2648
|
+
nrarr: "↛",
|
|
2649
|
+
nrarrc: "⤳̸",
|
|
2650
|
+
nrarrw: "↝̸",
|
|
2651
|
+
nRightarrow: "⇏",
|
|
2652
|
+
nrightarrow: "↛",
|
|
2653
|
+
nrtri: "⋫",
|
|
2654
|
+
nrtrie: "⋭",
|
|
2655
|
+
nsc: "⊁",
|
|
2656
|
+
nsccue: "⋡",
|
|
2657
|
+
nsce: "⪰̸",
|
|
2658
|
+
Nscr: "𝒩",
|
|
2659
|
+
nscr: "𝓃",
|
|
2660
|
+
nshortmid: "∤",
|
|
2661
|
+
nshortparallel: "∦",
|
|
2662
|
+
nsim: "≁",
|
|
2663
|
+
nsime: "≄",
|
|
2664
|
+
nsimeq: "≄",
|
|
2665
|
+
nsmid: "∤",
|
|
2666
|
+
nspar: "∦",
|
|
2667
|
+
nsqsube: "⋢",
|
|
2668
|
+
nsqsupe: "⋣",
|
|
2669
|
+
nsub: "⊄",
|
|
2670
|
+
nsubE: "⫅̸",
|
|
2671
|
+
nsube: "⊈",
|
|
2672
|
+
nsubset: "⊂⃒",
|
|
2673
|
+
nsubseteq: "⊈",
|
|
2674
|
+
nsubseteqq: "⫅̸",
|
|
2675
|
+
nsucc: "⊁",
|
|
2676
|
+
nsucceq: "⪰̸",
|
|
2677
|
+
nsup: "⊅",
|
|
2678
|
+
nsupE: "⫆̸",
|
|
2679
|
+
nsupe: "⊉",
|
|
2680
|
+
nsupset: "⊃⃒",
|
|
2681
|
+
nsupseteq: "⊉",
|
|
2682
|
+
nsupseteqq: "⫆̸",
|
|
2683
|
+
ntgl: "≹",
|
|
2684
|
+
Ntilde: "Ñ",
|
|
2685
|
+
ntilde: "ñ",
|
|
2686
|
+
ntlg: "≸",
|
|
2687
|
+
ntriangleleft: "⋪",
|
|
2688
|
+
ntrianglelefteq: "⋬",
|
|
2689
|
+
ntriangleright: "⋫",
|
|
2690
|
+
ntrianglerighteq: "⋭",
|
|
2691
|
+
Nu: "Ν",
|
|
2692
|
+
nu: "ν",
|
|
2693
|
+
num: "#",
|
|
2694
|
+
numero: "№",
|
|
2695
|
+
numsp: " ",
|
|
2696
|
+
nvap: "≍⃒",
|
|
2697
|
+
nVDash: "⊯",
|
|
2698
|
+
nVdash: "⊮",
|
|
2699
|
+
nvDash: "⊭",
|
|
2700
|
+
nvdash: "⊬",
|
|
2701
|
+
nvge: "≥⃒",
|
|
2702
|
+
nvgt: ">⃒",
|
|
2703
|
+
nvHarr: "⤄",
|
|
2704
|
+
nvinfin: "⧞",
|
|
2705
|
+
nvlArr: "⤂",
|
|
2706
|
+
nvle: "≤⃒",
|
|
2707
|
+
nvlt: "<⃒",
|
|
2708
|
+
nvltrie: "⊴⃒",
|
|
2709
|
+
nvrArr: "⤃",
|
|
2710
|
+
nvrtrie: "⊵⃒",
|
|
2711
|
+
nvsim: "∼⃒",
|
|
2712
|
+
nwarhk: "⤣",
|
|
2713
|
+
nwArr: "⇖",
|
|
2714
|
+
nwarr: "↖",
|
|
2715
|
+
nwarrow: "↖",
|
|
2716
|
+
nwnear: "⤧",
|
|
2717
|
+
Oacute: "Ó",
|
|
2718
|
+
oacute: "ó",
|
|
2719
|
+
oast: "⊛",
|
|
2720
|
+
ocir: "⊚",
|
|
2721
|
+
Ocirc: "Ô",
|
|
2722
|
+
ocirc: "ô",
|
|
2723
|
+
Ocy: "О",
|
|
2724
|
+
ocy: "о",
|
|
2725
|
+
odash: "⊝",
|
|
2726
|
+
Odblac: "Ő",
|
|
2727
|
+
odblac: "ő",
|
|
2728
|
+
odiv: "⨸",
|
|
2729
|
+
odot: "⊙",
|
|
2730
|
+
odsold: "⦼",
|
|
2731
|
+
OElig: "Œ",
|
|
2732
|
+
oelig: "œ",
|
|
2733
|
+
ofcir: "⦿",
|
|
2734
|
+
Ofr: "𝔒",
|
|
2735
|
+
ofr: "𝔬",
|
|
2736
|
+
ogon: "˛",
|
|
2737
|
+
Ograve: "Ò",
|
|
2738
|
+
ograve: "ò",
|
|
2739
|
+
ogt: "⧁",
|
|
2740
|
+
ohbar: "⦵",
|
|
2741
|
+
ohm: "Ω",
|
|
2742
|
+
oint: "∮",
|
|
2743
|
+
olarr: "↺",
|
|
2744
|
+
olcir: "⦾",
|
|
2745
|
+
olcross: "⦻",
|
|
2746
|
+
oline: "‾",
|
|
2747
|
+
olt: "⧀",
|
|
2748
|
+
Omacr: "Ō",
|
|
2749
|
+
omacr: "ō",
|
|
2750
|
+
Omega: "Ω",
|
|
2751
|
+
omega: "ω",
|
|
2752
|
+
Omicron: "Ο",
|
|
2753
|
+
omicron: "ο",
|
|
2754
|
+
omid: "⦶",
|
|
2755
|
+
ominus: "⊖",
|
|
2756
|
+
Oopf: "𝕆",
|
|
2757
|
+
oopf: "𝕠",
|
|
2758
|
+
opar: "⦷",
|
|
2759
|
+
OpenCurlyDoubleQuote: "“",
|
|
2760
|
+
OpenCurlyQuote: "‘",
|
|
2761
|
+
operp: "⦹",
|
|
2762
|
+
oplus: "⊕",
|
|
2763
|
+
Or: "⩔",
|
|
2764
|
+
or: "∨",
|
|
2765
|
+
orarr: "↻",
|
|
2766
|
+
ord: "⩝",
|
|
2767
|
+
order: "ℴ",
|
|
2768
|
+
orderof: "ℴ",
|
|
2769
|
+
ordf: "ª",
|
|
2770
|
+
ordm: "º",
|
|
2771
|
+
origof: "⊶",
|
|
2772
|
+
oror: "⩖",
|
|
2773
|
+
orslope: "⩗",
|
|
2774
|
+
orv: "⩛",
|
|
2775
|
+
oS: "Ⓢ",
|
|
2776
|
+
Oscr: "𝒪",
|
|
2777
|
+
oscr: "ℴ",
|
|
2778
|
+
Oslash: "Ø",
|
|
2779
|
+
oslash: "ø",
|
|
2780
|
+
osol: "⊘",
|
|
2781
|
+
Otilde: "Õ",
|
|
2782
|
+
otilde: "õ",
|
|
2783
|
+
Otimes: "⨷",
|
|
2784
|
+
otimes: "⊗",
|
|
2785
|
+
otimesas: "⨶",
|
|
2786
|
+
Ouml: "Ö",
|
|
2787
|
+
ouml: "ö",
|
|
2788
|
+
ovbar: "⌽",
|
|
2789
|
+
OverBar: "‾",
|
|
2790
|
+
OverBrace: "⏞",
|
|
2791
|
+
OverBracket: "⎴",
|
|
2792
|
+
OverParenthesis: "⏜",
|
|
2793
|
+
par: "∥",
|
|
2794
|
+
para: "¶",
|
|
2795
|
+
parallel: "∥",
|
|
2796
|
+
parsim: "⫳",
|
|
2797
|
+
parsl: "⫽",
|
|
2798
|
+
part: "∂",
|
|
2799
|
+
PartialD: "∂",
|
|
2800
|
+
Pcy: "П",
|
|
2801
|
+
pcy: "п",
|
|
2802
|
+
percnt: "%",
|
|
2803
|
+
period: ".",
|
|
2804
|
+
permil: "‰",
|
|
2805
|
+
perp: "⊥",
|
|
2806
|
+
pertenk: "‱",
|
|
2807
|
+
Pfr: "𝔓",
|
|
2808
|
+
pfr: "𝔭",
|
|
2809
|
+
Phi: "Φ",
|
|
2810
|
+
phi: "φ",
|
|
2811
|
+
phiv: "ϕ",
|
|
2812
|
+
phmmat: "ℳ",
|
|
2813
|
+
phone: "☎",
|
|
2814
|
+
Pi: "Π",
|
|
2815
|
+
pi: "π",
|
|
2816
|
+
pitchfork: "⋔",
|
|
2817
|
+
piv: "ϖ",
|
|
2818
|
+
planck: "ℏ",
|
|
2819
|
+
planckh: "ℎ",
|
|
2820
|
+
plankv: "ℏ",
|
|
2821
|
+
plus: "+",
|
|
2822
|
+
plusacir: "⨣",
|
|
2823
|
+
plusb: "⊞",
|
|
2824
|
+
pluscir: "⨢",
|
|
2825
|
+
plusdo: "∔",
|
|
2826
|
+
plusdu: "⨥",
|
|
2827
|
+
pluse: "⩲",
|
|
2828
|
+
PlusMinus: "±",
|
|
2829
|
+
plusmn: "±",
|
|
2830
|
+
plussim: "⨦",
|
|
2831
|
+
plustwo: "⨧",
|
|
2832
|
+
pm: "±",
|
|
2833
|
+
Poincareplane: "ℌ",
|
|
2834
|
+
pointint: "⨕",
|
|
2835
|
+
Popf: "ℙ",
|
|
2836
|
+
popf: "𝕡",
|
|
2837
|
+
pound: "£",
|
|
2838
|
+
Pr: "⪻",
|
|
2839
|
+
pr: "≺",
|
|
2840
|
+
prap: "⪷",
|
|
2841
|
+
prcue: "≼",
|
|
2842
|
+
prE: "⪳",
|
|
2843
|
+
pre: "⪯",
|
|
2844
|
+
prec: "≺",
|
|
2845
|
+
precapprox: "⪷",
|
|
2846
|
+
preccurlyeq: "≼",
|
|
2847
|
+
Precedes: "≺",
|
|
2848
|
+
PrecedesEqual: "⪯",
|
|
2849
|
+
PrecedesSlantEqual: "≼",
|
|
2850
|
+
PrecedesTilde: "≾",
|
|
2851
|
+
preceq: "⪯",
|
|
2852
|
+
precnapprox: "⪹",
|
|
2853
|
+
precneqq: "⪵",
|
|
2854
|
+
precnsim: "⋨",
|
|
2855
|
+
precsim: "≾",
|
|
2856
|
+
Prime: "″",
|
|
2857
|
+
prime: "′",
|
|
2858
|
+
primes: "ℙ",
|
|
2859
|
+
prnap: "⪹",
|
|
2860
|
+
prnE: "⪵",
|
|
2861
|
+
prnsim: "⋨",
|
|
2862
|
+
prod: "∏",
|
|
2863
|
+
Product: "∏",
|
|
2864
|
+
profalar: "⌮",
|
|
2865
|
+
profline: "⌒",
|
|
2866
|
+
profsurf: "⌓",
|
|
2867
|
+
prop: "∝",
|
|
2868
|
+
Proportion: "∷",
|
|
2869
|
+
Proportional: "∝",
|
|
2870
|
+
propto: "∝",
|
|
2871
|
+
prsim: "≾",
|
|
2872
|
+
prurel: "⊰",
|
|
2873
|
+
Pscr: "𝒫",
|
|
2874
|
+
pscr: "𝓅",
|
|
2875
|
+
Psi: "Ψ",
|
|
2876
|
+
psi: "ψ",
|
|
2877
|
+
puncsp: " ",
|
|
2878
|
+
Qfr: "𝔔",
|
|
2879
|
+
qfr: "𝔮",
|
|
2880
|
+
qint: "⨌",
|
|
2881
|
+
Qopf: "ℚ",
|
|
2882
|
+
qopf: "𝕢",
|
|
2883
|
+
qprime: "⁗",
|
|
2884
|
+
Qscr: "𝒬",
|
|
2885
|
+
qscr: "𝓆",
|
|
2886
|
+
quaternions: "ℍ",
|
|
2887
|
+
quatint: "⨖",
|
|
2888
|
+
quest: "?",
|
|
2889
|
+
questeq: "≟",
|
|
2890
|
+
QUOT: "\"",
|
|
2891
|
+
quot: "\"",
|
|
2892
|
+
rAarr: "⇛",
|
|
2893
|
+
race: "∽̱",
|
|
2894
|
+
Racute: "Ŕ",
|
|
2895
|
+
racute: "ŕ",
|
|
2896
|
+
radic: "√",
|
|
2897
|
+
raemptyv: "⦳",
|
|
2898
|
+
Rang: "⟫",
|
|
2899
|
+
rang: "⟩",
|
|
2900
|
+
rangd: "⦒",
|
|
2901
|
+
range: "⦥",
|
|
2902
|
+
rangle: "⟩",
|
|
2903
|
+
raquo: "»",
|
|
2904
|
+
Rarr: "↠",
|
|
2905
|
+
rArr: "⇒",
|
|
2906
|
+
rarr: "→",
|
|
2907
|
+
rarrap: "⥵",
|
|
2908
|
+
rarrb: "⇥",
|
|
2909
|
+
rarrbfs: "⤠",
|
|
2910
|
+
rarrc: "⤳",
|
|
2911
|
+
rarrfs: "⤞",
|
|
2912
|
+
rarrhk: "↪",
|
|
2913
|
+
rarrlp: "↬",
|
|
2914
|
+
rarrpl: "⥅",
|
|
2915
|
+
rarrsim: "⥴",
|
|
2916
|
+
Rarrtl: "⤖",
|
|
2917
|
+
rarrtl: "↣",
|
|
2918
|
+
rarrw: "↝",
|
|
2919
|
+
rAtail: "⤜",
|
|
2920
|
+
ratail: "⤚",
|
|
2921
|
+
ratio: "∶",
|
|
2922
|
+
rationals: "ℚ",
|
|
2923
|
+
RBarr: "⤐",
|
|
2924
|
+
rBarr: "⤏",
|
|
2925
|
+
rbarr: "⤍",
|
|
2926
|
+
rbbrk: "❳",
|
|
2927
|
+
rbrace: "}",
|
|
2928
|
+
rbrack: "]",
|
|
2929
|
+
rbrke: "⦌",
|
|
2930
|
+
rbrksld: "⦎",
|
|
2931
|
+
rbrkslu: "⦐",
|
|
2932
|
+
Rcaron: "Ř",
|
|
2933
|
+
rcaron: "ř",
|
|
2934
|
+
Rcedil: "Ŗ",
|
|
2935
|
+
rcedil: "ŗ",
|
|
2936
|
+
rceil: "⌉",
|
|
2937
|
+
rcub: "}",
|
|
2938
|
+
Rcy: "Р",
|
|
2939
|
+
rcy: "р",
|
|
2940
|
+
rdca: "⤷",
|
|
2941
|
+
rdldhar: "⥩",
|
|
2942
|
+
rdquo: "”",
|
|
2943
|
+
rdquor: "”",
|
|
2944
|
+
rdsh: "↳",
|
|
2945
|
+
Re: "ℜ",
|
|
2946
|
+
real: "ℜ",
|
|
2947
|
+
realine: "ℛ",
|
|
2948
|
+
realpart: "ℜ",
|
|
2949
|
+
reals: "ℝ",
|
|
2950
|
+
rect: "▭",
|
|
2951
|
+
REG: "®",
|
|
2952
|
+
reg: "®",
|
|
2953
|
+
ReverseElement: "∋",
|
|
2954
|
+
ReverseEquilibrium: "⇋",
|
|
2955
|
+
ReverseUpEquilibrium: "⥯",
|
|
2956
|
+
rfisht: "⥽",
|
|
2957
|
+
rfloor: "⌋",
|
|
2958
|
+
Rfr: "ℜ",
|
|
2959
|
+
rfr: "𝔯",
|
|
2960
|
+
rHar: "⥤",
|
|
2961
|
+
rhard: "⇁",
|
|
2962
|
+
rharu: "⇀",
|
|
2963
|
+
rharul: "⥬",
|
|
2964
|
+
Rho: "Ρ",
|
|
2965
|
+
rho: "ρ",
|
|
2966
|
+
rhov: "ϱ",
|
|
2967
|
+
RightAngleBracket: "⟩",
|
|
2968
|
+
RightArrow: "→",
|
|
2969
|
+
Rightarrow: "⇒",
|
|
2970
|
+
rightarrow: "→",
|
|
2971
|
+
RightArrowBar: "⇥",
|
|
2972
|
+
RightArrowLeftArrow: "⇄",
|
|
2973
|
+
rightarrowtail: "↣",
|
|
2974
|
+
RightCeiling: "⌉",
|
|
2975
|
+
RightDoubleBracket: "⟧",
|
|
2976
|
+
RightDownTeeVector: "⥝",
|
|
2977
|
+
RightDownVector: "⇂",
|
|
2978
|
+
RightDownVectorBar: "⥕",
|
|
2979
|
+
RightFloor: "⌋",
|
|
2980
|
+
rightharpoondown: "⇁",
|
|
2981
|
+
rightharpoonup: "⇀",
|
|
2982
|
+
rightleftarrows: "⇄",
|
|
2983
|
+
rightleftharpoons: "⇌",
|
|
2984
|
+
rightrightarrows: "⇉",
|
|
2985
|
+
rightsquigarrow: "↝",
|
|
2986
|
+
RightTee: "⊢",
|
|
2987
|
+
RightTeeArrow: "↦",
|
|
2988
|
+
RightTeeVector: "⥛",
|
|
2989
|
+
rightthreetimes: "⋌",
|
|
2990
|
+
RightTriangle: "⊳",
|
|
2991
|
+
RightTriangleBar: "⧐",
|
|
2992
|
+
RightTriangleEqual: "⊵",
|
|
2993
|
+
RightUpDownVector: "⥏",
|
|
2994
|
+
RightUpTeeVector: "⥜",
|
|
2995
|
+
RightUpVector: "↾",
|
|
2996
|
+
RightUpVectorBar: "⥔",
|
|
2997
|
+
RightVector: "⇀",
|
|
2998
|
+
RightVectorBar: "⥓",
|
|
2999
|
+
ring: "˚",
|
|
3000
|
+
risingdotseq: "≓",
|
|
3001
|
+
rlarr: "⇄",
|
|
3002
|
+
rlhar: "⇌",
|
|
3003
|
+
rlm: "",
|
|
3004
|
+
rmoust: "⎱",
|
|
3005
|
+
rmoustache: "⎱",
|
|
3006
|
+
rnmid: "⫮",
|
|
3007
|
+
roang: "⟭",
|
|
3008
|
+
roarr: "⇾",
|
|
3009
|
+
robrk: "⟧",
|
|
3010
|
+
ropar: "⦆",
|
|
3011
|
+
Ropf: "ℝ",
|
|
3012
|
+
ropf: "𝕣",
|
|
3013
|
+
roplus: "⨮",
|
|
3014
|
+
rotimes: "⨵",
|
|
3015
|
+
RoundImplies: "⥰",
|
|
3016
|
+
rpar: ")",
|
|
3017
|
+
rpargt: "⦔",
|
|
3018
|
+
rppolint: "⨒",
|
|
3019
|
+
rrarr: "⇉",
|
|
3020
|
+
Rrightarrow: "⇛",
|
|
3021
|
+
rsaquo: "›",
|
|
3022
|
+
Rscr: "ℛ",
|
|
3023
|
+
rscr: "𝓇",
|
|
3024
|
+
Rsh: "↱",
|
|
3025
|
+
rsh: "↱",
|
|
3026
|
+
rsqb: "]",
|
|
3027
|
+
rsquo: "’",
|
|
3028
|
+
rsquor: "’",
|
|
3029
|
+
rthree: "⋌",
|
|
3030
|
+
rtimes: "⋊",
|
|
3031
|
+
rtri: "▹",
|
|
3032
|
+
rtrie: "⊵",
|
|
3033
|
+
rtrif: "▸",
|
|
3034
|
+
rtriltri: "⧎",
|
|
3035
|
+
RuleDelayed: "⧴",
|
|
3036
|
+
ruluhar: "⥨",
|
|
3037
|
+
rx: "℞",
|
|
3038
|
+
Sacute: "Ś",
|
|
3039
|
+
sacute: "ś",
|
|
3040
|
+
sbquo: "‚",
|
|
3041
|
+
Sc: "⪼",
|
|
3042
|
+
sc: "≻",
|
|
3043
|
+
scap: "⪸",
|
|
3044
|
+
Scaron: "Š",
|
|
3045
|
+
scaron: "š",
|
|
3046
|
+
sccue: "≽",
|
|
3047
|
+
scE: "⪴",
|
|
3048
|
+
sce: "⪰",
|
|
3049
|
+
Scedil: "Ş",
|
|
3050
|
+
scedil: "ş",
|
|
3051
|
+
Scirc: "Ŝ",
|
|
3052
|
+
scirc: "ŝ",
|
|
3053
|
+
scnap: "⪺",
|
|
3054
|
+
scnE: "⪶",
|
|
3055
|
+
scnsim: "⋩",
|
|
3056
|
+
scpolint: "⨓",
|
|
3057
|
+
scsim: "≿",
|
|
3058
|
+
Scy: "С",
|
|
3059
|
+
scy: "с",
|
|
3060
|
+
sdot: "⋅",
|
|
3061
|
+
sdotb: "⊡",
|
|
3062
|
+
sdote: "⩦",
|
|
3063
|
+
searhk: "⤥",
|
|
3064
|
+
seArr: "⇘",
|
|
3065
|
+
searr: "↘",
|
|
3066
|
+
searrow: "↘",
|
|
3067
|
+
sect: "§",
|
|
3068
|
+
semi: ";",
|
|
3069
|
+
seswar: "⤩",
|
|
3070
|
+
setminus: "∖",
|
|
3071
|
+
setmn: "∖",
|
|
3072
|
+
sext: "✶",
|
|
3073
|
+
Sfr: "𝔖",
|
|
3074
|
+
sfr: "𝔰",
|
|
3075
|
+
sfrown: "⌢",
|
|
3076
|
+
sharp: "♯",
|
|
3077
|
+
SHCHcy: "Щ",
|
|
3078
|
+
shchcy: "щ",
|
|
3079
|
+
SHcy: "Ш",
|
|
3080
|
+
shcy: "ш",
|
|
3081
|
+
ShortDownArrow: "↓",
|
|
3082
|
+
ShortLeftArrow: "←",
|
|
3083
|
+
shortmid: "∣",
|
|
3084
|
+
shortparallel: "∥",
|
|
3085
|
+
ShortRightArrow: "→",
|
|
3086
|
+
ShortUpArrow: "↑",
|
|
3087
|
+
shy: "",
|
|
3088
|
+
Sigma: "Σ",
|
|
3089
|
+
sigma: "σ",
|
|
3090
|
+
sigmaf: "ς",
|
|
3091
|
+
sigmav: "ς",
|
|
3092
|
+
sim: "∼",
|
|
3093
|
+
simdot: "⩪",
|
|
3094
|
+
sime: "≃",
|
|
3095
|
+
simeq: "≃",
|
|
3096
|
+
simg: "⪞",
|
|
3097
|
+
simgE: "⪠",
|
|
3098
|
+
siml: "⪝",
|
|
3099
|
+
simlE: "⪟",
|
|
3100
|
+
simne: "≆",
|
|
3101
|
+
simplus: "⨤",
|
|
3102
|
+
simrarr: "⥲",
|
|
3103
|
+
slarr: "←",
|
|
3104
|
+
SmallCircle: "∘",
|
|
3105
|
+
smallsetminus: "∖",
|
|
3106
|
+
smashp: "⨳",
|
|
3107
|
+
smeparsl: "⧤",
|
|
3108
|
+
smid: "∣",
|
|
3109
|
+
smile: "⌣",
|
|
3110
|
+
smt: "⪪",
|
|
3111
|
+
smte: "⪬",
|
|
3112
|
+
smtes: "⪬︀",
|
|
3113
|
+
SOFTcy: "Ь",
|
|
3114
|
+
softcy: "ь",
|
|
3115
|
+
sol: "/",
|
|
3116
|
+
solb: "⧄",
|
|
3117
|
+
solbar: "⌿",
|
|
3118
|
+
Sopf: "𝕊",
|
|
3119
|
+
sopf: "𝕤",
|
|
3120
|
+
spades: "♠",
|
|
3121
|
+
spadesuit: "♠",
|
|
3122
|
+
spar: "∥",
|
|
3123
|
+
sqcap: "⊓",
|
|
3124
|
+
sqcaps: "⊓︀",
|
|
3125
|
+
sqcup: "⊔",
|
|
3126
|
+
sqcups: "⊔︀",
|
|
3127
|
+
Sqrt: "√",
|
|
3128
|
+
sqsub: "⊏",
|
|
3129
|
+
sqsube: "⊑",
|
|
3130
|
+
sqsubset: "⊏",
|
|
3131
|
+
sqsubseteq: "⊑",
|
|
3132
|
+
sqsup: "⊐",
|
|
3133
|
+
sqsupe: "⊒",
|
|
3134
|
+
sqsupset: "⊐",
|
|
3135
|
+
sqsupseteq: "⊒",
|
|
3136
|
+
squ: "□",
|
|
3137
|
+
Square: "□",
|
|
3138
|
+
square: "□",
|
|
3139
|
+
SquareIntersection: "⊓",
|
|
3140
|
+
SquareSubset: "⊏",
|
|
3141
|
+
SquareSubsetEqual: "⊑",
|
|
3142
|
+
SquareSuperset: "⊐",
|
|
3143
|
+
SquareSupersetEqual: "⊒",
|
|
3144
|
+
SquareUnion: "⊔",
|
|
3145
|
+
squarf: "▪",
|
|
3146
|
+
squf: "▪",
|
|
3147
|
+
srarr: "→",
|
|
3148
|
+
Sscr: "𝒮",
|
|
3149
|
+
sscr: "𝓈",
|
|
3150
|
+
ssetmn: "∖",
|
|
3151
|
+
ssmile: "⌣",
|
|
3152
|
+
sstarf: "⋆",
|
|
3153
|
+
Star: "⋆",
|
|
3154
|
+
star: "☆",
|
|
3155
|
+
starf: "★",
|
|
3156
|
+
straightepsilon: "ϵ",
|
|
3157
|
+
straightphi: "ϕ",
|
|
3158
|
+
strns: "¯",
|
|
3159
|
+
Sub: "⋐",
|
|
3160
|
+
sub: "⊂",
|
|
3161
|
+
subdot: "⪽",
|
|
3162
|
+
subE: "⫅",
|
|
3163
|
+
sube: "⊆",
|
|
3164
|
+
subedot: "⫃",
|
|
3165
|
+
submult: "⫁",
|
|
3166
|
+
subnE: "⫋",
|
|
3167
|
+
subne: "⊊",
|
|
3168
|
+
subplus: "⪿",
|
|
3169
|
+
subrarr: "⥹",
|
|
3170
|
+
Subset: "⋐",
|
|
3171
|
+
subset: "⊂",
|
|
3172
|
+
subseteq: "⊆",
|
|
3173
|
+
subseteqq: "⫅",
|
|
3174
|
+
SubsetEqual: "⊆",
|
|
3175
|
+
subsetneq: "⊊",
|
|
3176
|
+
subsetneqq: "⫋",
|
|
3177
|
+
subsim: "⫇",
|
|
3178
|
+
subsub: "⫕",
|
|
3179
|
+
subsup: "⫓",
|
|
3180
|
+
succ: "≻",
|
|
3181
|
+
succapprox: "⪸",
|
|
3182
|
+
succcurlyeq: "≽",
|
|
3183
|
+
Succeeds: "≻",
|
|
3184
|
+
SucceedsEqual: "⪰",
|
|
3185
|
+
SucceedsSlantEqual: "≽",
|
|
3186
|
+
SucceedsTilde: "≿",
|
|
3187
|
+
succeq: "⪰",
|
|
3188
|
+
succnapprox: "⪺",
|
|
3189
|
+
succneqq: "⪶",
|
|
3190
|
+
succnsim: "⋩",
|
|
3191
|
+
succsim: "≿",
|
|
3192
|
+
SuchThat: "∋",
|
|
3193
|
+
Sum: "∑",
|
|
3194
|
+
sum: "∑",
|
|
3195
|
+
sung: "♪",
|
|
3196
|
+
Sup: "⋑",
|
|
3197
|
+
sup: "⊃",
|
|
3198
|
+
sup1: "¹",
|
|
3199
|
+
sup2: "²",
|
|
3200
|
+
sup3: "³",
|
|
3201
|
+
supdot: "⪾",
|
|
3202
|
+
supdsub: "⫘",
|
|
3203
|
+
supE: "⫆",
|
|
3204
|
+
supe: "⊇",
|
|
3205
|
+
supedot: "⫄",
|
|
3206
|
+
Superset: "⊃",
|
|
3207
|
+
SupersetEqual: "⊇",
|
|
3208
|
+
suphsol: "⟉",
|
|
3209
|
+
suphsub: "⫗",
|
|
3210
|
+
suplarr: "⥻",
|
|
3211
|
+
supmult: "⫂",
|
|
3212
|
+
supnE: "⫌",
|
|
3213
|
+
supne: "⊋",
|
|
3214
|
+
supplus: "⫀",
|
|
3215
|
+
Supset: "⋑",
|
|
3216
|
+
supset: "⊃",
|
|
3217
|
+
supseteq: "⊇",
|
|
3218
|
+
supseteqq: "⫆",
|
|
3219
|
+
supsetneq: "⊋",
|
|
3220
|
+
supsetneqq: "⫌",
|
|
3221
|
+
supsim: "⫈",
|
|
3222
|
+
supsub: "⫔",
|
|
3223
|
+
supsup: "⫖",
|
|
3224
|
+
swarhk: "⤦",
|
|
3225
|
+
swArr: "⇙",
|
|
3226
|
+
swarr: "↙",
|
|
3227
|
+
swarrow: "↙",
|
|
3228
|
+
swnwar: "⤪",
|
|
3229
|
+
szlig: "ß",
|
|
3230
|
+
Tab: " ",
|
|
3231
|
+
target: "⌖",
|
|
3232
|
+
Tau: "Τ",
|
|
3233
|
+
tau: "τ",
|
|
3234
|
+
tbrk: "⎴",
|
|
3235
|
+
Tcaron: "Ť",
|
|
3236
|
+
tcaron: "ť",
|
|
3237
|
+
Tcedil: "Ţ",
|
|
3238
|
+
tcedil: "ţ",
|
|
3239
|
+
Tcy: "Т",
|
|
3240
|
+
tcy: "т",
|
|
3241
|
+
tdot: "⃛",
|
|
3242
|
+
telrec: "⌕",
|
|
3243
|
+
Tfr: "𝔗",
|
|
3244
|
+
tfr: "𝔱",
|
|
3245
|
+
there4: "∴",
|
|
3246
|
+
Therefore: "∴",
|
|
3247
|
+
therefore: "∴",
|
|
3248
|
+
Theta: "Θ",
|
|
3249
|
+
theta: "θ",
|
|
3250
|
+
thetasym: "ϑ",
|
|
3251
|
+
thetav: "ϑ",
|
|
3252
|
+
thickapprox: "≈",
|
|
3253
|
+
thicksim: "∼",
|
|
3254
|
+
ThickSpace: " ",
|
|
3255
|
+
thinsp: " ",
|
|
3256
|
+
ThinSpace: " ",
|
|
3257
|
+
thkap: "≈",
|
|
3258
|
+
thksim: "∼",
|
|
3259
|
+
THORN: "Þ",
|
|
3260
|
+
thorn: "þ",
|
|
3261
|
+
Tilde: "∼",
|
|
3262
|
+
tilde: "˜",
|
|
3263
|
+
TildeEqual: "≃",
|
|
3264
|
+
TildeFullEqual: "≅",
|
|
3265
|
+
TildeTilde: "≈",
|
|
3266
|
+
times: "×",
|
|
3267
|
+
timesb: "⊠",
|
|
3268
|
+
timesbar: "⨱",
|
|
3269
|
+
timesd: "⨰",
|
|
3270
|
+
tint: "∭",
|
|
3271
|
+
toea: "⤨",
|
|
3272
|
+
top: "⊤",
|
|
3273
|
+
topbot: "⌶",
|
|
3274
|
+
topcir: "⫱",
|
|
3275
|
+
Topf: "𝕋",
|
|
3276
|
+
topf: "𝕥",
|
|
3277
|
+
topfork: "⫚",
|
|
3278
|
+
tosa: "⤩",
|
|
3279
|
+
tprime: "‴",
|
|
3280
|
+
TRADE: "™",
|
|
3281
|
+
trade: "™",
|
|
3282
|
+
triangle: "▵",
|
|
3283
|
+
triangledown: "▿",
|
|
3284
|
+
triangleleft: "◃",
|
|
3285
|
+
trianglelefteq: "⊴",
|
|
3286
|
+
triangleq: "≜",
|
|
3287
|
+
triangleright: "▹",
|
|
3288
|
+
trianglerighteq: "⊵",
|
|
3289
|
+
tridot: "◬",
|
|
3290
|
+
trie: "≜",
|
|
3291
|
+
triminus: "⨺",
|
|
3292
|
+
TripleDot: "⃛",
|
|
3293
|
+
triplus: "⨹",
|
|
3294
|
+
trisb: "⧍",
|
|
3295
|
+
tritime: "⨻",
|
|
3296
|
+
trpezium: "⏢",
|
|
3297
|
+
Tscr: "𝒯",
|
|
3298
|
+
tscr: "𝓉",
|
|
3299
|
+
TScy: "Ц",
|
|
3300
|
+
tscy: "ц",
|
|
3301
|
+
TSHcy: "Ћ",
|
|
3302
|
+
tshcy: "ћ",
|
|
3303
|
+
Tstrok: "Ŧ",
|
|
3304
|
+
tstrok: "ŧ",
|
|
3305
|
+
twixt: "≬",
|
|
3306
|
+
twoheadleftarrow: "↞",
|
|
3307
|
+
twoheadrightarrow: "↠",
|
|
3308
|
+
Uacute: "Ú",
|
|
3309
|
+
uacute: "ú",
|
|
3310
|
+
Uarr: "↟",
|
|
3311
|
+
uArr: "⇑",
|
|
3312
|
+
uarr: "↑",
|
|
3313
|
+
Uarrocir: "⥉",
|
|
3314
|
+
Ubrcy: "Ў",
|
|
3315
|
+
ubrcy: "ў",
|
|
3316
|
+
Ubreve: "Ŭ",
|
|
3317
|
+
ubreve: "ŭ",
|
|
3318
|
+
Ucirc: "Û",
|
|
3319
|
+
ucirc: "û",
|
|
3320
|
+
Ucy: "У",
|
|
3321
|
+
ucy: "у",
|
|
3322
|
+
udarr: "⇅",
|
|
3323
|
+
Udblac: "Ű",
|
|
3324
|
+
udblac: "ű",
|
|
3325
|
+
udhar: "⥮",
|
|
3326
|
+
ufisht: "⥾",
|
|
3327
|
+
Ufr: "𝔘",
|
|
3328
|
+
ufr: "𝔲",
|
|
3329
|
+
Ugrave: "Ù",
|
|
3330
|
+
ugrave: "ù",
|
|
3331
|
+
uHar: "⥣",
|
|
3332
|
+
uharl: "↿",
|
|
3333
|
+
uharr: "↾",
|
|
3334
|
+
uhblk: "▀",
|
|
3335
|
+
ulcorn: "⌜",
|
|
3336
|
+
ulcorner: "⌜",
|
|
3337
|
+
ulcrop: "⌏",
|
|
3338
|
+
ultri: "◸",
|
|
3339
|
+
Umacr: "Ū",
|
|
3340
|
+
umacr: "ū",
|
|
3341
|
+
uml: "¨",
|
|
3342
|
+
UnderBar: "_",
|
|
3343
|
+
UnderBrace: "⏟",
|
|
3344
|
+
UnderBracket: "⎵",
|
|
3345
|
+
UnderParenthesis: "⏝",
|
|
3346
|
+
Union: "⋃",
|
|
3347
|
+
UnionPlus: "⊎",
|
|
3348
|
+
Uogon: "Ų",
|
|
3349
|
+
uogon: "ų",
|
|
3350
|
+
Uopf: "𝕌",
|
|
3351
|
+
uopf: "𝕦",
|
|
3352
|
+
UpArrow: "↑",
|
|
3353
|
+
Uparrow: "⇑",
|
|
3354
|
+
uparrow: "↑",
|
|
3355
|
+
UpArrowBar: "⤒",
|
|
3356
|
+
UpArrowDownArrow: "⇅",
|
|
3357
|
+
UpDownArrow: "↕",
|
|
3358
|
+
Updownarrow: "⇕",
|
|
3359
|
+
updownarrow: "↕",
|
|
3360
|
+
UpEquilibrium: "⥮",
|
|
3361
|
+
upharpoonleft: "↿",
|
|
3362
|
+
upharpoonright: "↾",
|
|
3363
|
+
uplus: "⊎",
|
|
3364
|
+
UpperLeftArrow: "↖",
|
|
3365
|
+
UpperRightArrow: "↗",
|
|
3366
|
+
Upsi: "ϒ",
|
|
3367
|
+
upsi: "υ",
|
|
3368
|
+
upsih: "ϒ",
|
|
3369
|
+
Upsilon: "Υ",
|
|
3370
|
+
upsilon: "υ",
|
|
3371
|
+
UpTee: "⊥",
|
|
3372
|
+
UpTeeArrow: "↥",
|
|
3373
|
+
upuparrows: "⇈",
|
|
3374
|
+
urcorn: "⌝",
|
|
3375
|
+
urcorner: "⌝",
|
|
3376
|
+
urcrop: "⌎",
|
|
3377
|
+
Uring: "Ů",
|
|
3378
|
+
uring: "ů",
|
|
3379
|
+
urtri: "◹",
|
|
3380
|
+
Uscr: "𝒰",
|
|
3381
|
+
uscr: "𝓊",
|
|
3382
|
+
utdot: "⋰",
|
|
3383
|
+
Utilde: "Ũ",
|
|
3384
|
+
utilde: "ũ",
|
|
3385
|
+
utri: "▵",
|
|
3386
|
+
utrif: "▴",
|
|
3387
|
+
uuarr: "⇈",
|
|
3388
|
+
Uuml: "Ü",
|
|
3389
|
+
uuml: "ü",
|
|
3390
|
+
uwangle: "⦧",
|
|
3391
|
+
vangrt: "⦜",
|
|
3392
|
+
varepsilon: "ϵ",
|
|
3393
|
+
varkappa: "ϰ",
|
|
3394
|
+
varnothing: "∅",
|
|
3395
|
+
varphi: "ϕ",
|
|
3396
|
+
varpi: "ϖ",
|
|
3397
|
+
varpropto: "∝",
|
|
3398
|
+
vArr: "⇕",
|
|
3399
|
+
varr: "↕",
|
|
3400
|
+
varrho: "ϱ",
|
|
3401
|
+
varsigma: "ς",
|
|
3402
|
+
varsubsetneq: "⊊︀",
|
|
3403
|
+
varsubsetneqq: "⫋︀",
|
|
3404
|
+
varsupsetneq: "⊋︀",
|
|
3405
|
+
varsupsetneqq: "⫌︀",
|
|
3406
|
+
vartheta: "ϑ",
|
|
3407
|
+
vartriangleleft: "⊲",
|
|
3408
|
+
vartriangleright: "⊳",
|
|
3409
|
+
Vbar: "⫫",
|
|
3410
|
+
vBar: "⫨",
|
|
3411
|
+
vBarv: "⫩",
|
|
3412
|
+
Vcy: "В",
|
|
3413
|
+
vcy: "в",
|
|
3414
|
+
VDash: "⊫",
|
|
3415
|
+
Vdash: "⊩",
|
|
3416
|
+
vDash: "⊨",
|
|
3417
|
+
vdash: "⊢",
|
|
3418
|
+
Vdashl: "⫦",
|
|
3419
|
+
Vee: "⋁",
|
|
3420
|
+
vee: "∨",
|
|
3421
|
+
veebar: "⊻",
|
|
3422
|
+
veeeq: "≚",
|
|
3423
|
+
vellip: "⋮",
|
|
3424
|
+
Verbar: "‖",
|
|
3425
|
+
verbar: "|",
|
|
3426
|
+
Vert: "‖",
|
|
3427
|
+
vert: "|",
|
|
3428
|
+
VerticalBar: "∣",
|
|
3429
|
+
VerticalLine: "|",
|
|
3430
|
+
VerticalSeparator: "❘",
|
|
3431
|
+
VerticalTilde: "≀",
|
|
3432
|
+
VeryThinSpace: " ",
|
|
3433
|
+
Vfr: "𝔙",
|
|
3434
|
+
vfr: "𝔳",
|
|
3435
|
+
vltri: "⊲",
|
|
3436
|
+
vnsub: "⊂⃒",
|
|
3437
|
+
vnsup: "⊃⃒",
|
|
3438
|
+
Vopf: "𝕍",
|
|
3439
|
+
vopf: "𝕧",
|
|
3440
|
+
vprop: "∝",
|
|
3441
|
+
vrtri: "⊳",
|
|
3442
|
+
Vscr: "𝒱",
|
|
3443
|
+
vscr: "𝓋",
|
|
3444
|
+
vsubnE: "⫋︀",
|
|
3445
|
+
vsubne: "⊊︀",
|
|
3446
|
+
vsupnE: "⫌︀",
|
|
3447
|
+
vsupne: "⊋︀",
|
|
3448
|
+
Vvdash: "⊪",
|
|
3449
|
+
vzigzag: "⦚",
|
|
3450
|
+
Wcirc: "Ŵ",
|
|
3451
|
+
wcirc: "ŵ",
|
|
3452
|
+
wedbar: "⩟",
|
|
3453
|
+
Wedge: "⋀",
|
|
3454
|
+
wedge: "∧",
|
|
3455
|
+
wedgeq: "≙",
|
|
3456
|
+
weierp: "℘",
|
|
3457
|
+
Wfr: "𝔚",
|
|
3458
|
+
wfr: "𝔴",
|
|
3459
|
+
Wopf: "𝕎",
|
|
3460
|
+
wopf: "𝕨",
|
|
3461
|
+
wp: "℘",
|
|
3462
|
+
wr: "≀",
|
|
3463
|
+
wreath: "≀",
|
|
3464
|
+
Wscr: "𝒲",
|
|
3465
|
+
wscr: "𝓌",
|
|
3466
|
+
xcap: "⋂",
|
|
3467
|
+
xcirc: "◯",
|
|
3468
|
+
xcup: "⋃",
|
|
3469
|
+
xdtri: "▽",
|
|
3470
|
+
Xfr: "𝔛",
|
|
3471
|
+
xfr: "𝔵",
|
|
3472
|
+
xhArr: "⟺",
|
|
3473
|
+
xharr: "⟷",
|
|
3474
|
+
Xi: "Ξ",
|
|
3475
|
+
xi: "ξ",
|
|
3476
|
+
xlArr: "⟸",
|
|
3477
|
+
xlarr: "⟵",
|
|
3478
|
+
xmap: "⟼",
|
|
3479
|
+
xnis: "⋻",
|
|
3480
|
+
xodot: "⨀",
|
|
3481
|
+
Xopf: "𝕏",
|
|
3482
|
+
xopf: "𝕩",
|
|
3483
|
+
xoplus: "⨁",
|
|
3484
|
+
xotime: "⨂",
|
|
3485
|
+
xrArr: "⟹",
|
|
3486
|
+
xrarr: "⟶",
|
|
3487
|
+
Xscr: "𝒳",
|
|
3488
|
+
xscr: "𝓍",
|
|
3489
|
+
xsqcup: "⨆",
|
|
3490
|
+
xuplus: "⨄",
|
|
3491
|
+
xutri: "△",
|
|
3492
|
+
xvee: "⋁",
|
|
3493
|
+
xwedge: "⋀",
|
|
3494
|
+
Yacute: "Ý",
|
|
3495
|
+
yacute: "ý",
|
|
3496
|
+
YAcy: "Я",
|
|
3497
|
+
yacy: "я",
|
|
3498
|
+
Ycirc: "Ŷ",
|
|
3499
|
+
ycirc: "ŷ",
|
|
3500
|
+
Ycy: "Ы",
|
|
3501
|
+
ycy: "ы",
|
|
3502
|
+
yen: "¥",
|
|
3503
|
+
Yfr: "𝔜",
|
|
3504
|
+
yfr: "𝔶",
|
|
3505
|
+
YIcy: "Ї",
|
|
3506
|
+
yicy: "ї",
|
|
3507
|
+
Yopf: "𝕐",
|
|
3508
|
+
yopf: "𝕪",
|
|
3509
|
+
Yscr: "𝒴",
|
|
3510
|
+
yscr: "𝓎",
|
|
3511
|
+
YUcy: "Ю",
|
|
3512
|
+
yucy: "ю",
|
|
3513
|
+
Yuml: "Ÿ",
|
|
3514
|
+
yuml: "ÿ",
|
|
3515
|
+
Zacute: "Ź",
|
|
3516
|
+
zacute: "ź",
|
|
3517
|
+
Zcaron: "Ž",
|
|
3518
|
+
zcaron: "ž",
|
|
3519
|
+
Zcy: "З",
|
|
3520
|
+
zcy: "з",
|
|
3521
|
+
Zdot: "Ż",
|
|
3522
|
+
zdot: "ż",
|
|
3523
|
+
zeetrf: "ℨ",
|
|
3524
|
+
ZeroWidthSpace: "",
|
|
3525
|
+
Zeta: "Ζ",
|
|
3526
|
+
zeta: "ζ",
|
|
3527
|
+
Zfr: "ℨ",
|
|
3528
|
+
zfr: "𝔷",
|
|
3529
|
+
ZHcy: "Ж",
|
|
3530
|
+
zhcy: "ж",
|
|
3531
|
+
zigrarr: "⇝",
|
|
3532
|
+
Zopf: "ℤ",
|
|
3533
|
+
zopf: "𝕫",
|
|
3534
|
+
Zscr: "𝒵",
|
|
3535
|
+
zscr: "𝓏",
|
|
3536
|
+
zwj: "",
|
|
3537
|
+
zwnj: ""
|
|
3538
|
+
});
|
|
3539
|
+
/**
|
|
3540
|
+
* @deprecated use `HTML_ENTITIES` instead
|
|
3541
|
+
* @see HTML_ENTITIES
|
|
3542
|
+
*/
|
|
3543
|
+
exports.entityMap = exports.HTML_ENTITIES;
|
|
3544
|
+
}) });
|
|
3545
|
+
|
|
3546
|
+
//#endregion
|
|
3547
|
+
//#region node_modules/.pnpm/@xmldom+xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/sax.js
|
|
3548
|
+
var require_sax = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/@xmldom+xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/sax.js": ((exports) => {
|
|
3549
|
+
var NAMESPACE$1 = require_conventions().NAMESPACE;
|
|
3550
|
+
var nameStartChar = /[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/;
|
|
3551
|
+
var nameChar = /* @__PURE__ */ new RegExp("[\\-\\.0-9" + nameStartChar.source.slice(1, -1) + "\\u00B7\\u0300-\\u036F\\u203F-\\u2040]");
|
|
3552
|
+
var tagNamePattern = /* @__PURE__ */ new RegExp("^" + nameStartChar.source + nameChar.source + "*(?::" + nameStartChar.source + nameChar.source + "*)?$");
|
|
3553
|
+
var S_TAG = 0;
|
|
3554
|
+
var S_ATTR = 1;
|
|
3555
|
+
var S_ATTR_SPACE = 2;
|
|
3556
|
+
var S_EQ = 3;
|
|
3557
|
+
var S_ATTR_NOQUOT_VALUE = 4;
|
|
3558
|
+
var S_ATTR_END = 5;
|
|
3559
|
+
var S_TAG_SPACE = 6;
|
|
3560
|
+
var S_TAG_CLOSE = 7;
|
|
3561
|
+
/**
|
|
3562
|
+
* Creates an error that will not be caught by XMLReader aka the SAX parser.
|
|
3563
|
+
*
|
|
3564
|
+
* @param {string} message
|
|
3565
|
+
* @param {any?} locator Optional, can provide details about the location in the source
|
|
3566
|
+
* @constructor
|
|
3567
|
+
*/
|
|
3568
|
+
function ParseError$1(message, locator) {
|
|
3569
|
+
this.message = message;
|
|
3570
|
+
this.locator = locator;
|
|
3571
|
+
if (Error.captureStackTrace) Error.captureStackTrace(this, ParseError$1);
|
|
3572
|
+
}
|
|
3573
|
+
ParseError$1.prototype = /* @__PURE__ */ new Error();
|
|
3574
|
+
ParseError$1.prototype.name = ParseError$1.name;
|
|
3575
|
+
function XMLReader$1() {}
|
|
3576
|
+
XMLReader$1.prototype = { parse: function(source, defaultNSMap, entityMap) {
|
|
3577
|
+
var domBuilder = this.domBuilder;
|
|
3578
|
+
domBuilder.startDocument();
|
|
3579
|
+
_copy(defaultNSMap, defaultNSMap = {});
|
|
3580
|
+
parse(source, defaultNSMap, entityMap, domBuilder, this.errorHandler);
|
|
3581
|
+
domBuilder.endDocument();
|
|
3582
|
+
} };
|
|
3583
|
+
function parse(source, defaultNSMapCopy, entityMap, domBuilder, errorHandler) {
|
|
3584
|
+
function fixedFromCharCode(code) {
|
|
3585
|
+
if (code > 65535) {
|
|
3586
|
+
code -= 65536;
|
|
3587
|
+
var surrogate1 = 55296 + (code >> 10), surrogate2 = 56320 + (code & 1023);
|
|
3588
|
+
return String.fromCharCode(surrogate1, surrogate2);
|
|
3589
|
+
} else return String.fromCharCode(code);
|
|
3590
|
+
}
|
|
3591
|
+
function entityReplacer(a$1) {
|
|
3592
|
+
var k = a$1.slice(1, -1);
|
|
3593
|
+
if (Object.hasOwnProperty.call(entityMap, k)) return entityMap[k];
|
|
3594
|
+
else if (k.charAt(0) === "#") return fixedFromCharCode(parseInt(k.substr(1).replace("x", "0x")));
|
|
3595
|
+
else {
|
|
3596
|
+
errorHandler.error("entity not found:" + a$1);
|
|
3597
|
+
return a$1;
|
|
3598
|
+
}
|
|
3599
|
+
}
|
|
3600
|
+
function appendText(end$1) {
|
|
3601
|
+
if (end$1 > start) {
|
|
3602
|
+
var xt = source.substring(start, end$1).replace(/&#?\w+;/g, entityReplacer);
|
|
3603
|
+
locator && position$1(start);
|
|
3604
|
+
domBuilder.characters(xt, 0, end$1 - start);
|
|
3605
|
+
start = end$1;
|
|
3606
|
+
}
|
|
3607
|
+
}
|
|
3608
|
+
function position$1(p, m) {
|
|
3609
|
+
while (p >= lineEnd && (m = linePattern.exec(source))) {
|
|
3610
|
+
lineStart = m.index;
|
|
3611
|
+
lineEnd = lineStart + m[0].length;
|
|
3612
|
+
locator.lineNumber++;
|
|
3613
|
+
}
|
|
3614
|
+
locator.columnNumber = p - lineStart + 1;
|
|
3615
|
+
}
|
|
3616
|
+
var lineStart = 0;
|
|
3617
|
+
var lineEnd = 0;
|
|
3618
|
+
var linePattern = /.*(?:\r\n?|\n)|.*$/g;
|
|
3619
|
+
var locator = domBuilder.locator;
|
|
3620
|
+
var parseStack = [{ currentNSMap: defaultNSMapCopy }];
|
|
3621
|
+
var closeMap = {};
|
|
3622
|
+
var start = 0;
|
|
3623
|
+
while (true) {
|
|
3624
|
+
try {
|
|
3625
|
+
var tagStart = source.indexOf("<", start);
|
|
3626
|
+
if (tagStart < 0) {
|
|
3627
|
+
if (!source.substr(start).match(/^\s*$/)) {
|
|
3628
|
+
var doc = domBuilder.doc;
|
|
3629
|
+
var text = doc.createTextNode(source.substr(start));
|
|
3630
|
+
doc.appendChild(text);
|
|
3631
|
+
domBuilder.currentElement = text;
|
|
3632
|
+
}
|
|
3633
|
+
return;
|
|
3634
|
+
}
|
|
3635
|
+
if (tagStart > start) appendText(tagStart);
|
|
3636
|
+
switch (source.charAt(tagStart + 1)) {
|
|
3637
|
+
case "/":
|
|
3638
|
+
var end = source.indexOf(">", tagStart + 3);
|
|
3639
|
+
var tagName = source.substring(tagStart + 2, end).replace(/[ \t\n\r]+$/g, "");
|
|
3640
|
+
var config = parseStack.pop();
|
|
3641
|
+
if (end < 0) {
|
|
3642
|
+
tagName = source.substring(tagStart + 2).replace(/[\s<].*/, "");
|
|
3643
|
+
errorHandler.error("end tag name: " + tagName + " is not complete:" + config.tagName);
|
|
3644
|
+
end = tagStart + 1 + tagName.length;
|
|
3645
|
+
} else if (tagName.match(/\s</)) {
|
|
3646
|
+
tagName = tagName.replace(/[\s<].*/, "");
|
|
3647
|
+
errorHandler.error("end tag name: " + tagName + " maybe not complete");
|
|
3648
|
+
end = tagStart + 1 + tagName.length;
|
|
3649
|
+
}
|
|
3650
|
+
var localNSMap = config.localNSMap;
|
|
3651
|
+
var endMatch = config.tagName == tagName;
|
|
3652
|
+
if (endMatch || config.tagName && config.tagName.toLowerCase() == tagName.toLowerCase()) {
|
|
3653
|
+
domBuilder.endElement(config.uri, config.localName, tagName);
|
|
3654
|
+
if (localNSMap) {
|
|
3655
|
+
for (var prefix in localNSMap) if (Object.prototype.hasOwnProperty.call(localNSMap, prefix)) domBuilder.endPrefixMapping(prefix);
|
|
3656
|
+
}
|
|
3657
|
+
if (!endMatch) errorHandler.fatalError("end tag name: " + tagName + " is not match the current start tagName:" + config.tagName);
|
|
3658
|
+
} else parseStack.push(config);
|
|
3659
|
+
end++;
|
|
3660
|
+
break;
|
|
3661
|
+
case "?":
|
|
3662
|
+
locator && position$1(tagStart);
|
|
3663
|
+
end = parseInstruction(source, tagStart, domBuilder);
|
|
3664
|
+
break;
|
|
3665
|
+
case "!":
|
|
3666
|
+
locator && position$1(tagStart);
|
|
3667
|
+
end = parseDCC(source, tagStart, domBuilder, errorHandler);
|
|
3668
|
+
break;
|
|
3669
|
+
default:
|
|
3670
|
+
locator && position$1(tagStart);
|
|
3671
|
+
var el = new ElementAttributes();
|
|
3672
|
+
var currentNSMap = parseStack[parseStack.length - 1].currentNSMap;
|
|
3673
|
+
var end = parseElementStartPart(source, tagStart, el, currentNSMap, entityReplacer, errorHandler);
|
|
3674
|
+
var len = el.length;
|
|
3675
|
+
if (!el.closed && fixSelfClosed(source, end, el.tagName, closeMap)) {
|
|
3676
|
+
el.closed = true;
|
|
3677
|
+
if (!entityMap.nbsp) errorHandler.warning("unclosed xml attribute");
|
|
3678
|
+
}
|
|
3679
|
+
if (locator && len) {
|
|
3680
|
+
var locator2 = copyLocator(locator, {});
|
|
3681
|
+
for (var i = 0; i < len; i++) {
|
|
3682
|
+
var a = el[i];
|
|
3683
|
+
position$1(a.offset);
|
|
3684
|
+
a.locator = copyLocator(locator, {});
|
|
3685
|
+
}
|
|
3686
|
+
domBuilder.locator = locator2;
|
|
3687
|
+
if (appendElement$1(el, domBuilder, currentNSMap)) parseStack.push(el);
|
|
3688
|
+
domBuilder.locator = locator;
|
|
3689
|
+
} else if (appendElement$1(el, domBuilder, currentNSMap)) parseStack.push(el);
|
|
3690
|
+
if (NAMESPACE$1.isHTML(el.uri) && !el.closed) end = parseHtmlSpecialContent(source, end, el.tagName, entityReplacer, domBuilder);
|
|
3691
|
+
else end++;
|
|
3692
|
+
}
|
|
3693
|
+
} catch (e) {
|
|
3694
|
+
if (e instanceof ParseError$1) throw e;
|
|
3695
|
+
errorHandler.error("element parse error: " + e);
|
|
3696
|
+
end = -1;
|
|
3697
|
+
}
|
|
3698
|
+
if (end > start) start = end;
|
|
3699
|
+
else appendText(Math.max(tagStart, start) + 1);
|
|
3700
|
+
}
|
|
3701
|
+
}
|
|
3702
|
+
function copyLocator(f, t) {
|
|
3703
|
+
t.lineNumber = f.lineNumber;
|
|
3704
|
+
t.columnNumber = f.columnNumber;
|
|
3705
|
+
return t;
|
|
3706
|
+
}
|
|
3707
|
+
/**
|
|
3708
|
+
* @see #appendElement(source,elStartEnd,el,selfClosed,entityReplacer,domBuilder,parseStack);
|
|
3709
|
+
* @return end of the elementStartPart(end of elementEndPart for selfClosed el)
|
|
3710
|
+
*/
|
|
3711
|
+
function parseElementStartPart(source, start, el, currentNSMap, entityReplacer, errorHandler) {
|
|
3712
|
+
/**
|
|
3713
|
+
* @param {string} qname
|
|
3714
|
+
* @param {string} value
|
|
3715
|
+
* @param {number} startIndex
|
|
3716
|
+
*/
|
|
3717
|
+
function addAttribute(qname, value$1, startIndex) {
|
|
3718
|
+
if (el.attributeNames.hasOwnProperty(qname)) errorHandler.fatalError("Attribute " + qname + " redefined");
|
|
3719
|
+
el.addValue(qname, value$1.replace(/[\t\n\r]/g, " ").replace(/&#?\w+;/g, entityReplacer), startIndex);
|
|
3720
|
+
}
|
|
3721
|
+
var attrName;
|
|
3722
|
+
var value;
|
|
3723
|
+
var p = ++start;
|
|
3724
|
+
var s = S_TAG;
|
|
3725
|
+
while (true) {
|
|
3726
|
+
var c = source.charAt(p);
|
|
3727
|
+
switch (c) {
|
|
3728
|
+
case "=":
|
|
3729
|
+
if (s === S_ATTR) {
|
|
3730
|
+
attrName = source.slice(start, p);
|
|
3731
|
+
s = S_EQ;
|
|
3732
|
+
} else if (s === S_ATTR_SPACE) s = S_EQ;
|
|
3733
|
+
else throw new Error("attribute equal must after attrName");
|
|
3734
|
+
break;
|
|
3735
|
+
case "'":
|
|
3736
|
+
case "\"":
|
|
3737
|
+
if (s === S_EQ || s === S_ATTR) {
|
|
3738
|
+
if (s === S_ATTR) {
|
|
3739
|
+
errorHandler.warning("attribute value must after \"=\"");
|
|
3740
|
+
attrName = source.slice(start, p);
|
|
3741
|
+
}
|
|
3742
|
+
start = p + 1;
|
|
3743
|
+
p = source.indexOf(c, start);
|
|
3744
|
+
if (p > 0) {
|
|
3745
|
+
value = source.slice(start, p);
|
|
3746
|
+
addAttribute(attrName, value, start - 1);
|
|
3747
|
+
s = S_ATTR_END;
|
|
3748
|
+
} else throw new Error("attribute value no end '" + c + "' match");
|
|
3749
|
+
} else if (s == S_ATTR_NOQUOT_VALUE) {
|
|
3750
|
+
value = source.slice(start, p);
|
|
3751
|
+
addAttribute(attrName, value, start);
|
|
3752
|
+
errorHandler.warning("attribute \"" + attrName + "\" missed start quot(" + c + ")!!");
|
|
3753
|
+
start = p + 1;
|
|
3754
|
+
s = S_ATTR_END;
|
|
3755
|
+
} else throw new Error("attribute value must after \"=\"");
|
|
3756
|
+
break;
|
|
3757
|
+
case "/":
|
|
3758
|
+
switch (s) {
|
|
3759
|
+
case S_TAG: el.setTagName(source.slice(start, p));
|
|
3760
|
+
case S_ATTR_END:
|
|
3761
|
+
case S_TAG_SPACE:
|
|
3762
|
+
case S_TAG_CLOSE:
|
|
3763
|
+
s = S_TAG_CLOSE;
|
|
3764
|
+
el.closed = true;
|
|
3765
|
+
case S_ATTR_NOQUOT_VALUE:
|
|
3766
|
+
case S_ATTR: break;
|
|
3767
|
+
case S_ATTR_SPACE:
|
|
3768
|
+
el.closed = true;
|
|
3769
|
+
break;
|
|
3770
|
+
default: throw new Error("attribute invalid close char('/')");
|
|
3771
|
+
}
|
|
3772
|
+
break;
|
|
3773
|
+
case "":
|
|
3774
|
+
errorHandler.error("unexpected end of input");
|
|
3775
|
+
if (s == S_TAG) el.setTagName(source.slice(start, p));
|
|
3776
|
+
return p;
|
|
3777
|
+
case ">":
|
|
3778
|
+
switch (s) {
|
|
3779
|
+
case S_TAG: el.setTagName(source.slice(start, p));
|
|
3780
|
+
case S_ATTR_END:
|
|
3781
|
+
case S_TAG_SPACE:
|
|
3782
|
+
case S_TAG_CLOSE: break;
|
|
3783
|
+
case S_ATTR_NOQUOT_VALUE:
|
|
3784
|
+
case S_ATTR:
|
|
3785
|
+
value = source.slice(start, p);
|
|
3786
|
+
if (value.slice(-1) === "/") {
|
|
3787
|
+
el.closed = true;
|
|
3788
|
+
value = value.slice(0, -1);
|
|
3789
|
+
}
|
|
3790
|
+
case S_ATTR_SPACE:
|
|
3791
|
+
if (s === S_ATTR_SPACE) value = attrName;
|
|
3792
|
+
if (s == S_ATTR_NOQUOT_VALUE) {
|
|
3793
|
+
errorHandler.warning("attribute \"" + value + "\" missed quot(\")!");
|
|
3794
|
+
addAttribute(attrName, value, start);
|
|
3795
|
+
} else {
|
|
3796
|
+
if (!NAMESPACE$1.isHTML(currentNSMap[""]) || !value.match(/^(?:disabled|checked|selected)$/i)) errorHandler.warning("attribute \"" + value + "\" missed value!! \"" + value + "\" instead!!");
|
|
3797
|
+
addAttribute(value, value, start);
|
|
3798
|
+
}
|
|
3799
|
+
break;
|
|
3800
|
+
case S_EQ: throw new Error("attribute value missed!!");
|
|
3801
|
+
}
|
|
3802
|
+
return p;
|
|
3803
|
+
case "": c = " ";
|
|
3804
|
+
default: if (c <= " ") switch (s) {
|
|
3805
|
+
case S_TAG:
|
|
3806
|
+
el.setTagName(source.slice(start, p));
|
|
3807
|
+
s = S_TAG_SPACE;
|
|
3808
|
+
break;
|
|
3809
|
+
case S_ATTR:
|
|
3810
|
+
attrName = source.slice(start, p);
|
|
3811
|
+
s = S_ATTR_SPACE;
|
|
3812
|
+
break;
|
|
3813
|
+
case S_ATTR_NOQUOT_VALUE:
|
|
3814
|
+
var value = source.slice(start, p);
|
|
3815
|
+
errorHandler.warning("attribute \"" + value + "\" missed quot(\")!!");
|
|
3816
|
+
addAttribute(attrName, value, start);
|
|
3817
|
+
case S_ATTR_END:
|
|
3818
|
+
s = S_TAG_SPACE;
|
|
3819
|
+
break;
|
|
3820
|
+
}
|
|
3821
|
+
else switch (s) {
|
|
3822
|
+
case S_ATTR_SPACE:
|
|
3823
|
+
el.tagName;
|
|
3824
|
+
if (!NAMESPACE$1.isHTML(currentNSMap[""]) || !attrName.match(/^(?:disabled|checked|selected)$/i)) errorHandler.warning("attribute \"" + attrName + "\" missed value!! \"" + attrName + "\" instead2!!");
|
|
3825
|
+
addAttribute(attrName, attrName, start);
|
|
3826
|
+
start = p;
|
|
3827
|
+
s = S_ATTR;
|
|
3828
|
+
break;
|
|
3829
|
+
case S_ATTR_END: errorHandler.warning("attribute space is required\"" + attrName + "\"!!");
|
|
3830
|
+
case S_TAG_SPACE:
|
|
3831
|
+
s = S_ATTR;
|
|
3832
|
+
start = p;
|
|
3833
|
+
break;
|
|
3834
|
+
case S_EQ:
|
|
3835
|
+
s = S_ATTR_NOQUOT_VALUE;
|
|
3836
|
+
start = p;
|
|
3837
|
+
break;
|
|
3838
|
+
case S_TAG_CLOSE: throw new Error("elements closed character '/' and '>' must be connected to");
|
|
3839
|
+
}
|
|
3840
|
+
}
|
|
3841
|
+
p++;
|
|
3842
|
+
}
|
|
3843
|
+
}
|
|
3844
|
+
/**
|
|
3845
|
+
* @return true if has new namespace define
|
|
3846
|
+
*/
|
|
3847
|
+
function appendElement$1(el, domBuilder, currentNSMap) {
|
|
3848
|
+
var tagName = el.tagName;
|
|
3849
|
+
var localNSMap = null;
|
|
3850
|
+
var i = el.length;
|
|
3851
|
+
while (i--) {
|
|
3852
|
+
var a = el[i];
|
|
3853
|
+
var qName = a.qName;
|
|
3854
|
+
var value = a.value;
|
|
3855
|
+
var nsp = qName.indexOf(":");
|
|
3856
|
+
if (nsp > 0) {
|
|
3857
|
+
var prefix = a.prefix = qName.slice(0, nsp);
|
|
3858
|
+
var localName = qName.slice(nsp + 1);
|
|
3859
|
+
var nsPrefix = prefix === "xmlns" && localName;
|
|
3860
|
+
} else {
|
|
3861
|
+
localName = qName;
|
|
3862
|
+
prefix = null;
|
|
3863
|
+
nsPrefix = qName === "xmlns" && "";
|
|
3864
|
+
}
|
|
3865
|
+
a.localName = localName;
|
|
3866
|
+
if (nsPrefix !== false) {
|
|
3867
|
+
if (localNSMap == null) {
|
|
3868
|
+
localNSMap = {};
|
|
3869
|
+
_copy(currentNSMap, currentNSMap = {});
|
|
3870
|
+
}
|
|
3871
|
+
currentNSMap[nsPrefix] = localNSMap[nsPrefix] = value;
|
|
3872
|
+
a.uri = NAMESPACE$1.XMLNS;
|
|
3873
|
+
domBuilder.startPrefixMapping(nsPrefix, value);
|
|
3874
|
+
}
|
|
3875
|
+
}
|
|
3876
|
+
var i = el.length;
|
|
3877
|
+
while (i--) {
|
|
3878
|
+
a = el[i];
|
|
3879
|
+
var prefix = a.prefix;
|
|
3880
|
+
if (prefix) {
|
|
3881
|
+
if (prefix === "xml") a.uri = NAMESPACE$1.XML;
|
|
3882
|
+
if (prefix !== "xmlns") a.uri = currentNSMap[prefix || ""];
|
|
3883
|
+
}
|
|
3884
|
+
}
|
|
3885
|
+
var nsp = tagName.indexOf(":");
|
|
3886
|
+
if (nsp > 0) {
|
|
3887
|
+
prefix = el.prefix = tagName.slice(0, nsp);
|
|
3888
|
+
localName = el.localName = tagName.slice(nsp + 1);
|
|
3889
|
+
} else {
|
|
3890
|
+
prefix = null;
|
|
3891
|
+
localName = el.localName = tagName;
|
|
3892
|
+
}
|
|
3893
|
+
var ns = el.uri = currentNSMap[prefix || ""];
|
|
3894
|
+
domBuilder.startElement(ns, localName, tagName, el);
|
|
3895
|
+
if (el.closed) {
|
|
3896
|
+
domBuilder.endElement(ns, localName, tagName);
|
|
3897
|
+
if (localNSMap) {
|
|
3898
|
+
for (prefix in localNSMap) if (Object.prototype.hasOwnProperty.call(localNSMap, prefix)) domBuilder.endPrefixMapping(prefix);
|
|
3899
|
+
}
|
|
3900
|
+
} else {
|
|
3901
|
+
el.currentNSMap = currentNSMap;
|
|
3902
|
+
el.localNSMap = localNSMap;
|
|
3903
|
+
return true;
|
|
3904
|
+
}
|
|
3905
|
+
}
|
|
3906
|
+
function parseHtmlSpecialContent(source, elStartEnd, tagName, entityReplacer, domBuilder) {
|
|
3907
|
+
if (/^(?:script|textarea)$/i.test(tagName)) {
|
|
3908
|
+
var elEndStart = source.indexOf("</" + tagName + ">", elStartEnd);
|
|
3909
|
+
var text = source.substring(elStartEnd + 1, elEndStart);
|
|
3910
|
+
if (/[&<]/.test(text)) {
|
|
3911
|
+
if (/^script$/i.test(tagName)) {
|
|
3912
|
+
domBuilder.characters(text, 0, text.length);
|
|
3913
|
+
return elEndStart;
|
|
3914
|
+
}
|
|
3915
|
+
text = text.replace(/&#?\w+;/g, entityReplacer);
|
|
3916
|
+
domBuilder.characters(text, 0, text.length);
|
|
3917
|
+
return elEndStart;
|
|
3918
|
+
}
|
|
3919
|
+
}
|
|
3920
|
+
return elStartEnd + 1;
|
|
3921
|
+
}
|
|
3922
|
+
function fixSelfClosed(source, elStartEnd, tagName, closeMap) {
|
|
3923
|
+
var pos = closeMap[tagName];
|
|
3924
|
+
if (pos == null) {
|
|
3925
|
+
pos = source.lastIndexOf("</" + tagName + ">");
|
|
3926
|
+
if (pos < elStartEnd) pos = source.lastIndexOf("</" + tagName);
|
|
3927
|
+
closeMap[tagName] = pos;
|
|
3928
|
+
}
|
|
3929
|
+
return pos < elStartEnd;
|
|
3930
|
+
}
|
|
3931
|
+
function _copy(source, target) {
|
|
3932
|
+
for (var n in source) if (Object.prototype.hasOwnProperty.call(source, n)) target[n] = source[n];
|
|
3933
|
+
}
|
|
3934
|
+
function parseDCC(source, start, domBuilder, errorHandler) {
|
|
3935
|
+
switch (source.charAt(start + 2)) {
|
|
3936
|
+
case "-": if (source.charAt(start + 3) === "-") {
|
|
3937
|
+
var end = source.indexOf("-->", start + 4);
|
|
3938
|
+
if (end > start) {
|
|
3939
|
+
domBuilder.comment(source, start + 4, end - start - 4);
|
|
3940
|
+
return end + 3;
|
|
3941
|
+
} else {
|
|
3942
|
+
errorHandler.error("Unclosed comment");
|
|
3943
|
+
return -1;
|
|
3944
|
+
}
|
|
3945
|
+
} else return -1;
|
|
3946
|
+
default:
|
|
3947
|
+
if (source.substr(start + 3, 6) == "CDATA[") {
|
|
3948
|
+
var end = source.indexOf("]]>", start + 9);
|
|
3949
|
+
domBuilder.startCDATA();
|
|
3950
|
+
domBuilder.characters(source, start + 9, end - start - 9);
|
|
3951
|
+
domBuilder.endCDATA();
|
|
3952
|
+
return end + 3;
|
|
3953
|
+
}
|
|
3954
|
+
var matchs = split(source, start);
|
|
3955
|
+
var len = matchs.length;
|
|
3956
|
+
if (len > 1 && /!doctype/i.test(matchs[0][0])) {
|
|
3957
|
+
var name = matchs[1][0];
|
|
3958
|
+
var pubid = false;
|
|
3959
|
+
var sysid = false;
|
|
3960
|
+
if (len > 3) {
|
|
3961
|
+
if (/^public$/i.test(matchs[2][0])) {
|
|
3962
|
+
pubid = matchs[3][0];
|
|
3963
|
+
sysid = len > 4 && matchs[4][0];
|
|
3964
|
+
} else if (/^system$/i.test(matchs[2][0])) sysid = matchs[3][0];
|
|
3965
|
+
}
|
|
3966
|
+
var lastMatch = matchs[len - 1];
|
|
3967
|
+
domBuilder.startDTD(name, pubid, sysid);
|
|
3968
|
+
domBuilder.endDTD();
|
|
3969
|
+
return lastMatch.index + lastMatch[0].length;
|
|
3970
|
+
}
|
|
3971
|
+
}
|
|
3972
|
+
return -1;
|
|
3973
|
+
}
|
|
3974
|
+
function parseInstruction(source, start, domBuilder) {
|
|
3975
|
+
var end = source.indexOf("?>", start);
|
|
3976
|
+
if (end) {
|
|
3977
|
+
var match = source.substring(start, end).match(/^<\?(\S*)\s*([\s\S]*?)\s*$/);
|
|
3978
|
+
if (match) {
|
|
3979
|
+
match[0].length;
|
|
3980
|
+
domBuilder.processingInstruction(match[1], match[2]);
|
|
3981
|
+
return end + 2;
|
|
3982
|
+
} else return -1;
|
|
3983
|
+
}
|
|
3984
|
+
return -1;
|
|
3985
|
+
}
|
|
3986
|
+
function ElementAttributes() {
|
|
3987
|
+
this.attributeNames = {};
|
|
3988
|
+
}
|
|
3989
|
+
ElementAttributes.prototype = {
|
|
3990
|
+
setTagName: function(tagName) {
|
|
3991
|
+
if (!tagNamePattern.test(tagName)) throw new Error("invalid tagName:" + tagName);
|
|
3992
|
+
this.tagName = tagName;
|
|
3993
|
+
},
|
|
3994
|
+
addValue: function(qName, value, offset) {
|
|
3995
|
+
if (!tagNamePattern.test(qName)) throw new Error("invalid attribute:" + qName);
|
|
3996
|
+
this.attributeNames[qName] = this.length;
|
|
3997
|
+
this[this.length++] = {
|
|
3998
|
+
qName,
|
|
3999
|
+
value,
|
|
4000
|
+
offset
|
|
4001
|
+
};
|
|
4002
|
+
},
|
|
4003
|
+
length: 0,
|
|
4004
|
+
getLocalName: function(i) {
|
|
4005
|
+
return this[i].localName;
|
|
4006
|
+
},
|
|
4007
|
+
getLocator: function(i) {
|
|
4008
|
+
return this[i].locator;
|
|
4009
|
+
},
|
|
4010
|
+
getQName: function(i) {
|
|
4011
|
+
return this[i].qName;
|
|
4012
|
+
},
|
|
4013
|
+
getURI: function(i) {
|
|
4014
|
+
return this[i].uri;
|
|
4015
|
+
},
|
|
4016
|
+
getValue: function(i) {
|
|
4017
|
+
return this[i].value;
|
|
4018
|
+
}
|
|
4019
|
+
};
|
|
4020
|
+
function split(source, start) {
|
|
4021
|
+
var match;
|
|
4022
|
+
var buf = [];
|
|
4023
|
+
var reg = /'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;
|
|
4024
|
+
reg.lastIndex = start;
|
|
4025
|
+
reg.exec(source);
|
|
4026
|
+
while (match = reg.exec(source)) {
|
|
4027
|
+
buf.push(match);
|
|
4028
|
+
if (match[1]) return buf;
|
|
4029
|
+
}
|
|
4030
|
+
}
|
|
4031
|
+
exports.XMLReader = XMLReader$1;
|
|
4032
|
+
exports.ParseError = ParseError$1;
|
|
4033
|
+
}) });
|
|
4034
|
+
|
|
4035
|
+
//#endregion
|
|
4036
|
+
//#region node_modules/.pnpm/@xmldom+xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/dom-parser.js
|
|
4037
|
+
var require_dom_parser = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/@xmldom+xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/dom-parser.js": ((exports) => {
|
|
4038
|
+
var conventions = require_conventions();
|
|
4039
|
+
var dom$1 = require_dom();
|
|
4040
|
+
var entities = require_entities();
|
|
4041
|
+
var sax = require_sax();
|
|
4042
|
+
var DOMImplementation = dom$1.DOMImplementation;
|
|
4043
|
+
var NAMESPACE = conventions.NAMESPACE;
|
|
4044
|
+
var ParseError = sax.ParseError;
|
|
4045
|
+
var XMLReader = sax.XMLReader;
|
|
4046
|
+
/**
|
|
4047
|
+
* Normalizes line ending according to https://www.w3.org/TR/xml11/#sec-line-ends:
|
|
4048
|
+
*
|
|
4049
|
+
* > XML parsed entities are often stored in computer files which,
|
|
4050
|
+
* > for editing convenience, are organized into lines.
|
|
4051
|
+
* > These lines are typically separated by some combination
|
|
4052
|
+
* > of the characters CARRIAGE RETURN (#xD) and LINE FEED (#xA).
|
|
4053
|
+
* >
|
|
4054
|
+
* > To simplify the tasks of applications, the XML processor must behave
|
|
4055
|
+
* > as if it normalized all line breaks in external parsed entities (including the document entity)
|
|
4056
|
+
* > on input, before parsing, by translating all of the following to a single #xA character:
|
|
4057
|
+
* >
|
|
4058
|
+
* > 1. the two-character sequence #xD #xA
|
|
4059
|
+
* > 2. the two-character sequence #xD #x85
|
|
4060
|
+
* > 3. the single character #x85
|
|
4061
|
+
* > 4. the single character #x2028
|
|
4062
|
+
* > 5. any #xD character that is not immediately followed by #xA or #x85.
|
|
4063
|
+
*
|
|
4064
|
+
* @param {string} input
|
|
4065
|
+
* @returns {string}
|
|
4066
|
+
*/
|
|
4067
|
+
function normalizeLineEndings(input) {
|
|
4068
|
+
return input.replace(/\r[\n\u0085]/g, "\n").replace(/[\r\u0085\u2028]/g, "\n");
|
|
4069
|
+
}
|
|
4070
|
+
/**
|
|
4071
|
+
* @typedef Locator
|
|
4072
|
+
* @property {number} [columnNumber]
|
|
4073
|
+
* @property {number} [lineNumber]
|
|
4074
|
+
*/
|
|
4075
|
+
/**
|
|
4076
|
+
* @typedef DOMParserOptions
|
|
4077
|
+
* @property {DOMHandler} [domBuilder]
|
|
4078
|
+
* @property {Function} [errorHandler]
|
|
4079
|
+
* @property {(string) => string} [normalizeLineEndings] used to replace line endings before parsing
|
|
4080
|
+
* defaults to `normalizeLineEndings`
|
|
4081
|
+
* @property {Locator} [locator]
|
|
4082
|
+
* @property {Record<string, string>} [xmlns]
|
|
4083
|
+
*
|
|
4084
|
+
* @see normalizeLineEndings
|
|
4085
|
+
*/
|
|
4086
|
+
/**
|
|
4087
|
+
* The DOMParser interface provides the ability to parse XML or HTML source code
|
|
4088
|
+
* from a string into a DOM `Document`.
|
|
4089
|
+
*
|
|
4090
|
+
* _xmldom is different from the spec in that it allows an `options` parameter,
|
|
4091
|
+
* to override the default behavior._
|
|
4092
|
+
*
|
|
4093
|
+
* @param {DOMParserOptions} [options]
|
|
4094
|
+
* @constructor
|
|
4095
|
+
*
|
|
4096
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/DOMParser
|
|
4097
|
+
* @see https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#dom-parsing-and-serialization
|
|
4098
|
+
*/
|
|
4099
|
+
function DOMParser(options) {
|
|
4100
|
+
this.options = options || { locator: {} };
|
|
4101
|
+
}
|
|
4102
|
+
DOMParser.prototype.parseFromString = function(source, mimeType) {
|
|
4103
|
+
var options = this.options;
|
|
4104
|
+
var sax$1 = new XMLReader();
|
|
4105
|
+
var domBuilder = options.domBuilder || new DOMHandler();
|
|
4106
|
+
var errorHandler = options.errorHandler;
|
|
4107
|
+
var locator = options.locator;
|
|
4108
|
+
var defaultNSMap = options.xmlns || {};
|
|
4109
|
+
var isHTML = /\/x?html?$/.test(mimeType);
|
|
4110
|
+
var entityMap = isHTML ? entities.HTML_ENTITIES : entities.XML_ENTITIES;
|
|
4111
|
+
if (locator) domBuilder.setDocumentLocator(locator);
|
|
4112
|
+
sax$1.errorHandler = buildErrorHandler(errorHandler, domBuilder, locator);
|
|
4113
|
+
sax$1.domBuilder = options.domBuilder || domBuilder;
|
|
4114
|
+
if (isHTML) defaultNSMap[""] = NAMESPACE.HTML;
|
|
4115
|
+
defaultNSMap.xml = defaultNSMap.xml || NAMESPACE.XML;
|
|
4116
|
+
var normalize = options.normalizeLineEndings || normalizeLineEndings;
|
|
4117
|
+
if (source && typeof source === "string") sax$1.parse(normalize(source), defaultNSMap, entityMap);
|
|
4118
|
+
else sax$1.errorHandler.error("invalid doc source");
|
|
4119
|
+
return domBuilder.doc;
|
|
4120
|
+
};
|
|
4121
|
+
function buildErrorHandler(errorImpl, domBuilder, locator) {
|
|
4122
|
+
if (!errorImpl) {
|
|
4123
|
+
if (domBuilder instanceof DOMHandler) return domBuilder;
|
|
4124
|
+
errorImpl = domBuilder;
|
|
4125
|
+
}
|
|
4126
|
+
var errorHandler = {};
|
|
4127
|
+
var isCallback = errorImpl instanceof Function;
|
|
4128
|
+
locator = locator || {};
|
|
4129
|
+
function build(key) {
|
|
4130
|
+
var fn = errorImpl[key];
|
|
4131
|
+
if (!fn && isCallback) fn = errorImpl.length == 2 ? function(msg) {
|
|
4132
|
+
errorImpl(key, msg);
|
|
4133
|
+
} : errorImpl;
|
|
4134
|
+
errorHandler[key] = fn && function(msg) {
|
|
4135
|
+
fn("[xmldom " + key + "] " + msg + _locator(locator));
|
|
4136
|
+
} || function() {};
|
|
4137
|
+
}
|
|
4138
|
+
build("warning");
|
|
4139
|
+
build("error");
|
|
4140
|
+
build("fatalError");
|
|
4141
|
+
return errorHandler;
|
|
4142
|
+
}
|
|
4143
|
+
/**
|
|
4144
|
+
* +ContentHandler+ErrorHandler
|
|
4145
|
+
* +LexicalHandler+EntityResolver2
|
|
4146
|
+
* -DeclHandler-DTDHandler
|
|
4147
|
+
*
|
|
4148
|
+
* DefaultHandler:EntityResolver, DTDHandler, ContentHandler, ErrorHandler
|
|
4149
|
+
* DefaultHandler2:DefaultHandler,LexicalHandler, DeclHandler, EntityResolver2
|
|
4150
|
+
* @link http://www.saxproject.org/apidoc/org/xml/sax/helpers/DefaultHandler.html
|
|
4151
|
+
*/
|
|
4152
|
+
function DOMHandler() {
|
|
4153
|
+
this.cdata = false;
|
|
4154
|
+
}
|
|
4155
|
+
function position(locator, node) {
|
|
4156
|
+
node.lineNumber = locator.lineNumber;
|
|
4157
|
+
node.columnNumber = locator.columnNumber;
|
|
4158
|
+
}
|
|
4159
|
+
/**
|
|
4160
|
+
* @see org.xml.sax.ContentHandler#startDocument
|
|
4161
|
+
* @link http://www.saxproject.org/apidoc/org/xml/sax/ContentHandler.html
|
|
4162
|
+
*/
|
|
4163
|
+
DOMHandler.prototype = {
|
|
4164
|
+
startDocument: function() {
|
|
4165
|
+
this.doc = new DOMImplementation().createDocument(null, null, null);
|
|
4166
|
+
if (this.locator) this.doc.documentURI = this.locator.systemId;
|
|
4167
|
+
},
|
|
4168
|
+
startElement: function(namespaceURI, localName, qName, attrs) {
|
|
4169
|
+
var doc = this.doc;
|
|
4170
|
+
var el = doc.createElementNS(namespaceURI, qName || localName);
|
|
4171
|
+
var len = attrs.length;
|
|
4172
|
+
appendElement(this, el);
|
|
4173
|
+
this.currentElement = el;
|
|
4174
|
+
this.locator && position(this.locator, el);
|
|
4175
|
+
for (var i = 0; i < len; i++) {
|
|
4176
|
+
var namespaceURI = attrs.getURI(i);
|
|
4177
|
+
var value = attrs.getValue(i);
|
|
4178
|
+
var qName = attrs.getQName(i);
|
|
4179
|
+
var attr = doc.createAttributeNS(namespaceURI, qName);
|
|
4180
|
+
this.locator && position(attrs.getLocator(i), attr);
|
|
4181
|
+
attr.value = attr.nodeValue = value;
|
|
4182
|
+
el.setAttributeNode(attr);
|
|
4183
|
+
}
|
|
4184
|
+
},
|
|
4185
|
+
endElement: function(namespaceURI, localName, qName) {
|
|
4186
|
+
var current = this.currentElement;
|
|
4187
|
+
current.tagName;
|
|
4188
|
+
this.currentElement = current.parentNode;
|
|
4189
|
+
},
|
|
4190
|
+
startPrefixMapping: function(prefix, uri) {},
|
|
4191
|
+
endPrefixMapping: function(prefix) {},
|
|
4192
|
+
processingInstruction: function(target, data) {
|
|
4193
|
+
var ins = this.doc.createProcessingInstruction(target, data);
|
|
4194
|
+
this.locator && position(this.locator, ins);
|
|
4195
|
+
appendElement(this, ins);
|
|
4196
|
+
},
|
|
4197
|
+
ignorableWhitespace: function(ch, start, length) {},
|
|
4198
|
+
characters: function(chars, start, length) {
|
|
4199
|
+
chars = _toString.apply(this, arguments);
|
|
4200
|
+
if (chars) {
|
|
4201
|
+
if (this.cdata) var charNode = this.doc.createCDATASection(chars);
|
|
4202
|
+
else var charNode = this.doc.createTextNode(chars);
|
|
4203
|
+
if (this.currentElement) this.currentElement.appendChild(charNode);
|
|
4204
|
+
else if (/^\s*$/.test(chars)) this.doc.appendChild(charNode);
|
|
4205
|
+
this.locator && position(this.locator, charNode);
|
|
4206
|
+
}
|
|
4207
|
+
},
|
|
4208
|
+
skippedEntity: function(name) {},
|
|
4209
|
+
endDocument: function() {
|
|
4210
|
+
this.doc.normalize();
|
|
4211
|
+
},
|
|
4212
|
+
setDocumentLocator: function(locator) {
|
|
4213
|
+
if (this.locator = locator) locator.lineNumber = 0;
|
|
4214
|
+
},
|
|
4215
|
+
comment: function(chars, start, length) {
|
|
4216
|
+
chars = _toString.apply(this, arguments);
|
|
4217
|
+
var comm = this.doc.createComment(chars);
|
|
4218
|
+
this.locator && position(this.locator, comm);
|
|
4219
|
+
appendElement(this, comm);
|
|
4220
|
+
},
|
|
4221
|
+
startCDATA: function() {
|
|
4222
|
+
this.cdata = true;
|
|
4223
|
+
},
|
|
4224
|
+
endCDATA: function() {
|
|
4225
|
+
this.cdata = false;
|
|
4226
|
+
},
|
|
4227
|
+
startDTD: function(name, publicId, systemId) {
|
|
4228
|
+
var impl = this.doc.implementation;
|
|
4229
|
+
if (impl && impl.createDocumentType) {
|
|
4230
|
+
var dt = impl.createDocumentType(name, publicId, systemId);
|
|
4231
|
+
this.locator && position(this.locator, dt);
|
|
4232
|
+
appendElement(this, dt);
|
|
4233
|
+
this.doc.doctype = dt;
|
|
4234
|
+
}
|
|
4235
|
+
},
|
|
4236
|
+
warning: function(error) {
|
|
4237
|
+
console.warn("[xmldom warning] " + error, _locator(this.locator));
|
|
4238
|
+
},
|
|
4239
|
+
error: function(error) {
|
|
4240
|
+
console.error("[xmldom error] " + error, _locator(this.locator));
|
|
4241
|
+
},
|
|
4242
|
+
fatalError: function(error) {
|
|
4243
|
+
throw new ParseError(error, this.locator);
|
|
4244
|
+
}
|
|
4245
|
+
};
|
|
4246
|
+
function _locator(l) {
|
|
4247
|
+
if (l) return "\n@" + (l.systemId || "") + "#[line:" + l.lineNumber + ",col:" + l.columnNumber + "]";
|
|
4248
|
+
}
|
|
4249
|
+
function _toString(chars, start, length) {
|
|
4250
|
+
if (typeof chars == "string") return chars.substr(start, length);
|
|
4251
|
+
else {
|
|
4252
|
+
if (chars.length >= start + length || start) return new java.lang.String(chars, start, length) + "";
|
|
4253
|
+
return chars;
|
|
4254
|
+
}
|
|
4255
|
+
}
|
|
4256
|
+
"endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl".replace(/\w+/g, function(key) {
|
|
4257
|
+
DOMHandler.prototype[key] = function() {
|
|
4258
|
+
return null;
|
|
4259
|
+
};
|
|
4260
|
+
});
|
|
4261
|
+
function appendElement(hander, node) {
|
|
4262
|
+
if (!hander.currentElement) hander.doc.appendChild(node);
|
|
4263
|
+
else hander.currentElement.appendChild(node);
|
|
4264
|
+
}
|
|
4265
|
+
exports.__DOMHandler = DOMHandler;
|
|
4266
|
+
exports.normalizeLineEndings = normalizeLineEndings;
|
|
4267
|
+
exports.DOMParser = DOMParser;
|
|
4268
|
+
}) });
|
|
4269
|
+
|
|
4270
|
+
//#endregion
|
|
4271
|
+
//#region node_modules/.pnpm/@xmldom+xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/index.js
|
|
4272
|
+
var require_lib = /* @__PURE__ */ __commonJS({ "node_modules/.pnpm/@xmldom+xmldom@0.8.10/node_modules/@xmldom/xmldom/lib/index.js": ((exports) => {
|
|
4273
|
+
var dom = require_dom();
|
|
4274
|
+
exports.DOMImplementation = dom.DOMImplementation;
|
|
4275
|
+
exports.XMLSerializer = dom.XMLSerializer;
|
|
4276
|
+
exports.DOMParser = require_dom_parser().DOMParser;
|
|
4277
|
+
}) });
|
|
4278
|
+
|
|
4279
|
+
//#endregion
|
|
4280
|
+
export { require_dom as n, require_lib as t };
|