@univerjs/engine-render 0.4.1 → 0.4.2-nightly.202410301606
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/lib/es/index.js +454 -281
- package/lib/types/base-object.d.ts +6 -5
- package/lib/types/basics/const.d.ts +1 -0
- package/lib/types/basics/tools.d.ts +2 -2
- package/lib/types/components/docs/document.d.ts +0 -2
- package/lib/types/components/sheets/column-header.d.ts +1 -1
- package/lib/types/components/sheets/constants.d.ts +3 -15
- package/lib/types/components/sheets/extensions/row-header-layout.d.ts +1 -1
- package/lib/types/components/sheets/row-header.d.ts +1 -1
- package/lib/types/components/sheets/sheet-component.d.ts +1 -1
- package/lib/types/components/sheets/sheet-skeleton.d.ts +46 -13
- package/lib/types/components/sheets/spreadsheet.d.ts +1 -6
- package/lib/types/components/sheets/util.d.ts +13 -0
- package/lib/types/components/skeleton.d.ts +3 -3
- package/lib/types/context.d.ts +14 -29
- package/lib/types/index.d.ts +2 -1
- package/lib/types/layer.d.ts +2 -2
- package/lib/types/scene.transformer.d.ts +6 -1
- package/lib/types/services/render-config.d.ts +18 -0
- package/lib/types/services/render-config.service.d.ts +26 -0
- package/lib/types/shape/rect.d.ts +1 -0
- package/lib/types/shape/shape.d.ts +1 -0
- package/lib/types/viewport.d.ts +2 -0
- package/lib/umd/index.js +1 -1
- package/package.json +8 -12
- package/LICENSE +0 -176
- package/lib/af-Bpw3gNwc.js +0 -1
- package/lib/as-C73oboNR.js +0 -1
- package/lib/be-DM7HH-wL.js +0 -1
- package/lib/bg-BVx3UMtW.js +0 -1
- package/lib/bn-C-O6Dyni.js +0 -1
- package/lib/ca-DyIg63pT.js +0 -1
- package/lib/cjs/index.js +0 -1
- package/lib/cop-CzalNZMy.js +0 -1
- package/lib/cs-jFzUvpSW.js +0 -1
- package/lib/cu-C1YL2AZ4.js +0 -1
- package/lib/cy-45KfwWEx.js +0 -1
- package/lib/da-DuIo_kbC.js +0 -1
- package/lib/de-1901-I9pw9K2h.js +0 -1
- package/lib/de-1996-ChjJNsQw.js +0 -1
- package/lib/de-ch-1901-9RETBFw-.js +0 -1
- package/lib/el-monoton-8RvMnHth.js +0 -1
- package/lib/el-polyton-Bu66EDJ7.js +0 -1
- package/lib/en-gb-SV_a9fn-.js +0 -1
- package/lib/es-D0mhZjcV.js +0 -1
- package/lib/et-B0RzltQe.js +0 -1
- package/lib/eu-4jAKFEjV.js +0 -1
- package/lib/fi-DaRVklIS.js +0 -1
- package/lib/fr-DrZ3bXXV.js +0 -1
- package/lib/fur-_oHJfsBQ.js +0 -1
- package/lib/ga-CFmZeeI7.js +0 -1
- package/lib/gl-CfY7Df_j.js +0 -1
- package/lib/grc-yz3tVRuC.js +0 -1
- package/lib/gu-D-qwCz1q.js +0 -1
- package/lib/hi-BRIhY2xN.js +0 -1
- package/lib/hr-CKYeeRlN.js +0 -1
- package/lib/hsb-BG3O4bTN.js +0 -1
- package/lib/hu-11gHgrEC.js +0 -1
- package/lib/hy-CbR2hSXC.js +0 -1
- package/lib/ia-WpPFDdGr.js +0 -1
- package/lib/id-D4J_Cd04.js +0 -1
- package/lib/is-DERAkBFR.js +0 -1
- package/lib/it-UyiCWqfU.js +0 -1
- package/lib/ka-CLqmc6Xv.js +0 -1
- package/lib/kmr-CxwXQJXr.js +0 -1
- package/lib/kn-BVOgEmVc.js +0 -1
- package/lib/la-BjneBRWO.js +0 -1
- package/lib/la-x-classic-CZHKpRvI.js +0 -1
- package/lib/la-x-liturgic-pcl0n-zH.js +0 -1
- package/lib/lt-WYhIeybJ.js +0 -1
- package/lib/lv-CnvXw6FR.js +0 -1
- package/lib/ml-cY172xt6.js +0 -1
- package/lib/mn-cyrl-DjlymiLm.js +0 -1
- package/lib/mn-cyrl-x-lmc-j2L28W57.js +0 -1
- package/lib/mr-Dm28ir_Z.js +0 -1
- package/lib/mul-ethi-YVbJ7VwR.js +0 -1
- package/lib/nb-mojOW3Qu.js +0 -1
- package/lib/nl-Ds27_sIG.js +0 -1
- package/lib/nn-DWxFsoNc.js +0 -1
- package/lib/no-Cg50WX2I.js +0 -1
- package/lib/oc-K9bKXqET.js +0 -1
- package/lib/or-BMcshzJR.js +0 -1
- package/lib/pa-Bs8RctRX.js +0 -1
- package/lib/pi-Cvbb6qiX.js +0 -1
- package/lib/pl-D6gpqB1f.js +0 -1
- package/lib/pms-Cv7R-yy1.js +0 -1
- package/lib/pt-PAYrX3iM.js +0 -1
- package/lib/rm-Cp4-gmvX.js +0 -1
- package/lib/ro-D8uNKL54.js +0 -1
- package/lib/ru-yfURp3OS.js +0 -1
- package/lib/sa-BFf1hHnA.js +0 -1
- package/lib/sh-cyrl-CuVvXDHJ.js +0 -1
- package/lib/sh-latn-DBgzZ57b.js +0 -1
- package/lib/sk-D327HWGT.js +0 -1
- package/lib/sl-CJ43wdf2.js +0 -1
- package/lib/sr-cyrl-BSAkTr8N.js +0 -1
- package/lib/sv-Xk_o_no8.js +0 -1
- package/lib/ta-BS1JYNX3.js +0 -1
- package/lib/te-CNKqRcI1.js +0 -1
- package/lib/th-BNuoQKBG.js +0 -1
- package/lib/tk-MvsybXmO.js +0 -1
- package/lib/tr-DXSmP_xl.js +0 -1
- package/lib/uk-BDFck_NF.js +0 -1
- package/lib/zh-latn-pinyin-B17sY_zq.js +0 -1
- package/lib/types/{render-engine.d.ts → plugin.d.ts} +1 -1
package/lib/cjs/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";var __defProp=Object.defineProperty;var __defNormalProp=(obj,key,value)=>key in obj?__defProp(obj,key,{enumerable:!0,configurable:!0,writable:!0,value}):obj[key]=value;var __name=(target,value)=>__defProp(target,"name",{value,configurable:!0});var __publicField=(obj,key,value)=>__defNormalProp(obj,typeof key!="symbol"?key+"":key,value);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const core=require("@univerjs/core"),rxjs=require("rxjs");var SHAPE_TYPE=(SHAPE_TYPE2=>(SHAPE_TYPE2.RECT="rect",SHAPE_TYPE2.CIRCLE="circle",SHAPE_TYPE2.PATH="path",SHAPE_TYPE2))(SHAPE_TYPE||{}),LINK_VIEW_PORT_TYPE=(LINK_VIEW_PORT_TYPE2=>(LINK_VIEW_PORT_TYPE2[LINK_VIEW_PORT_TYPE2.XY=0]="XY",LINK_VIEW_PORT_TYPE2[LINK_VIEW_PORT_TYPE2.X=1]="X",LINK_VIEW_PORT_TYPE2[LINK_VIEW_PORT_TYPE2.Y=2]="Y",LINK_VIEW_PORT_TYPE2))(LINK_VIEW_PORT_TYPE||{});const MIDDLE_CELL_POS_MAGIC_NUMBER=1,DEFAULT_FONTFACE_PLANE='"Helvetica Neue", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "Heiti SC", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif',DEFAULT_SKELETON_HEADER_FOOTER={lines:[],drawings:new Map,height:0,st:0,ed:0,marginLeft:0},DEFAULT_SKELETON_HEADER={...DEFAULT_SKELETON_HEADER_FOOTER,marginTop:20},DEFAULT_SKELETON_FOOTER={...DEFAULT_SKELETON_HEADER_FOOTER,marginBottom:20},DEFAULT_OFFSET_SPACING=1,DEFAULT_DOCUMENT_FONTSIZE=14;var CURSOR_TYPE=(CURSOR_TYPE2=>(CURSOR_TYPE2.DEFAULT="default",CURSOR_TYPE2.AUTO="auto",CURSOR_TYPE2.CROSSHAIR="crosshair",CURSOR_TYPE2.POINTER="pointer",CURSOR_TYPE2.MOVE="move",CURSOR_TYPE2.EAST_RESIZE="e-resize",CURSOR_TYPE2.NORTH_EAST_RESIZE="ne-resize",CURSOR_TYPE2.NORTH_WEST_RESIZE="nw-resize",CURSOR_TYPE2.NORTH_RESIZE="n-resize",CURSOR_TYPE2.SOUTH_EAST_RESIZE="se-resize",CURSOR_TYPE2.SOUTH_WEST_RESIZE="sw-resize",CURSOR_TYPE2.SOUTH_RESIZE="s-resize",CURSOR_TYPE2.WEST_RESIZE="w-resize",CURSOR_TYPE2.TEXT="text",CURSOR_TYPE2.WAIT="wait",CURSOR_TYPE2.HELP="help",CURSOR_TYPE2.CELL="cell",CURSOR_TYPE2.NONE="none",CURSOR_TYPE2.VERTICAL_TEXT="vertical-text",CURSOR_TYPE2.NO_DROP="no-drop",CURSOR_TYPE2.GRAB="grab",CURSOR_TYPE2.GRABBING="grabbing",CURSOR_TYPE2.ALL_SCROLL="all-scroll",CURSOR_TYPE2.COLUMN_RESIZE="col-resize",CURSOR_TYPE2.ROW_RESIZE="row-resize",CURSOR_TYPE2.PROGRESS="progress",CURSOR_TYPE2.NOT_ALLOWED="not-allowed",CURSOR_TYPE2.ZOOM_IN="zoom-in",CURSOR_TYPE2.ZOOM_OUT="zoom-out",CURSOR_TYPE2))(CURSOR_TYPE||{}),DOCUMENT_CONTEXT_CLIP_TYPE=(DOCUMENT_CONTEXT_CLIP_TYPE2=>(DOCUMENT_CONTEXT_CLIP_TYPE2[DOCUMENT_CONTEXT_CLIP_TYPE2.noClip=0]="noClip",DOCUMENT_CONTEXT_CLIP_TYPE2[DOCUMENT_CONTEXT_CLIP_TYPE2.DOC_SIZE=1]="DOC_SIZE",DOCUMENT_CONTEXT_CLIP_TYPE2[DOCUMENT_CONTEXT_CLIP_TYPE2.CONTENT_SIZE_LEFT=2]="CONTENT_SIZE_LEFT",DOCUMENT_CONTEXT_CLIP_TYPE2[DOCUMENT_CONTEXT_CLIP_TYPE2.CONTENT_SIZE_CENTER=3]="CONTENT_SIZE_CENTER",DOCUMENT_CONTEXT_CLIP_TYPE2[DOCUMENT_CONTEXT_CLIP_TYPE2.CONTENT_SIZE_Right=4]="CONTENT_SIZE_Right",DOCUMENT_CONTEXT_CLIP_TYPE2))(DOCUMENT_CONTEXT_CLIP_TYPE||{});const COLOR_BLACK_RGB="rgb(0,0,0)";var BORDER_TYPE=(BORDER_TYPE2=>(BORDER_TYPE2.TOP="t",BORDER_TYPE2.BOTTOM="b",BORDER_TYPE2.LEFT="l",BORDER_TYPE2.RIGHT="r",BORDER_TYPE2.TL_BR="tl_br",BORDER_TYPE2.TL_BC="tl_bc",BORDER_TYPE2.TL_MR="tl_mr",BORDER_TYPE2.BL_TR="bl_tr",BORDER_TYPE2.ML_TR="ml_tr",BORDER_TYPE2.BC_TR="bc_tr",BORDER_TYPE2))(BORDER_TYPE||{}),ORIENTATION_TYPE=(ORIENTATION_TYPE2=>(ORIENTATION_TYPE2[ORIENTATION_TYPE2.UP=0]="UP",ORIENTATION_TYPE2[ORIENTATION_TYPE2.DOWN=1]="DOWN",ORIENTATION_TYPE2))(ORIENTATION_TYPE||{}),RENDER_CLASS_TYPE=(RENDER_CLASS_TYPE2=>(RENDER_CLASS_TYPE2.ENGINE="Engine",RENDER_CLASS_TYPE2.SCENE="Scene",RENDER_CLASS_TYPE2.BASE_OBJECT="BaseObject",RENDER_CLASS_TYPE2.SCENE_VIEWER="SceneViewer",RENDER_CLASS_TYPE2.CANVAS="Canvas",RENDER_CLASS_TYPE2.VIEWPORT="Viewport",RENDER_CLASS_TYPE2.LAYER="Layer",RENDER_CLASS_TYPE2.GROUP="Group",RENDER_CLASS_TYPE2.IMAGE="Image",RENDER_CLASS_TYPE2.SHAPE="Shape",RENDER_CLASS_TYPE2.TEXT="Text",RENDER_CLASS_TYPE2))(RENDER_CLASS_TYPE||{});const MAXIMUM_ROW_HEIGHT=2e3,FIX_ONE_PIXEL_BLUR_OFFSET=.5,DRAWING_OBJECT_LOWER_LAYER_INDEX=3,DRAWING_OBJECT_LAYER_INDEX=4,DRAWING_OBJECT_UPPER_LAYER_INDEX=5;var TRANSFORM_CHANGE_OBSERVABLE_TYPE=(TRANSFORM_CHANGE_OBSERVABLE_TYPE2=>(TRANSFORM_CHANGE_OBSERVABLE_TYPE2[TRANSFORM_CHANGE_OBSERVABLE_TYPE2.translate=0]="translate",TRANSFORM_CHANGE_OBSERVABLE_TYPE2[TRANSFORM_CHANGE_OBSERVABLE_TYPE2.resize=1]="resize",TRANSFORM_CHANGE_OBSERVABLE_TYPE2[TRANSFORM_CHANGE_OBSERVABLE_TYPE2.scale=2]="scale",TRANSFORM_CHANGE_OBSERVABLE_TYPE2[TRANSFORM_CHANGE_OBSERVABLE_TYPE2.skew=3]="skew",TRANSFORM_CHANGE_OBSERVABLE_TYPE2[TRANSFORM_CHANGE_OBSERVABLE_TYPE2.flip=4]="flip",TRANSFORM_CHANGE_OBSERVABLE_TYPE2[TRANSFORM_CHANGE_OBSERVABLE_TYPE2.all=5]="all",TRANSFORM_CHANGE_OBSERVABLE_TYPE2))(TRANSFORM_CHANGE_OBSERVABLE_TYPE||{});const _Base=class _Base{isEmpty(){return this._isEmpty()}toString(flags){if(this.isEmpty())throw new Error("Output is empty.");return this._toString(flags)}toRegExp(flags){return new RegExp(this.toString(flags),flags)}};__name(_Base,"Base");let Base=_Base;const _Charset=class _Charset extends Base{constructor(...inputs){super(),this.data=[];for(const input of inputs)input instanceof _Charset?this.data.push(...input.data):this.data.push(normalize$1(input));this._unique()}union(...inputs){return new _Charset(this,...inputs)}subtract(...inputs){const currentData=this.data.slice(),newData=[];let subtractIndex=0;const{data:subtractData}=new _Charset(...inputs);for(;currentData.length!==0;){const dataUnit=currentData.shift(),[start,end]=dataUnit;let isDone;do{isDone=!0;const subtractDataUnit=subtractData[subtractIndex];if(subtractDataUnit===void 0){newData.push(dataUnit);break}const[subtractStart,subtractEnd]=subtractDataUnit;subtractEnd<start?(isDone=!1,subtractIndex++):end<subtractStart?newData.push(dataUnit):subtractStart<=start&&subtractEnd<end?(subtractIndex++,currentData.unshift([subtractEnd+1,end])):start<subtractStart&&subtractEnd<end?(subtractIndex++,newData.push([start,subtractStart-1]),currentData.unshift([subtractEnd+1,end])):start<subtractStart&&end<=subtractEnd&&newData.push([start,subtractStart-1])}while(!isDone)}return new _Charset(...newData)}intersect(...inputs){return this.subtract(this.subtract(...inputs))}_isEmpty(){return this.data.length===0}_toString(flags){return rangesToString(this.data,flags)}_unique(){this.data.sort(compare);const newData=[];let lastDataUnit=null;for(const dataUnit of this.data)lastDataUnit===null||lastDataUnit[1]+1<dataUnit[0]?(newData.push(dataUnit),lastDataUnit=dataUnit):(newData.splice(-1,1,[Math.min(dataUnit[0],lastDataUnit[0]),Math.max(dataUnit[1],lastDataUnit[1])]),lastDataUnit=newData[newData.length-1]);this.data=newData}};__name(_Charset,"Charset");let Charset=_Charset;const charset=__name((...inputs)=>new Charset(...inputs),"charset");function charCode(char){if(char.length!==1){const display=`${char.length} (${JSON.stringify(char)})`;throw new Error(`Expected length = 1, but received ${display}.`)}return char.charCodeAt(0)}__name(charCode,"charCode");function normalize$1(rawInput){if(typeof rawInput=="number"&&(rawInput<0||rawInput>1114111))throw new Error(`Invalid unicode code point detected: ${rawInput<0?rawInput:`0x${rawInput.toString(16)}`}`);const[normalized]=[rawInput].map(_2=>typeof _2!="object"?[_2,_2]:_2).map(_2=>_2.map(u=>typeof u=="string"?charCode(u):u));return normalized}__name(normalize$1,"normalize$1");function compare(a,b){return a[0]-b[0]}__name(compare,"compare");function rangesToString(ranges,flags=""){if(flags.includes("u"))return normalToPattern(ranges,!0);const{normal,surrogate}=splitRanges(ranges),patterns=[];return normal.length!==0&&patterns.push(normalToPattern(normal,!1)),patterns.push(...surrogateToPatterns(surrogate)),patterns.join("|")}__name(rangesToString,"rangesToString");function normalToPattern(normal,hasUnicodeFlag){return`[${normal.map(([start,end])=>start===end?unicode$1(start,hasUnicodeFlag):`${unicode$1(start,hasUnicodeFlag)}-${unicode$1(end,hasUnicodeFlag)}`).join("")}]`}__name(normalToPattern,"normalToPattern");function surrogateToPatterns(surrogate){const patterns=[];if(surrogate.entire.data.length!==0){const h=surrogate.entire.toString(),l=`[${[56320,57343].map(_2=>unicode$1(_2,!1)).join("-")}]`;patterns.push(`${h}${l}`)}for(const{h:rawH,l:lCharset}of surrogate.partial){const h=unicode$1(rawH,!1),l=lCharset.toString();patterns.push(`${h}${l}`)}return patterns}__name(surrogateToPatterns,"surrogateToPatterns");function splitRanges(data2){const normal=[],surrogateRanges=[];for(let i=0;i<data2.length;i++){const dataUnit=data2[i],[start,end]=dataUnit;if(start>=65536){surrogateRanges.push(...data2.slice(i));break}if(end>=65536){normal.push([start,65535]),surrogateRanges.push([65536,end],...data2.slice(i+1));break}normal.push(dataUnit)}return{normal,surrogate:splitSurrogateRanges(surrogateRanges)}}__name(splitRanges,"splitRanges");function splitSurrogateRanges(ranges){const entire=[],partial=[];for(const[start,end]of ranges){const startPair=surrogatePair(start),endPair=surrogatePair(end);if(startPair.h===endPair.h){addPartialRange(startPair.h,startPair.l,endPair.l);continue}startPair.l===56320?addEntireRange(startPair.h):addPartialRange(startPair.h,startPair.l,57343);for(let h=startPair.h+1;h<endPair.h;h++)addEntireRange(h);endPair.l===57343?addEntireRange(endPair.h):addPartialRange(endPair.h,56320,endPair.l)}return{entire:new Charset(...entire),partial:partial.map(({h,l})=>({h,l:new Charset(...l)}))};function addEntireRange(h){entire.push(h)}function addPartialRange(h,start,end){const lastPartial=partial[partial.length-1];lastPartial!==void 0&&lastPartial.h===h?lastPartial.l.push([start,end]):partial.push({h,l:[[start,end]]})}}__name(splitSurrogateRanges,"splitSurrogateRanges");function surrogatePair(codepoint){return{h:Math.floor((codepoint-65536)/1024)+55296,l:(codepoint-65536)%1024+56320}}__name(surrogatePair,"surrogatePair");function unicode$1(char,hasUnicodeFlag){const hex=char.toString(16);return hasUnicodeFlag?`\\u{${hex}}`:`\\u${"0".repeat(4-hex.length)}${hex}`}__name(unicode$1,"unicode$1");const _$cN=[[0,127]],_$cM=[[48,57],[65,70],[97,102]],_$cL=[[65,90],[97,122],170,181,186,[192,214],[216,246],[248,705],[710,721],[736,740],748,750,837,[880,884],[886,887],[890,893],895,902,[904,906],908,[910,929],[931,1013],[1015,1153],[1162,1327],[1329,1366],1369,[1376,1416],[1456,1469],1471,[1473,1474],[1476,1477],1479,[1488,1514],[1519,1522],[1552,1562],[1568,1623],[1625,1631],[1646,1747],[1749,1756],[1761,1768],[1773,1775],[1786,1788],1791,[1808,1855],[1869,1969],[1994,2026],[2036,2037],2042,[2048,2071],[2074,2092],[2112,2136],[2144,2154],[2160,2183],[2185,2190],[2208,2249],[2260,2271],[2275,2281],[2288,2363],[2365,2380],[2382,2384],[2389,2403],[2417,2435],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],[2493,2500],[2503,2504],[2507,2508],2510,2519,[2524,2525],[2527,2531],[2544,2545],2556,[2561,2563],[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],[2622,2626],[2631,2632],[2635,2636],2641,[2649,2652],2654,[2672,2677],[2689,2691],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],[2749,2757],[2759,2761],[2763,2764],2768,[2784,2787],[2809,2812],[2817,2819],[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],[2877,2884],[2887,2888],[2891,2892],[2902,2903],[2908,2909],[2911,2915],2929,[2946,2947],[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],[3006,3010],[3014,3016],[3018,3020],3024,3031,[3072,3084],[3086,3088],[3090,3112],[3114,3129],[3133,3140],[3142,3144],[3146,3148],[3157,3158],[3160,3162],3165,[3168,3171],[3200,3203],[3205,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],[3261,3268],[3270,3272],[3274,3276],[3285,3286],[3293,3294],[3296,3299],[3313,3315],[3328,3340],[3342,3344],[3346,3386],[3389,3396],[3398,3400],[3402,3404],3406,[3412,3415],[3423,3427],[3450,3455],[3457,3459],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],[3535,3540],3542,[3544,3551],[3570,3571],[3585,3642],[3648,3654],3661,[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3769],[3771,3773],[3776,3780],3782,3789,[3804,3807],3840,[3904,3911],[3913,3948],[3953,3971],[3976,3991],[3993,4028],[4096,4150],4152,[4155,4159],[4176,4239],[4250,4253],[4256,4293],4295,4301,[4304,4346],[4348,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4992,5007],[5024,5109],[5112,5117],[5121,5740],[5743,5759],[5761,5786],[5792,5866],[5870,5880],[5888,5907],[5919,5939],[5952,5971],[5984,5996],[5998,6e3],[6002,6003],[6016,6067],[6070,6088],6103,6108,[6176,6264],[6272,6314],[6320,6389],[6400,6430],[6432,6443],[6448,6456],[6480,6509],[6512,6516],[6528,6571],[6576,6601],[6656,6683],[6688,6750],[6753,6772],6823,[6847,6848],[6860,6862],[6912,6963],[6965,6979],[6981,6988],[7040,7081],[7084,7087],[7098,7141],[7143,7153],[7168,7222],[7245,7247],[7258,7293],[7296,7304],[7312,7354],[7357,7359],[7401,7404],[7406,7411],[7413,7414],7418,[7424,7615],[7655,7668],[7680,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8124],8126,[8130,8132],[8134,8140],[8144,8147],[8150,8155],[8160,8172],[8178,8180],[8182,8188],8305,8319,[8336,8348],8450,8455,[8458,8467],8469,[8473,8477],8484,8486,8488,[8490,8493],[8495,8505],[8508,8511],[8517,8521],8526,[8544,8584],[9398,9449],[11264,11492],[11499,11502],[11506,11507],[11520,11557],11559,11565,[11568,11623],11631,[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],[11744,11775],11823,[12293,12295],[12321,12329],[12337,12341],[12344,12348],[12353,12438],[12445,12447],[12449,12538],[12540,12543],[12549,12591],[12593,12686],[12704,12735],[12784,12799],[13312,19903],[19968,42124],[42192,42237],[42240,42508],[42512,42527],[42538,42539],[42560,42606],[42612,42619],[42623,42735],[42775,42783],[42786,42888],[42891,42954],[42960,42961],42963,[42965,42969],[42994,43013],[43015,43047],[43072,43123],[43136,43203],43205,[43250,43255],43259,[43261,43263],[43274,43306],[43312,43346],[43360,43388],[43392,43442],[43444,43455],43471,[43488,43503],[43514,43518],[43520,43574],[43584,43597],[43616,43638],[43642,43710],43712,43714,[43739,43741],[43744,43759],[43762,43765],[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43824,43866],[43868,43881],[43888,44010],[44032,55203],[55216,55238],[55243,55291],[63744,64109],[64112,64217],[64256,64262],[64275,64279],[64285,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64433],[64467,64829],[64848,64911],[64914,64967],[65008,65019],[65136,65140],[65142,65276],[65313,65338],[65345,65370],[65382,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[65856,65908],[66176,66204],[66208,66256],[66304,66335],[66349,66378],[66384,66426],[66432,66461],[66464,66499],[66504,66511],[66513,66517],[66560,66717],[66736,66771],[66776,66811],[66816,66855],[66864,66915],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[67072,67382],[67392,67413],[67424,67431],[67456,67461],[67463,67504],[67506,67514],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67680,67702],[67712,67742],[67808,67826],[67828,67829],[67840,67861],[67872,67897],[67968,68023],[68030,68031],[68096,68099],[68101,68102],[68108,68115],[68117,68119],[68121,68149],[68192,68220],[68224,68252],[68288,68295],[68297,68324],[68352,68405],[68416,68437],[68448,68466],[68480,68497],[68608,68680],[68736,68786],[68800,68850],[68864,68903],[69248,69289],[69291,69292],[69296,69297],[69376,69404],69415,[69424,69445],[69488,69505],[69552,69572],[69600,69622],[69632,69701],[69745,69749],[69760,69816],69826,[69840,69864],[69888,69938],[69956,69959],[69968,70002],70006,[70016,70079],[70081,70084],[70094,70095],70106,70108,[70144,70161],[70163,70196],70199,[70206,70209],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70312],[70320,70376],[70400,70403],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],[70461,70468],[70471,70472],[70475,70476],70480,70487,[70493,70499],[70656,70721],[70723,70725],[70727,70730],[70751,70753],[70784,70849],[70852,70853],70855,[71040,71093],[71096,71102],[71128,71133],[71168,71230],71232,71236,[71296,71349],71352,[71424,71450],[71453,71466],[71488,71494],[71680,71736],[71840,71903],[71935,71942],71945,[71948,71955],[71957,71958],[71960,71989],[71991,71992],[71995,71996],[71999,72002],[72096,72103],[72106,72151],[72154,72159],72161,[72163,72164],[72192,72242],[72245,72254],[72272,72343],72349,[72368,72440],[72704,72712],[72714,72758],[72760,72766],72768,[72818,72847],[72850,72871],[72873,72886],[72960,72966],[72968,72969],[72971,73014],73018,[73020,73021],[73023,73025],73027,[73030,73031],[73056,73061],[73063,73064],[73066,73102],[73104,73105],[73107,73110],73112,[73440,73462],[73472,73488],[73490,73530],[73534,73536],73648,[73728,74649],[74752,74862],[74880,75075],[77712,77808],[77824,78895],[78913,78918],[82944,83526],[92160,92728],[92736,92766],[92784,92862],[92880,92909],[92928,92975],[92992,92995],[93027,93047],[93053,93071],[93760,93823],[93952,94026],[94031,94087],[94095,94111],[94176,94177],94179,[94192,94193],[94208,100343],[100352,101589],[101632,101640],[110576,110579],[110581,110587],[110589,110590],[110592,110882],110898,[110928,110930],110933,[110948,110951],[110960,111355],[113664,113770],[113776,113788],[113792,113800],[113808,113817],113822,[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120512],[120514,120538],[120540,120570],[120572,120596],[120598,120628],[120630,120654],[120656,120686],[120688,120712],[120714,120744],[120746,120770],[120772,120779],[122624,122654],[122661,122666],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],[122928,122989],123023,[123136,123180],[123191,123197],123214,[123536,123565],[123584,123627],[124112,124139],[124896,124902],[124904,124907],[124909,124910],[124912,124926],[124928,125124],[125184,125251],125255,125259,[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[127280,127305],[127312,127337],[127344,127369],[131072,173791],[173824,177977],[177984,178205],[178208,183969],[183984,191456],[194560,195101],[196608,201546],[201552,205743]],_$cK=[[0,1114111]],_$cJ=[[0,887],[890,895],[900,906],908,[910,929],[931,1327],[1329,1366],[1369,1418],[1421,1423],[1425,1479],[1488,1514],[1519,1524],[1536,1805],[1807,1866],[1869,1969],[1984,2042],[2045,2093],[2096,2110],[2112,2139],2142,[2144,2154],[2160,2190],[2192,2193],[2200,2435],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],[2492,2500],[2503,2504],[2507,2510],2519,[2524,2525],[2527,2531],[2534,2558],[2561,2563],[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],2620,[2622,2626],[2631,2632],[2635,2637],2641,[2649,2652],2654,[2662,2678],[2689,2691],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],[2748,2757],[2759,2761],[2763,2765],2768,[2784,2787],[2790,2801],[2809,2815],[2817,2819],[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],[2876,2884],[2887,2888],[2891,2893],[2901,2903],[2908,2909],[2911,2915],[2918,2935],[2946,2947],[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],[3006,3010],[3014,3016],[3018,3021],3024,3031,[3046,3066],[3072,3084],[3086,3088],[3090,3112],[3114,3129],[3132,3140],[3142,3144],[3146,3149],[3157,3158],[3160,3162],3165,[3168,3171],[3174,3183],[3191,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],[3260,3268],[3270,3272],[3274,3277],[3285,3286],[3293,3294],[3296,3299],[3302,3311],[3313,3315],[3328,3340],[3342,3344],[3346,3396],[3398,3400],[3402,3407],[3412,3427],[3430,3455],[3457,3459],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],3530,[3535,3540],3542,[3544,3551],[3558,3567],[3570,3572],[3585,3642],[3647,3675],[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3773],[3776,3780],3782,[3784,3790],[3792,3801],[3804,3807],[3840,3911],[3913,3948],[3953,3991],[3993,4028],[4030,4044],[4046,4058],[4096,4293],4295,4301,[4304,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4957,4988],[4992,5017],[5024,5109],[5112,5117],[5120,5788],[5792,5880],[5888,5909],[5919,5942],[5952,5971],[5984,5996],[5998,6e3],[6002,6003],[6016,6109],[6112,6121],[6128,6137],[6144,6169],[6176,6264],[6272,6314],[6320,6389],[6400,6430],[6432,6443],[6448,6459],6464,[6468,6509],[6512,6516],[6528,6571],[6576,6601],[6608,6618],[6622,6683],[6686,6750],[6752,6780],[6783,6793],[6800,6809],[6816,6829],[6832,6862],[6912,6988],[6992,7038],[7040,7155],[7164,7223],[7227,7241],[7245,7304],[7312,7354],[7357,7367],[7376,7418],[7424,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8132],[8134,8147],[8150,8155],[8157,8175],[8178,8180],[8182,8190],[8192,8292],[8294,8305],[8308,8334],[8336,8348],[8352,8384],[8400,8432],[8448,8587],[8592,9254],[9280,9290],[9312,11123],[11126,11157],[11159,11507],[11513,11557],11559,11565,[11568,11623],[11631,11632],[11647,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],[11744,11869],[11904,11929],[11931,12019],[12032,12245],[12272,12283],[12288,12351],[12353,12438],[12441,12543],[12549,12591],[12593,12686],[12688,12771],[12784,12830],[12832,42124],[42128,42182],[42192,42539],[42560,42743],[42752,42954],[42960,42961],42963,[42965,42969],[42994,43052],[43056,43065],[43072,43127],[43136,43205],[43214,43225],[43232,43347],[43359,43388],[43392,43469],[43471,43481],[43486,43518],[43520,43574],[43584,43597],[43600,43609],[43612,43714],[43739,43766],[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43824,43883],[43888,44013],[44016,44025],[44032,55203],[55216,55238],[55243,55291],[55296,64109],[64112,64217],[64256,64262],[64275,64279],[64285,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64450],[64467,64911],[64914,64967],64975,[65008,65049],[65056,65106],[65108,65126],[65128,65131],[65136,65140],[65142,65276],65279,[65281,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65504,65510],[65512,65518],[65529,65533],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[65792,65794],[65799,65843],[65847,65934],[65936,65948],65952,[66e3,66045],[66176,66204],[66208,66256],[66272,66299],[66304,66339],[66349,66378],[66384,66426],[66432,66461],[66463,66499],[66504,66517],[66560,66717],[66720,66729],[66736,66771],[66776,66811],[66816,66855],[66864,66915],[66927,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[67072,67382],[67392,67413],[67424,67431],[67456,67461],[67463,67504],[67506,67514],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67671,67742],[67751,67759],[67808,67826],[67828,67829],[67835,67867],[67871,67897],67903,[67968,68023],[68028,68047],[68050,68099],[68101,68102],[68108,68115],[68117,68119],[68121,68149],[68152,68154],[68159,68168],[68176,68184],[68192,68255],[68288,68326],[68331,68342],[68352,68405],[68409,68437],[68440,68466],[68472,68497],[68505,68508],[68521,68527],[68608,68680],[68736,68786],[68800,68850],[68858,68903],[68912,68921],[69216,69246],[69248,69289],[69291,69293],[69296,69297],[69373,69415],[69424,69465],[69488,69513],[69552,69579],[69600,69622],[69632,69709],[69714,69749],[69759,69826],69837,[69840,69864],[69872,69881],[69888,69940],[69942,69959],[69968,70006],[70016,70111],[70113,70132],[70144,70161],[70163,70209],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70313],[70320,70378],[70384,70393],[70400,70403],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],[70459,70468],[70471,70472],[70475,70477],70480,70487,[70493,70499],[70502,70508],[70512,70516],[70656,70747],[70749,70753],[70784,70855],[70864,70873],[71040,71093],[71096,71133],[71168,71236],[71248,71257],[71264,71276],[71296,71353],[71360,71369],[71424,71450],[71453,71467],[71472,71494],[71680,71739],[71840,71922],[71935,71942],71945,[71948,71955],[71957,71958],[71960,71989],[71991,71992],[71995,72006],[72016,72025],[72096,72103],[72106,72151],[72154,72164],[72192,72263],[72272,72354],[72368,72440],[72448,72457],[72704,72712],[72714,72758],[72760,72773],[72784,72812],[72816,72847],[72850,72871],[72873,72886],[72960,72966],[72968,72969],[72971,73014],73018,[73020,73021],[73023,73031],[73040,73049],[73056,73061],[73063,73064],[73066,73102],[73104,73105],[73107,73112],[73120,73129],[73440,73464],[73472,73488],[73490,73530],[73534,73561],73648,[73664,73713],[73727,74649],[74752,74862],[74864,74868],[74880,75075],[77712,77810],[77824,78933],[82944,83526],[92160,92728],[92736,92766],[92768,92777],[92782,92862],[92864,92873],[92880,92909],[92912,92917],[92928,92997],[93008,93017],[93019,93025],[93027,93047],[93053,93071],[93760,93850],[93952,94026],[94031,94087],[94095,94111],[94176,94180],[94192,94193],[94208,100343],[100352,101589],[101632,101640],[110576,110579],[110581,110587],[110589,110590],[110592,110882],110898,[110928,110930],110933,[110948,110951],[110960,111355],[113664,113770],[113776,113788],[113792,113800],[113808,113817],[113820,113827],[118528,118573],[118576,118598],[118608,118723],[118784,119029],[119040,119078],[119081,119274],[119296,119365],[119488,119507],[119520,119539],[119552,119638],[119648,119672],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120779],[120782,121483],[121499,121503],[121505,121519],[122624,122654],[122661,122666],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],[122928,122989],123023,[123136,123180],[123184,123197],[123200,123209],[123214,123215],[123536,123566],[123584,123641],123647,[124112,124153],[124896,124902],[124904,124907],[124909,124910],[124912,124926],[124928,125124],[125127,125142],[125184,125259],[125264,125273],[125278,125279],[126065,126132],[126209,126269],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[126704,126705],[126976,127019],[127024,127123],[127136,127150],[127153,127167],[127169,127183],[127185,127221],[127232,127405],[127462,127490],[127504,127547],[127552,127560],[127568,127569],[127584,127589],[127744,128727],[128732,128748],[128752,128764],[128768,128886],[128891,128985],[128992,129003],129008,[129024,129035],[129040,129095],[129104,129113],[129120,129159],[129168,129197],[129200,129201],[129280,129619],[129632,129645],[129648,129660],[129664,129672],[129680,129725],[129727,129733],[129742,129755],[129760,129768],[129776,129784],[129792,129938],[129940,129994],[130032,130041],[131072,173791],[173824,177977],[177984,178205],[178208,183969],[183984,191456],[194560,195101],[196608,201546],[201552,205743],917505,[917536,917631],[917760,917999],[983040,1048573],[1048576,1114109]],_$cI=[1564,[8206,8207],[8234,8238],[8294,8297]],_$cH=[[40,41],60,62,91,93,123,125,171,187,[3898,3901],[5787,5788],[8249,8250],[8261,8262],[8317,8318],[8333,8334],8512,[8705,8708],[8712,8717],8721,[8725,8726],[8730,8733],[8735,8738],8740,8742,[8747,8755],8761,[8763,8780],[8786,8789],[8799,8800],8802,[8804,8811],[8814,8844],[8847,8850],8856,[8866,8867],[8870,8888],[8894,8895],[8905,8909],[8912,8913],[8918,8941],[8944,8959],[8968,8971],[8992,8993],[9001,9002],[10088,10101],10176,[10179,10182],[10184,10185],[10187,10189],[10195,10198],[10204,10206],[10210,10223],[10627,10648],[10651,10656],[10658,10671],10680,[10688,10693],10697,[10702,10706],[10708,10709],[10712,10716],10721,[10723,10725],[10728,10729],[10740,10745],[10748,10749],[10762,10780],[10782,10785],10788,10790,10793,[10795,10798],[10804,10805],[10812,10814],[10839,10840],[10852,10853],[10858,10861],[10863,10864],[10867,10868],[10873,10915],[10918,10925],[10927,10966],10972,10974,[10978,10982],[10988,10990],10995,[10999,11003],11005,11262,[11778,11781],[11785,11786],[11788,11789],[11804,11805],[11808,11817],[11861,11868],[12296,12305],[12308,12315],[65113,65118],[65124,65125],[65288,65289],65308,65310,65339,65341,65371,65373,[65375,65376],[65378,65379],120539,120597,120655,120713,120771],_$cG=[39,46,58,94,96,168,173,175,180,[183,184],[688,879],[884,885],890,[900,901],903,[1155,1161],1369,1375,[1425,1469],1471,[1473,1474],[1476,1477],1479,1524,[1536,1541],[1552,1562],1564,1600,[1611,1631],1648,[1750,1757],[1759,1768],[1770,1773],1807,1809,[1840,1866],[1958,1968],[2027,2037],2042,2045,[2070,2093],[2137,2139],2184,[2192,2193],[2200,2207],[2249,2306],2362,2364,[2369,2376],2381,[2385,2391],[2402,2403],2417,2433,2492,[2497,2500],2509,[2530,2531],2558,[2561,2562],2620,[2625,2626],[2631,2632],[2635,2637],2641,[2672,2673],2677,[2689,2690],2748,[2753,2757],[2759,2760],2765,[2786,2787],[2810,2815],2817,2876,2879,[2881,2884],2893,[2901,2902],[2914,2915],2946,3008,3021,3072,3076,3132,[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3170,3171],3201,3260,3263,3270,[3276,3277],[3298,3299],[3328,3329],[3387,3388],[3393,3396],3405,[3426,3427],3457,3530,[3538,3540],3542,3633,[3636,3642],[3654,3662],3761,[3764,3772],3782,[3784,3790],[3864,3865],3893,3895,3897,[3953,3966],[3968,3972],[3974,3975],[3981,3991],[3993,4028],4038,[4141,4144],[4146,4151],[4153,4154],[4157,4158],[4184,4185],[4190,4192],[4209,4212],4226,[4229,4230],4237,4253,4348,[4957,4959],[5906,5908],[5938,5939],[5970,5971],[6002,6003],[6068,6069],[6071,6077],6086,[6089,6099],6103,6109,[6155,6159],6211,[6277,6278],6313,[6432,6434],[6439,6440],6450,[6457,6459],[6679,6680],6683,6742,[6744,6750],6752,6754,[6757,6764],[6771,6780],6783,6823,[6832,6862],[6912,6915],6964,[6966,6970],6972,6978,[7019,7027],[7040,7041],[7074,7077],[7080,7081],[7083,7085],7142,[7144,7145],7149,[7151,7153],[7212,7219],[7222,7223],[7288,7293],[7376,7378],[7380,7392],[7394,7400],7405,7412,[7416,7417],[7468,7530],7544,[7579,7679],8125,[8127,8129],[8141,8143],[8157,8159],[8173,8175],[8189,8190],[8203,8207],[8216,8217],8228,8231,[8234,8238],[8288,8292],[8294,8303],8305,8319,[8336,8348],[8400,8432],[11388,11389],[11503,11505],11631,11647,[11744,11775],11823,12293,[12330,12333],[12337,12341],12347,[12441,12446],[12540,12542],40981,[42232,42237],42508,[42607,42610],[42612,42621],42623,[42652,42655],[42736,42737],[42752,42785],42864,[42888,42890],[42994,42996],[43e3,43001],43010,43014,43019,[43045,43046],43052,[43204,43205],[43232,43249],43263,[43302,43309],[43335,43345],[43392,43394],43443,[43446,43449],[43452,43453],43471,[43493,43494],[43561,43566],[43569,43570],[43573,43574],43587,43596,43632,43644,43696,[43698,43700],[43703,43704],[43710,43711],43713,43741,[43756,43757],[43763,43764],43766,[43867,43871],[43881,43883],44005,44008,44013,64286,[64434,64450],[65024,65039],65043,[65056,65071],65106,65109,65279,65287,65294,65306,65342,65344,65392,[65438,65439],65507,[65529,65531],66045,66272,[66422,66426],[67456,67461],[67463,67504],[67506,67514],[68097,68099],[68101,68102],[68108,68111],[68152,68154],68159,[68325,68326],[68900,68903],[69291,69292],[69373,69375],[69446,69456],[69506,69509],69633,[69688,69702],69744,[69747,69748],[69759,69761],[69811,69814],[69817,69818],69821,69826,69837,[69888,69890],[69927,69931],[69933,69940],70003,[70016,70017],[70070,70078],[70089,70092],70095,[70191,70193],70196,[70198,70199],70206,70209,70367,[70371,70378],[70400,70401],[70459,70460],70464,[70502,70508],[70512,70516],[70712,70719],[70722,70724],70726,70750,[70835,70840],70842,[70847,70848],[70850,70851],[71090,71093],[71100,71101],[71103,71104],[71132,71133],[71219,71226],71229,[71231,71232],71339,71341,[71344,71349],71351,[71453,71455],[71458,71461],[71463,71467],[71727,71735],[71737,71738],[71995,71996],71998,72003,[72148,72151],[72154,72155],72160,[72193,72202],[72243,72248],[72251,72254],72263,[72273,72278],[72281,72283],[72330,72342],[72344,72345],[72752,72758],[72760,72765],72767,[72850,72871],[72874,72880],[72882,72883],[72885,72886],[73009,73014],73018,[73020,73021],[73023,73029],73031,[73104,73105],73109,73111,[73459,73460],[73472,73473],[73526,73530],73536,73538,[78896,78912],[78919,78933],[92912,92916],[92976,92982],[92992,92995],94031,[94095,94111],[94176,94177],[94179,94180],[110576,110579],[110581,110587],[110589,110590],[113821,113822],[113824,113827],[118528,118573],[118576,118598],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[121344,121398],[121403,121452],121461,121476,[121499,121503],[121505,121519],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],[122928,122989],123023,[123184,123197],123566,[123628,123631],[124139,124143],[125136,125142],[125252,125259],[127995,127999],917505,[917536,917631],[917760,917999]],_$cF=[[65,90],[97,122],170,181,186,[192,214],[216,246],[248,442],[444,447],[452,659],[661,696],[704,705],[736,740],837,[880,883],[886,887],[890,893],895,902,[904,906],908,[910,929],[931,1013],[1015,1153],[1162,1327],[1329,1366],[1376,1416],[4256,4293],4295,4301,[4304,4346],[4348,4351],[5024,5109],[5112,5117],[7296,7304],[7312,7354],[7357,7359],[7424,7615],[7680,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8124],8126,[8130,8132],[8134,8140],[8144,8147],[8150,8155],[8160,8172],[8178,8180],[8182,8188],8305,8319,[8336,8348],8450,8455,[8458,8467],8469,[8473,8477],8484,8486,8488,[8490,8493],[8495,8500],8505,[8508,8511],[8517,8521],8526,[8544,8575],[8579,8580],[9398,9449],[11264,11492],[11499,11502],[11506,11507],[11520,11557],11559,11565,[42560,42605],[42624,42653],[42786,42887],[42891,42894],[42896,42954],[42960,42961],42963,[42965,42969],[42994,42998],[43e3,43002],[43824,43866],[43868,43881],[43888,43967],[64256,64262],[64275,64279],[65313,65338],[65345,65370],[66560,66639],[66736,66771],[66776,66811],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],67456,[67459,67461],[67463,67504],[67506,67514],[68736,68786],[68800,68850],[71840,71903],[93760,93823],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120512],[120514,120538],[120540,120570],[120572,120596],[120598,120628],[120630,120654],[120656,120686],[120688,120712],[120714,120744],[120746,120770],[120772,120779],[122624,122633],[122635,122654],[122661,122666],[122928,122989],[125184,125251],[127280,127305],[127312,127337],[127344,127369]],_$cE=[[65,90],181,[192,214],[216,223],256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,313,315,317,319,321,323,325,327,[329,330],332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,[376,377],379,381,383,[385,386],388,[390,391],[393,395],[398,401],[403,404],[406,408],[412,413],[415,416],418,420,[422,423],425,428,[430,431],[433,435],437,[439,440],444,[452,453],[455,456],[458,459],461,463,465,467,469,471,473,475,478,480,482,484,486,488,490,492,494,[497,498],500,[502,504],506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,[570,571],[573,574],577,[579,582],584,586,588,590,837,880,882,886,895,902,[904,906],908,[910,911],[913,929],[931,939],962,[975,977],[981,982],984,986,988,990,992,994,996,998,1e3,1002,1004,1006,[1008,1009],[1012,1013],1015,[1017,1018],[1021,1071],1120,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140,1142,1144,1146,1148,1150,1152,1162,1164,1166,1168,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188,1190,1192,1194,1196,1198,1200,1202,1204,1206,1208,1210,1212,1214,[1216,1217],1219,1221,1223,1225,1227,1229,1232,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308,1310,1312,1314,1316,1318,1320,1322,1324,1326,[1329,1366],1415,[4256,4293],4295,4301,[5112,5117],[7296,7304],[7312,7354],[7357,7359],7680,7682,7684,7686,7688,7690,7692,7694,7696,7698,7700,7702,7704,7706,7708,7710,7712,7714,7716,7718,7720,7722,7724,7726,7728,7730,7732,7734,7736,7738,7740,7742,7744,7746,7748,7750,7752,7754,7756,7758,7760,7762,7764,7766,7768,7770,7772,7774,7776,7778,7780,7782,7784,7786,7788,7790,7792,7794,7796,7798,7800,7802,7804,7806,7808,7810,7812,7814,7816,7818,7820,7822,7824,7826,7828,[7834,7835],7838,7840,7842,7844,7846,7848,7850,7852,7854,7856,7858,7860,7862,7864,7866,7868,7870,7872,7874,7876,7878,7880,7882,7884,7886,7888,7890,7892,7894,7896,7898,7900,7902,7904,7906,7908,7910,7912,7914,7916,7918,7920,7922,7924,7926,7928,7930,7932,7934,[7944,7951],[7960,7965],[7976,7983],[7992,7999],[8008,8013],8025,8027,8029,8031,[8040,8047],[8064,8111],[8114,8116],[8119,8124],[8130,8132],[8135,8140],[8152,8155],[8168,8172],[8178,8180],[8183,8188],8486,[8490,8491],8498,[8544,8559],8579,[9398,9423],[11264,11311],11360,[11362,11364],11367,11369,11371,[11373,11376],11378,11381,[11390,11392],11394,11396,11398,11400,11402,11404,11406,11408,11410,11412,11414,11416,11418,11420,11422,11424,11426,11428,11430,11432,11434,11436,11438,11440,11442,11444,11446,11448,11450,11452,11454,11456,11458,11460,11462,11464,11466,11468,11470,11472,11474,11476,11478,11480,11482,11484,11486,11488,11490,11499,11501,11506,42560,42562,42564,42566,42568,42570,42572,42574,42576,42578,42580,42582,42584,42586,42588,42590,42592,42594,42596,42598,42600,42602,42604,42624,42626,42628,42630,42632,42634,42636,42638,42640,42642,42644,42646,42648,42650,42786,42788,42790,42792,42794,42796,42798,42802,42804,42806,42808,42810,42812,42814,42816,42818,42820,42822,42824,42826,42828,42830,42832,42834,42836,42838,42840,42842,42844,42846,42848,42850,42852,42854,42856,42858,42860,42862,42873,42875,[42877,42878],42880,42882,42884,42886,42891,42893,42896,42898,42902,42904,42906,42908,42910,42912,42914,42916,42918,42920,[42922,42926],[42928,42932],42934,42936,42938,42940,42942,42944,42946,[42948,42951],42953,42960,42966,42968,42997,[43888,43967],[64256,64262],[64275,64279],[65313,65338],[66560,66599],[66736,66771],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[68736,68786],[71840,71871],[93760,93791],[125184,125217]],_$cD=[[65,90],[97,122],181,[192,214],[216,246],[248,311],[313,396],[398,410],[412,425],[428,441],[444,445],447,[452,544],[546,563],[570,596],[598,599],601,[603,604],[608,609],611,[613,614],[616,620],623,[625,626],629,637,640,[642,643],[647,652],658,[669,670],837,[880,883],[886,887],[891,893],895,902,[904,906],908,[910,929],[931,977],[981,1013],[1015,1019],[1021,1153],[1162,1327],[1329,1366],[1377,1415],[4256,4293],4295,4301,[4304,4346],[4349,4351],[5024,5109],[5112,5117],[7296,7304],[7312,7354],[7357,7359],7545,7549,7566,[7680,7835],7838,[7840,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8124],8126,[8130,8132],[8134,8140],[8144,8147],[8150,8155],[8160,8172],[8178,8180],[8182,8188],8486,[8490,8491],8498,8526,[8544,8575],[8579,8580],[9398,9449],[11264,11376],[11378,11379],[11381,11382],[11390,11491],[11499,11502],[11506,11507],[11520,11557],11559,11565,[42560,42605],[42624,42651],[42786,42799],[42802,42863],[42873,42887],[42891,42893],[42896,42900],[42902,42926],[42928,42954],[42960,42961],[42966,42969],[42997,42998],43859,[43888,43967],[64256,64262],[64275,64279],[65313,65338],[65345,65370],[66560,66639],[66736,66771],[66776,66811],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[68736,68786],[68800,68850],[71840,71903],[93760,93823],[125184,125251]],_$cC=[[65,90],[192,214],[216,222],256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,313,315,317,319,321,323,325,327,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,[376,377],379,381,[385,386],388,[390,391],[393,395],[398,401],[403,404],[406,408],[412,413],[415,416],418,420,[422,423],425,428,[430,431],[433,435],437,[439,440],444,[452,453],[455,456],[458,459],461,463,465,467,469,471,473,475,478,480,482,484,486,488,490,492,494,[497,498],500,[502,504],506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,[570,571],[573,574],577,[579,582],584,586,588,590,880,882,886,895,902,[904,906],908,[910,911],[913,929],[931,939],975,984,986,988,990,992,994,996,998,1e3,1002,1004,1006,1012,1015,[1017,1018],[1021,1071],1120,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140,1142,1144,1146,1148,1150,1152,1162,1164,1166,1168,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188,1190,1192,1194,1196,1198,1200,1202,1204,1206,1208,1210,1212,1214,[1216,1217],1219,1221,1223,1225,1227,1229,1232,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308,1310,1312,1314,1316,1318,1320,1322,1324,1326,[1329,1366],[4256,4293],4295,4301,[5024,5109],[7312,7354],[7357,7359],7680,7682,7684,7686,7688,7690,7692,7694,7696,7698,7700,7702,7704,7706,7708,7710,7712,7714,7716,7718,7720,7722,7724,7726,7728,7730,7732,7734,7736,7738,7740,7742,7744,7746,7748,7750,7752,7754,7756,7758,7760,7762,7764,7766,7768,7770,7772,7774,7776,7778,7780,7782,7784,7786,7788,7790,7792,7794,7796,7798,7800,7802,7804,7806,7808,7810,7812,7814,7816,7818,7820,7822,7824,7826,7828,7838,7840,7842,7844,7846,7848,7850,7852,7854,7856,7858,7860,7862,7864,7866,7868,7870,7872,7874,7876,7878,7880,7882,7884,7886,7888,7890,7892,7894,7896,7898,7900,7902,7904,7906,7908,7910,7912,7914,7916,7918,7920,7922,7924,7926,7928,7930,7932,7934,[7944,7951],[7960,7965],[7976,7983],[7992,7999],[8008,8013],8025,8027,8029,8031,[8040,8047],[8072,8079],[8088,8095],[8104,8111],[8120,8124],[8136,8140],[8152,8155],[8168,8172],[8184,8188],8486,[8490,8491],8498,[8544,8559],8579,[9398,9423],[11264,11311],11360,[11362,11364],11367,11369,11371,[11373,11376],11378,11381,[11390,11392],11394,11396,11398,11400,11402,11404,11406,11408,11410,11412,11414,11416,11418,11420,11422,11424,11426,11428,11430,11432,11434,11436,11438,11440,11442,11444,11446,11448,11450,11452,11454,11456,11458,11460,11462,11464,11466,11468,11470,11472,11474,11476,11478,11480,11482,11484,11486,11488,11490,11499,11501,11506,42560,42562,42564,42566,42568,42570,42572,42574,42576,42578,42580,42582,42584,42586,42588,42590,42592,42594,42596,42598,42600,42602,42604,42624,42626,42628,42630,42632,42634,42636,42638,42640,42642,42644,42646,42648,42650,42786,42788,42790,42792,42794,42796,42798,42802,42804,42806,42808,42810,42812,42814,42816,42818,42820,42822,42824,42826,42828,42830,42832,42834,42836,42838,42840,42842,42844,42846,42848,42850,42852,42854,42856,42858,42860,42862,42873,42875,[42877,42878],42880,42882,42884,42886,42891,42893,42896,42898,42902,42904,42906,42908,42910,42912,42914,42916,42918,42920,[42922,42926],[42928,42932],42934,42936,42938,42940,42942,42944,42946,[42948,42951],42953,42960,42966,42968,42997,[65313,65338],[66560,66599],[66736,66771],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[68736,68786],[71840,71871],[93760,93791],[125184,125217]],_$cB=[[65,90],160,168,170,173,175,[178,181],[184,186],[188,190],[192,214],[216,223],256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,[306,308],310,313,315,317,[319,321],323,325,327,[329,330],332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,[376,377],379,381,383,[385,386],388,[390,391],[393,395],[398,401],[403,404],[406,408],[412,413],[415,416],418,420,[422,423],425,428,[430,431],[433,435],437,[439,440],444,[452,461],463,465,467,469,471,473,475,478,480,482,484,486,488,490,492,494,[497,500],[502,504],506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,[570,571],[573,574],577,[579,582],584,586,588,590,[688,696],[728,733],[736,740],[832,833],[835,837],847,880,882,884,886,890,[894,895],[900,906],908,[910,911],[913,929],[931,939],962,[975,982],984,986,988,990,992,994,996,998,1e3,1002,1004,1006,[1008,1010],[1012,1013],1015,[1017,1018],[1021,1071],1120,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140,1142,1144,1146,1148,1150,1152,1162,1164,1166,1168,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188,1190,1192,1194,1196,1198,1200,1202,1204,1206,1208,1210,1212,1214,[1216,1217],1219,1221,1223,1225,1227,1229,1232,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308,1310,1312,1314,1316,1318,1320,1322,1324,1326,[1329,1366],1415,1564,[1653,1656],[2392,2399],[2524,2525],2527,2611,2614,[2649,2651],2654,[2908,2909],3635,3763,[3804,3805],3852,3907,3917,3922,3927,3932,3945,3955,[3957,3961],3969,3987,3997,4002,4007,4012,4025,[4256,4293],4295,4301,4348,[4447,4448],[5112,5117],[6068,6069],[6155,6159],[7296,7304],[7312,7354],[7357,7359],[7468,7470],[7472,7482],[7484,7501],[7503,7530],7544,[7579,7615],7680,7682,7684,7686,7688,7690,7692,7694,7696,7698,7700,7702,7704,7706,7708,7710,7712,7714,7716,7718,7720,7722,7724,7726,7728,7730,7732,7734,7736,7738,7740,7742,7744,7746,7748,7750,7752,7754,7756,7758,7760,7762,7764,7766,7768,7770,7772,7774,7776,7778,7780,7782,7784,7786,7788,7790,7792,7794,7796,7798,7800,7802,7804,7806,7808,7810,7812,7814,7816,7818,7820,7822,7824,7826,7828,[7834,7835],7838,7840,7842,7844,7846,7848,7850,7852,7854,7856,7858,7860,7862,7864,7866,7868,7870,7872,7874,7876,7878,7880,7882,7884,7886,7888,7890,7892,7894,7896,7898,7900,7902,7904,7906,7908,7910,7912,7914,7916,7918,7920,7922,7924,7926,7928,7930,7932,7934,[7944,7951],[7960,7965],[7976,7983],[7992,7999],[8008,8013],8025,8027,8029,8031,[8040,8047],8049,8051,8053,8055,8057,8059,8061,[8064,8111],[8114,8116],[8119,8132],[8135,8143],8147,[8152,8155],[8157,8159],8163,[8168,8175],[8178,8180],[8183,8190],[8192,8207],8209,8215,[8228,8230],[8234,8239],[8243,8244],[8246,8247],8252,8254,[8263,8265],8279,[8287,8305],[8308,8334],[8336,8348],8360,[8448,8451],[8453,8455],[8457,8467],[8469,8470],[8473,8477],[8480,8482],8484,8486,8488,[8490,8493],[8495,8505],[8507,8512],[8517,8521],[8528,8575],8579,8585,[8748,8749],[8751,8752],[9001,9002],[9312,9450],10764,[10868,10870],10972,[11264,11311],11360,[11362,11364],11367,11369,11371,[11373,11376],11378,11381,[11388,11392],11394,11396,11398,11400,11402,11404,11406,11408,11410,11412,11414,11416,11418,11420,11422,11424,11426,11428,11430,11432,11434,11436,11438,11440,11442,11444,11446,11448,11450,11452,11454,11456,11458,11460,11462,11464,11466,11468,11470,11472,11474,11476,11478,11480,11482,11484,11486,11488,11490,11499,11501,11506,11631,11935,12019,[12032,12245],12288,12342,[12344,12346],[12443,12444],12447,12543,[12593,12686],[12690,12703],[12800,12830],[12832,12871],[12880,12926],[12928,13311],42560,42562,42564,42566,42568,42570,42572,42574,42576,42578,42580,42582,42584,42586,42588,42590,42592,42594,42596,42598,42600,42602,42604,42624,42626,42628,42630,42632,42634,42636,42638,42640,42642,42644,42646,42648,42650,[42652,42653],42786,42788,42790,42792,42794,42796,42798,42802,42804,42806,42808,42810,42812,42814,42816,42818,42820,42822,42824,42826,42828,42830,42832,42834,42836,42838,42840,42842,42844,42846,42848,42850,42852,42854,42856,42858,42860,42862,42864,42873,42875,[42877,42878],42880,42882,42884,42886,42891,42893,42896,42898,42902,42904,42906,42908,42910,42912,42914,42916,42918,42920,[42922,42926],[42928,42932],42934,42936,42938,42940,42942,42944,42946,[42948,42951],42953,42960,42966,42968,[42994,42997],[43e3,43001],[43868,43871],43881,[43888,43967],[63744,64013],64016,64018,[64021,64030],64032,64034,[64037,64038],[64042,64109],[64112,64217],[64256,64262],[64275,64279],64285,[64287,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64433],[64467,64829],[64848,64911],[64914,64967],[65008,65020],[65024,65049],[65072,65092],[65095,65106],[65108,65126],[65128,65131],[65136,65138],65140,[65142,65276],65279,[65281,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65504,65510],[65512,65518],[65520,65528],[66560,66599],[66736,66771],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[67457,67461],[67463,67504],[67506,67514],[68736,68786],[71840,71871],[93760,93791],[113824,113827],[119134,119140],[119155,119162],[119227,119232],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120779],[120782,120831],[122928,122989],[125184,125217],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[127232,127242],[127248,127278],[127280,127311],[127338,127340],127376,[127488,127490],[127504,127547],[127552,127560],[127568,127569],[130032,130041],[194560,195101],[917504,921599]],_$cA=[[97,122],181,[223,246],[248,255],257,259,261,263,265,267,269,271,273,275,277,279,281,283,285,287,289,291,293,295,297,299,301,303,305,307,309,311,314,316,318,320,322,324,326,[328,329],331,333,335,337,339,341,343,345,347,349,351,353,355,357,359,361,363,365,367,369,371,373,375,378,380,[382,384],387,389,392,396,402,405,[409,410],414,417,419,421,424,429,432,436,438,441,445,447,452,[454,455],[457,458],460,462,464,466,468,470,472,474,[476,477],479,481,483,485,487,489,491,493,[495,497],499,501,505,507,509,511,513,515,517,519,521,523,525,527,529,531,533,535,537,539,541,543,547,549,551,553,555,557,559,561,563,572,[575,576],578,583,585,587,589,[591,596],[598,599],601,[603,604],[608,609],611,[613,614],[616,620],623,[625,626],629,637,640,[642,643],[647,652],658,[669,670],837,881,883,887,[891,893],912,[940,974],[976,977],[981,983],985,987,989,991,993,995,997,999,1001,1003,1005,[1007,1011],1013,1016,1019,[1072,1119],1121,1123,1125,1127,1129,1131,1133,1135,1137,1139,1141,1143,1145,1147,1149,1151,1153,1163,1165,1167,1169,1171,1173,1175,1177,1179,1181,1183,1185,1187,1189,1191,1193,1195,1197,1199,1201,1203,1205,1207,1209,1211,1213,1215,1218,1220,1222,1224,1226,1228,[1230,1231],1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315,1317,1319,1321,1323,1325,1327,[1377,1415],[5112,5117],[7296,7304],7545,7549,7566,7681,7683,7685,7687,7689,7691,7693,7695,7697,7699,7701,7703,7705,7707,7709,7711,7713,7715,7717,7719,7721,7723,7725,7727,7729,7731,7733,7735,7737,7739,7741,7743,7745,7747,7749,7751,7753,7755,7757,7759,7761,7763,7765,7767,7769,7771,7773,7775,7777,7779,7781,7783,7785,7787,7789,7791,7793,7795,7797,7799,7801,7803,7805,7807,7809,7811,7813,7815,7817,7819,7821,7823,7825,7827,[7829,7835],7841,7843,7845,7847,7849,7851,7853,7855,7857,7859,7861,7863,7865,7867,7869,7871,7873,7875,7877,7879,7881,7883,7885,7887,7889,7891,7893,7895,7897,7899,7901,7903,7905,7907,7909,7911,7913,7915,7917,7919,7921,7923,7925,7927,7929,7931,7933,[7935,7943],[7952,7957],[7968,7975],[7984,7991],[8e3,8005],[8016,8023],[8032,8039],[8048,8061],[8064,8071],[8080,8087],[8096,8103],[8112,8116],[8118,8119],8126,[8130,8132],[8134,8135],[8144,8147],[8150,8151],[8160,8167],[8178,8180],[8182,8183],8526,[8560,8575],8580,[9424,9449],[11312,11359],11361,[11365,11366],11368,11370,11372,11379,11382,11393,11395,11397,11399,11401,11403,11405,11407,11409,11411,11413,11415,11417,11419,11421,11423,11425,11427,11429,11431,11433,11435,11437,11439,11441,11443,11445,11447,11449,11451,11453,11455,11457,11459,11461,11463,11465,11467,11469,11471,11473,11475,11477,11479,11481,11483,11485,11487,11489,11491,11500,11502,11507,[11520,11557],11559,11565,42561,42563,42565,42567,42569,42571,42573,42575,42577,42579,42581,42583,42585,42587,42589,42591,42593,42595,42597,42599,42601,42603,42605,42625,42627,42629,42631,42633,42635,42637,42639,42641,42643,42645,42647,42649,42651,42787,42789,42791,42793,42795,42797,42799,42803,42805,42807,42809,42811,42813,42815,42817,42819,42821,42823,42825,42827,42829,42831,42833,42835,42837,42839,42841,42843,42845,42847,42849,42851,42853,42855,42857,42859,42861,42863,42874,42876,42879,42881,42883,42885,42887,42892,42897,[42899,42900],42903,42905,42907,42909,42911,42913,42915,42917,42919,42921,42933,42935,42937,42939,42941,42943,42945,42947,42952,42954,42961,42967,42969,42998,43859,[43888,43967],[64256,64262],[64275,64279],[65345,65370],[66600,66639],[66776,66811],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[68800,68850],[71872,71903],[93792,93823],[125218,125251]],_$cz=[[97,122],181,[223,246],[248,255],257,259,261,263,265,267,269,271,273,275,277,279,281,283,285,287,289,291,293,295,297,299,301,303,305,307,309,311,314,316,318,320,322,324,326,[328,329],331,333,335,337,339,341,343,345,347,349,351,353,355,357,359,361,363,365,367,369,371,373,375,378,380,[382,384],387,389,392,396,402,405,[409,410],414,417,419,421,424,429,432,436,438,441,445,447,[453,454],[456,457],[459,460],462,464,466,468,470,472,474,[476,477],479,481,483,485,487,489,491,493,[495,496],[498,499],501,505,507,509,511,513,515,517,519,521,523,525,527,529,531,533,535,537,539,541,543,547,549,551,553,555,557,559,561,563,572,[575,576],578,583,585,587,589,[591,596],[598,599],601,[603,604],[608,609],611,[613,614],[616,620],623,[625,626],629,637,640,[642,643],[647,652],658,[669,670],837,881,883,887,[891,893],912,[940,974],[976,977],[981,983],985,987,989,991,993,995,997,999,1001,1003,1005,[1007,1011],1013,1016,1019,[1072,1119],1121,1123,1125,1127,1129,1131,1133,1135,1137,1139,1141,1143,1145,1147,1149,1151,1153,1163,1165,1167,1169,1171,1173,1175,1177,1179,1181,1183,1185,1187,1189,1191,1193,1195,1197,1199,1201,1203,1205,1207,1209,1211,1213,1215,1218,1220,1222,1224,1226,1228,[1230,1231],1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315,1317,1319,1321,1323,1325,1327,[1377,1415],[4304,4346],[4349,4351],[5112,5117],[7296,7304],7545,7549,7566,7681,7683,7685,7687,7689,7691,7693,7695,7697,7699,7701,7703,7705,7707,7709,7711,7713,7715,7717,7719,7721,7723,7725,7727,7729,7731,7733,7735,7737,7739,7741,7743,7745,7747,7749,7751,7753,7755,7757,7759,7761,7763,7765,7767,7769,7771,7773,7775,7777,7779,7781,7783,7785,7787,7789,7791,7793,7795,7797,7799,7801,7803,7805,7807,7809,7811,7813,7815,7817,7819,7821,7823,7825,7827,[7829,7835],7841,7843,7845,7847,7849,7851,7853,7855,7857,7859,7861,7863,7865,7867,7869,7871,7873,7875,7877,7879,7881,7883,7885,7887,7889,7891,7893,7895,7897,7899,7901,7903,7905,7907,7909,7911,7913,7915,7917,7919,7921,7923,7925,7927,7929,7931,7933,[7935,7943],[7952,7957],[7968,7975],[7984,7991],[8e3,8005],[8016,8023],[8032,8039],[8048,8061],[8064,8116],[8118,8119],8124,8126,[8130,8132],[8134,8135],8140,[8144,8147],[8150,8151],[8160,8167],[8178,8180],[8182,8183],8188,8526,[8560,8575],8580,[9424,9449],[11312,11359],11361,[11365,11366],11368,11370,11372,11379,11382,11393,11395,11397,11399,11401,11403,11405,11407,11409,11411,11413,11415,11417,11419,11421,11423,11425,11427,11429,11431,11433,11435,11437,11439,11441,11443,11445,11447,11449,11451,11453,11455,11457,11459,11461,11463,11465,11467,11469,11471,11473,11475,11477,11479,11481,11483,11485,11487,11489,11491,11500,11502,11507,[11520,11557],11559,11565,42561,42563,42565,42567,42569,42571,42573,42575,42577,42579,42581,42583,42585,42587,42589,42591,42593,42595,42597,42599,42601,42603,42605,42625,42627,42629,42631,42633,42635,42637,42639,42641,42643,42645,42647,42649,42651,42787,42789,42791,42793,42795,42797,42799,42803,42805,42807,42809,42811,42813,42815,42817,42819,42821,42823,42825,42827,42829,42831,42833,42835,42837,42839,42841,42843,42845,42847,42849,42851,42853,42855,42857,42859,42861,42863,42874,42876,42879,42881,42883,42885,42887,42892,42897,[42899,42900],42903,42905,42907,42909,42911,42913,42915,42917,42919,42921,42933,42935,42937,42939,42941,42943,42945,42947,42952,42954,42961,42967,42969,42998,43859,[43888,43967],[64256,64262],[64275,64279],[65345,65370],[66600,66639],[66776,66811],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[68800,68850],[71872,71903],[93792,93823],[125218,125251]],_$cy=[[2392,2399],[2524,2525],2527,2611,2614,[2649,2651],2654,[2908,2909],3907,3917,3922,3927,3932,3945,3958,3960,3987,3997,4002,4007,4012,4025,10972,64285,64287,[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64334],[119134,119140],[119227,119232]],_$cx=[45,1418,1470,5120,6150,[8208,8213],8275,8315,8331,8722,11799,11802,[11834,11835],11840,11869,12316,12336,12448,[65073,65074],65112,65123,65293,69293],_$cw=[173,847,1564,[4447,4448],[6068,6069],[6155,6159],[8203,8207],[8234,8238],[8288,8303],12644,[65024,65039],65279,65440,[65520,65528],[113824,113827],[119155,119162],[917504,921599]],_$cv=[329,1651,3959,3961,[6051,6052],[8298,8303],[9001,9002],917505],_$cu=[94,96,168,175,180,[183,184],[688,846],[848,855],[861,866],[884,885],890,[900,901],[1155,1159],1369,[1425,1441],[1443,1469],1471,[1473,1474],1476,[1611,1618],[1623,1624],[1759,1760],[1765,1766],[1770,1772],[1840,1866],[1958,1968],[2027,2037],[2072,2073],[2200,2207],[2249,2258],[2275,2302],2364,2381,[2385,2388],2417,2492,2509,2620,2637,2748,2765,[2813,2815],2876,2893,2901,3021,3132,3149,3260,3277,[3387,3388],3405,3530,[3655,3660],3662,3770,[3784,3788],[3864,3865],3893,3895,3897,[3902,3903],[3970,3972],[3974,3975],4038,4151,[4153,4154],[4195,4196],[4201,4205],[4231,4237],4239,[4250,4251],[4957,4959],[5908,5909],[6089,6099],6109,[6457,6459],[6773,6780],6783,[6832,6846],[6849,6859],6964,6980,[7019,7027],[7082,7083],[7222,7223],[7288,7293],[7376,7400],7405,7412,[7415,7417],[7468,7530],[7620,7631],[7669,7679],8125,[8127,8129],[8141,8143],[8157,8159],[8173,8175],[8189,8190],[11503,11505],11823,[12330,12335],[12441,12444],12540,42607,[42620,42621],42623,[42652,42653],[42736,42737],[42752,42785],[42888,42890],[43e3,43001],43204,[43232,43249],[43307,43310],43347,43443,43456,43493,[43643,43645],[43711,43714],43766,[43867,43871],[43881,43883],[44012,44013],64286,[65056,65071],65342,65344,65392,[65438,65439],65507,66272,[67456,67461],[67463,67504],[67506,67514],[68325,68326],[68898,68903],[69373,69375],[69446,69456],[69506,69509],69702,69744,[69817,69818],[69939,69940],70003,70080,[70090,70092],[70197,70198],[70377,70378],70460,70477,[70502,70508],[70512,70516],70722,70726,[70850,70851],[71103,71104],71231,[71350,71351],71467,[71737,71738],[71997,71998],72003,72160,72244,72263,72345,72767,73026,[73028,73029],73111,[78919,78933],[92912,92916],[92976,92982],[94095,94111],[94192,94193],[110576,110579],[110581,110587],[110589,110590],[118528,118573],[118576,118598],[119143,119145],[119149,119154],[119163,119170],[119173,119179],[119210,119213],[122928,122989],[123184,123190],123566,[123628,123631],[125136,125142],[125252,125254],[125256,125258]],_$ct=[35,42,[48,57],169,174,8252,8265,8482,8505,[8596,8601],[8617,8618],[8986,8987],9e3,9167,[9193,9203],[9208,9210],9410,[9642,9643],9654,9664,[9723,9726],[9728,9732],9742,9745,[9748,9749],9752,9757,9760,[9762,9763],9766,9770,[9774,9775],[9784,9786],9792,9794,[9800,9811],[9823,9824],9827,[9829,9830],9832,9851,[9854,9855],[9874,9879],9881,[9883,9884],[9888,9889],9895,[9898,9899],[9904,9905],[9917,9918],[9924,9925],9928,[9934,9935],9937,[9939,9940],[9961,9962],[9968,9973],[9975,9978],9981,9986,9989,[9992,9997],9999,10002,10004,10006,10013,10017,10024,[10035,10036],10052,10055,10060,10062,[10067,10069],10071,[10083,10084],[10133,10135],10145,10160,10175,[10548,10549],[11013,11015],[11035,11036],11088,11093,12336,12349,12951,12953,126980,127183,[127344,127345],[127358,127359],127374,[127377,127386],[127462,127487],[127489,127490],127514,127535,[127538,127546],[127568,127569],[127744,127777],[127780,127891],[127894,127895],[127897,127899],[127902,127984],[127987,127989],[127991,128253],[128255,128317],[128329,128334],[128336,128359],[128367,128368],[128371,128378],128391,[128394,128397],128400,[128405,128406],[128420,128421],128424,[128433,128434],128444,[128450,128452],[128465,128467],[128476,128478],128481,128483,128488,128495,128499,[128506,128591],[128640,128709],[128715,128722],[128725,128727],[128732,128741],128745,[128747,128748],128752,[128755,128764],[128992,129003],129008,[129292,129338],[129340,129349],[129351,129535],[129648,129660],[129664,129672],[129680,129725],[129727,129733],[129742,129755],[129760,129768],[129776,129784]],_$cs=[35,42,[48,57],8205,8419,65039,[127462,127487],[127995,127999],[129456,129459],[917536,917631]],_$cr=[[127995,127999]],_$cq=[9757,9977,[9994,9997],127877,[127938,127940],127943,[127946,127948],[128066,128067],[128070,128080],[128102,128120],128124,[128129,128131],[128133,128135],128143,128145,128170,[128372,128373],128378,128400,[128405,128406],[128581,128583],[128587,128591],128675,[128692,128694],128704,128716,129292,129295,[129304,129311],129318,[129328,129337],[129340,129342],129399,[129461,129462],[129464,129465],129467,[129485,129487],[129489,129501],[129731,129733],[129776,129784]],_$cp=[[8986,8987],[9193,9196],9200,9203,[9725,9726],[9748,9749],[9800,9811],9855,9875,9889,[9898,9899],[9917,9918],[9924,9925],9934,9940,9962,[9970,9971],9973,9978,9981,9989,[9994,9995],10024,10060,10062,[10067,10069],10071,[10133,10135],10160,10175,[11035,11036],11088,11093,126980,127183,127374,[127377,127386],[127462,127487],127489,127514,127535,[127538,127542],[127544,127546],[127568,127569],[127744,127776],[127789,127797],[127799,127868],[127870,127891],[127904,127946],[127951,127955],[127968,127984],127988,[127992,128062],128064,[128066,128252],[128255,128317],[128331,128334],[128336,128359],128378,[128405,128406],128420,[128507,128591],[128640,128709],128716,[128720,128722],[128725,128727],[128732,128735],[128747,128748],[128756,128764],[128992,129003],129008,[129292,129338],[129340,129349],[129351,129535],[129648,129660],[129664,129672],[129680,129725],[129727,129733],[129742,129755],[129760,129768],[129776,129784]],_$co=[836,[2392,2399],[2524,2525],2527,2611,2614,[2649,2651],2654,[2908,2909],3907,3917,3922,3927,3932,3945,3955,[3957,3958],3960,3969,3987,3997,4002,4007,4012,4025,10972,64285,64287,[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64334],[119134,119140],[119227,119232]],_$cn=[[192,197],[199,207],[209,214],[217,221],[224,229],[231,239],[241,246],[249,253],[255,271],[274,293],[296,304],[308,311],[313,318],[323,328],[332,337],[340,357],[360,382],[416,417],[431,432],[461,476],[478,483],[486,496],[500,501],[504,539],[542,543],[550,563],836,[901,902],[904,906],908,[910,912],[938,944],[970,974],[979,980],[1024,1025],1027,1031,[1036,1038],1049,1081,[1104,1105],1107,1111,[1116,1118],[1142,1143],[1217,1218],[1232,1235],[1238,1239],[1242,1247],[1250,1255],[1258,1269],[1272,1273],[1570,1574],1728,1730,1747,2345,2353,2356,[2392,2399],[2507,2508],[2524,2525],2527,2611,2614,[2649,2651],2654,2888,[2891,2892],[2908,2909],2964,[3018,3020],3144,3264,[3271,3272],[3274,3275],[3402,3404],3546,[3548,3550],3907,3917,3922,3927,3932,3945,3955,[3957,3958],3960,3969,3987,3997,4002,4007,4012,4025,4134,6918,6920,6922,6924,6926,6930,6971,6973,[6976,6977],6979,[7680,7833],7835,[7840,7929],[7936,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8124],[8129,8132],[8134,8147],[8150,8155],[8157,8174],[8178,8180],[8182,8188],8491,[8602,8603],8622,[8653,8655],8708,8713,8716,8740,8742,8769,8772,8775,8777,8800,8802,[8813,8817],[8820,8821],[8824,8825],[8832,8833],[8836,8837],[8840,8841],[8876,8879],[8928,8931],[8938,8941],10972,12364,12366,12368,12370,12372,12374,12376,12378,12380,12382,12384,12386,12389,12391,12393,[12400,12401],[12403,12404],[12406,12407],[12409,12410],[12412,12413],12436,12446,12460,12462,12464,12466,12468,12470,12472,12474,12476,12478,12480,12482,12485,12487,12489,[12496,12497],[12499,12500],[12502,12503],[12505,12506],[12508,12509],12532,[12535,12538],12542,[44032,55203],64285,64287,[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64334],69786,69788,69803,[69934,69935],[70475,70476],[70843,70844],70846,[71098,71099],71992,[119134,119140],[119227,119232]],_$cm=[168,175,180,184,[188,190],[306,307],[319,320],329,[452,460],[497,499],[728,733],836,890,[900,901],1415,[1653,1656],[2392,2399],[2524,2525],2527,2611,2614,[2649,2651],2654,[2908,2909],3635,3763,[3804,3805],3907,3917,3922,3927,3932,3945,3955,[3957,3961],3969,3987,3997,4002,4007,4012,4025,7834,8125,[8127,8129],[8141,8143],[8157,8159],[8173,8174],[8189,8190],8215,[8229,8230],[8243,8244],[8246,8247],8252,8254,[8263,8265],8279,8360,[8448,8449],8451,[8453,8454],8457,8470,[8480,8482],8507,[8528,8543],[8545,8547],[8549,8552],[8554,8555],[8561,8563],[8565,8568],[8570,8571],8585,[8748,8749],[8751,8752],[9321,9397],10764,[10868,10870],10972,[12443,12444],12447,12543,[12800,12830],[12832,12867],[12880,12895],[12924,12925],[12977,13007],[13055,13311],[64256,64262],[64275,64279],64285,64287,[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64335],64477,[64490,64507],[64512,64829],[64848,64911],[64914,64967],[65008,65020],65049,65072,[65097,65100],[65136,65138],65140,[65142,65151],[65269,65276],65507,[119134,119140],[119227,119232],[127232,127242],[127248,127274],[127277,127278],[127306,127311],[127338,127340],127376,[127488,127489],[127552,127560]],_$cl=[168,175,180,184,[188,190],[192,197],[199,207],[209,214],[217,221],[224,229],[231,239],[241,246],[249,253],[255,271],[274,293],[296,304],[306,311],[313,320],[323,329],[332,337],[340,357],[360,382],[416,417],[431,432],[452,476],[478,483],[486,501],[504,539],[542,543],[550,563],[728,733],836,890,[900,902],[904,906],908,[910,912],[938,944],[970,974],[979,980],[1024,1025],1027,1031,[1036,1038],1049,1081,[1104,1105],1107,1111,[1116,1118],[1142,1143],[1217,1218],[1232,1235],[1238,1239],[1242,1247],[1250,1255],[1258,1269],[1272,1273],1415,[1570,1574],[1653,1656],1728,1730,1747,2345,2353,2356,[2392,2399],[2507,2508],[2524,2525],2527,2611,2614,[2649,2651],2654,2888,[2891,2892],[2908,2909],2964,[3018,3020],3144,3264,[3271,3272],[3274,3275],[3402,3404],3546,[3548,3550],3635,3763,[3804,3805],3907,3917,3922,3927,3932,3945,3955,[3957,3961],3969,3987,3997,4002,4007,4012,4025,4134,6918,6920,6922,6924,6926,6930,6971,6973,[6976,6977],6979,[7680,7835],[7840,7929],[7936,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8125],[8127,8132],[8134,8147],[8150,8155],[8157,8174],[8178,8180],[8182,8190],8215,[8229,8230],[8243,8244],[8246,8247],8252,8254,[8263,8265],8279,8360,[8448,8449],8451,[8453,8454],8457,8470,[8480,8482],8491,8507,[8528,8543],[8545,8547],[8549,8552],[8554,8555],[8561,8563],[8565,8568],[8570,8571],8585,[8602,8603],8622,[8653,8655],8708,8713,8716,8740,8742,[8748,8749],[8751,8752],8769,8772,8775,8777,8800,8802,[8813,8817],[8820,8821],[8824,8825],[8832,8833],[8836,8837],[8840,8841],[8876,8879],[8928,8931],[8938,8941],[9321,9397],10764,[10868,10870],10972,12364,12366,12368,12370,12372,12374,12376,12378,12380,12382,12384,12386,12389,12391,12393,[12400,12401],[12403,12404],[12406,12407],[12409,12410],[12412,12413],12436,[12443,12444],[12446,12447],12460,12462,12464,12466,12468,12470,12472,12474,12476,12478,12480,12482,12485,12487,12489,[12496,12497],[12499,12500],[12502,12503],[12505,12506],[12508,12509],12532,[12535,12538],[12542,12543],[12800,12830],[12832,12867],[12880,12895],[12910,12926],[12977,13007],[13055,13311],[44032,55203],[64256,64262],[64275,64279],64285,64287,[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64335],[64420,64421],[64432,64433],64477,[64490,64507],[64512,64829],[64848,64911],[64914,64967],[65008,65020],65049,65072,[65097,65100],[65136,65138],65140,[65142,65151],[65153,65164],[65269,65276],65507,69786,69788,69803,[69934,69935],[70475,70476],[70843,70844],70846,[71098,71099],71992,[119134,119140],[119227,119232],[127232,127242],[127248,127274],[127277,127278],[127306,127311],[127338,127340],127376,[127488,127489],127507,[127552,127560]],_$ck=[169,174,8252,8265,8482,8505,[8596,8601],[8617,8618],[8986,8987],9e3,9096,9167,[9193,9203],[9208,9210],9410,[9642,9643],9654,9664,[9723,9726],[9728,9733],[9735,9746],[9748,9861],[9872,9989],[9992,10002],10004,10006,10013,10017,10024,[10035,10036],10052,10055,10060,10062,[10067,10069],10071,[10083,10087],[10133,10135],10145,10160,10175,[10548,10549],[11013,11015],[11035,11036],11088,11093,12336,12349,12951,12953,[126976,127231],[127245,127247],127279,[127340,127345],[127358,127359],127374,[127377,127386],[127405,127461],[127489,127503],127514,127535,[127538,127546],[127548,127551],[127561,127994],[128e3,128317],[128326,128591],[128640,128767],[128884,128895],[128981,129023],[129036,129039],[129096,129103],[129114,129119],[129160,129167],[129198,129279],[129292,129338],[129340,129349],[129351,129791],[130048,131069]],_$cj=[183,[720,721],1600,2042,2901,3654,3782,6154,6211,6823,7222,7291,12293,[12337,12341],[12445,12446],[12540,12542],40981,42508,43471,43494,43632,43741,[43763,43764],65392,[67457,67458],70493,[71110,71112],72344,[92994,92995],[94176,94177],94179,[123196,123197],[125252,125254]],_$ci=[[832,833],[835,836],884,894,903,[2392,2399],[2524,2525],2527,2611,2614,[2649,2651],2654,[2908,2909],3907,3917,3922,3927,3932,3945,3955,[3957,3958],3960,3969,3987,3997,4002,4007,4012,4025,8049,8051,8053,8055,8057,8059,8061,8123,8126,8137,8139,8147,8155,8163,8171,[8174,8175],8185,8187,8189,[8192,8193],8486,[8490,8491],[9001,9002],10972,[63744,64013],64016,64018,[64021,64030],64032,64034,[64037,64038],[64042,64109],[64112,64217],64285,64287,[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64334],[119134,119140],[119227,119232],[194560,195101]],_$ch=[[32,126],[160,172],[174,767],[880,887],[890,895],[900,906],908,[910,929],[931,1154],[1162,1327],[1329,1366],[1369,1418],[1421,1423],1470,1472,1475,1478,[1488,1514],[1519,1524],[1542,1551],1563,[1565,1610],[1632,1647],[1649,1749],1758,[1765,1766],1769,[1774,1805],1808,[1810,1839],[1869,1957],1969,[1984,2026],[2036,2042],[2046,2069],2074,2084,2088,[2096,2110],[2112,2136],2142,[2144,2154],[2160,2190],[2208,2249],[2307,2361],2363,[2365,2368],[2377,2380],[2382,2384],[2392,2401],[2404,2432],[2434,2435],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],2493,[2495,2496],[2503,2504],[2507,2508],2510,[2524,2525],[2527,2529],[2534,2557],2563,[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],[2622,2624],[2649,2652],2654,[2662,2671],[2674,2676],2678,2691,[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],[2749,2752],2761,[2763,2764],2768,[2784,2785],[2790,2801],2809,[2818,2819],[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],2877,2880,[2887,2888],[2891,2892],[2908,2909],[2911,2913],[2918,2935],2947,[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],3007,[3009,3010],[3014,3016],[3018,3020],3024,[3046,3066],[3073,3075],[3077,3084],[3086,3088],[3090,3112],[3114,3129],3133,[3137,3140],[3160,3162],3165,[3168,3169],[3174,3183],[3191,3200],[3202,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],[3261,3262],[3264,3265],[3267,3268],[3271,3272],[3274,3275],[3293,3294],[3296,3297],[3302,3311],[3313,3315],[3330,3340],[3342,3344],[3346,3386],3389,[3391,3392],[3398,3400],[3402,3404],[3406,3407],[3412,3414],[3416,3425],[3430,3455],[3458,3459],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],[3536,3537],[3544,3550],[3558,3567],[3570,3572],[3585,3632],[3634,3635],[3647,3654],[3663,3675],[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3760],[3762,3763],3773,[3776,3780],3782,[3792,3801],[3804,3807],[3840,3863],[3866,3892],3894,3896,[3898,3911],[3913,3948],3967,3973,[3976,3980],[4030,4037],[4039,4044],[4046,4058],[4096,4140],4145,4152,[4155,4156],[4159,4183],[4186,4189],[4193,4208],[4213,4225],[4227,4228],[4231,4236],[4238,4252],[4254,4293],4295,4301,[4304,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4960,4988],[4992,5017],[5024,5109],[5112,5117],[5120,5788],[5792,5880],[5888,5905],5909,[5919,5937],[5940,5942],[5952,5969],[5984,5996],[5998,6e3],[6016,6067],6070,[6078,6085],[6087,6088],[6100,6108],[6112,6121],[6128,6137],[6144,6154],[6160,6169],[6176,6264],[6272,6276],[6279,6312],6314,[6320,6389],[6400,6430],[6435,6438],[6441,6443],[6448,6449],[6451,6456],6464,[6468,6509],[6512,6516],[6528,6571],[6576,6601],[6608,6618],[6622,6678],[6681,6682],[6686,6741],6743,6753,[6755,6756],[6765,6770],[6784,6793],[6800,6809],[6816,6829],[6916,6963],6971,[6973,6977],[6979,6988],[6992,7018],[7028,7038],[7042,7073],[7078,7079],7082,[7086,7141],7143,[7146,7148],7150,[7154,7155],[7164,7211],[7220,7221],[7227,7241],[7245,7304],[7312,7354],[7357,7367],7379,7393,[7401,7404],[7406,7411],[7413,7415],7418,[7424,7615],[7680,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8132],[8134,8147],[8150,8155],[8157,8175],[8178,8180],[8182,8190],[8192,8202],[8208,8231],[8239,8287],[8304,8305],[8308,8334],[8336,8348],[8352,8384],[8448,8587],[8592,9254],[9280,9290],[9312,11123],[11126,11157],[11159,11502],[11506,11507],[11513,11557],11559,11565,[11568,11623],[11631,11632],[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],[11776,11869],[11904,11929],[11931,12019],[12032,12245],[12272,12283],[12288,12329],[12336,12351],[12353,12438],[12443,12543],[12549,12591],[12593,12686],[12688,12771],[12784,12830],[12832,42124],[42128,42182],[42192,42539],[42560,42606],42611,[42622,42653],[42656,42735],[42738,42743],[42752,42954],[42960,42961],42963,[42965,42969],[42994,43009],[43011,43013],[43015,43018],[43020,43044],[43047,43051],[43056,43065],[43072,43127],[43136,43203],[43214,43225],[43250,43262],[43264,43301],[43310,43334],[43346,43347],[43359,43388],[43395,43442],[43444,43445],[43450,43451],[43454,43469],[43471,43481],[43486,43492],[43494,43518],[43520,43560],[43567,43568],[43571,43572],[43584,43586],[43588,43595],43597,[43600,43609],[43612,43643],[43645,43695],43697,[43701,43702],[43705,43709],43712,43714,[43739,43755],[43758,43765],[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43824,43883],[43888,44004],[44006,44007],[44009,44012],[44016,44025],[44032,55203],[55216,55238],[55243,55291],[63744,64109],[64112,64217],[64256,64262],[64275,64279],64285,[64287,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64450],[64467,64911],[64914,64967],64975,[65008,65023],[65040,65049],[65072,65106],[65108,65126],[65128,65131],[65136,65140],[65142,65276],[65281,65437],[65440,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65504,65510],[65512,65518],[65532,65533],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[65792,65794],[65799,65843],[65847,65934],[65936,65948],65952,[66e3,66044],[66176,66204],[66208,66256],[66273,66299],[66304,66339],[66349,66378],[66384,66421],[66432,66461],[66463,66499],[66504,66517],[66560,66717],[66720,66729],[66736,66771],[66776,66811],[66816,66855],[66864,66915],[66927,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[67072,67382],[67392,67413],[67424,67431],[67456,67461],[67463,67504],[67506,67514],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67671,67742],[67751,67759],[67808,67826],[67828,67829],[67835,67867],[67871,67897],67903,[67968,68023],[68028,68047],[68050,68096],[68112,68115],[68117,68119],[68121,68149],[68160,68168],[68176,68184],[68192,68255],[68288,68324],[68331,68342],[68352,68405],[68409,68437],[68440,68466],[68472,68497],[68505,68508],[68521,68527],[68608,68680],[68736,68786],[68800,68850],[68858,68899],[68912,68921],[69216,69246],[69248,69289],69293,[69296,69297],[69376,69415],[69424,69445],[69457,69465],[69488,69505],[69510,69513],[69552,69579],[69600,69622],69632,[69634,69687],[69703,69709],[69714,69743],[69745,69746],69749,[69762,69810],[69815,69816],[69819,69820],[69822,69825],[69840,69864],[69872,69881],[69891,69926],69932,[69942,69959],[69968,70002],[70004,70006],[70018,70069],[70079,70088],[70093,70094],[70096,70111],[70113,70132],[70144,70161],[70163,70190],[70194,70195],70197,[70200,70205],[70207,70208],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70313],[70320,70366],[70368,70370],[70384,70393],[70402,70403],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],70461,70463,[70465,70468],[70471,70472],[70475,70477],70480,[70493,70499],[70656,70711],[70720,70721],70725,[70727,70747],70749,[70751,70753],[70784,70831],[70833,70834],70841,[70843,70844],70846,70849,[70852,70855],[70864,70873],[71040,71086],[71088,71089],[71096,71099],71102,[71105,71131],[71168,71218],[71227,71228],71230,[71233,71236],[71248,71257],[71264,71276],[71296,71338],71340,[71342,71343],71350,[71352,71353],[71360,71369],[71424,71450],[71456,71457],71462,[71472,71494],[71680,71726],71736,71739,[71840,71922],[71935,71942],71945,[71948,71955],[71957,71958],[71960,71983],[71985,71989],[71991,71992],71997,[71999,72002],[72004,72006],[72016,72025],[72096,72103],[72106,72147],[72156,72159],[72161,72164],72192,[72203,72242],[72249,72250],[72255,72262],72272,[72279,72280],[72284,72329],72343,[72346,72354],[72368,72440],[72448,72457],[72704,72712],[72714,72751],72766,[72768,72773],[72784,72812],[72816,72847],72873,72881,72884,[72960,72966],[72968,72969],[72971,73008],73030,[73040,73049],[73056,73061],[73063,73064],[73066,73102],[73107,73108],73110,73112,[73120,73129],[73440,73458],[73461,73464],[73474,73488],[73490,73525],[73534,73535],73537,[73539,73561],73648,[73664,73713],[73727,74649],[74752,74862],[74864,74868],[74880,75075],[77712,77810],[77824,78895],[78913,78918],[82944,83526],[92160,92728],[92736,92766],[92768,92777],[92782,92862],[92864,92873],[92880,92909],92917,[92928,92975],[92983,92997],[93008,93017],[93019,93025],[93027,93047],[93053,93071],[93760,93850],[93952,94026],[94032,94087],[94099,94111],[94176,94179],[94192,94193],[94208,100343],[100352,101589],[101632,101640],[110576,110579],[110581,110587],[110589,110590],[110592,110882],110898,[110928,110930],110933,[110948,110951],[110960,111355],[113664,113770],[113776,113788],[113792,113800],[113808,113817],113820,113823,[118608,118723],[118784,119029],[119040,119078],[119081,119140],119142,[119146,119149],[119171,119172],[119180,119209],[119214,119274],[119296,119361],119365,[119488,119507],[119520,119539],[119552,119638],[119648,119672],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120779],[120782,121343],[121399,121402],[121453,121460],[121462,121475],[121477,121483],[122624,122654],[122661,122666],[122928,122989],[123136,123180],[123191,123197],[123200,123209],[123214,123215],[123536,123565],[123584,123627],[123632,123641],123647,[124112,124139],[124144,124153],[124896,124902],[124904,124907],[124909,124910],[124912,124926],[124928,125124],[125127,125135],[125184,125251],125259,[125264,125273],[125278,125279],[126065,126132],[126209,126269],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[126704,126705],[126976,127019],[127024,127123],[127136,127150],[127153,127167],[127169,127183],[127185,127221],[127232,127405],[127462,127490],[127504,127547],[127552,127560],[127568,127569],[127584,127589],[127744,128727],[128732,128748],[128752,128764],[128768,128886],[128891,128985],[128992,129003],129008,[129024,129035],[129040,129095],[129104,129113],[129120,129159],[129168,129197],[129200,129201],[129280,129619],[129632,129645],[129648,129660],[129664,129672],[129680,129725],[129727,129733],[129742,129755],[129760,129768],[129776,129784],[129792,129938],[129940,129994],[130032,130041],[131072,173791],[173824,177977],[177984,178205],[178208,183969],[183984,191456],[194560,195101],[196608,201546],[201552,205743]],_$cg=[[768,879],[1155,1161],[1425,1469],1471,[1473,1474],[1476,1477],1479,[1552,1562],[1611,1631],1648,[1750,1756],[1759,1764],[1767,1768],[1770,1773],1809,[1840,1866],[1958,1968],[2027,2035],2045,[2070,2073],[2075,2083],[2085,2087],[2089,2093],[2137,2139],[2200,2207],[2250,2273],[2275,2306],2362,2364,[2369,2376],2381,[2385,2391],[2402,2403],2433,2492,2494,[2497,2500],2509,2519,[2530,2531],2558,[2561,2562],2620,[2625,2626],[2631,2632],[2635,2637],2641,[2672,2673],2677,[2689,2690],2748,[2753,2757],[2759,2760],2765,[2786,2787],[2810,2815],2817,2876,[2878,2879],[2881,2884],2893,[2901,2903],[2914,2915],2946,3006,3008,3021,3031,3072,3076,3132,[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3170,3171],3201,3260,3263,3266,3270,[3276,3277],[3285,3286],[3298,3299],[3328,3329],[3387,3388],3390,[3393,3396],3405,3415,[3426,3427],3457,3530,3535,[3538,3540],3542,3551,3633,[3636,3642],[3655,3662],3761,[3764,3772],[3784,3790],[3864,3865],3893,3895,3897,[3953,3966],[3968,3972],[3974,3975],[3981,3991],[3993,4028],4038,[4141,4144],[4146,4151],[4153,4154],[4157,4158],[4184,4185],[4190,4192],[4209,4212],4226,[4229,4230],4237,4253,[4957,4959],[5906,5908],[5938,5939],[5970,5971],[6002,6003],[6068,6069],[6071,6077],6086,[6089,6099],6109,[6155,6157],6159,[6277,6278],6313,[6432,6434],[6439,6440],6450,[6457,6459],[6679,6680],6683,6742,[6744,6750],6752,6754,[6757,6764],[6771,6780],6783,[6832,6862],[6912,6915],[6964,6970],6972,6978,[7019,7027],[7040,7041],[7074,7077],[7080,7081],[7083,7085],7142,[7144,7145],7149,[7151,7153],[7212,7219],[7222,7223],[7376,7378],[7380,7392],[7394,7400],7405,7412,[7416,7417],[7616,7679],8204,[8400,8432],[11503,11505],11647,[11744,11775],[12330,12335],[12441,12442],[42607,42610],[42612,42621],[42654,42655],[42736,42737],43010,43014,43019,[43045,43046],43052,[43204,43205],[43232,43249],43263,[43302,43309],[43335,43345],[43392,43394],43443,[43446,43449],[43452,43453],43493,[43561,43566],[43569,43570],[43573,43574],43587,43596,43644,43696,[43698,43700],[43703,43704],[43710,43711],43713,[43756,43757],43766,44005,44008,44013,64286,[65024,65039],[65056,65071],[65438,65439],66045,66272,[66422,66426],[68097,68099],[68101,68102],[68108,68111],[68152,68154],68159,[68325,68326],[68900,68903],[69291,69292],[69373,69375],[69446,69456],[69506,69509],69633,[69688,69702],69744,[69747,69748],[69759,69761],[69811,69814],[69817,69818],69826,[69888,69890],[69927,69931],[69933,69940],70003,[70016,70017],[70070,70078],[70089,70092],70095,[70191,70193],70196,[70198,70199],70206,70209,70367,[70371,70378],[70400,70401],[70459,70460],70462,70464,70487,[70502,70508],[70512,70516],[70712,70719],[70722,70724],70726,70750,70832,[70835,70840],70842,70845,[70847,70848],[70850,70851],71087,[71090,71093],[71100,71101],[71103,71104],[71132,71133],[71219,71226],71229,[71231,71232],71339,71341,[71344,71349],71351,[71453,71455],[71458,71461],[71463,71467],[71727,71735],[71737,71738],71984,[71995,71996],71998,72003,[72148,72151],[72154,72155],72160,[72193,72202],[72243,72248],[72251,72254],72263,[72273,72278],[72281,72283],[72330,72342],[72344,72345],[72752,72758],[72760,72765],72767,[72850,72871],[72874,72880],[72882,72883],[72885,72886],[73009,73014],73018,[73020,73021],[73023,73029],73031,[73104,73105],73109,73111,[73459,73460],[73472,73473],[73526,73530],73536,73538,78912,[78919,78933],[92912,92916],[92976,92982],94031,[94095,94098],94180,[113821,113822],[118528,118573],[118576,118598],119141,[119143,119145],[119150,119154],[119163,119170],[119173,119179],[119210,119213],[119362,119364],[121344,121398],[121403,121452],121461,121476,[121499,121503],[121505,121519],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],123023,[123184,123190],123566,[123628,123631],[124140,124143],[125136,125142],[125252,125258],[917536,917631],[917760,917999]],_$cf=[2381,2509,2637,2765,2893,3021,3149,3277,[3387,3388],3405,3530,3642,3770,3972,[4153,4154],[5908,5909],5940,6098,6752,6980,[7082,7083],[7154,7155],11647,43014,43052,43204,43347,43456,43766,44013,68159,69702,69744,69759,69817,[69939,69940],70080,70197,70378,70477,70722,70850,71103,71231,71350,71467,71737,[71997,71998],72160,72244,72263,72345,72767,[73028,73029],73111,[73537,73538]],_$ce=[[48,57],[65,70],[97,102],[65296,65305],[65313,65318],[65345,65350]],_$cd=[45,173,1418,6150,[8208,8209],11799,12539,65123,65293,65381],_$cc=[[12272,12273],[12276,12283]],_$cb=[[12274,12275]],_$ca=[[48,57],[65,90],95,[97,122],170,181,183,186,[192,214],[216,246],[248,705],[710,721],[736,740],748,750,[768,884],[886,887],[890,893],895,[902,906],908,[910,929],[931,1013],[1015,1153],[1155,1159],[1162,1327],[1329,1366],1369,[1376,1416],[1425,1469],1471,[1473,1474],[1476,1477],1479,[1488,1514],[1519,1522],[1552,1562],[1568,1641],[1646,1747],[1749,1756],[1759,1768],[1770,1788],1791,[1808,1866],[1869,1969],[1984,2037],2042,2045,[2048,2093],[2112,2139],[2144,2154],[2160,2183],[2185,2190],[2200,2273],[2275,2403],[2406,2415],[2417,2435],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],[2492,2500],[2503,2504],[2507,2510],2519,[2524,2525],[2527,2531],[2534,2545],2556,2558,[2561,2563],[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],2620,[2622,2626],[2631,2632],[2635,2637],2641,[2649,2652],2654,[2662,2677],[2689,2691],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],[2748,2757],[2759,2761],[2763,2765],2768,[2784,2787],[2790,2799],[2809,2815],[2817,2819],[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],[2876,2884],[2887,2888],[2891,2893],[2901,2903],[2908,2909],[2911,2915],[2918,2927],2929,[2946,2947],[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],[3006,3010],[3014,3016],[3018,3021],3024,3031,[3046,3055],[3072,3084],[3086,3088],[3090,3112],[3114,3129],[3132,3140],[3142,3144],[3146,3149],[3157,3158],[3160,3162],3165,[3168,3171],[3174,3183],[3200,3203],[3205,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],[3260,3268],[3270,3272],[3274,3277],[3285,3286],[3293,3294],[3296,3299],[3302,3311],[3313,3315],[3328,3340],[3342,3344],[3346,3396],[3398,3400],[3402,3406],[3412,3415],[3423,3427],[3430,3439],[3450,3455],[3457,3459],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],3530,[3535,3540],3542,[3544,3551],[3558,3567],[3570,3571],[3585,3642],[3648,3662],[3664,3673],[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3773],[3776,3780],3782,[3784,3790],[3792,3801],[3804,3807],3840,[3864,3865],[3872,3881],3893,3895,3897,[3902,3911],[3913,3948],[3953,3972],[3974,3991],[3993,4028],4038,[4096,4169],[4176,4253],[4256,4293],4295,4301,[4304,4346],[4348,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4957,4959],[4969,4977],[4992,5007],[5024,5109],[5112,5117],[5121,5740],[5743,5759],[5761,5786],[5792,5866],[5870,5880],[5888,5909],[5919,5940],[5952,5971],[5984,5996],[5998,6e3],[6002,6003],[6016,6099],6103,[6108,6109],[6112,6121],[6155,6157],[6159,6169],[6176,6264],[6272,6314],[6320,6389],[6400,6430],[6432,6443],[6448,6459],[6470,6509],[6512,6516],[6528,6571],[6576,6601],[6608,6618],[6656,6683],[6688,6750],[6752,6780],[6783,6793],[6800,6809],6823,[6832,6845],[6847,6862],[6912,6988],[6992,7001],[7019,7027],[7040,7155],[7168,7223],[7232,7241],[7245,7293],[7296,7304],[7312,7354],[7357,7359],[7376,7378],[7380,7418],[7424,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8124],8126,[8130,8132],[8134,8140],[8144,8147],[8150,8155],[8160,8172],[8178,8180],[8182,8188],[8255,8256],8276,8305,8319,[8336,8348],[8400,8412],8417,[8421,8432],8450,8455,[8458,8467],8469,[8472,8477],8484,8486,8488,[8490,8505],[8508,8511],[8517,8521],8526,[8544,8584],[11264,11492],[11499,11507],[11520,11557],11559,11565,[11568,11623],11631,[11647,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],[11744,11775],[12293,12295],[12321,12335],[12337,12341],[12344,12348],[12353,12438],[12441,12447],[12449,12538],[12540,12543],[12549,12591],[12593,12686],[12704,12735],[12784,12799],[13312,19903],[19968,42124],[42192,42237],[42240,42508],[42512,42539],[42560,42607],[42612,42621],[42623,42737],[42775,42783],[42786,42888],[42891,42954],[42960,42961],42963,[42965,42969],[42994,43047],43052,[43072,43123],[43136,43205],[43216,43225],[43232,43255],43259,[43261,43309],[43312,43347],[43360,43388],[43392,43456],[43471,43481],[43488,43518],[43520,43574],[43584,43597],[43600,43609],[43616,43638],[43642,43714],[43739,43741],[43744,43759],[43762,43766],[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43824,43866],[43868,43881],[43888,44010],[44012,44013],[44016,44025],[44032,55203],[55216,55238],[55243,55291],[63744,64109],[64112,64217],[64256,64262],[64275,64279],[64285,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64433],[64467,64829],[64848,64911],[64914,64967],[65008,65019],[65024,65039],[65056,65071],[65075,65076],[65101,65103],[65136,65140],[65142,65276],[65296,65305],[65313,65338],65343,[65345,65370],[65382,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[65856,65908],66045,[66176,66204],[66208,66256],66272,[66304,66335],[66349,66378],[66384,66426],[66432,66461],[66464,66499],[66504,66511],[66513,66517],[66560,66717],[66720,66729],[66736,66771],[66776,66811],[66816,66855],[66864,66915],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[67072,67382],[67392,67413],[67424,67431],[67456,67461],[67463,67504],[67506,67514],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67680,67702],[67712,67742],[67808,67826],[67828,67829],[67840,67861],[67872,67897],[67968,68023],[68030,68031],[68096,68099],[68101,68102],[68108,68115],[68117,68119],[68121,68149],[68152,68154],68159,[68192,68220],[68224,68252],[68288,68295],[68297,68326],[68352,68405],[68416,68437],[68448,68466],[68480,68497],[68608,68680],[68736,68786],[68800,68850],[68864,68903],[68912,68921],[69248,69289],[69291,69292],[69296,69297],[69373,69404],69415,[69424,69456],[69488,69509],[69552,69572],[69600,69622],[69632,69702],[69734,69749],[69759,69818],69826,[69840,69864],[69872,69881],[69888,69940],[69942,69951],[69956,69959],[69968,70003],70006,[70016,70084],[70089,70092],[70094,70106],70108,[70144,70161],[70163,70199],[70206,70209],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70312],[70320,70378],[70384,70393],[70400,70403],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],[70459,70468],[70471,70472],[70475,70477],70480,70487,[70493,70499],[70502,70508],[70512,70516],[70656,70730],[70736,70745],[70750,70753],[70784,70853],70855,[70864,70873],[71040,71093],[71096,71104],[71128,71133],[71168,71232],71236,[71248,71257],[71296,71352],[71360,71369],[71424,71450],[71453,71467],[71472,71481],[71488,71494],[71680,71738],[71840,71913],[71935,71942],71945,[71948,71955],[71957,71958],[71960,71989],[71991,71992],[71995,72003],[72016,72025],[72096,72103],[72106,72151],[72154,72161],[72163,72164],[72192,72254],72263,[72272,72345],72349,[72368,72440],[72704,72712],[72714,72758],[72760,72768],[72784,72793],[72818,72847],[72850,72871],[72873,72886],[72960,72966],[72968,72969],[72971,73014],73018,[73020,73021],[73023,73031],[73040,73049],[73056,73061],[73063,73064],[73066,73102],[73104,73105],[73107,73112],[73120,73129],[73440,73462],[73472,73488],[73490,73530],[73534,73538],[73552,73561],73648,[73728,74649],[74752,74862],[74880,75075],[77712,77808],[77824,78895],[78912,78933],[82944,83526],[92160,92728],[92736,92766],[92768,92777],[92784,92862],[92864,92873],[92880,92909],[92912,92916],[92928,92982],[92992,92995],[93008,93017],[93027,93047],[93053,93071],[93760,93823],[93952,94026],[94031,94087],[94095,94111],[94176,94177],[94179,94180],[94192,94193],[94208,100343],[100352,101589],[101632,101640],[110576,110579],[110581,110587],[110589,110590],[110592,110882],110898,[110928,110930],110933,[110948,110951],[110960,111355],[113664,113770],[113776,113788],[113792,113800],[113808,113817],[113821,113822],[118528,118573],[118576,118598],[119141,119145],[119149,119154],[119163,119170],[119173,119179],[119210,119213],[119362,119364],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120512],[120514,120538],[120540,120570],[120572,120596],[120598,120628],[120630,120654],[120656,120686],[120688,120712],[120714,120744],[120746,120770],[120772,120779],[120782,120831],[121344,121398],[121403,121452],121461,121476,[121499,121503],[121505,121519],[122624,122654],[122661,122666],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],[122928,122989],123023,[123136,123180],[123184,123197],[123200,123209],123214,[123536,123566],[123584,123641],[124112,124153],[124896,124902],[124904,124907],[124909,124910],[124912,124926],[124928,125124],[125136,125142],[125184,125259],[125264,125273],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[130032,130041],[131072,173791],[173824,177977],[177984,178205],[178208,183969],[183984,191456],[194560,195101],[196608,201546],[201552,205743],[917760,917999]],_$c9=[[65,90],[97,122],170,181,186,[192,214],[216,246],[248,705],[710,721],[736,740],748,750,[880,884],[886,887],[890,893],895,902,[904,906],908,[910,929],[931,1013],[1015,1153],[1162,1327],[1329,1366],1369,[1376,1416],[1488,1514],[1519,1522],[1568,1610],[1646,1647],[1649,1747],1749,[1765,1766],[1774,1775],[1786,1788],1791,1808,[1810,1839],[1869,1957],1969,[1994,2026],[2036,2037],2042,[2048,2069],2074,2084,2088,[2112,2136],[2144,2154],[2160,2183],[2185,2190],[2208,2249],[2308,2361],2365,2384,[2392,2401],[2417,2432],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],2493,2510,[2524,2525],[2527,2529],[2544,2545],2556,[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],[2649,2652],2654,[2674,2676],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],2749,2768,[2784,2785],2809,[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],2877,[2908,2909],[2911,2913],2929,2947,[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],3024,[3077,3084],[3086,3088],[3090,3112],[3114,3129],3133,[3160,3162],3165,[3168,3169],3200,[3205,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],3261,[3293,3294],[3296,3297],[3313,3314],[3332,3340],[3342,3344],[3346,3386],3389,3406,[3412,3414],[3423,3425],[3450,3455],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],[3585,3632],[3634,3635],[3648,3654],[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3760],[3762,3763],3773,[3776,3780],3782,[3804,3807],3840,[3904,3911],[3913,3948],[3976,3980],[4096,4138],4159,[4176,4181],[4186,4189],4193,[4197,4198],[4206,4208],[4213,4225],4238,[4256,4293],4295,4301,[4304,4346],[4348,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4992,5007],[5024,5109],[5112,5117],[5121,5740],[5743,5759],[5761,5786],[5792,5866],[5870,5880],[5888,5905],[5919,5937],[5952,5969],[5984,5996],[5998,6e3],[6016,6067],6103,6108,[6176,6264],[6272,6312],6314,[6320,6389],[6400,6430],[6480,6509],[6512,6516],[6528,6571],[6576,6601],[6656,6678],[6688,6740],6823,[6917,6963],[6981,6988],[7043,7072],[7086,7087],[7098,7141],[7168,7203],[7245,7247],[7258,7293],[7296,7304],[7312,7354],[7357,7359],[7401,7404],[7406,7411],[7413,7414],7418,[7424,7615],[7680,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8124],8126,[8130,8132],[8134,8140],[8144,8147],[8150,8155],[8160,8172],[8178,8180],[8182,8188],8305,8319,[8336,8348],8450,8455,[8458,8467],8469,[8472,8477],8484,8486,8488,[8490,8505],[8508,8511],[8517,8521],8526,[8544,8584],[11264,11492],[11499,11502],[11506,11507],[11520,11557],11559,11565,[11568,11623],11631,[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],[12293,12295],[12321,12329],[12337,12341],[12344,12348],[12353,12438],[12443,12447],[12449,12538],[12540,12543],[12549,12591],[12593,12686],[12704,12735],[12784,12799],[13312,19903],[19968,42124],[42192,42237],[42240,42508],[42512,42527],[42538,42539],[42560,42606],[42623,42653],[42656,42735],[42775,42783],[42786,42888],[42891,42954],[42960,42961],42963,[42965,42969],[42994,43009],[43011,43013],[43015,43018],[43020,43042],[43072,43123],[43138,43187],[43250,43255],43259,[43261,43262],[43274,43301],[43312,43334],[43360,43388],[43396,43442],43471,[43488,43492],[43494,43503],[43514,43518],[43520,43560],[43584,43586],[43588,43595],[43616,43638],43642,[43646,43695],43697,[43701,43702],[43705,43709],43712,43714,[43739,43741],[43744,43754],[43762,43764],[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43824,43866],[43868,43881],[43888,44002],[44032,55203],[55216,55238],[55243,55291],[63744,64109],[64112,64217],[64256,64262],[64275,64279],64285,[64287,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64433],[64467,64829],[64848,64911],[64914,64967],[65008,65019],[65136,65140],[65142,65276],[65313,65338],[65345,65370],[65382,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[65856,65908],[66176,66204],[66208,66256],[66304,66335],[66349,66378],[66384,66421],[66432,66461],[66464,66499],[66504,66511],[66513,66517],[66560,66717],[66736,66771],[66776,66811],[66816,66855],[66864,66915],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[67072,67382],[67392,67413],[67424,67431],[67456,67461],[67463,67504],[67506,67514],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67680,67702],[67712,67742],[67808,67826],[67828,67829],[67840,67861],[67872,67897],[67968,68023],[68030,68031],68096,[68112,68115],[68117,68119],[68121,68149],[68192,68220],[68224,68252],[68288,68295],[68297,68324],[68352,68405],[68416,68437],[68448,68466],[68480,68497],[68608,68680],[68736,68786],[68800,68850],[68864,68899],[69248,69289],[69296,69297],[69376,69404],69415,[69424,69445],[69488,69505],[69552,69572],[69600,69622],[69635,69687],[69745,69746],69749,[69763,69807],[69840,69864],[69891,69926],69956,69959,[69968,70002],70006,[70019,70066],[70081,70084],70106,70108,[70144,70161],[70163,70187],[70207,70208],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70312],[70320,70366],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],70461,70480,[70493,70497],[70656,70708],[70727,70730],[70751,70753],[70784,70831],[70852,70853],70855,[71040,71086],[71128,71131],[71168,71215],71236,[71296,71338],71352,[71424,71450],[71488,71494],[71680,71723],[71840,71903],[71935,71942],71945,[71948,71955],[71957,71958],[71960,71983],71999,72001,[72096,72103],[72106,72144],72161,72163,72192,[72203,72242],72250,72272,[72284,72329],72349,[72368,72440],[72704,72712],[72714,72750],72768,[72818,72847],[72960,72966],[72968,72969],[72971,73008],73030,[73056,73061],[73063,73064],[73066,73097],73112,[73440,73458],73474,[73476,73488],[73490,73523],73648,[73728,74649],[74752,74862],[74880,75075],[77712,77808],[77824,78895],[78913,78918],[82944,83526],[92160,92728],[92736,92766],[92784,92862],[92880,92909],[92928,92975],[92992,92995],[93027,93047],[93053,93071],[93760,93823],[93952,94026],94032,[94099,94111],[94176,94177],94179,[94208,100343],[100352,101589],[101632,101640],[110576,110579],[110581,110587],[110589,110590],[110592,110882],110898,[110928,110930],110933,[110948,110951],[110960,111355],[113664,113770],[113776,113788],[113792,113800],[113808,113817],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120512],[120514,120538],[120540,120570],[120572,120596],[120598,120628],[120630,120654],[120656,120686],[120688,120712],[120714,120744],[120746,120770],[120772,120779],[122624,122654],[122661,122666],[122928,122989],[123136,123180],[123191,123197],123214,[123536,123565],[123584,123627],[124112,124139],[124896,124902],[124904,124907],[124909,124910],[124912,124926],[124928,125124],[125184,125251],125259,[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[131072,173791],[173824,177977],[177984,178205],[178208,183969],[183984,191456],[194560,195101],[196608,201546],[201552,205743]],_$c8=[[12294,12295],[12321,12329],[12344,12346],[13312,19903],[19968,40959],[63744,64109],[64112,64217],94180,[94208,100343],[100352,101589],[101632,101640],[110960,111355],[131072,173791],[173824,177977],[177984,178205],[178208,183969],[183984,191456],[194560,195101],[196608,201546],[201552,205743]],_$c7=[[8204,8205]],_$c6=[[3648,3652],[3776,3780],[6581,6583],6586,[43701,43702],43705,[43707,43708]],_$c5=[[97,122],170,181,186,[223,246],[248,255],257,259,261,263,265,267,269,271,273,275,277,279,281,283,285,287,289,291,293,295,297,299,301,303,305,307,309,[311,312],314,316,318,320,322,324,326,[328,329],331,333,335,337,339,341,343,345,347,349,351,353,355,357,359,361,363,365,367,369,371,373,375,378,380,[382,384],387,389,392,[396,397],402,405,[409,411],414,417,419,421,424,[426,427],429,432,436,438,[441,442],[445,447],454,457,460,462,464,466,468,470,472,474,[476,477],479,481,483,485,487,489,491,493,[495,496],499,501,505,507,509,511,513,515,517,519,521,523,525,527,529,531,533,535,537,539,541,543,545,547,549,551,553,555,557,559,561,[563,569],572,[575,576],578,583,585,587,589,[591,659],[661,696],[704,705],[736,740],837,881,883,887,[890,893],912,[940,974],[976,977],[981,983],985,987,989,991,993,995,997,999,1001,1003,1005,[1007,1011],1013,1016,[1019,1020],[1072,1119],1121,1123,1125,1127,1129,1131,1133,1135,1137,1139,1141,1143,1145,1147,1149,1151,1153,1163,1165,1167,1169,1171,1173,1175,1177,1179,1181,1183,1185,1187,1189,1191,1193,1195,1197,1199,1201,1203,1205,1207,1209,1211,1213,1215,1218,1220,1222,1224,1226,1228,[1230,1231],1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315,1317,1319,1321,1323,1325,1327,[1376,1416],[4304,4346],[4348,4351],[5112,5117],[7296,7304],[7424,7615],7681,7683,7685,7687,7689,7691,7693,7695,7697,7699,7701,7703,7705,7707,7709,7711,7713,7715,7717,7719,7721,7723,7725,7727,7729,7731,7733,7735,7737,7739,7741,7743,7745,7747,7749,7751,7753,7755,7757,7759,7761,7763,7765,7767,7769,7771,7773,7775,7777,7779,7781,7783,7785,7787,7789,7791,7793,7795,7797,7799,7801,7803,7805,7807,7809,7811,7813,7815,7817,7819,7821,7823,7825,7827,[7829,7837],7839,7841,7843,7845,7847,7849,7851,7853,7855,7857,7859,7861,7863,7865,7867,7869,7871,7873,7875,7877,7879,7881,7883,7885,7887,7889,7891,7893,7895,7897,7899,7901,7903,7905,7907,7909,7911,7913,7915,7917,7919,7921,7923,7925,7927,7929,7931,7933,[7935,7943],[7952,7957],[7968,7975],[7984,7991],[8e3,8005],[8016,8023],[8032,8039],[8048,8061],[8064,8071],[8080,8087],[8096,8103],[8112,8116],[8118,8119],8126,[8130,8132],[8134,8135],[8144,8147],[8150,8151],[8160,8167],[8178,8180],[8182,8183],8305,8319,[8336,8348],8458,[8462,8463],8467,8495,8500,8505,[8508,8509],[8518,8521],8526,[8560,8575],8580,[9424,9449],[11312,11359],11361,[11365,11366],11368,11370,11372,11377,[11379,11380],[11382,11389],11393,11395,11397,11399,11401,11403,11405,11407,11409,11411,11413,11415,11417,11419,11421,11423,11425,11427,11429,11431,11433,11435,11437,11439,11441,11443,11445,11447,11449,11451,11453,11455,11457,11459,11461,11463,11465,11467,11469,11471,11473,11475,11477,11479,11481,11483,11485,11487,11489,[11491,11492],11500,11502,11507,[11520,11557],11559,11565,42561,42563,42565,42567,42569,42571,42573,42575,42577,42579,42581,42583,42585,42587,42589,42591,42593,42595,42597,42599,42601,42603,42605,42625,42627,42629,42631,42633,42635,42637,42639,42641,42643,42645,42647,42649,[42651,42653],42787,42789,42791,42793,42795,42797,[42799,42801],42803,42805,42807,42809,42811,42813,42815,42817,42819,42821,42823,42825,42827,42829,42831,42833,42835,42837,42839,42841,42843,42845,42847,42849,42851,42853,42855,42857,42859,42861,[42863,42872],42874,42876,42879,42881,42883,42885,42887,42892,42894,42897,[42899,42901],42903,42905,42907,42909,42911,42913,42915,42917,42919,42921,42927,42933,42935,42937,42939,42941,42943,42945,42947,42952,42954,42961,42963,42965,42967,42969,[42994,42996],42998,[43e3,43002],[43824,43866],[43868,43881],[43888,43967],[64256,64262],[64275,64279],[65345,65370],[66600,66639],[66776,66811],[66967,66977],[66979,66993],[66995,67001],[67003,67004],67456,[67459,67461],[67463,67504],[67506,67514],[68800,68850],[71872,71903],[93792,93823],[119834,119859],[119886,119892],[119894,119911],[119938,119963],[119990,119993],119995,[119997,120003],[120005,120015],[120042,120067],[120094,120119],[120146,120171],[120198,120223],[120250,120275],[120302,120327],[120354,120379],[120406,120431],[120458,120485],[120514,120538],[120540,120545],[120572,120596],[120598,120603],[120630,120654],[120656,120661],[120688,120712],[120714,120719],[120746,120770],[120772,120777],120779,[122624,122633],[122635,122654],[122661,122666],[122928,122989],[125218,125251]],_$c4=[43,[60,62],94,124,126,172,177,215,247,[976,978],981,[1008,1009],[1012,1014],[1542,1544],8214,[8242,8244],8256,8260,8274,[8289,8292],[8314,8318],[8330,8334],[8400,8412],8417,[8421,8422],[8427,8431],8450,8455,[8458,8467],8469,[8472,8477],8484,[8488,8489],[8492,8493],[8495,8497],[8499,8504],[8508,8521],8523,[8592,8615],[8617,8622],[8624,8625],[8630,8631],[8636,8667],8669,[8676,8677],[8692,8959],[8968,8971],[8992,8993],9084,[9115,9141],9143,9168,[9180,9186],[9632,9633],[9646,9655],[9660,9665],[9670,9671],[9674,9675],[9679,9683],9698,9700,[9703,9708],[9720,9727],[9733,9734],9792,9794,[9824,9827],[9837,9839],[10176,10239],[10496,11007],[11056,11076],[11079,11084],64297,[65121,65126],65128,65291,[65308,65310],65340,65342,65372,65374,65506,[65513,65516],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120779],[120782,120831],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[126704,126705]],_$c3=[[64976,65007],[65534,65535],[131070,131071],[196606,196607],[262142,262143],[327678,327679],[393214,393215],[458750,458751],[524286,524287],[589822,589823],[655358,655359],[720894,720895],[786430,786431],[851966,851967],[917502,917503],[983038,983039],[1048574,1048575],[1114110,1114111]],_$c2=[837,[1456,1469],1471,[1473,1474],[1476,1477],1479,[1552,1562],[1611,1623],[1625,1631],1648,[1750,1756],[1761,1764],[1767,1768],1773,1809,[1840,1855],[1958,1968],[2070,2071],[2075,2083],[2085,2087],[2089,2092],[2260,2271],[2275,2281],[2288,2307],[2362,2363],[2366,2380],[2382,2383],[2389,2391],[2402,2403],[2433,2435],[2494,2500],[2503,2504],[2507,2508],2519,[2530,2531],[2561,2563],[2622,2626],[2631,2632],[2635,2636],2641,[2672,2673],2677,[2689,2691],[2750,2757],[2759,2761],[2763,2764],[2786,2787],[2810,2812],[2817,2819],[2878,2884],[2887,2888],[2891,2892],[2902,2903],[2914,2915],2946,[3006,3010],[3014,3016],[3018,3020],3031,[3072,3076],[3134,3140],[3142,3144],[3146,3148],[3157,3158],[3170,3171],[3201,3203],[3262,3268],[3270,3272],[3274,3276],[3285,3286],[3298,3299],3315,[3328,3331],[3390,3396],[3398,3400],[3402,3404],3415,[3426,3427],[3457,3459],[3535,3540],3542,[3544,3551],[3570,3571],3633,[3636,3642],3661,3761,[3764,3769],[3771,3772],3789,[3953,3971],[3981,3991],[3993,4028],[4139,4150],4152,[4155,4158],[4182,4185],[4190,4192],[4194,4196],[4199,4205],[4209,4212],[4226,4237],4239,[4250,4253],[5906,5907],[5938,5939],[5970,5971],[6002,6003],[6070,6088],[6277,6278],6313,[6432,6443],[6448,6456],[6679,6683],[6741,6750],[6753,6772],[6847,6848],[6860,6862],[6912,6916],[6965,6979],[7040,7042],[7073,7081],[7084,7085],[7143,7153],[7204,7222],[7655,7668],[9398,9449],[11744,11775],[42612,42619],[42654,42655],43010,43019,[43043,43047],[43136,43137],[43188,43203],43205,43263,[43302,43306],[43335,43346],[43392,43395],[43444,43455],43493,[43561,43574],43587,[43596,43597],[43643,43645],43696,[43698,43700],[43703,43704],43710,[43755,43759],43765,[44003,44010],64286,[66422,66426],[68097,68099],[68101,68102],[68108,68111],[68900,68903],[69291,69292],[69632,69634],[69688,69701],[69747,69748],[69760,69762],[69808,69816],69826,[69888,69890],[69927,69938],[69957,69958],[70016,70018],[70067,70079],[70094,70095],[70188,70196],70199,70206,70209,[70367,70376],[70400,70403],[70462,70468],[70471,70472],[70475,70476],70487,[70498,70499],[70709,70721],[70723,70725],[70832,70849],[71087,71093],[71096,71102],[71132,71133],[71216,71230],71232,[71339,71349],[71453,71466],[71724,71736],[71984,71989],[71991,71992],[71995,71996],72e3,72002,[72145,72151],[72154,72159],72164,[72193,72202],[72245,72249],[72251,72254],[72273,72283],[72330,72343],[72751,72758],[72760,72766],[72850,72871],[72873,72886],[73009,73014],73018,[73020,73021],[73023,73025],73027,73031,[73098,73102],[73104,73105],[73107,73110],[73459,73462],[73472,73473],73475,[73524,73530],[73534,73536],94031,[94033,94087],[94095,94098],[94192,94193],113822,[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],123023,125255,[127280,127305],[127312,127337],[127344,127369]],_$c1=[847,[4447,4448],[6068,6069],8293,12644,65440,[65520,65528],917504,[917506,917535],[917632,917759],[918e3,921599]],_$c0=[2494,2519,2878,2903,3006,3031,3266,[3285,3286],3390,3415,3535,3551,6965,8204,[12334,12335],[65438,65439],70462,70487,70832,70845,71087,71984,119141,[119150,119154],[917536,917631]],_$b$=[183,903,[4969,4977],6618],_$b_=[[6277,6278],8472,8494,[12443,12444]],_$bZ=[170,186,[688,696],[704,705],[736,740],837,890,4348,[7468,7530],7544,[7579,7615],8305,8319,[8336,8348],[8560,8575],[9424,9449],[11388,11389],[42652,42653],42864,[42994,42996],[43e3,43001],[43868,43871],43881,67456,[67459,67461],[67463,67504],[67506,67514],[122928,122989]],_$bY=[94,[976,978],981,[1008,1009],[1012,1013],8214,[8242,8244],8256,[8289,8292],[8317,8318],[8333,8334],[8400,8412],8417,[8421,8422],[8427,8431],8450,8455,[8458,8467],8469,[8473,8477],8484,[8488,8489],[8492,8493],[8495,8497],[8499,8504],[8508,8511],[8517,8521],[8597,8601],[8604,8607],[8609,8610],[8612,8613],8615,[8617,8621],[8624,8625],[8630,8631],[8636,8653],[8656,8657],8659,[8661,8667],8669,[8676,8677],[8968,8971],[9140,9141],9143,9168,9186,[9632,9633],[9646,9654],[9660,9664],[9670,9671],[9674,9675],[9679,9683],9698,9700,[9703,9708],[9733,9734],9792,9794,[9824,9827],[9837,9838],[10181,10182],[10214,10223],[10627,10648],[10712,10715],[10748,10749],65121,65123,65128,65340,65342,[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120512],[120514,120538],[120540,120570],[120572,120596],[120598,120628],[120630,120654],[120656,120686],[120688,120712],[120714,120744],[120746,120770],[120772,120779],[120782,120831],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651]],_$bX=[[8544,8559],[9398,9423],[127280,127305],[127312,127337],[127344,127369]],_$bW=[[33,47],[58,64],[91,94],96,[123,126],[161,167],169,[171,172],174,[176,177],182,187,191,215,247,[8208,8231],[8240,8254],[8257,8275],[8277,8286],[8592,9311],[9472,10101],[10132,11263],[11776,11903],[12289,12291],[12296,12320],12336,[64830,64831],[65093,65094]],_$bV=[[9,13],32,133,[8206,8207],[8232,8233]],_$bU=[[1536,1541],1757,1807,[2192,2193],2274,69821,69837],_$bT=[34,39,171,187,[8216,8223],[8249,8250],11842,[12300,12303],[12317,12319],[65089,65092],65282,65287,[65378,65379]],_$bS=[[11904,11929],[11931,12019],[12032,12245]],_$bR=[[127462,127487]],_$bQ=[33,46,63,1417,[1565,1567],1748,[1792,1794],2041,2103,2105,[2109,2110],[2404,2405],[4170,4171],4962,[4967,4968],5742,[5941,5942],6147,6153,[6468,6469],[6824,6827],[7002,7003],[7006,7007],[7037,7038],[7227,7228],[7294,7295],[8252,8253],[8263,8265],11822,11836,[11859,11860],12290,42239,[42510,42511],42739,42743,[43126,43127],[43214,43215],43311,[43464,43465],[43613,43615],[43760,43761],44011,65106,[65110,65111],65281,65294,65311,65377,[68182,68183],[69461,69465],[69510,69513],[69703,69704],[69822,69825],[69953,69955],[70085,70086],70093,[70110,70111],[70200,70201],[70203,70204],70313,[70731,70732],[71106,71107],[71113,71127],[71233,71234],[71484,71486],72004,72006,[72258,72259],[72347,72348],[72769,72770],[73463,73464],[73539,73540],[92782,92783],92917,[92983,92984],92996,93848,113823,121480],_$bP=[[105,106],303,585,616,669,690,1011,1110,1112,7522,7574,7588,7592,7725,7883,8305,[8520,8521],11388,[119842,119843],[119894,119895],[119946,119947],[119998,119999],[120050,120051],[120102,120103],[120154,120155],[120206,120207],[120258,120259],[120310,120311],[120362,120363],[120414,120415],[120466,120467],122650,[122956,122957],122984],_$bO=[33,44,46,[58,59],63,894,903,1417,1475,1548,1563,[1565,1567],1748,[1792,1802],1804,[2040,2041],[2096,2110],2142,[2404,2405],[3674,3675],3848,[3853,3858],[4170,4171],[4961,4968],5742,[5867,5869],[5941,5942],[6100,6102],6106,[6146,6149],[6152,6153],[6468,6469],[6824,6827],[7002,7003],[7005,7007],[7037,7038],[7227,7231],[7294,7295],[8252,8253],[8263,8265],11822,11836,11841,11852,[11854,11855],[11859,11860],[12289,12290],[42238,42239],[42509,42511],[42739,42743],[43126,43127],[43214,43215],43311,[43463,43465],[43613,43615],43743,[43760,43761],44011,[65104,65106],[65108,65111],65281,65292,65294,[65306,65307],65311,65377,65380,66463,66512,67671,67871,[68182,68183],[68336,68341],[68410,68415],[68505,68508],[69461,69465],[69510,69513],[69703,69709],[69822,69825],[69953,69955],[70085,70086],70093,[70110,70111],[70200,70204],70313,[70731,70733],[70746,70747],[71106,71109],[71113,71127],[71233,71234],[71484,71486],72004,72006,[72258,72259],[72347,72348],[72353,72354],[72769,72771],72817,[73463,73464],[73539,73540],[74864,74868],[92782,92783],92917,[92983,92985],92996,[93847,93848],113823,[121479,121482]],_$bN=[[13312,19903],[19968,40959],[64014,64015],64017,[64019,64020],64031,64033,[64035,64036],[64039,64041],[131072,173791],[173824,177977],[177984,178205],[178208,183969],[183984,191456],[196608,201546],[201552,205743]],_$bM=[[65,90],[192,214],[216,222],256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,313,315,317,319,321,323,325,327,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,[376,377],379,381,[385,386],388,[390,391],[393,395],[398,401],[403,404],[406,408],[412,413],[415,416],418,420,[422,423],425,428,[430,431],[433,435],437,[439,440],444,452,455,458,461,463,465,467,469,471,473,475,478,480,482,484,486,488,490,492,494,497,500,[502,504],506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,[570,571],[573,574],577,[579,582],584,586,588,590,880,882,886,895,902,[904,906],908,[910,911],[913,929],[931,939],975,[978,980],984,986,988,990,992,994,996,998,1e3,1002,1004,1006,1012,1015,[1017,1018],[1021,1071],1120,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140,1142,1144,1146,1148,1150,1152,1162,1164,1166,1168,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188,1190,1192,1194,1196,1198,1200,1202,1204,1206,1208,1210,1212,1214,[1216,1217],1219,1221,1223,1225,1227,1229,1232,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308,1310,1312,1314,1316,1318,1320,1322,1324,1326,[1329,1366],[4256,4293],4295,4301,[5024,5109],[7312,7354],[7357,7359],7680,7682,7684,7686,7688,7690,7692,7694,7696,7698,7700,7702,7704,7706,7708,7710,7712,7714,7716,7718,7720,7722,7724,7726,7728,7730,7732,7734,7736,7738,7740,7742,7744,7746,7748,7750,7752,7754,7756,7758,7760,7762,7764,7766,7768,7770,7772,7774,7776,7778,7780,7782,7784,7786,7788,7790,7792,7794,7796,7798,7800,7802,7804,7806,7808,7810,7812,7814,7816,7818,7820,7822,7824,7826,7828,7838,7840,7842,7844,7846,7848,7850,7852,7854,7856,7858,7860,7862,7864,7866,7868,7870,7872,7874,7876,7878,7880,7882,7884,7886,7888,7890,7892,7894,7896,7898,7900,7902,7904,7906,7908,7910,7912,7914,7916,7918,7920,7922,7924,7926,7928,7930,7932,7934,[7944,7951],[7960,7965],[7976,7983],[7992,7999],[8008,8013],8025,8027,8029,8031,[8040,8047],[8120,8123],[8136,8139],[8152,8155],[8168,8172],[8184,8187],8450,8455,[8459,8461],[8464,8466],8469,[8473,8477],8484,8486,8488,[8490,8493],[8496,8499],[8510,8511],8517,[8544,8559],8579,[9398,9423],[11264,11311],11360,[11362,11364],11367,11369,11371,[11373,11376],11378,11381,[11390,11392],11394,11396,11398,11400,11402,11404,11406,11408,11410,11412,11414,11416,11418,11420,11422,11424,11426,11428,11430,11432,11434,11436,11438,11440,11442,11444,11446,11448,11450,11452,11454,11456,11458,11460,11462,11464,11466,11468,11470,11472,11474,11476,11478,11480,11482,11484,11486,11488,11490,11499,11501,11506,42560,42562,42564,42566,42568,42570,42572,42574,42576,42578,42580,42582,42584,42586,42588,42590,42592,42594,42596,42598,42600,42602,42604,42624,42626,42628,42630,42632,42634,42636,42638,42640,42642,42644,42646,42648,42650,42786,42788,42790,42792,42794,42796,42798,42802,42804,42806,42808,42810,42812,42814,42816,42818,42820,42822,42824,42826,42828,42830,42832,42834,42836,42838,42840,42842,42844,42846,42848,42850,42852,42854,42856,42858,42860,42862,42873,42875,[42877,42878],42880,42882,42884,42886,42891,42893,42896,42898,42902,42904,42906,42908,42910,42912,42914,42916,42918,42920,[42922,42926],[42928,42932],42934,42936,42938,42940,42942,42944,42946,[42948,42951],42953,42960,42966,42968,42997,[65313,65338],[66560,66599],[66736,66771],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[68736,68786],[71840,71871],[93760,93791],[119808,119833],[119860,119885],[119912,119937],119964,[119966,119967],119970,[119973,119974],[119977,119980],[119982,119989],[120016,120041],[120068,120069],[120071,120074],[120077,120084],[120086,120092],[120120,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120172,120197],[120224,120249],[120276,120301],[120328,120353],[120380,120405],[120432,120457],[120488,120512],[120546,120570],[120604,120628],[120662,120686],[120720,120744],120778,[125184,125217],[127280,127305],[127312,127337],[127344,127369]],_$bL=[[6155,6157],6159,[65024,65039],[917760,917999]],_$bK=[[9,13],32,133,160,5760,[8192,8202],[8232,8233],8239,8287,12288],_$bJ=[[48,57],[65,90],95,[97,122],170,181,183,186,[192,214],[216,246],[248,705],[710,721],[736,740],748,750,[768,884],[886,887],[891,893],895,[902,906],908,[910,929],[931,1013],[1015,1153],[1155,1159],[1162,1327],[1329,1366],1369,[1376,1416],[1425,1469],1471,[1473,1474],[1476,1477],1479,[1488,1514],[1519,1522],[1552,1562],[1568,1641],[1646,1747],[1749,1756],[1759,1768],[1770,1788],1791,[1808,1866],[1869,1969],[1984,2037],2042,2045,[2048,2093],[2112,2139],[2144,2154],[2160,2183],[2185,2190],[2200,2273],[2275,2403],[2406,2415],[2417,2435],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],[2492,2500],[2503,2504],[2507,2510],2519,[2524,2525],[2527,2531],[2534,2545],2556,2558,[2561,2563],[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],2620,[2622,2626],[2631,2632],[2635,2637],2641,[2649,2652],2654,[2662,2677],[2689,2691],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],[2748,2757],[2759,2761],[2763,2765],2768,[2784,2787],[2790,2799],[2809,2815],[2817,2819],[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],[2876,2884],[2887,2888],[2891,2893],[2901,2903],[2908,2909],[2911,2915],[2918,2927],2929,[2946,2947],[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],[3006,3010],[3014,3016],[3018,3021],3024,3031,[3046,3055],[3072,3084],[3086,3088],[3090,3112],[3114,3129],[3132,3140],[3142,3144],[3146,3149],[3157,3158],[3160,3162],3165,[3168,3171],[3174,3183],[3200,3203],[3205,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],[3260,3268],[3270,3272],[3274,3277],[3285,3286],[3293,3294],[3296,3299],[3302,3311],[3313,3315],[3328,3340],[3342,3344],[3346,3396],[3398,3400],[3402,3406],[3412,3415],[3423,3427],[3430,3439],[3450,3455],[3457,3459],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],3530,[3535,3540],3542,[3544,3551],[3558,3567],[3570,3571],[3585,3642],[3648,3662],[3664,3673],[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3773],[3776,3780],3782,[3784,3790],[3792,3801],[3804,3807],3840,[3864,3865],[3872,3881],3893,3895,3897,[3902,3911],[3913,3948],[3953,3972],[3974,3991],[3993,4028],4038,[4096,4169],[4176,4253],[4256,4293],4295,4301,[4304,4346],[4348,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4957,4959],[4969,4977],[4992,5007],[5024,5109],[5112,5117],[5121,5740],[5743,5759],[5761,5786],[5792,5866],[5870,5880],[5888,5909],[5919,5940],[5952,5971],[5984,5996],[5998,6e3],[6002,6003],[6016,6099],6103,[6108,6109],[6112,6121],[6155,6157],[6159,6169],[6176,6264],[6272,6314],[6320,6389],[6400,6430],[6432,6443],[6448,6459],[6470,6509],[6512,6516],[6528,6571],[6576,6601],[6608,6618],[6656,6683],[6688,6750],[6752,6780],[6783,6793],[6800,6809],6823,[6832,6845],[6847,6862],[6912,6988],[6992,7001],[7019,7027],[7040,7155],[7168,7223],[7232,7241],[7245,7293],[7296,7304],[7312,7354],[7357,7359],[7376,7378],[7380,7418],[7424,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8124],8126,[8130,8132],[8134,8140],[8144,8147],[8150,8155],[8160,8172],[8178,8180],[8182,8188],[8255,8256],8276,8305,8319,[8336,8348],[8400,8412],8417,[8421,8432],8450,8455,[8458,8467],8469,[8472,8477],8484,8486,8488,[8490,8505],[8508,8511],[8517,8521],8526,[8544,8584],[11264,11492],[11499,11507],[11520,11557],11559,11565,[11568,11623],11631,[11647,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],[11744,11775],[12293,12295],[12321,12335],[12337,12341],[12344,12348],[12353,12438],[12441,12442],[12445,12447],[12449,12538],[12540,12543],[12549,12591],[12593,12686],[12704,12735],[12784,12799],[13312,19903],[19968,42124],[42192,42237],[42240,42508],[42512,42539],[42560,42607],[42612,42621],[42623,42737],[42775,42783],[42786,42888],[42891,42954],[42960,42961],42963,[42965,42969],[42994,43047],43052,[43072,43123],[43136,43205],[43216,43225],[43232,43255],43259,[43261,43309],[43312,43347],[43360,43388],[43392,43456],[43471,43481],[43488,43518],[43520,43574],[43584,43597],[43600,43609],[43616,43638],[43642,43714],[43739,43741],[43744,43759],[43762,43766],[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43824,43866],[43868,43881],[43888,44010],[44012,44013],[44016,44025],[44032,55203],[55216,55238],[55243,55291],[63744,64109],[64112,64217],[64256,64262],[64275,64279],[64285,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64433],[64467,64605],[64612,64829],[64848,64911],[64914,64967],[65008,65017],[65024,65039],[65056,65071],[65075,65076],[65101,65103],65137,65139,65143,65145,65147,65149,[65151,65276],[65296,65305],[65313,65338],65343,[65345,65370],[65382,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[65856,65908],66045,[66176,66204],[66208,66256],66272,[66304,66335],[66349,66378],[66384,66426],[66432,66461],[66464,66499],[66504,66511],[66513,66517],[66560,66717],[66720,66729],[66736,66771],[66776,66811],[66816,66855],[66864,66915],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[67072,67382],[67392,67413],[67424,67431],[67456,67461],[67463,67504],[67506,67514],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67680,67702],[67712,67742],[67808,67826],[67828,67829],[67840,67861],[67872,67897],[67968,68023],[68030,68031],[68096,68099],[68101,68102],[68108,68115],[68117,68119],[68121,68149],[68152,68154],68159,[68192,68220],[68224,68252],[68288,68295],[68297,68326],[68352,68405],[68416,68437],[68448,68466],[68480,68497],[68608,68680],[68736,68786],[68800,68850],[68864,68903],[68912,68921],[69248,69289],[69291,69292],[69296,69297],[69373,69404],69415,[69424,69456],[69488,69509],[69552,69572],[69600,69622],[69632,69702],[69734,69749],[69759,69818],69826,[69840,69864],[69872,69881],[69888,69940],[69942,69951],[69956,69959],[69968,70003],70006,[70016,70084],[70089,70092],[70094,70106],70108,[70144,70161],[70163,70199],[70206,70209],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70312],[70320,70378],[70384,70393],[70400,70403],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],[70459,70468],[70471,70472],[70475,70477],70480,70487,[70493,70499],[70502,70508],[70512,70516],[70656,70730],[70736,70745],[70750,70753],[70784,70853],70855,[70864,70873],[71040,71093],[71096,71104],[71128,71133],[71168,71232],71236,[71248,71257],[71296,71352],[71360,71369],[71424,71450],[71453,71467],[71472,71481],[71488,71494],[71680,71738],[71840,71913],[71935,71942],71945,[71948,71955],[71957,71958],[71960,71989],[71991,71992],[71995,72003],[72016,72025],[72096,72103],[72106,72151],[72154,72161],[72163,72164],[72192,72254],72263,[72272,72345],72349,[72368,72440],[72704,72712],[72714,72758],[72760,72768],[72784,72793],[72818,72847],[72850,72871],[72873,72886],[72960,72966],[72968,72969],[72971,73014],73018,[73020,73021],[73023,73031],[73040,73049],[73056,73061],[73063,73064],[73066,73102],[73104,73105],[73107,73112],[73120,73129],[73440,73462],[73472,73488],[73490,73530],[73534,73538],[73552,73561],73648,[73728,74649],[74752,74862],[74880,75075],[77712,77808],[77824,78895],[78912,78933],[82944,83526],[92160,92728],[92736,92766],[92768,92777],[92784,92862],[92864,92873],[92880,92909],[92912,92916],[92928,92982],[92992,92995],[93008,93017],[93027,93047],[93053,93071],[93760,93823],[93952,94026],[94031,94087],[94095,94111],[94176,94177],[94179,94180],[94192,94193],[94208,100343],[100352,101589],[101632,101640],[110576,110579],[110581,110587],[110589,110590],[110592,110882],110898,[110928,110930],110933,[110948,110951],[110960,111355],[113664,113770],[113776,113788],[113792,113800],[113808,113817],[113821,113822],[118528,118573],[118576,118598],[119141,119145],[119149,119154],[119163,119170],[119173,119179],[119210,119213],[119362,119364],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120512],[120514,120538],[120540,120570],[120572,120596],[120598,120628],[120630,120654],[120656,120686],[120688,120712],[120714,120744],[120746,120770],[120772,120779],[120782,120831],[121344,121398],[121403,121452],121461,121476,[121499,121503],[121505,121519],[122624,122654],[122661,122666],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],[122928,122989],123023,[123136,123180],[123184,123197],[123200,123209],123214,[123536,123566],[123584,123641],[124112,124153],[124896,124902],[124904,124907],[124909,124910],[124912,124926],[124928,125124],[125136,125142],[125184,125259],[125264,125273],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[130032,130041],[131072,173791],[173824,177977],[177984,178205],[178208,183969],[183984,191456],[194560,195101],[196608,201546],[201552,205743],[917760,917999]],_$bI=[[65,90],[97,122],170,181,186,[192,214],[216,246],[248,705],[710,721],[736,740],748,750,[880,884],[886,887],[891,893],895,902,[904,906],908,[910,929],[931,1013],[1015,1153],[1162,1327],[1329,1366],1369,[1376,1416],[1488,1514],[1519,1522],[1568,1610],[1646,1647],[1649,1747],1749,[1765,1766],[1774,1775],[1786,1788],1791,1808,[1810,1839],[1869,1957],1969,[1994,2026],[2036,2037],2042,[2048,2069],2074,2084,2088,[2112,2136],[2144,2154],[2160,2183],[2185,2190],[2208,2249],[2308,2361],2365,2384,[2392,2401],[2417,2432],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],2493,2510,[2524,2525],[2527,2529],[2544,2545],2556,[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],[2649,2652],2654,[2674,2676],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],2749,2768,[2784,2785],2809,[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],2877,[2908,2909],[2911,2913],2929,2947,[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],3024,[3077,3084],[3086,3088],[3090,3112],[3114,3129],3133,[3160,3162],3165,[3168,3169],3200,[3205,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],3261,[3293,3294],[3296,3297],[3313,3314],[3332,3340],[3342,3344],[3346,3386],3389,3406,[3412,3414],[3423,3425],[3450,3455],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],[3585,3632],3634,[3648,3654],[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3760],3762,3773,[3776,3780],3782,[3804,3807],3840,[3904,3911],[3913,3948],[3976,3980],[4096,4138],4159,[4176,4181],[4186,4189],4193,[4197,4198],[4206,4208],[4213,4225],4238,[4256,4293],4295,4301,[4304,4346],[4348,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4992,5007],[5024,5109],[5112,5117],[5121,5740],[5743,5759],[5761,5786],[5792,5866],[5870,5880],[5888,5905],[5919,5937],[5952,5969],[5984,5996],[5998,6e3],[6016,6067],6103,6108,[6176,6264],[6272,6312],6314,[6320,6389],[6400,6430],[6480,6509],[6512,6516],[6528,6571],[6576,6601],[6656,6678],[6688,6740],6823,[6917,6963],[6981,6988],[7043,7072],[7086,7087],[7098,7141],[7168,7203],[7245,7247],[7258,7293],[7296,7304],[7312,7354],[7357,7359],[7401,7404],[7406,7411],[7413,7414],7418,[7424,7615],[7680,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8124],8126,[8130,8132],[8134,8140],[8144,8147],[8150,8155],[8160,8172],[8178,8180],[8182,8188],8305,8319,[8336,8348],8450,8455,[8458,8467],8469,[8472,8477],8484,8486,8488,[8490,8505],[8508,8511],[8517,8521],8526,[8544,8584],[11264,11492],[11499,11502],[11506,11507],[11520,11557],11559,11565,[11568,11623],11631,[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],[12293,12295],[12321,12329],[12337,12341],[12344,12348],[12353,12438],[12445,12447],[12449,12538],[12540,12543],[12549,12591],[12593,12686],[12704,12735],[12784,12799],[13312,19903],[19968,42124],[42192,42237],[42240,42508],[42512,42527],[42538,42539],[42560,42606],[42623,42653],[42656,42735],[42775,42783],[42786,42888],[42891,42954],[42960,42961],42963,[42965,42969],[42994,43009],[43011,43013],[43015,43018],[43020,43042],[43072,43123],[43138,43187],[43250,43255],43259,[43261,43262],[43274,43301],[43312,43334],[43360,43388],[43396,43442],43471,[43488,43492],[43494,43503],[43514,43518],[43520,43560],[43584,43586],[43588,43595],[43616,43638],43642,[43646,43695],43697,[43701,43702],[43705,43709],43712,43714,[43739,43741],[43744,43754],[43762,43764],[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43824,43866],[43868,43881],[43888,44002],[44032,55203],[55216,55238],[55243,55291],[63744,64109],[64112,64217],[64256,64262],[64275,64279],64285,[64287,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64433],[64467,64605],[64612,64829],[64848,64911],[64914,64967],[65008,65017],65137,65139,65143,65145,65147,65149,[65151,65276],[65313,65338],[65345,65370],[65382,65437],[65440,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[65856,65908],[66176,66204],[66208,66256],[66304,66335],[66349,66378],[66384,66421],[66432,66461],[66464,66499],[66504,66511],[66513,66517],[66560,66717],[66736,66771],[66776,66811],[66816,66855],[66864,66915],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[67072,67382],[67392,67413],[67424,67431],[67456,67461],[67463,67504],[67506,67514],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67680,67702],[67712,67742],[67808,67826],[67828,67829],[67840,67861],[67872,67897],[67968,68023],[68030,68031],68096,[68112,68115],[68117,68119],[68121,68149],[68192,68220],[68224,68252],[68288,68295],[68297,68324],[68352,68405],[68416,68437],[68448,68466],[68480,68497],[68608,68680],[68736,68786],[68800,68850],[68864,68899],[69248,69289],[69296,69297],[69376,69404],69415,[69424,69445],[69488,69505],[69552,69572],[69600,69622],[69635,69687],[69745,69746],69749,[69763,69807],[69840,69864],[69891,69926],69956,69959,[69968,70002],70006,[70019,70066],[70081,70084],70106,70108,[70144,70161],[70163,70187],[70207,70208],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70312],[70320,70366],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],70461,70480,[70493,70497],[70656,70708],[70727,70730],[70751,70753],[70784,70831],[70852,70853],70855,[71040,71086],[71128,71131],[71168,71215],71236,[71296,71338],71352,[71424,71450],[71488,71494],[71680,71723],[71840,71903],[71935,71942],71945,[71948,71955],[71957,71958],[71960,71983],71999,72001,[72096,72103],[72106,72144],72161,72163,72192,[72203,72242],72250,72272,[72284,72329],72349,[72368,72440],[72704,72712],[72714,72750],72768,[72818,72847],[72960,72966],[72968,72969],[72971,73008],73030,[73056,73061],[73063,73064],[73066,73097],73112,[73440,73458],73474,[73476,73488],[73490,73523],73648,[73728,74649],[74752,74862],[74880,75075],[77712,77808],[77824,78895],[78913,78918],[82944,83526],[92160,92728],[92736,92766],[92784,92862],[92880,92909],[92928,92975],[92992,92995],[93027,93047],[93053,93071],[93760,93823],[93952,94026],94032,[94099,94111],[94176,94177],94179,[94208,100343],[100352,101589],[101632,101640],[110576,110579],[110581,110587],[110589,110590],[110592,110882],110898,[110928,110930],110933,[110948,110951],[110960,111355],[113664,113770],[113776,113788],[113792,113800],[113808,113817],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120512],[120514,120538],[120540,120570],[120572,120596],[120598,120628],[120630,120654],[120656,120686],[120688,120712],[120714,120744],[120746,120770],[120772,120779],[122624,122654],[122661,122666],[122928,122989],[123136,123180],[123191,123197],123214,[123536,123565],[123584,123627],[124112,124139],[124896,124902],[124904,124907],[124909,124910],[124912,124926],[124928,125124],[125184,125251],125259,[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[131072,173791],[173824,177977],[177984,178205],[178208,183969],[183984,191456],[194560,195101],[196608,201546],[201552,205743]],index$a=Object.freeze(Object.defineProperty({__proto__:null,ASCII:_$cN,ASCII_Hex_Digit:_$cM,Alphabetic:_$cL,Any:_$cK,Assigned:_$cJ,Bidi_Control:_$cI,Bidi_Mirrored:_$cH,Case_Ignorable:_$cG,Cased:_$cF,Changes_When_Casefolded:_$cE,Changes_When_Casemapped:_$cD,Changes_When_Lowercased:_$cC,Changes_When_NFKC_Casefolded:_$cB,Changes_When_Titlecased:_$cA,Changes_When_Uppercased:_$cz,Composition_Exclusion:_$cy,Dash:_$cx,Default_Ignorable_Code_Point:_$cw,Deprecated:_$cv,Diacritic:_$cu,Emoji:_$ct,Emoji_Component:_$cs,Emoji_Modifier:_$cr,Emoji_Modifier_Base:_$cq,Emoji_Presentation:_$cp,Expands_On_NFC:_$co,Expands_On_NFD:_$cn,Expands_On_NFKC:_$cm,Expands_On_NFKD:_$cl,Extended_Pictographic:_$ck,Extender:_$cj,Full_Composition_Exclusion:_$ci,Grapheme_Base:_$ch,Grapheme_Extend:_$cg,Grapheme_Link:_$cf,Hex_Digit:_$ce,Hyphen:_$cd,IDS_Binary_Operator:_$cc,IDS_Trinary_Operator:_$cb,ID_Continue:_$ca,ID_Start:_$c9,Ideographic:_$c8,Join_Control:_$c7,Logical_Order_Exception:_$c6,Lowercase:_$c5,Math:_$c4,Noncharacter_Code_Point:_$c3,Other_Alphabetic:_$c2,Other_Default_Ignorable_Code_Point:_$c1,Other_Grapheme_Extend:_$c0,Other_ID_Continue:_$b$,Other_ID_Start:_$b_,Other_Lowercase:_$bZ,Other_Math:_$bY,Other_Uppercase:_$bX,Pattern_Syntax:_$bW,Pattern_White_Space:_$bV,Prepended_Concatenation_Mark:_$bU,Quotation_Mark:_$bT,Radical:_$bS,Regional_Indicator:_$bR,Sentence_Terminal:_$bQ,Soft_Dotted:_$bP,Terminal_Punctuation:_$bO,Unified_Ideograph:_$bN,Uppercase:_$bM,Variation_Selector:_$bL,White_Space:_$bK,XID_Continue:_$bJ,XID_Start:_$bI},Symbol.toStringTag,{value:"Module"})),_$bH=[[65,90],[97,122],181,[192,214],[216,246],[248,442],[444,447],[452,659],[661,687],[880,883],[886,887],[891,893],895,902,[904,906],908,[910,929],[931,1013],[1015,1153],[1162,1327],[1329,1366],[1376,1416],[4256,4293],4295,4301,[4304,4346],[4349,4351],[5024,5109],[5112,5117],[7296,7304],[7312,7354],[7357,7359],[7424,7467],[7531,7543],[7545,7578],[7680,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8124],8126,[8130,8132],[8134,8140],[8144,8147],[8150,8155],[8160,8172],[8178,8180],[8182,8188],8450,8455,[8458,8467],8469,[8473,8477],8484,8486,8488,[8490,8493],[8495,8500],8505,[8508,8511],[8517,8521],8526,[8579,8580],[11264,11387],[11390,11492],[11499,11502],[11506,11507],[11520,11557],11559,11565,[42560,42605],[42624,42651],[42786,42863],[42865,42887],[42891,42894],[42896,42954],[42960,42961],42963,[42965,42969],[42997,42998],43002,[43824,43866],[43872,43880],[43888,43967],[64256,64262],[64275,64279],[65313,65338],[65345,65370],[66560,66639],[66736,66771],[66776,66811],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[68736,68786],[68800,68850],[71840,71903],[93760,93823],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120512],[120514,120538],[120540,120570],[120572,120596],[120598,120628],[120630,120654],[120656,120686],[120688,120712],[120714,120744],[120746,120770],[120772,120779],[122624,122633],[122635,122654],[122661,122666],[125184,125251]],_$bG=[41,93,125,3899,3901,5788,8262,8318,8334,8969,8971,9002,10089,10091,10093,10095,10097,10099,10101,10182,10215,10217,10219,10221,10223,10628,10630,10632,10634,10636,10638,10640,10642,10644,10646,10648,10713,10715,10749,11811,11813,11815,11817,11862,11864,11866,11868,12297,12299,12301,12303,12305,12309,12311,12313,12315,[12318,12319],64830,65048,65078,65080,65082,65084,65086,65088,65090,65092,65096,65114,65116,65118,65289,65341,65373,65376,65379],_$bF=[95,[8255,8256],8276,[65075,65076],[65101,65103],65343],_$bE=[[0,31],[127,159]],_$bD=[36,[162,165],1423,1547,[2046,2047],[2546,2547],2555,2801,3065,3647,6107,[8352,8384],43064,65020,65129,65284,[65504,65505],[65509,65510],[73693,73696],123647,126128],_$bC=[45,1418,1470,5120,6150,[8208,8213],11799,11802,[11834,11835],11840,11869,12316,12336,12448,[65073,65074],65112,65123,65293,69293],_$bB=[[48,57],[1632,1641],[1776,1785],[1984,1993],[2406,2415],[2534,2543],[2662,2671],[2790,2799],[2918,2927],[3046,3055],[3174,3183],[3302,3311],[3430,3439],[3558,3567],[3664,3673],[3792,3801],[3872,3881],[4160,4169],[4240,4249],[6112,6121],[6160,6169],[6470,6479],[6608,6617],[6784,6793],[6800,6809],[6992,7001],[7088,7097],[7232,7241],[7248,7257],[42528,42537],[43216,43225],[43264,43273],[43472,43481],[43504,43513],[43600,43609],[44016,44025],[65296,65305],[66720,66729],[68912,68921],[69734,69743],[69872,69881],[69942,69951],[70096,70105],[70384,70393],[70736,70745],[70864,70873],[71248,71257],[71360,71369],[71472,71481],[71904,71913],[72016,72025],[72784,72793],[73040,73049],[73120,73129],[73552,73561],[92768,92777],[92864,92873],[93008,93017],[120782,120831],[123200,123209],[123632,123641],[124144,124153],[125264,125273],[130032,130041]],_$bA=[[1160,1161],6846,[8413,8416],[8418,8420],[42608,42610]],_$bz=[187,8217,8221,8250,11779,11781,11786,11789,11805,11809],_$by=[173,[1536,1541],1564,1757,1807,[2192,2193],2274,6158,[8203,8207],[8234,8238],[8288,8292],[8294,8303],65279,[65529,65531],69821,69837,[78896,78911],[113824,113827],[119155,119162],917505,[917536,917631]],_$bx=[171,8216,[8219,8220],8223,8249,11778,11780,11785,11788,11804,11808],_$bw=[[65,90],[97,122],170,181,186,[192,214],[216,246],[248,705],[710,721],[736,740],748,750,[880,884],[886,887],[890,893],895,902,[904,906],908,[910,929],[931,1013],[1015,1153],[1162,1327],[1329,1366],1369,[1376,1416],[1488,1514],[1519,1522],[1568,1610],[1646,1647],[1649,1747],1749,[1765,1766],[1774,1775],[1786,1788],1791,1808,[1810,1839],[1869,1957],1969,[1994,2026],[2036,2037],2042,[2048,2069],2074,2084,2088,[2112,2136],[2144,2154],[2160,2183],[2185,2190],[2208,2249],[2308,2361],2365,2384,[2392,2401],[2417,2432],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],2493,2510,[2524,2525],[2527,2529],[2544,2545],2556,[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],[2649,2652],2654,[2674,2676],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],2749,2768,[2784,2785],2809,[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],2877,[2908,2909],[2911,2913],2929,2947,[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],3024,[3077,3084],[3086,3088],[3090,3112],[3114,3129],3133,[3160,3162],3165,[3168,3169],3200,[3205,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],3261,[3293,3294],[3296,3297],[3313,3314],[3332,3340],[3342,3344],[3346,3386],3389,3406,[3412,3414],[3423,3425],[3450,3455],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],[3585,3632],[3634,3635],[3648,3654],[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3760],[3762,3763],3773,[3776,3780],3782,[3804,3807],3840,[3904,3911],[3913,3948],[3976,3980],[4096,4138],4159,[4176,4181],[4186,4189],4193,[4197,4198],[4206,4208],[4213,4225],4238,[4256,4293],4295,4301,[4304,4346],[4348,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4992,5007],[5024,5109],[5112,5117],[5121,5740],[5743,5759],[5761,5786],[5792,5866],[5873,5880],[5888,5905],[5919,5937],[5952,5969],[5984,5996],[5998,6e3],[6016,6067],6103,6108,[6176,6264],[6272,6276],[6279,6312],6314,[6320,6389],[6400,6430],[6480,6509],[6512,6516],[6528,6571],[6576,6601],[6656,6678],[6688,6740],6823,[6917,6963],[6981,6988],[7043,7072],[7086,7087],[7098,7141],[7168,7203],[7245,7247],[7258,7293],[7296,7304],[7312,7354],[7357,7359],[7401,7404],[7406,7411],[7413,7414],7418,[7424,7615],[7680,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8124],8126,[8130,8132],[8134,8140],[8144,8147],[8150,8155],[8160,8172],[8178,8180],[8182,8188],8305,8319,[8336,8348],8450,8455,[8458,8467],8469,[8473,8477],8484,8486,8488,[8490,8493],[8495,8505],[8508,8511],[8517,8521],8526,[8579,8580],[11264,11492],[11499,11502],[11506,11507],[11520,11557],11559,11565,[11568,11623],11631,[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],11823,[12293,12294],[12337,12341],[12347,12348],[12353,12438],[12445,12447],[12449,12538],[12540,12543],[12549,12591],[12593,12686],[12704,12735],[12784,12799],[13312,19903],[19968,42124],[42192,42237],[42240,42508],[42512,42527],[42538,42539],[42560,42606],[42623,42653],[42656,42725],[42775,42783],[42786,42888],[42891,42954],[42960,42961],42963,[42965,42969],[42994,43009],[43011,43013],[43015,43018],[43020,43042],[43072,43123],[43138,43187],[43250,43255],43259,[43261,43262],[43274,43301],[43312,43334],[43360,43388],[43396,43442],43471,[43488,43492],[43494,43503],[43514,43518],[43520,43560],[43584,43586],[43588,43595],[43616,43638],43642,[43646,43695],43697,[43701,43702],[43705,43709],43712,43714,[43739,43741],[43744,43754],[43762,43764],[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43824,43866],[43868,43881],[43888,44002],[44032,55203],[55216,55238],[55243,55291],[63744,64109],[64112,64217],[64256,64262],[64275,64279],64285,[64287,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64433],[64467,64829],[64848,64911],[64914,64967],[65008,65019],[65136,65140],[65142,65276],[65313,65338],[65345,65370],[65382,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[66176,66204],[66208,66256],[66304,66335],[66349,66368],[66370,66377],[66384,66421],[66432,66461],[66464,66499],[66504,66511],[66560,66717],[66736,66771],[66776,66811],[66816,66855],[66864,66915],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[67072,67382],[67392,67413],[67424,67431],[67456,67461],[67463,67504],[67506,67514],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67680,67702],[67712,67742],[67808,67826],[67828,67829],[67840,67861],[67872,67897],[67968,68023],[68030,68031],68096,[68112,68115],[68117,68119],[68121,68149],[68192,68220],[68224,68252],[68288,68295],[68297,68324],[68352,68405],[68416,68437],[68448,68466],[68480,68497],[68608,68680],[68736,68786],[68800,68850],[68864,68899],[69248,69289],[69296,69297],[69376,69404],69415,[69424,69445],[69488,69505],[69552,69572],[69600,69622],[69635,69687],[69745,69746],69749,[69763,69807],[69840,69864],[69891,69926],69956,69959,[69968,70002],70006,[70019,70066],[70081,70084],70106,70108,[70144,70161],[70163,70187],[70207,70208],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70312],[70320,70366],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],70461,70480,[70493,70497],[70656,70708],[70727,70730],[70751,70753],[70784,70831],[70852,70853],70855,[71040,71086],[71128,71131],[71168,71215],71236,[71296,71338],71352,[71424,71450],[71488,71494],[71680,71723],[71840,71903],[71935,71942],71945,[71948,71955],[71957,71958],[71960,71983],71999,72001,[72096,72103],[72106,72144],72161,72163,72192,[72203,72242],72250,72272,[72284,72329],72349,[72368,72440],[72704,72712],[72714,72750],72768,[72818,72847],[72960,72966],[72968,72969],[72971,73008],73030,[73056,73061],[73063,73064],[73066,73097],73112,[73440,73458],73474,[73476,73488],[73490,73523],73648,[73728,74649],[74880,75075],[77712,77808],[77824,78895],[78913,78918],[82944,83526],[92160,92728],[92736,92766],[92784,92862],[92880,92909],[92928,92975],[92992,92995],[93027,93047],[93053,93071],[93760,93823],[93952,94026],94032,[94099,94111],[94176,94177],94179,[94208,100343],[100352,101589],[101632,101640],[110576,110579],[110581,110587],[110589,110590],[110592,110882],110898,[110928,110930],110933,[110948,110951],[110960,111355],[113664,113770],[113776,113788],[113792,113800],[113808,113817],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120512],[120514,120538],[120540,120570],[120572,120596],[120598,120628],[120630,120654],[120656,120686],[120688,120712],[120714,120744],[120746,120770],[120772,120779],[122624,122654],[122661,122666],[122928,122989],[123136,123180],[123191,123197],123214,[123536,123565],[123584,123627],[124112,124139],[124896,124902],[124904,124907],[124909,124910],[124912,124926],[124928,125124],[125184,125251],125259,[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[131072,173791],[173824,177977],[177984,178205],[178208,183969],[183984,191456],[194560,195101],[196608,201546],[201552,205743]],_$bv=[[5870,5872],[8544,8578],[8581,8584],12295,[12321,12329],[12344,12346],[42726,42735],[65856,65908],66369,66378,[66513,66517],[74752,74862]],_$bu=[8232],_$bt=[[97,122],181,[223,246],[248,255],257,259,261,263,265,267,269,271,273,275,277,279,281,283,285,287,289,291,293,295,297,299,301,303,305,307,309,[311,312],314,316,318,320,322,324,326,[328,329],331,333,335,337,339,341,343,345,347,349,351,353,355,357,359,361,363,365,367,369,371,373,375,378,380,[382,384],387,389,392,[396,397],402,405,[409,411],414,417,419,421,424,[426,427],429,432,436,438,[441,442],[445,447],454,457,460,462,464,466,468,470,472,474,[476,477],479,481,483,485,487,489,491,493,[495,496],499,501,505,507,509,511,513,515,517,519,521,523,525,527,529,531,533,535,537,539,541,543,545,547,549,551,553,555,557,559,561,[563,569],572,[575,576],578,583,585,587,589,[591,659],[661,687],881,883,887,[891,893],912,[940,974],[976,977],[981,983],985,987,989,991,993,995,997,999,1001,1003,1005,[1007,1011],1013,1016,[1019,1020],[1072,1119],1121,1123,1125,1127,1129,1131,1133,1135,1137,1139,1141,1143,1145,1147,1149,1151,1153,1163,1165,1167,1169,1171,1173,1175,1177,1179,1181,1183,1185,1187,1189,1191,1193,1195,1197,1199,1201,1203,1205,1207,1209,1211,1213,1215,1218,1220,1222,1224,1226,1228,[1230,1231],1233,1235,1237,1239,1241,1243,1245,1247,1249,1251,1253,1255,1257,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313,1315,1317,1319,1321,1323,1325,1327,[1376,1416],[4304,4346],[4349,4351],[5112,5117],[7296,7304],[7424,7467],[7531,7543],[7545,7578],7681,7683,7685,7687,7689,7691,7693,7695,7697,7699,7701,7703,7705,7707,7709,7711,7713,7715,7717,7719,7721,7723,7725,7727,7729,7731,7733,7735,7737,7739,7741,7743,7745,7747,7749,7751,7753,7755,7757,7759,7761,7763,7765,7767,7769,7771,7773,7775,7777,7779,7781,7783,7785,7787,7789,7791,7793,7795,7797,7799,7801,7803,7805,7807,7809,7811,7813,7815,7817,7819,7821,7823,7825,7827,[7829,7837],7839,7841,7843,7845,7847,7849,7851,7853,7855,7857,7859,7861,7863,7865,7867,7869,7871,7873,7875,7877,7879,7881,7883,7885,7887,7889,7891,7893,7895,7897,7899,7901,7903,7905,7907,7909,7911,7913,7915,7917,7919,7921,7923,7925,7927,7929,7931,7933,[7935,7943],[7952,7957],[7968,7975],[7984,7991],[8e3,8005],[8016,8023],[8032,8039],[8048,8061],[8064,8071],[8080,8087],[8096,8103],[8112,8116],[8118,8119],8126,[8130,8132],[8134,8135],[8144,8147],[8150,8151],[8160,8167],[8178,8180],[8182,8183],8458,[8462,8463],8467,8495,8500,8505,[8508,8509],[8518,8521],8526,8580,[11312,11359],11361,[11365,11366],11368,11370,11372,11377,[11379,11380],[11382,11387],11393,11395,11397,11399,11401,11403,11405,11407,11409,11411,11413,11415,11417,11419,11421,11423,11425,11427,11429,11431,11433,11435,11437,11439,11441,11443,11445,11447,11449,11451,11453,11455,11457,11459,11461,11463,11465,11467,11469,11471,11473,11475,11477,11479,11481,11483,11485,11487,11489,[11491,11492],11500,11502,11507,[11520,11557],11559,11565,42561,42563,42565,42567,42569,42571,42573,42575,42577,42579,42581,42583,42585,42587,42589,42591,42593,42595,42597,42599,42601,42603,42605,42625,42627,42629,42631,42633,42635,42637,42639,42641,42643,42645,42647,42649,42651,42787,42789,42791,42793,42795,42797,[42799,42801],42803,42805,42807,42809,42811,42813,42815,42817,42819,42821,42823,42825,42827,42829,42831,42833,42835,42837,42839,42841,42843,42845,42847,42849,42851,42853,42855,42857,42859,42861,42863,[42865,42872],42874,42876,42879,42881,42883,42885,42887,42892,42894,42897,[42899,42901],42903,42905,42907,42909,42911,42913,42915,42917,42919,42921,42927,42933,42935,42937,42939,42941,42943,42945,42947,42952,42954,42961,42963,42965,42967,42969,42998,43002,[43824,43866],[43872,43880],[43888,43967],[64256,64262],[64275,64279],[65345,65370],[66600,66639],[66776,66811],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[68800,68850],[71872,71903],[93792,93823],[119834,119859],[119886,119892],[119894,119911],[119938,119963],[119990,119993],119995,[119997,120003],[120005,120015],[120042,120067],[120094,120119],[120146,120171],[120198,120223],[120250,120275],[120302,120327],[120354,120379],[120406,120431],[120458,120485],[120514,120538],[120540,120545],[120572,120596],[120598,120603],[120630,120654],[120656,120661],[120688,120712],[120714,120719],[120746,120770],[120772,120777],120779,[122624,122633],[122635,122654],[122661,122666],[125218,125251]],_$bs=[[768,879],[1155,1161],[1425,1469],1471,[1473,1474],[1476,1477],1479,[1552,1562],[1611,1631],1648,[1750,1756],[1759,1764],[1767,1768],[1770,1773],1809,[1840,1866],[1958,1968],[2027,2035],2045,[2070,2073],[2075,2083],[2085,2087],[2089,2093],[2137,2139],[2200,2207],[2250,2273],[2275,2307],[2362,2364],[2366,2383],[2385,2391],[2402,2403],[2433,2435],2492,[2494,2500],[2503,2504],[2507,2509],2519,[2530,2531],2558,[2561,2563],2620,[2622,2626],[2631,2632],[2635,2637],2641,[2672,2673],2677,[2689,2691],2748,[2750,2757],[2759,2761],[2763,2765],[2786,2787],[2810,2815],[2817,2819],2876,[2878,2884],[2887,2888],[2891,2893],[2901,2903],[2914,2915],2946,[3006,3010],[3014,3016],[3018,3021],3031,[3072,3076],3132,[3134,3140],[3142,3144],[3146,3149],[3157,3158],[3170,3171],[3201,3203],3260,[3262,3268],[3270,3272],[3274,3277],[3285,3286],[3298,3299],3315,[3328,3331],[3387,3388],[3390,3396],[3398,3400],[3402,3405],3415,[3426,3427],[3457,3459],3530,[3535,3540],3542,[3544,3551],[3570,3571],3633,[3636,3642],[3655,3662],3761,[3764,3772],[3784,3790],[3864,3865],3893,3895,3897,[3902,3903],[3953,3972],[3974,3975],[3981,3991],[3993,4028],4038,[4139,4158],[4182,4185],[4190,4192],[4194,4196],[4199,4205],[4209,4212],[4226,4237],4239,[4250,4253],[4957,4959],[5906,5909],[5938,5940],[5970,5971],[6002,6003],[6068,6099],6109,[6155,6157],6159,[6277,6278],6313,[6432,6443],[6448,6459],[6679,6683],[6741,6750],[6752,6780],6783,[6832,6862],[6912,6916],[6964,6980],[7019,7027],[7040,7042],[7073,7085],[7142,7155],[7204,7223],[7376,7378],[7380,7400],7405,7412,[7415,7417],[7616,7679],[8400,8432],[11503,11505],11647,[11744,11775],[12330,12335],[12441,12442],[42607,42610],[42612,42621],[42654,42655],[42736,42737],43010,43014,43019,[43043,43047],43052,[43136,43137],[43188,43205],[43232,43249],43263,[43302,43309],[43335,43347],[43392,43395],[43443,43456],43493,[43561,43574],43587,[43596,43597],[43643,43645],43696,[43698,43700],[43703,43704],[43710,43711],43713,[43755,43759],[43765,43766],[44003,44010],[44012,44013],64286,[65024,65039],[65056,65071],66045,66272,[66422,66426],[68097,68099],[68101,68102],[68108,68111],[68152,68154],68159,[68325,68326],[68900,68903],[69291,69292],[69373,69375],[69446,69456],[69506,69509],[69632,69634],[69688,69702],69744,[69747,69748],[69759,69762],[69808,69818],69826,[69888,69890],[69927,69940],[69957,69958],70003,[70016,70018],[70067,70080],[70089,70092],[70094,70095],[70188,70199],70206,70209,[70367,70378],[70400,70403],[70459,70460],[70462,70468],[70471,70472],[70475,70477],70487,[70498,70499],[70502,70508],[70512,70516],[70709,70726],70750,[70832,70851],[71087,71093],[71096,71104],[71132,71133],[71216,71232],[71339,71351],[71453,71467],[71724,71738],[71984,71989],[71991,71992],[71995,71998],72e3,[72002,72003],[72145,72151],[72154,72160],72164,[72193,72202],[72243,72249],[72251,72254],72263,[72273,72283],[72330,72345],[72751,72758],[72760,72767],[72850,72871],[72873,72886],[73009,73014],73018,[73020,73021],[73023,73029],73031,[73098,73102],[73104,73105],[73107,73111],[73459,73462],[73472,73473],73475,[73524,73530],[73534,73538],78912,[78919,78933],[92912,92916],[92976,92982],94031,[94033,94087],[94095,94098],94180,[94192,94193],[113821,113822],[118528,118573],[118576,118598],[119141,119145],[119149,119154],[119163,119170],[119173,119179],[119210,119213],[119362,119364],[121344,121398],[121403,121452],121461,121476,[121499,121503],[121505,121519],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],123023,[123184,123190],123566,[123628,123631],[124140,124143],[125136,125142],[125252,125258],[917760,917999]],_$br=[43,[60,62],124,126,172,177,215,247,1014,[1542,1544],8260,8274,[8314,8316],[8330,8332],8472,[8512,8516],8523,[8592,8596],[8602,8603],8608,8611,8614,8622,[8654,8655],8658,8660,[8692,8959],[8992,8993],9084,[9115,9139],[9180,9185],9655,9665,[9720,9727],9839,[10176,10180],[10183,10213],[10224,10239],[10496,10626],[10649,10711],[10716,10747],[10750,11007],[11056,11076],[11079,11084],64297,65122,[65124,65126],65291,[65308,65310],65372,65374,65506,[65513,65516],120513,120539,120571,120597,120629,120655,120687,120713,120745,120771,[126704,126705]],_$bq=[[688,705],[710,721],[736,740],748,750,884,890,1369,1600,[1765,1766],[2036,2037],2042,2074,2084,2088,2249,2417,3654,3782,4348,6103,6211,6823,[7288,7293],[7468,7530],7544,[7579,7615],8305,8319,[8336,8348],[11388,11389],11631,11823,12293,[12337,12341],12347,[12445,12446],[12540,12542],40981,[42232,42237],42508,42623,[42652,42653],[42775,42783],42864,42888,[42994,42996],[43e3,43001],43471,43494,43632,43741,[43763,43764],[43868,43871],43881,65392,[65438,65439],[67456,67461],[67463,67504],[67506,67514],[92992,92995],[94099,94111],[94176,94177],94179,[110576,110579],[110581,110587],[110589,110590],[122928,122989],[123191,123197],124139,125259],_$bp=[94,96,168,175,180,184,[706,709],[722,735],[741,747],749,[751,767],885,[900,901],2184,8125,[8127,8129],[8141,8143],[8157,8159],[8173,8175],[8189,8190],[12443,12444],[42752,42774],[42784,42785],[42889,42890],43867,[43882,43883],[64434,64450],65342,65344,65507,[127995,127999]],_$bo=[[768,879],[1155,1159],[1425,1469],1471,[1473,1474],[1476,1477],1479,[1552,1562],[1611,1631],1648,[1750,1756],[1759,1764],[1767,1768],[1770,1773],1809,[1840,1866],[1958,1968],[2027,2035],2045,[2070,2073],[2075,2083],[2085,2087],[2089,2093],[2137,2139],[2200,2207],[2250,2273],[2275,2306],2362,2364,[2369,2376],2381,[2385,2391],[2402,2403],2433,2492,[2497,2500],2509,[2530,2531],2558,[2561,2562],2620,[2625,2626],[2631,2632],[2635,2637],2641,[2672,2673],2677,[2689,2690],2748,[2753,2757],[2759,2760],2765,[2786,2787],[2810,2815],2817,2876,2879,[2881,2884],2893,[2901,2902],[2914,2915],2946,3008,3021,3072,3076,3132,[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3170,3171],3201,3260,3263,3270,[3276,3277],[3298,3299],[3328,3329],[3387,3388],[3393,3396],3405,[3426,3427],3457,3530,[3538,3540],3542,3633,[3636,3642],[3655,3662],3761,[3764,3772],[3784,3790],[3864,3865],3893,3895,3897,[3953,3966],[3968,3972],[3974,3975],[3981,3991],[3993,4028],4038,[4141,4144],[4146,4151],[4153,4154],[4157,4158],[4184,4185],[4190,4192],[4209,4212],4226,[4229,4230],4237,4253,[4957,4959],[5906,5908],[5938,5939],[5970,5971],[6002,6003],[6068,6069],[6071,6077],6086,[6089,6099],6109,[6155,6157],6159,[6277,6278],6313,[6432,6434],[6439,6440],6450,[6457,6459],[6679,6680],6683,6742,[6744,6750],6752,6754,[6757,6764],[6771,6780],6783,[6832,6845],[6847,6862],[6912,6915],6964,[6966,6970],6972,6978,[7019,7027],[7040,7041],[7074,7077],[7080,7081],[7083,7085],7142,[7144,7145],7149,[7151,7153],[7212,7219],[7222,7223],[7376,7378],[7380,7392],[7394,7400],7405,7412,[7416,7417],[7616,7679],[8400,8412],8417,[8421,8432],[11503,11505],11647,[11744,11775],[12330,12333],[12441,12442],42607,[42612,42621],[42654,42655],[42736,42737],43010,43014,43019,[43045,43046],43052,[43204,43205],[43232,43249],43263,[43302,43309],[43335,43345],[43392,43394],43443,[43446,43449],[43452,43453],43493,[43561,43566],[43569,43570],[43573,43574],43587,43596,43644,43696,[43698,43700],[43703,43704],[43710,43711],43713,[43756,43757],43766,44005,44008,44013,64286,[65024,65039],[65056,65071],66045,66272,[66422,66426],[68097,68099],[68101,68102],[68108,68111],[68152,68154],68159,[68325,68326],[68900,68903],[69291,69292],[69373,69375],[69446,69456],[69506,69509],69633,[69688,69702],69744,[69747,69748],[69759,69761],[69811,69814],[69817,69818],69826,[69888,69890],[69927,69931],[69933,69940],70003,[70016,70017],[70070,70078],[70089,70092],70095,[70191,70193],70196,[70198,70199],70206,70209,70367,[70371,70378],[70400,70401],[70459,70460],70464,[70502,70508],[70512,70516],[70712,70719],[70722,70724],70726,70750,[70835,70840],70842,[70847,70848],[70850,70851],[71090,71093],[71100,71101],[71103,71104],[71132,71133],[71219,71226],71229,[71231,71232],71339,71341,[71344,71349],71351,[71453,71455],[71458,71461],[71463,71467],[71727,71735],[71737,71738],[71995,71996],71998,72003,[72148,72151],[72154,72155],72160,[72193,72202],[72243,72248],[72251,72254],72263,[72273,72278],[72281,72283],[72330,72342],[72344,72345],[72752,72758],[72760,72765],72767,[72850,72871],[72874,72880],[72882,72883],[72885,72886],[73009,73014],73018,[73020,73021],[73023,73029],73031,[73104,73105],73109,73111,[73459,73460],[73472,73473],[73526,73530],73536,73538,78912,[78919,78933],[92912,92916],[92976,92982],94031,[94095,94098],94180,[113821,113822],[118528,118573],[118576,118598],[119143,119145],[119163,119170],[119173,119179],[119210,119213],[119362,119364],[121344,121398],[121403,121452],121461,121476,[121499,121503],[121505,121519],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],123023,[123184,123190],123566,[123628,123631],[124140,124143],[125136,125142],[125252,125258],[917760,917999]],_$bn=[[48,57],[178,179],185,[188,190],[1632,1641],[1776,1785],[1984,1993],[2406,2415],[2534,2543],[2548,2553],[2662,2671],[2790,2799],[2918,2927],[2930,2935],[3046,3058],[3174,3183],[3192,3198],[3302,3311],[3416,3422],[3430,3448],[3558,3567],[3664,3673],[3792,3801],[3872,3891],[4160,4169],[4240,4249],[4969,4988],[5870,5872],[6112,6121],[6128,6137],[6160,6169],[6470,6479],[6608,6618],[6784,6793],[6800,6809],[6992,7001],[7088,7097],[7232,7241],[7248,7257],8304,[8308,8313],[8320,8329],[8528,8578],[8581,8585],[9312,9371],[9450,9471],[10102,10131],11517,12295,[12321,12329],[12344,12346],[12690,12693],[12832,12841],[12872,12879],[12881,12895],[12928,12937],[12977,12991],[42528,42537],[42726,42735],[43056,43061],[43216,43225],[43264,43273],[43472,43481],[43504,43513],[43600,43609],[44016,44025],[65296,65305],[65799,65843],[65856,65912],[65930,65931],[66273,66299],[66336,66339],66369,66378,[66513,66517],[66720,66729],[67672,67679],[67705,67711],[67751,67759],[67835,67839],[67862,67867],[68028,68029],[68032,68047],[68050,68095],[68160,68168],[68221,68222],[68253,68255],[68331,68335],[68440,68447],[68472,68479],[68521,68527],[68858,68863],[68912,68921],[69216,69246],[69405,69414],[69457,69460],[69573,69579],[69714,69743],[69872,69881],[69942,69951],[70096,70105],[70113,70132],[70384,70393],[70736,70745],[70864,70873],[71248,71257],[71360,71369],[71472,71483],[71904,71922],[72016,72025],[72784,72812],[73040,73049],[73120,73129],[73552,73561],[73664,73684],[74752,74862],[92768,92777],[92864,92873],[93008,93017],[93019,93025],[93824,93846],[119488,119507],[119520,119539],[119648,119672],[120782,120831],[123200,123209],[123632,123641],[124144,124153],[125127,125135],[125264,125273],[126065,126123],[126125,126127],[126129,126132],[126209,126253],[126255,126269],[127232,127244],[130032,130041]],_$bm=[40,91,123,3898,3900,5787,8218,8222,8261,8317,8333,8968,8970,9001,10088,10090,10092,10094,10096,10098,10100,10181,10214,10216,10218,10220,10222,10627,10629,10631,10633,10635,10637,10639,10641,10643,10645,10647,10712,10714,10748,11810,11812,11814,11816,11842,11861,11863,11865,11867,12296,12298,12300,12302,12304,12308,12310,12312,12314,12317,64831,65047,65077,65079,65081,65083,65085,65087,65089,65091,65095,65113,65115,65117,65288,65339,65371,65375,65378],_$bl=[[0,31],[127,159],173,[888,889],[896,899],907,909,930,1328,[1367,1368],[1419,1420],1424,[1480,1487],[1515,1518],[1525,1541],1564,1757,[1806,1807],[1867,1868],[1970,1983],[2043,2044],[2094,2095],2111,[2140,2141],2143,[2155,2159],[2191,2199],2274,2436,[2445,2446],[2449,2450],2473,2481,[2483,2485],[2490,2491],[2501,2502],[2505,2506],[2511,2518],[2520,2523],2526,[2532,2533],[2559,2560],2564,[2571,2574],[2577,2578],2601,2609,2612,2615,[2618,2619],2621,[2627,2630],[2633,2634],[2638,2640],[2642,2648],2653,[2655,2661],[2679,2688],2692,2702,2706,2729,2737,2740,[2746,2747],2758,2762,[2766,2767],[2769,2783],[2788,2789],[2802,2808],2816,2820,[2829,2830],[2833,2834],2857,2865,2868,[2874,2875],[2885,2886],[2889,2890],[2894,2900],[2904,2907],2910,[2916,2917],[2936,2945],2948,[2955,2957],2961,[2966,2968],2971,2973,[2976,2978],[2981,2983],[2987,2989],[3002,3005],[3011,3013],3017,[3022,3023],[3025,3030],[3032,3045],[3067,3071],3085,3089,3113,[3130,3131],3141,3145,[3150,3156],3159,[3163,3164],[3166,3167],[3172,3173],[3184,3190],3213,3217,3241,3252,[3258,3259],3269,3273,[3278,3284],[3287,3292],3295,[3300,3301],3312,[3316,3327],3341,3345,3397,3401,[3408,3411],[3428,3429],3456,3460,[3479,3481],3506,3516,[3518,3519],[3527,3529],[3531,3534],3541,3543,[3552,3557],[3568,3569],[3573,3584],[3643,3646],[3676,3712],3715,3717,3723,3748,3750,[3774,3775],3781,3783,3791,[3802,3803],[3808,3839],3912,[3949,3952],3992,4029,4045,[4059,4095],4294,[4296,4300],[4302,4303],4681,[4686,4687],4695,4697,[4702,4703],4745,[4750,4751],4785,[4790,4791],4799,4801,[4806,4807],4823,4881,[4886,4887],[4955,4956],[4989,4991],[5018,5023],[5110,5111],[5118,5119],[5789,5791],[5881,5887],[5910,5918],[5943,5951],[5972,5983],5997,6001,[6004,6015],[6110,6111],[6122,6127],[6138,6143],6158,[6170,6175],[6265,6271],[6315,6319],[6390,6399],6431,[6444,6447],[6460,6463],[6465,6467],[6510,6511],[6517,6527],[6572,6575],[6602,6607],[6619,6621],[6684,6685],6751,[6781,6782],[6794,6799],[6810,6815],[6830,6831],[6863,6911],[6989,6991],7039,[7156,7163],[7224,7226],[7242,7244],[7305,7311],[7355,7356],[7368,7375],[7419,7423],[7958,7959],[7966,7967],[8006,8007],[8014,8015],8024,8026,8028,8030,[8062,8063],8117,8133,[8148,8149],8156,[8176,8177],8181,8191,[8203,8207],[8234,8238],[8288,8303],[8306,8307],8335,[8349,8351],[8385,8399],[8433,8447],[8588,8591],[9255,9279],[9291,9311],[11124,11125],11158,[11508,11512],11558,[11560,11564],[11566,11567],[11624,11630],[11633,11646],[11671,11679],11687,11695,11703,11711,11719,11727,11735,11743,[11870,11903],11930,[12020,12031],[12246,12271],[12284,12287],12352,[12439,12440],[12544,12548],12592,12687,[12772,12783],12831,[42125,42127],[42183,42191],[42540,42559],[42744,42751],[42955,42959],42962,42964,[42970,42993],[43053,43055],[43066,43071],[43128,43135],[43206,43213],[43226,43231],[43348,43358],[43389,43391],43470,[43482,43485],43519,[43575,43583],[43598,43599],[43610,43611],[43715,43738],[43767,43776],[43783,43784],[43791,43792],[43799,43807],43815,43823,[43884,43887],[44014,44015],[44026,44031],[55204,55215],[55239,55242],[55292,63743],[64110,64111],[64218,64255],[64263,64274],[64280,64284],64311,64317,64319,64322,64325,[64451,64466],[64912,64913],[64968,64974],[64976,65007],[65050,65055],65107,65127,[65132,65135],65141,[65277,65280],[65471,65473],[65480,65481],[65488,65489],[65496,65497],[65501,65503],65511,[65519,65531],[65534,65535],65548,65575,65595,65598,[65614,65615],[65630,65663],[65787,65791],[65795,65798],[65844,65846],65935,[65949,65951],[65953,65999],[66046,66175],[66205,66207],[66257,66271],[66300,66303],[66340,66348],[66379,66383],[66427,66431],66462,[66500,66503],[66518,66559],[66718,66719],[66730,66735],[66772,66775],[66812,66815],[66856,66863],[66916,66926],66939,66955,66963,66966,66978,66994,67002,[67005,67071],[67383,67391],[67414,67423],[67432,67455],67462,67505,[67515,67583],[67590,67591],67593,67638,[67641,67643],[67645,67646],67670,[67743,67750],[67760,67807],67827,[67830,67834],[67868,67870],[67898,67902],[67904,67967],[68024,68027],[68048,68049],68100,[68103,68107],68116,68120,[68150,68151],[68155,68158],[68169,68175],[68185,68191],[68256,68287],[68327,68330],[68343,68351],[68406,68408],[68438,68439],[68467,68471],[68498,68504],[68509,68520],[68528,68607],[68681,68735],[68787,68799],[68851,68857],[68904,68911],[68922,69215],69247,69290,[69294,69295],[69298,69372],[69416,69423],[69466,69487],[69514,69551],[69580,69599],[69623,69631],[69710,69713],[69750,69758],69821,[69827,69839],[69865,69871],[69882,69887],69941,[69960,69967],[70007,70015],70112,[70133,70143],70162,[70210,70271],70279,70281,70286,70302,[70314,70319],[70379,70383],[70394,70399],70404,[70413,70414],[70417,70418],70441,70449,70452,70458,[70469,70470],[70473,70474],[70478,70479],[70481,70486],[70488,70492],[70500,70501],[70509,70511],[70517,70655],70748,[70754,70783],[70856,70863],[70874,71039],[71094,71095],[71134,71167],[71237,71247],[71258,71263],[71277,71295],[71354,71359],[71370,71423],[71451,71452],[71468,71471],[71495,71679],[71740,71839],[71923,71934],[71943,71944],[71946,71947],71956,71959,71990,[71993,71994],[72007,72015],[72026,72095],[72104,72105],[72152,72153],[72165,72191],[72264,72271],[72355,72367],[72441,72447],[72458,72703],72713,72759,[72774,72783],[72813,72815],[72848,72849],72872,[72887,72959],72967,72970,[73015,73017],73019,73022,[73032,73039],[73050,73055],73062,73065,73103,73106,[73113,73119],[73130,73439],[73465,73471],73489,[73531,73533],[73562,73647],[73649,73663],[73714,73726],[74650,74751],74863,[74869,74879],[75076,77711],[77811,77823],[78896,78911],[78934,82943],[83527,92159],[92729,92735],92767,[92778,92781],92863,[92874,92879],[92910,92911],[92918,92927],[92998,93007],93018,93026,[93048,93052],[93072,93759],[93851,93951],[94027,94030],[94088,94094],[94112,94175],[94181,94191],[94194,94207],[100344,100351],[101590,101631],[101641,110575],110580,110588,110591,[110883,110897],[110899,110927],[110931,110932],[110934,110947],[110952,110959],[111356,113663],[113771,113775],[113789,113791],[113801,113807],[113818,113819],[113824,118527],[118574,118575],[118599,118607],[118724,118783],[119030,119039],[119079,119080],[119155,119162],[119275,119295],[119366,119487],[119508,119519],[119540,119551],[119639,119647],[119673,119807],119893,119965,[119968,119969],[119971,119972],[119975,119976],119981,119994,119996,120004,120070,[120075,120076],120085,120093,120122,120127,120133,[120135,120137],120145,[120486,120487],[120780,120781],[121484,121498],121504,[121520,122623],[122655,122660],[122667,122879],122887,[122905,122906],122914,122917,[122923,122927],[122990,123022],[123024,123135],[123181,123183],[123198,123199],[123210,123213],[123216,123535],[123567,123583],[123642,123646],[123648,124111],[124154,124895],124903,124908,124911,124927,[125125,125126],[125143,125183],[125260,125263],[125274,125277],[125280,126064],[126133,126208],[126270,126463],126468,126496,126499,[126501,126502],126504,126515,126520,126522,[126524,126529],[126531,126534],126536,126538,126540,126544,126547,[126549,126550],126552,126554,126556,126558,126560,126563,[126565,126566],126571,126579,126584,126589,126591,126602,[126620,126624],126628,126634,[126652,126703],[126706,126975],[127020,127023],[127124,127135],[127151,127152],127168,127184,[127222,127231],[127406,127461],[127491,127503],[127548,127551],[127561,127567],[127570,127583],[127590,127743],[128728,128731],[128749,128751],[128765,128767],[128887,128890],[128986,128991],[129004,129007],[129009,129023],[129036,129039],[129096,129103],[129114,129119],[129160,129167],[129198,129199],[129202,129279],[129620,129631],[129646,129647],[129661,129663],[129673,129679],129726,[129734,129741],[129756,129759],[129769,129775],[129785,129791],129939,[129995,130031],[130042,131071],[173792,173823],[177978,177983],[178206,178207],[183970,183983],[191457,194559],[195102,196607],[201547,201551],[205744,917759],[918e3,1114111]],_$bk=[170,186,443,[448,451],660,[1488,1514],[1519,1522],[1568,1599],[1601,1610],[1646,1647],[1649,1747],1749,[1774,1775],[1786,1788],1791,1808,[1810,1839],[1869,1957],1969,[1994,2026],[2048,2069],[2112,2136],[2144,2154],[2160,2183],[2185,2190],[2208,2248],[2308,2361],2365,2384,[2392,2401],[2418,2432],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],2493,2510,[2524,2525],[2527,2529],[2544,2545],2556,[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],[2649,2652],2654,[2674,2676],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],2749,2768,[2784,2785],2809,[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],2877,[2908,2909],[2911,2913],2929,2947,[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],3024,[3077,3084],[3086,3088],[3090,3112],[3114,3129],3133,[3160,3162],3165,[3168,3169],3200,[3205,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],3261,[3293,3294],[3296,3297],[3313,3314],[3332,3340],[3342,3344],[3346,3386],3389,3406,[3412,3414],[3423,3425],[3450,3455],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],[3585,3632],[3634,3635],[3648,3653],[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3760],[3762,3763],3773,[3776,3780],[3804,3807],3840,[3904,3911],[3913,3948],[3976,3980],[4096,4138],4159,[4176,4181],[4186,4189],4193,[4197,4198],[4206,4208],[4213,4225],4238,[4352,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4992,5007],[5121,5740],[5743,5759],[5761,5786],[5792,5866],[5873,5880],[5888,5905],[5919,5937],[5952,5969],[5984,5996],[5998,6e3],[6016,6067],6108,[6176,6210],[6212,6264],[6272,6276],[6279,6312],6314,[6320,6389],[6400,6430],[6480,6509],[6512,6516],[6528,6571],[6576,6601],[6656,6678],[6688,6740],[6917,6963],[6981,6988],[7043,7072],[7086,7087],[7098,7141],[7168,7203],[7245,7247],[7258,7287],[7401,7404],[7406,7411],[7413,7414],7418,[8501,8504],[11568,11623],[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],12294,12348,[12353,12438],12447,[12449,12538],12543,[12549,12591],[12593,12686],[12704,12735],[12784,12799],[13312,19903],[19968,40980],[40982,42124],[42192,42231],[42240,42507],[42512,42527],[42538,42539],42606,[42656,42725],42895,42999,[43003,43009],[43011,43013],[43015,43018],[43020,43042],[43072,43123],[43138,43187],[43250,43255],43259,[43261,43262],[43274,43301],[43312,43334],[43360,43388],[43396,43442],[43488,43492],[43495,43503],[43514,43518],[43520,43560],[43584,43586],[43588,43595],[43616,43631],[43633,43638],43642,[43646,43695],43697,[43701,43702],[43705,43709],43712,43714,[43739,43740],[43744,43754],43762,[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43968,44002],[44032,55203],[55216,55238],[55243,55291],[63744,64109],[64112,64217],64285,[64287,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64433],[64467,64829],[64848,64911],[64914,64967],[65008,65019],[65136,65140],[65142,65276],[65382,65391],[65393,65437],[65440,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[66176,66204],[66208,66256],[66304,66335],[66349,66368],[66370,66377],[66384,66421],[66432,66461],[66464,66499],[66504,66511],[66640,66717],[66816,66855],[66864,66915],[67072,67382],[67392,67413],[67424,67431],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67680,67702],[67712,67742],[67808,67826],[67828,67829],[67840,67861],[67872,67897],[67968,68023],[68030,68031],68096,[68112,68115],[68117,68119],[68121,68149],[68192,68220],[68224,68252],[68288,68295],[68297,68324],[68352,68405],[68416,68437],[68448,68466],[68480,68497],[68608,68680],[68864,68899],[69248,69289],[69296,69297],[69376,69404],69415,[69424,69445],[69488,69505],[69552,69572],[69600,69622],[69635,69687],[69745,69746],69749,[69763,69807],[69840,69864],[69891,69926],69956,69959,[69968,70002],70006,[70019,70066],[70081,70084],70106,70108,[70144,70161],[70163,70187],[70207,70208],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70312],[70320,70366],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],70461,70480,[70493,70497],[70656,70708],[70727,70730],[70751,70753],[70784,70831],[70852,70853],70855,[71040,71086],[71128,71131],[71168,71215],71236,[71296,71338],71352,[71424,71450],[71488,71494],[71680,71723],[71935,71942],71945,[71948,71955],[71957,71958],[71960,71983],71999,72001,[72096,72103],[72106,72144],72161,72163,72192,[72203,72242],72250,72272,[72284,72329],72349,[72368,72440],[72704,72712],[72714,72750],72768,[72818,72847],[72960,72966],[72968,72969],[72971,73008],73030,[73056,73061],[73063,73064],[73066,73097],73112,[73440,73458],73474,[73476,73488],[73490,73523],73648,[73728,74649],[74880,75075],[77712,77808],[77824,78895],[78913,78918],[82944,83526],[92160,92728],[92736,92766],[92784,92862],[92880,92909],[92928,92975],[93027,93047],[93053,93071],[93952,94026],94032,[94208,100343],[100352,101589],[101632,101640],[110592,110882],110898,[110928,110930],110933,[110948,110951],[110960,111355],[113664,113770],[113776,113788],[113792,113800],[113808,113817],122634,[123136,123180],123214,[123536,123565],[123584,123627],[124112,124138],[124896,124902],[124904,124907],[124909,124910],[124912,124926],[124928,125124],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[131072,173791],[173824,177977],[177984,178205],[178208,183969],[183984,191456],[194560,195101],[196608,201546],[201552,205743]],_$bj=[[178,179],185,[188,190],[2548,2553],[2930,2935],[3056,3058],[3192,3198],[3416,3422],[3440,3448],[3882,3891],[4969,4988],[6128,6137],6618,8304,[8308,8313],[8320,8329],[8528,8543],8585,[9312,9371],[9450,9471],[10102,10131],11517,[12690,12693],[12832,12841],[12872,12879],[12881,12895],[12928,12937],[12977,12991],[43056,43061],[65799,65843],[65909,65912],[65930,65931],[66273,66299],[66336,66339],[67672,67679],[67705,67711],[67751,67759],[67835,67839],[67862,67867],[68028,68029],[68032,68047],[68050,68095],[68160,68168],[68221,68222],[68253,68255],[68331,68335],[68440,68447],[68472,68479],[68521,68527],[68858,68863],[69216,69246],[69405,69414],[69457,69460],[69573,69579],[69714,69733],[70113,70132],[71482,71483],[71914,71922],[72794,72812],[73664,73684],[93019,93025],[93824,93846],[119488,119507],[119520,119539],[119648,119672],[125127,125135],[126065,126123],[126125,126127],[126129,126132],[126209,126253],[126255,126269],[127232,127244]],_$bi=[[33,35],[37,39],42,44,[46,47],[58,59],[63,64],92,161,167,[182,183],191,894,903,[1370,1375],1417,1472,1475,1478,[1523,1524],[1545,1546],[1548,1549],1563,[1565,1567],[1642,1645],1748,[1792,1805],[2039,2041],[2096,2110],2142,[2404,2405],2416,2557,2678,2800,3191,3204,3572,3663,[3674,3675],[3844,3858],3860,3973,[4048,4052],[4057,4058],[4170,4175],4347,[4960,4968],5742,[5867,5869],[5941,5942],[6100,6102],[6104,6106],[6144,6149],[6151,6154],[6468,6469],[6686,6687],[6816,6822],[6824,6829],[7002,7008],[7037,7038],[7164,7167],[7227,7231],[7294,7295],[7360,7367],7379,[8214,8215],[8224,8231],[8240,8248],[8251,8254],[8257,8259],[8263,8273],8275,[8277,8286],[11513,11516],[11518,11519],11632,[11776,11777],[11782,11784],11787,[11790,11798],[11800,11801],11803,[11806,11807],[11818,11822],[11824,11833],[11836,11839],11841,[11843,11855],[11858,11860],[12289,12291],12349,12539,[42238,42239],[42509,42511],42611,42622,[42738,42743],[43124,43127],[43214,43215],[43256,43258],43260,[43310,43311],43359,[43457,43469],[43486,43487],[43612,43615],[43742,43743],[43760,43761],44011,[65040,65046],65049,65072,[65093,65094],[65097,65100],[65104,65106],[65108,65111],[65119,65121],65128,[65130,65131],[65281,65283],[65285,65287],65290,65292,[65294,65295],[65306,65307],[65311,65312],65340,65377,[65380,65381],[65792,65794],66463,66512,66927,67671,67871,67903,[68176,68184],68223,[68336,68342],[68409,68415],[68505,68508],[69461,69465],[69510,69513],[69703,69709],[69819,69820],[69822,69825],[69952,69955],[70004,70005],[70085,70088],70093,70107,[70109,70111],[70200,70205],70313,[70731,70735],[70746,70747],70749,70854,[71105,71127],[71233,71235],[71264,71276],71353,[71484,71486],71739,[72004,72006],72162,[72255,72262],[72346,72348],[72350,72354],[72448,72457],[72769,72773],[72816,72817],[73463,73464],[73539,73551],73727,[74864,74868],[77809,77810],[92782,92783],92917,[92983,92987],92996,[93847,93850],94178,113823,[121479,121483],[125278,125279]],_$bh=[166,169,174,176,1154,[1421,1422],[1550,1551],1758,1769,[1789,1790],2038,2554,2928,[3059,3064],3066,3199,3407,3449,[3841,3843],3859,[3861,3863],[3866,3871],3892,3894,3896,[4030,4037],[4039,4044],[4046,4047],[4053,4056],[4254,4255],[5008,5017],5741,6464,[6622,6655],[7009,7018],[7028,7036],[8448,8449],[8451,8454],[8456,8457],8468,[8470,8471],[8478,8483],8485,8487,8489,8494,[8506,8507],8522,[8524,8525],8527,[8586,8587],[8597,8601],[8604,8607],[8609,8610],[8612,8613],[8615,8621],[8623,8653],[8656,8657],8659,[8661,8691],[8960,8967],[8972,8991],[8994,9e3],[9003,9083],[9085,9114],[9140,9179],[9186,9254],[9280,9290],[9372,9449],[9472,9654],[9656,9664],[9666,9719],[9728,9838],[9840,10087],[10132,10175],[10240,10495],[11008,11055],[11077,11078],[11085,11123],[11126,11157],[11159,11263],[11493,11498],[11856,11857],[11904,11929],[11931,12019],[12032,12245],[12272,12283],12292,[12306,12307],12320,[12342,12343],[12350,12351],[12688,12689],[12694,12703],[12736,12771],[12800,12830],[12842,12871],12880,[12896,12927],[12938,12976],[12992,13311],[19904,19967],[42128,42182],[43048,43051],[43062,43063],43065,[43639,43641],[64832,64847],64975,[65021,65023],65508,65512,[65517,65518],[65532,65533],[65847,65855],[65913,65929],[65932,65934],[65936,65948],65952,[66e3,66044],[67703,67704],68296,71487,[73685,73692],[73697,73713],[92988,92991],92997,113820,[118608,118723],[118784,119029],[119040,119078],[119081,119140],[119146,119148],[119171,119172],[119180,119209],[119214,119274],[119296,119361],119365,[119552,119638],[120832,121343],[121399,121402],[121453,121460],[121462,121475],[121477,121478],123215,126124,126254,[126976,127019],[127024,127123],[127136,127150],[127153,127167],[127169,127183],[127185,127221],[127245,127405],[127462,127490],[127504,127547],[127552,127560],[127568,127569],[127584,127589],[127744,127994],[128e3,128727],[128732,128748],[128752,128764],[128768,128886],[128891,128985],[128992,129003],129008,[129024,129035],[129040,129095],[129104,129113],[129120,129159],[129168,129197],[129200,129201],[129280,129619],[129632,129645],[129648,129660],[129664,129672],[129680,129725],[129727,129733],[129742,129755],[129760,129768],[129776,129784],[129792,129938],[129940,129994]],_$bg=[8233],_$bf=[[57344,63743],[983040,1048573],[1048576,1114109]],_$be=[[33,35],[37,42],[44,47],[58,59],[63,64],[91,93],95,123,125,161,167,171,[182,183],187,191,894,903,[1370,1375],[1417,1418],1470,1472,1475,1478,[1523,1524],[1545,1546],[1548,1549],1563,[1565,1567],[1642,1645],1748,[1792,1805],[2039,2041],[2096,2110],2142,[2404,2405],2416,2557,2678,2800,3191,3204,3572,3663,[3674,3675],[3844,3858],3860,[3898,3901],3973,[4048,4052],[4057,4058],[4170,4175],4347,[4960,4968],5120,5742,[5787,5788],[5867,5869],[5941,5942],[6100,6102],[6104,6106],[6144,6154],[6468,6469],[6686,6687],[6816,6822],[6824,6829],[7002,7008],[7037,7038],[7164,7167],[7227,7231],[7294,7295],[7360,7367],7379,[8208,8231],[8240,8259],[8261,8273],[8275,8286],[8317,8318],[8333,8334],[8968,8971],[9001,9002],[10088,10101],[10181,10182],[10214,10223],[10627,10648],[10712,10715],[10748,10749],[11513,11516],[11518,11519],11632,[11776,11822],[11824,11855],[11858,11869],[12289,12291],[12296,12305],[12308,12319],12336,12349,12448,12539,[42238,42239],[42509,42511],42611,42622,[42738,42743],[43124,43127],[43214,43215],[43256,43258],43260,[43310,43311],43359,[43457,43469],[43486,43487],[43612,43615],[43742,43743],[43760,43761],44011,[64830,64831],[65040,65049],[65072,65106],[65108,65121],65123,65128,[65130,65131],[65281,65283],[65285,65290],[65292,65295],[65306,65307],[65311,65312],[65339,65341],65343,65371,65373,[65375,65381],[65792,65794],66463,66512,66927,67671,67871,67903,[68176,68184],68223,[68336,68342],[68409,68415],[68505,68508],69293,[69461,69465],[69510,69513],[69703,69709],[69819,69820],[69822,69825],[69952,69955],[70004,70005],[70085,70088],70093,70107,[70109,70111],[70200,70205],70313,[70731,70735],[70746,70747],70749,70854,[71105,71127],[71233,71235],[71264,71276],71353,[71484,71486],71739,[72004,72006],72162,[72255,72262],[72346,72348],[72350,72354],[72448,72457],[72769,72773],[72816,72817],[73463,73464],[73539,73551],73727,[74864,74868],[77809,77810],[92782,92783],92917,[92983,92987],92996,[93847,93850],94178,113823,[121479,121483],[125278,125279]],_$bd=[32,160,5760,[8192,8202],[8232,8233],8239,8287,12288],_$bc=[32,160,5760,[8192,8202],8239,8287,12288],_$bb=[2307,2363,[2366,2368],[2377,2380],[2382,2383],[2434,2435],[2494,2496],[2503,2504],[2507,2508],2519,2563,[2622,2624],2691,[2750,2752],2761,[2763,2764],[2818,2819],2878,2880,[2887,2888],[2891,2892],2903,[3006,3007],[3009,3010],[3014,3016],[3018,3020],3031,[3073,3075],[3137,3140],[3202,3203],3262,[3264,3268],[3271,3272],[3274,3275],[3285,3286],3315,[3330,3331],[3390,3392],[3398,3400],[3402,3404],3415,[3458,3459],[3535,3537],[3544,3551],[3570,3571],[3902,3903],3967,[4139,4140],4145,4152,[4155,4156],[4182,4183],[4194,4196],[4199,4205],[4227,4228],[4231,4236],4239,[4250,4252],5909,5940,6070,[6078,6085],[6087,6088],[6435,6438],[6441,6443],[6448,6449],[6451,6456],[6681,6682],6741,6743,6753,[6755,6756],[6765,6770],6916,6965,6971,[6973,6977],[6979,6980],7042,7073,[7078,7079],7082,7143,[7146,7148],7150,[7154,7155],[7204,7211],[7220,7221],7393,7415,[12334,12335],[43043,43044],43047,[43136,43137],[43188,43203],[43346,43347],43395,[43444,43445],[43450,43451],[43454,43456],[43567,43568],[43571,43572],43597,43643,43645,43755,[43758,43759],43765,[44003,44004],[44006,44007],[44009,44010],44012,69632,69634,69762,[69808,69810],[69815,69816],69932,[69957,69958],70018,[70067,70069],[70079,70080],70094,[70188,70190],[70194,70195],70197,[70368,70370],[70402,70403],[70462,70463],[70465,70468],[70471,70472],[70475,70477],70487,[70498,70499],[70709,70711],[70720,70721],70725,[70832,70834],70841,[70843,70846],70849,[71087,71089],[71096,71099],71102,[71216,71218],[71227,71228],71230,71340,[71342,71343],71350,[71456,71457],71462,[71724,71726],71736,[71984,71989],[71991,71992],71997,72e3,72002,[72145,72147],[72156,72159],72164,72249,[72279,72280],72343,72751,72766,72873,72881,72884,[73098,73102],[73107,73108],73110,[73461,73462],73475,[73524,73525],[73534,73535],73537,[94033,94087],[94192,94193],[119141,119142],[119149,119154]],_$ba=[[55296,57343]],_$b9=[36,43,[60,62],94,96,124,126,[162,166],[168,169],172,[174,177],180,184,215,247,[706,709],[722,735],[741,747],749,[751,767],885,[900,901],1014,1154,[1421,1423],[1542,1544],1547,[1550,1551],1758,1769,[1789,1790],2038,[2046,2047],2184,[2546,2547],[2554,2555],2801,2928,[3059,3066],3199,3407,3449,3647,[3841,3843],3859,[3861,3863],[3866,3871],3892,3894,3896,[4030,4037],[4039,4044],[4046,4047],[4053,4056],[4254,4255],[5008,5017],5741,6107,6464,[6622,6655],[7009,7018],[7028,7036],8125,[8127,8129],[8141,8143],[8157,8159],[8173,8175],[8189,8190],8260,8274,[8314,8316],[8330,8332],[8352,8384],[8448,8449],[8451,8454],[8456,8457],8468,[8470,8472],[8478,8483],8485,8487,8489,8494,[8506,8507],[8512,8516],[8522,8525],8527,[8586,8587],[8592,8967],[8972,9e3],[9003,9254],[9280,9290],[9372,9449],[9472,10087],[10132,10180],[10183,10213],[10224,10626],[10649,10711],[10716,10747],[10750,11123],[11126,11157],[11159,11263],[11493,11498],[11856,11857],[11904,11929],[11931,12019],[12032,12245],[12272,12283],12292,[12306,12307],12320,[12342,12343],[12350,12351],[12443,12444],[12688,12689],[12694,12703],[12736,12771],[12800,12830],[12842,12871],12880,[12896,12927],[12938,12976],[12992,13311],[19904,19967],[42128,42182],[42752,42774],[42784,42785],[42889,42890],[43048,43051],[43062,43065],[43639,43641],43867,[43882,43883],64297,[64434,64450],[64832,64847],64975,[65020,65023],65122,[65124,65126],65129,65284,65291,[65308,65310],65342,65344,65372,65374,[65504,65510],[65512,65518],[65532,65533],[65847,65855],[65913,65929],[65932,65934],[65936,65948],65952,[66e3,66044],[67703,67704],68296,71487,[73685,73713],[92988,92991],92997,113820,[118608,118723],[118784,119029],[119040,119078],[119081,119140],[119146,119148],[119171,119172],[119180,119209],[119214,119274],[119296,119361],119365,[119552,119638],120513,120539,120571,120597,120629,120655,120687,120713,120745,120771,[120832,121343],[121399,121402],[121453,121460],[121462,121475],[121477,121478],123215,123647,126124,126128,126254,[126704,126705],[126976,127019],[127024,127123],[127136,127150],[127153,127167],[127169,127183],[127185,127221],[127245,127405],[127462,127490],[127504,127547],[127552,127560],[127568,127569],[127584,127589],[127744,128727],[128732,128748],[128752,128764],[128768,128886],[128891,128985],[128992,129003],129008,[129024,129035],[129040,129095],[129104,129113],[129120,129159],[129168,129197],[129200,129201],[129280,129619],[129632,129645],[129648,129660],[129664,129672],[129680,129725],[129727,129733],[129742,129755],[129760,129768],[129776,129784],[129792,129938],[129940,129994]],_$b8=[453,456,459,498,[8072,8079],[8088,8095],[8104,8111],8124,8140,8188],_$b7=[[888,889],[896,899],907,909,930,1328,[1367,1368],[1419,1420],1424,[1480,1487],[1515,1518],[1525,1535],1806,[1867,1868],[1970,1983],[2043,2044],[2094,2095],2111,[2140,2141],2143,[2155,2159],2191,[2194,2199],2436,[2445,2446],[2449,2450],2473,2481,[2483,2485],[2490,2491],[2501,2502],[2505,2506],[2511,2518],[2520,2523],2526,[2532,2533],[2559,2560],2564,[2571,2574],[2577,2578],2601,2609,2612,2615,[2618,2619],2621,[2627,2630],[2633,2634],[2638,2640],[2642,2648],2653,[2655,2661],[2679,2688],2692,2702,2706,2729,2737,2740,[2746,2747],2758,2762,[2766,2767],[2769,2783],[2788,2789],[2802,2808],2816,2820,[2829,2830],[2833,2834],2857,2865,2868,[2874,2875],[2885,2886],[2889,2890],[2894,2900],[2904,2907],2910,[2916,2917],[2936,2945],2948,[2955,2957],2961,[2966,2968],2971,2973,[2976,2978],[2981,2983],[2987,2989],[3002,3005],[3011,3013],3017,[3022,3023],[3025,3030],[3032,3045],[3067,3071],3085,3089,3113,[3130,3131],3141,3145,[3150,3156],3159,[3163,3164],[3166,3167],[3172,3173],[3184,3190],3213,3217,3241,3252,[3258,3259],3269,3273,[3278,3284],[3287,3292],3295,[3300,3301],3312,[3316,3327],3341,3345,3397,3401,[3408,3411],[3428,3429],3456,3460,[3479,3481],3506,3516,[3518,3519],[3527,3529],[3531,3534],3541,3543,[3552,3557],[3568,3569],[3573,3584],[3643,3646],[3676,3712],3715,3717,3723,3748,3750,[3774,3775],3781,3783,3791,[3802,3803],[3808,3839],3912,[3949,3952],3992,4029,4045,[4059,4095],4294,[4296,4300],[4302,4303],4681,[4686,4687],4695,4697,[4702,4703],4745,[4750,4751],4785,[4790,4791],4799,4801,[4806,4807],4823,4881,[4886,4887],[4955,4956],[4989,4991],[5018,5023],[5110,5111],[5118,5119],[5789,5791],[5881,5887],[5910,5918],[5943,5951],[5972,5983],5997,6001,[6004,6015],[6110,6111],[6122,6127],[6138,6143],[6170,6175],[6265,6271],[6315,6319],[6390,6399],6431,[6444,6447],[6460,6463],[6465,6467],[6510,6511],[6517,6527],[6572,6575],[6602,6607],[6619,6621],[6684,6685],6751,[6781,6782],[6794,6799],[6810,6815],[6830,6831],[6863,6911],[6989,6991],7039,[7156,7163],[7224,7226],[7242,7244],[7305,7311],[7355,7356],[7368,7375],[7419,7423],[7958,7959],[7966,7967],[8006,8007],[8014,8015],8024,8026,8028,8030,[8062,8063],8117,8133,[8148,8149],8156,[8176,8177],8181,8191,8293,[8306,8307],8335,[8349,8351],[8385,8399],[8433,8447],[8588,8591],[9255,9279],[9291,9311],[11124,11125],11158,[11508,11512],11558,[11560,11564],[11566,11567],[11624,11630],[11633,11646],[11671,11679],11687,11695,11703,11711,11719,11727,11735,11743,[11870,11903],11930,[12020,12031],[12246,12271],[12284,12287],12352,[12439,12440],[12544,12548],12592,12687,[12772,12783],12831,[42125,42127],[42183,42191],[42540,42559],[42744,42751],[42955,42959],42962,42964,[42970,42993],[43053,43055],[43066,43071],[43128,43135],[43206,43213],[43226,43231],[43348,43358],[43389,43391],43470,[43482,43485],43519,[43575,43583],[43598,43599],[43610,43611],[43715,43738],[43767,43776],[43783,43784],[43791,43792],[43799,43807],43815,43823,[43884,43887],[44014,44015],[44026,44031],[55204,55215],[55239,55242],[55292,55295],[64110,64111],[64218,64255],[64263,64274],[64280,64284],64311,64317,64319,64322,64325,[64451,64466],[64912,64913],[64968,64974],[64976,65007],[65050,65055],65107,65127,[65132,65135],65141,[65277,65278],65280,[65471,65473],[65480,65481],[65488,65489],[65496,65497],[65501,65503],65511,[65519,65528],[65534,65535],65548,65575,65595,65598,[65614,65615],[65630,65663],[65787,65791],[65795,65798],[65844,65846],65935,[65949,65951],[65953,65999],[66046,66175],[66205,66207],[66257,66271],[66300,66303],[66340,66348],[66379,66383],[66427,66431],66462,[66500,66503],[66518,66559],[66718,66719],[66730,66735],[66772,66775],[66812,66815],[66856,66863],[66916,66926],66939,66955,66963,66966,66978,66994,67002,[67005,67071],[67383,67391],[67414,67423],[67432,67455],67462,67505,[67515,67583],[67590,67591],67593,67638,[67641,67643],[67645,67646],67670,[67743,67750],[67760,67807],67827,[67830,67834],[67868,67870],[67898,67902],[67904,67967],[68024,68027],[68048,68049],68100,[68103,68107],68116,68120,[68150,68151],[68155,68158],[68169,68175],[68185,68191],[68256,68287],[68327,68330],[68343,68351],[68406,68408],[68438,68439],[68467,68471],[68498,68504],[68509,68520],[68528,68607],[68681,68735],[68787,68799],[68851,68857],[68904,68911],[68922,69215],69247,69290,[69294,69295],[69298,69372],[69416,69423],[69466,69487],[69514,69551],[69580,69599],[69623,69631],[69710,69713],[69750,69758],[69827,69836],[69838,69839],[69865,69871],[69882,69887],69941,[69960,69967],[70007,70015],70112,[70133,70143],70162,[70210,70271],70279,70281,70286,70302,[70314,70319],[70379,70383],[70394,70399],70404,[70413,70414],[70417,70418],70441,70449,70452,70458,[70469,70470],[70473,70474],[70478,70479],[70481,70486],[70488,70492],[70500,70501],[70509,70511],[70517,70655],70748,[70754,70783],[70856,70863],[70874,71039],[71094,71095],[71134,71167],[71237,71247],[71258,71263],[71277,71295],[71354,71359],[71370,71423],[71451,71452],[71468,71471],[71495,71679],[71740,71839],[71923,71934],[71943,71944],[71946,71947],71956,71959,71990,[71993,71994],[72007,72015],[72026,72095],[72104,72105],[72152,72153],[72165,72191],[72264,72271],[72355,72367],[72441,72447],[72458,72703],72713,72759,[72774,72783],[72813,72815],[72848,72849],72872,[72887,72959],72967,72970,[73015,73017],73019,73022,[73032,73039],[73050,73055],73062,73065,73103,73106,[73113,73119],[73130,73439],[73465,73471],73489,[73531,73533],[73562,73647],[73649,73663],[73714,73726],[74650,74751],74863,[74869,74879],[75076,77711],[77811,77823],[78934,82943],[83527,92159],[92729,92735],92767,[92778,92781],92863,[92874,92879],[92910,92911],[92918,92927],[92998,93007],93018,93026,[93048,93052],[93072,93759],[93851,93951],[94027,94030],[94088,94094],[94112,94175],[94181,94191],[94194,94207],[100344,100351],[101590,101631],[101641,110575],110580,110588,110591,[110883,110897],[110899,110927],[110931,110932],[110934,110947],[110952,110959],[111356,113663],[113771,113775],[113789,113791],[113801,113807],[113818,113819],[113828,118527],[118574,118575],[118599,118607],[118724,118783],[119030,119039],[119079,119080],[119275,119295],[119366,119487],[119508,119519],[119540,119551],[119639,119647],[119673,119807],119893,119965,[119968,119969],[119971,119972],[119975,119976],119981,119994,119996,120004,120070,[120075,120076],120085,120093,120122,120127,120133,[120135,120137],120145,[120486,120487],[120780,120781],[121484,121498],121504,[121520,122623],[122655,122660],[122667,122879],122887,[122905,122906],122914,122917,[122923,122927],[122990,123022],[123024,123135],[123181,123183],[123198,123199],[123210,123213],[123216,123535],[123567,123583],[123642,123646],[123648,124111],[124154,124895],124903,124908,124911,124927,[125125,125126],[125143,125183],[125260,125263],[125274,125277],[125280,126064],[126133,126208],[126270,126463],126468,126496,126499,[126501,126502],126504,126515,126520,126522,[126524,126529],[126531,126534],126536,126538,126540,126544,126547,[126549,126550],126552,126554,126556,126558,126560,126563,[126565,126566],126571,126579,126584,126589,126591,126602,[126620,126624],126628,126634,[126652,126703],[126706,126975],[127020,127023],[127124,127135],[127151,127152],127168,127184,[127222,127231],[127406,127461],[127491,127503],[127548,127551],[127561,127567],[127570,127583],[127590,127743],[128728,128731],[128749,128751],[128765,128767],[128887,128890],[128986,128991],[129004,129007],[129009,129023],[129036,129039],[129096,129103],[129114,129119],[129160,129167],[129198,129199],[129202,129279],[129620,129631],[129646,129647],[129661,129663],[129673,129679],129726,[129734,129741],[129756,129759],[129769,129775],[129785,129791],129939,[129995,130031],[130042,131071],[173792,173823],[177978,177983],[178206,178207],[183970,183983],[191457,194559],[195102,196607],[201547,201551],[205744,917504],[917506,917535],[917632,917759],[918e3,983039],[1048574,1048575],[1114110,1114111]],_$b6=[[65,90],[192,214],[216,222],256,258,260,262,264,266,268,270,272,274,276,278,280,282,284,286,288,290,292,294,296,298,300,302,304,306,308,310,313,315,317,319,321,323,325,327,330,332,334,336,338,340,342,344,346,348,350,352,354,356,358,360,362,364,366,368,370,372,374,[376,377],379,381,[385,386],388,[390,391],[393,395],[398,401],[403,404],[406,408],[412,413],[415,416],418,420,[422,423],425,428,[430,431],[433,435],437,[439,440],444,452,455,458,461,463,465,467,469,471,473,475,478,480,482,484,486,488,490,492,494,497,500,[502,504],506,508,510,512,514,516,518,520,522,524,526,528,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560,562,[570,571],[573,574],577,[579,582],584,586,588,590,880,882,886,895,902,[904,906],908,[910,911],[913,929],[931,939],975,[978,980],984,986,988,990,992,994,996,998,1e3,1002,1004,1006,1012,1015,[1017,1018],[1021,1071],1120,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140,1142,1144,1146,1148,1150,1152,1162,1164,1166,1168,1170,1172,1174,1176,1178,1180,1182,1184,1186,1188,1190,1192,1194,1196,1198,1200,1202,1204,1206,1208,1210,1212,1214,[1216,1217],1219,1221,1223,1225,1227,1229,1232,1234,1236,1238,1240,1242,1244,1246,1248,1250,1252,1254,1256,1258,1260,1262,1264,1266,1268,1270,1272,1274,1276,1278,1280,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306,1308,1310,1312,1314,1316,1318,1320,1322,1324,1326,[1329,1366],[4256,4293],4295,4301,[5024,5109],[7312,7354],[7357,7359],7680,7682,7684,7686,7688,7690,7692,7694,7696,7698,7700,7702,7704,7706,7708,7710,7712,7714,7716,7718,7720,7722,7724,7726,7728,7730,7732,7734,7736,7738,7740,7742,7744,7746,7748,7750,7752,7754,7756,7758,7760,7762,7764,7766,7768,7770,7772,7774,7776,7778,7780,7782,7784,7786,7788,7790,7792,7794,7796,7798,7800,7802,7804,7806,7808,7810,7812,7814,7816,7818,7820,7822,7824,7826,7828,7838,7840,7842,7844,7846,7848,7850,7852,7854,7856,7858,7860,7862,7864,7866,7868,7870,7872,7874,7876,7878,7880,7882,7884,7886,7888,7890,7892,7894,7896,7898,7900,7902,7904,7906,7908,7910,7912,7914,7916,7918,7920,7922,7924,7926,7928,7930,7932,7934,[7944,7951],[7960,7965],[7976,7983],[7992,7999],[8008,8013],8025,8027,8029,8031,[8040,8047],[8120,8123],[8136,8139],[8152,8155],[8168,8172],[8184,8187],8450,8455,[8459,8461],[8464,8466],8469,[8473,8477],8484,8486,8488,[8490,8493],[8496,8499],[8510,8511],8517,8579,[11264,11311],11360,[11362,11364],11367,11369,11371,[11373,11376],11378,11381,[11390,11392],11394,11396,11398,11400,11402,11404,11406,11408,11410,11412,11414,11416,11418,11420,11422,11424,11426,11428,11430,11432,11434,11436,11438,11440,11442,11444,11446,11448,11450,11452,11454,11456,11458,11460,11462,11464,11466,11468,11470,11472,11474,11476,11478,11480,11482,11484,11486,11488,11490,11499,11501,11506,42560,42562,42564,42566,42568,42570,42572,42574,42576,42578,42580,42582,42584,42586,42588,42590,42592,42594,42596,42598,42600,42602,42604,42624,42626,42628,42630,42632,42634,42636,42638,42640,42642,42644,42646,42648,42650,42786,42788,42790,42792,42794,42796,42798,42802,42804,42806,42808,42810,42812,42814,42816,42818,42820,42822,42824,42826,42828,42830,42832,42834,42836,42838,42840,42842,42844,42846,42848,42850,42852,42854,42856,42858,42860,42862,42873,42875,[42877,42878],42880,42882,42884,42886,42891,42893,42896,42898,42902,42904,42906,42908,42910,42912,42914,42916,42918,42920,[42922,42926],[42928,42932],42934,42936,42938,42940,42942,42944,42946,[42948,42951],42953,42960,42966,42968,42997,[65313,65338],[66560,66599],[66736,66771],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[68736,68786],[71840,71871],[93760,93791],[119808,119833],[119860,119885],[119912,119937],119964,[119966,119967],119970,[119973,119974],[119977,119980],[119982,119989],[120016,120041],[120068,120069],[120071,120074],[120077,120084],[120086,120092],[120120,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120172,120197],[120224,120249],[120276,120301],[120328,120353],[120380,120405],[120432,120457],[120488,120512],[120546,120570],[120604,120628],[120662,120686],[120720,120744],120778,[125184,125217]],index$9=Object.freeze(Object.defineProperty({__proto__:null,Cased_Letter:_$bH,Close_Punctuation:_$bG,Connector_Punctuation:_$bF,Control:_$bE,Currency_Symbol:_$bD,Dash_Punctuation:_$bC,Decimal_Number:_$bB,Enclosing_Mark:_$bA,Final_Punctuation:_$bz,Format:_$by,Initial_Punctuation:_$bx,Letter:_$bw,Letter_Number:_$bv,Line_Separator:_$bu,Lowercase_Letter:_$bt,Mark:_$bs,Math_Symbol:_$br,Modifier_Letter:_$bq,Modifier_Symbol:_$bp,Nonspacing_Mark:_$bo,Number:_$bn,Open_Punctuation:_$bm,Other:_$bl,Other_Letter:_$bk,Other_Number:_$bj,Other_Punctuation:_$bi,Other_Symbol:_$bh,Paragraph_Separator:_$bg,Private_Use:_$bf,Punctuation:_$be,Separator:_$bd,Space_Separator:_$bc,Spacing_Mark:_$bb,Surrogate:_$ba,Symbol:_$b9,Titlecase_Letter:_$b8,Unassigned:_$b7,Uppercase_Letter:_$b6},Symbol.toStringTag,{value:"Module"})),_$b5=[1544,1547,1549,[1563,1610],[1645,1647],[1649,1749],[1765,1766],[1774,1775],[1786,1805],[1807,1808],[1810,1839],[1869,1957],1969,[2144,2154],[2160,2190],[2208,2249],[64336,64450],[64467,64829],[64848,64911],[64914,64967],[65008,65020],[65136,65140],[65142,65276],[68864,68899],[69424,69445],[69457,69465],[126065,126132],[126209,126269],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651]],_$b4=[[1536,1541],[1632,1641],[1643,1644],1757,[2192,2193],2274,[68912,68921],[69216,69246]],_$b3=[[0,8],[14,27],[127,132],[134,159],173,6158,[8203,8205],[8288,8292],[8298,8303],65279,[113824,113827],[119155,119162],917505,[917536,917631]],_$b2=[44,[46,47],58,160,1548,8239,8260,65104,65106,65109,65292,[65294,65295],65306],_$b1=[[48,57],[178,179],185,[1776,1785],8304,[8308,8313],[8320,8329],[9352,9371],[65296,65305],[66273,66299],[120782,120831],[127232,127242],[130032,130041]],_$b0=[43,45,[8314,8315],[8330,8331],8722,64297,[65122,65123],65291,65293],_$a$=[[35,37],[162,165],[176,177],1423,[1545,1546],1642,[2546,2547],2555,2801,3065,3647,6107,[8240,8244],[8352,8384],8494,8723,[43064,43065],65119,[65129,65130],[65283,65285],[65504,65505],[65509,65510],[73693,73696],123647],_$a_=[8296],_$aZ=[[65,90],[97,122],170,181,186,[192,214],[216,246],[248,696],[699,705],[720,721],[736,740],750,[880,883],[886,887],[890,893],895,902,[904,906],908,[910,929],[931,1013],[1015,1154],[1162,1327],[1329,1366],[1369,1417],[2307,2361],2363,[2365,2368],[2377,2380],[2382,2384],[2392,2401],[2404,2432],[2434,2435],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],[2493,2496],[2503,2504],[2507,2508],2510,2519,[2524,2525],[2527,2529],[2534,2545],[2548,2554],[2556,2557],2563,[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],[2622,2624],[2649,2652],2654,[2662,2671],[2674,2676],2678,2691,[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],[2749,2752],2761,[2763,2764],2768,[2784,2785],[2790,2800],2809,[2818,2819],[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],[2877,2878],2880,[2887,2888],[2891,2892],2903,[2908,2909],[2911,2913],[2918,2935],2947,[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],[3006,3007],[3009,3010],[3014,3016],[3018,3020],3024,3031,[3046,3058],[3073,3075],[3077,3084],[3086,3088],[3090,3112],[3114,3129],3133,[3137,3140],[3160,3162],3165,[3168,3169],[3174,3183],3191,[3199,3200],[3202,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],[3261,3268],[3270,3272],[3274,3275],[3285,3286],[3293,3294],[3296,3297],[3302,3311],[3313,3315],[3330,3340],[3342,3344],[3346,3386],[3389,3392],[3398,3400],[3402,3404],[3406,3407],[3412,3425],[3430,3455],[3458,3459],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],[3535,3537],[3544,3551],[3558,3567],[3570,3572],[3585,3632],[3634,3635],[3648,3654],[3663,3675],[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3760],[3762,3763],3773,[3776,3780],3782,[3792,3801],[3804,3807],[3840,3863],[3866,3892],3894,3896,[3902,3911],[3913,3948],3967,3973,[3976,3980],[4030,4037],[4039,4044],[4046,4058],[4096,4140],4145,4152,[4155,4156],[4159,4183],[4186,4189],[4193,4208],[4213,4225],[4227,4228],[4231,4236],[4238,4252],[4254,4293],4295,4301,[4304,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4960,4988],[4992,5007],[5024,5109],[5112,5117],[5121,5759],[5761,5786],[5792,5880],[5888,5905],5909,[5919,5937],[5940,5942],[5952,5969],[5984,5996],[5998,6e3],[6016,6067],6070,[6078,6085],[6087,6088],[6100,6106],6108,[6112,6121],[6160,6169],[6176,6264],[6272,6276],[6279,6312],6314,[6320,6389],[6400,6430],[6435,6438],[6441,6443],[6448,6449],[6451,6456],[6470,6509],[6512,6516],[6528,6571],[6576,6601],[6608,6618],[6656,6678],[6681,6682],[6686,6741],6743,6753,[6755,6756],[6765,6770],[6784,6793],[6800,6809],[6816,6829],[6916,6963],6965,6971,[6973,6977],[6979,6988],[6992,7018],[7028,7038],[7042,7073],[7078,7079],7082,[7086,7141],7143,[7146,7148],7150,[7154,7155],[7164,7211],[7220,7221],[7227,7241],[7245,7304],[7312,7354],[7357,7367],7379,7393,[7401,7404],[7406,7411],[7413,7415],7418,[7424,7615],[7680,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8124],8126,[8130,8132],[8134,8140],[8144,8147],[8150,8155],[8160,8172],[8178,8180],[8182,8188],8206,8305,8319,[8336,8348],8450,8455,[8458,8467],8469,[8473,8477],8484,8486,8488,[8490,8493],[8495,8505],[8508,8511],[8517,8521],[8526,8527],[8544,8584],[9014,9082],9109,[9372,9449],9900,[10240,10495],[11264,11492],[11499,11502],[11506,11507],[11520,11557],11559,11565,[11568,11623],[11631,11632],[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],[12293,12295],[12321,12329],[12334,12335],[12337,12341],[12344,12348],[12353,12438],[12445,12447],[12449,12538],[12540,12543],[12549,12591],[12593,12686],[12688,12735],[12784,12828],[12832,12879],[12896,12923],[12927,12976],[12992,13003],[13008,13174],[13179,13277],[13280,13310],[13312,19903],[19968,42124],[42192,42508],[42512,42539],[42560,42606],[42624,42653],[42656,42735],[42738,42743],[42786,42887],[42889,42954],[42960,42961],42963,[42965,42969],[42994,43009],[43011,43013],[43015,43018],[43020,43044],43047,[43056,43063],[43072,43123],[43136,43203],[43214,43225],[43250,43262],[43264,43301],[43310,43334],[43346,43347],[43359,43388],[43395,43442],[43444,43445],[43450,43451],[43454,43469],[43471,43481],[43486,43492],[43494,43518],[43520,43560],[43567,43568],[43571,43572],[43584,43586],[43588,43595],43597,[43600,43609],[43612,43643],[43645,43695],43697,[43701,43702],[43705,43709],43712,43714,[43739,43755],[43758,43765],[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43824,43881],[43888,44004],[44006,44007],[44009,44012],[44016,44025],[44032,55203],[55216,55238],[55243,55291],[55296,64109],[64112,64217],[64256,64262],[64275,64279],[65313,65338],[65345,65370],[65382,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],65792,65794,[65799,65843],[65847,65855],[65933,65934],[66e3,66044],[66176,66204],[66208,66256],[66304,66339],[66349,66378],[66384,66421],[66432,66461],[66463,66499],[66504,66517],[66560,66717],[66720,66729],[66736,66771],[66776,66811],[66816,66855],[66864,66915],[66927,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[67072,67382],[67392,67413],[67424,67431],[67456,67461],[67463,67504],[67506,67514],69632,[69634,69687],[69703,69709],[69734,69743],[69745,69746],69749,[69762,69810],[69815,69816],[69819,69825],69837,[69840,69864],[69872,69881],[69891,69926],69932,[69942,69959],[69968,70002],[70004,70006],[70018,70069],[70079,70088],[70093,70094],[70096,70111],[70113,70132],[70144,70161],[70163,70190],[70194,70195],70197,[70200,70205],[70207,70208],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70313],[70320,70366],[70368,70370],[70384,70393],[70402,70403],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],[70461,70463],[70465,70468],[70471,70472],[70475,70477],70480,70487,[70493,70499],[70656,70711],[70720,70721],70725,[70727,70747],70749,[70751,70753],[70784,70834],70841,[70843,70846],70849,[70852,70855],[70864,70873],[71040,71089],[71096,71099],71102,[71105,71131],[71168,71218],[71227,71228],71230,[71233,71236],[71248,71257],[71296,71338],71340,[71342,71343],71350,[71352,71353],[71360,71369],[71424,71450],[71456,71457],71462,[71472,71494],[71680,71726],71736,71739,[71840,71922],[71935,71942],71945,[71948,71955],[71957,71958],[71960,71989],[71991,71992],71997,[71999,72002],[72004,72006],[72016,72025],[72096,72103],[72106,72147],[72156,72159],[72161,72164],72192,[72199,72200],[72203,72242],[72249,72250],[72255,72262],72272,[72279,72280],[72284,72329],72343,[72346,72354],[72368,72440],[72448,72457],[72704,72712],[72714,72751],[72766,72773],[72784,72812],[72816,72847],72873,72881,72884,[72960,72966],[72968,72969],[72971,73008],73030,[73040,73049],[73056,73061],[73063,73064],[73066,73102],[73107,73108],73110,73112,[73120,73129],[73440,73458],[73461,73464],[73474,73488],[73490,73525],[73534,73535],73537,[73539,73561],73648,[73664,73684],[73727,74649],[74752,74862],[74864,74868],[74880,75075],[77712,77810],[77824,78911],[78913,78918],[82944,83526],[92160,92728],[92736,92766],[92768,92777],[92782,92862],[92864,92873],[92880,92909],92917,[92928,92975],[92983,92997],[93008,93017],[93019,93025],[93027,93047],[93053,93071],[93760,93850],[93952,94026],[94032,94087],[94099,94111],[94176,94177],94179,[94192,94193],[94208,100343],[100352,101589],[101632,101640],[110576,110579],[110581,110587],[110589,110590],[110592,110882],110898,[110928,110930],110933,[110948,110951],[110960,111355],[113664,113770],[113776,113788],[113792,113800],[113808,113817],113820,113823,[118608,118723],[118784,119029],[119040,119078],[119081,119142],[119146,119154],[119171,119172],[119180,119209],[119214,119272],[119488,119507],[119520,119539],[119648,119672],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120538],[120540,120596],[120598,120654],[120656,120712],[120714,120770],[120772,120779],[120832,121343],[121399,121402],[121453,121460],[121462,121475],[121477,121483],[122624,122654],[122661,122666],[122928,122989],[123136,123180],[123191,123197],[123200,123209],[123214,123215],[123536,123565],[123584,123627],[123632,123641],[124112,124139],[124144,124153],[124896,124902],[124904,124907],[124909,124910],[124912,124926],[127248,127278],[127280,127337],[127344,127404],[127462,127490],[127504,127547],[127552,127560],[127568,127569],[131072,173791],[173824,177977],[177984,178205],[178208,183969],[183984,191456],[194560,195101],[196608,201546],[201552,205743],[983040,1048573],[1048576,1114109]],_$aY=[8234],_$aX=[8294],_$aW=[8237],_$aV=[[768,879],[1155,1161],[1425,1469],1471,[1473,1474],[1476,1477],1479,[1552,1562],[1611,1631],1648,[1750,1756],[1759,1764],[1767,1768],[1770,1773],1809,[1840,1866],[1958,1968],[2027,2035],2045,[2070,2073],[2075,2083],[2085,2087],[2089,2093],[2137,2139],[2200,2207],[2250,2273],[2275,2306],2362,2364,[2369,2376],2381,[2385,2391],[2402,2403],2433,2492,[2497,2500],2509,[2530,2531],2558,[2561,2562],2620,[2625,2626],[2631,2632],[2635,2637],2641,[2672,2673],2677,[2689,2690],2748,[2753,2757],[2759,2760],2765,[2786,2787],[2810,2815],2817,2876,2879,[2881,2884],2893,[2901,2902],[2914,2915],2946,3008,3021,3072,3076,3132,[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3170,3171],3201,3260,[3276,3277],[3298,3299],[3328,3329],[3387,3388],[3393,3396],3405,[3426,3427],3457,3530,[3538,3540],3542,3633,[3636,3642],[3655,3662],3761,[3764,3772],[3784,3790],[3864,3865],3893,3895,3897,[3953,3966],[3968,3972],[3974,3975],[3981,3991],[3993,4028],4038,[4141,4144],[4146,4151],[4153,4154],[4157,4158],[4184,4185],[4190,4192],[4209,4212],4226,[4229,4230],4237,4253,[4957,4959],[5906,5908],[5938,5939],[5970,5971],[6002,6003],[6068,6069],[6071,6077],6086,[6089,6099],6109,[6155,6157],6159,[6277,6278],6313,[6432,6434],[6439,6440],6450,[6457,6459],[6679,6680],6683,6742,[6744,6750],6752,6754,[6757,6764],[6771,6780],6783,[6832,6862],[6912,6915],6964,[6966,6970],6972,6978,[7019,7027],[7040,7041],[7074,7077],[7080,7081],[7083,7085],7142,[7144,7145],7149,[7151,7153],[7212,7219],[7222,7223],[7376,7378],[7380,7392],[7394,7400],7405,7412,[7416,7417],[7616,7679],[8400,8432],[11503,11505],11647,[11744,11775],[12330,12333],[12441,12442],[42607,42610],[42612,42621],[42654,42655],[42736,42737],43010,43014,43019,[43045,43046],43052,[43204,43205],[43232,43249],43263,[43302,43309],[43335,43345],[43392,43394],43443,[43446,43449],[43452,43453],43493,[43561,43566],[43569,43570],[43573,43574],43587,43596,43644,43696,[43698,43700],[43703,43704],[43710,43711],43713,[43756,43757],43766,44005,44008,44013,64286,[65024,65039],[65056,65071],66045,66272,[66422,66426],[68097,68099],[68101,68102],[68108,68111],[68152,68154],68159,[68325,68326],[68900,68903],[69291,69292],[69373,69375],[69446,69456],[69506,69509],69633,[69688,69702],69744,[69747,69748],[69759,69761],[69811,69814],[69817,69818],69826,[69888,69890],[69927,69931],[69933,69940],70003,[70016,70017],[70070,70078],[70089,70092],70095,[70191,70193],70196,[70198,70199],70206,70209,70367,[70371,70378],[70400,70401],[70459,70460],70464,[70502,70508],[70512,70516],[70712,70719],[70722,70724],70726,70750,[70835,70840],70842,[70847,70848],[70850,70851],[71090,71093],[71100,71101],[71103,71104],[71132,71133],[71219,71226],71229,[71231,71232],71339,71341,[71344,71349],71351,[71453,71455],[71458,71461],[71463,71467],[71727,71735],[71737,71738],[71995,71996],71998,72003,[72148,72151],[72154,72155],72160,[72193,72198],[72201,72202],[72243,72248],[72251,72254],72263,[72273,72278],[72281,72283],[72330,72342],[72344,72345],[72752,72758],[72760,72765],[72850,72871],[72874,72880],[72882,72883],[72885,72886],[73009,73014],73018,[73020,73021],[73023,73029],73031,[73104,73105],73109,73111,[73459,73460],[73472,73473],[73526,73530],73536,73538,78912,[78919,78933],[92912,92916],[92976,92982],94031,[94095,94098],94180,[113821,113822],[118528,118573],[118576,118598],[119143,119145],[119163,119170],[119173,119179],[119210,119213],[119362,119364],[121344,121398],[121403,121452],121461,121476,[121499,121503],[121505,121519],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],123023,[123184,123190],123566,[123628,123631],[124140,124143],[125136,125142],[125252,125258],[917760,917999]],_$aU=[[33,34],[38,42],[59,64],[91,96],[123,126],161,[166,169],[171,172],[174,175],180,[182,184],[187,191],215,247,[697,698],[706,719],[722,735],[741,749],[751,767],[884,885],894,[900,901],903,1014,1418,[1421,1422],[1542,1543],[1550,1551],1758,1769,[2038,2041],[3059,3064],3066,[3192,3198],[3898,3901],[5008,5017],5120,[5787,5788],[6128,6137],[6144,6154],6464,[6468,6469],[6622,6655],8125,[8127,8129],[8141,8143],[8157,8159],[8173,8175],[8189,8190],[8208,8231],[8245,8259],[8261,8286],[8316,8318],[8332,8334],[8448,8449],[8451,8454],[8456,8457],8468,[8470,8472],[8478,8483],8485,8487,8489,[8506,8507],[8512,8516],[8522,8525],[8528,8543],[8585,8587],[8592,8721],[8724,9013],[9083,9108],[9110,9254],[9280,9290],[9312,9351],[9450,9899],[9901,10239],[10496,11123],[11126,11157],[11159,11263],[11493,11498],[11513,11519],[11776,11869],[11904,11929],[11931,12019],[12032,12245],[12272,12283],[12289,12292],[12296,12320],12336,[12342,12343],[12349,12351],[12443,12444],12448,12539,[12736,12771],[12829,12830],[12880,12895],[12924,12926],[12977,12991],[13004,13007],[13175,13178],[13278,13279],13311,[19904,19967],[42128,42182],[42509,42511],42611,[42622,42623],[42752,42785],42888,[43048,43051],[43124,43127],[43882,43883],[64830,64847],64975,[65021,65023],[65040,65049],[65072,65103],65105,65108,[65110,65118],[65120,65121],[65124,65126],65128,65131,[65281,65282],[65286,65290],[65307,65312],[65339,65344],[65371,65381],[65506,65508],[65512,65518],[65529,65533],65793,[65856,65932],[65936,65948],65952,67871,[68409,68415],[69714,69733],[71264,71276],[73685,73692],[73697,73713],94178,[119273,119274],[119296,119361],119365,[119552,119638],120539,120597,120655,120713,120771,[126704,126705],[126976,127019],[127024,127123],[127136,127150],[127153,127167],[127169,127183],[127185,127221],[127243,127247],127279,[127338,127343],127405,[127584,127589],[127744,128727],[128732,128748],[128752,128764],[128768,128886],[128891,128985],[128992,129003],129008,[129024,129035],[129040,129095],[129104,129113],[129120,129159],[129168,129197],[129200,129201],[129280,129619],[129632,129645],[129648,129660],[129664,129672],[129680,129725],[129727,129733],[129742,129755],[129760,129768],[129776,129784],[129792,129938],[129940,129994]],_$aT=[10,13,[28,30],133,8233],_$aS=[8236],_$aR=[8297],_$aQ=[1470,1472,1475,1478,[1488,1514],[1519,1524],[1984,2026],[2036,2037],2042,[2046,2069],2074,2084,2088,[2096,2110],[2112,2136],2142,8207,64285,[64287,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64335],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67671,67742],[67751,67759],[67808,67826],[67828,67829],[67835,67867],[67872,67897],67903,[67968,68023],[68028,68047],[68050,68096],[68112,68115],[68117,68119],[68121,68149],[68160,68168],[68176,68184],[68192,68255],[68288,68324],[68331,68342],[68352,68405],[68416,68437],[68440,68466],[68472,68497],[68505,68508],[68521,68527],[68608,68680],[68736,68786],[68800,68850],[68858,68863],[69248,69289],69293,[69296,69297],[69376,69415],[69488,69505],[69510,69513],[69552,69579],[69600,69622],[124928,125124],[125127,125135],[125184,125251],125259,[125264,125273],[125278,125279]],_$aP=[8235],_$aO=[8295],_$aN=[8238],_$aM=[9,11,31],_$aL=[12,32,5760,[8192,8202],8232,8287,12288],index$8=Object.freeze(Object.defineProperty({__proto__:null,Arabic_Letter:_$b5,Arabic_Number:_$b4,Boundary_Neutral:_$b3,Common_Separator:_$b2,European_Number:_$b1,European_Separator:_$b0,European_Terminator:_$a$,First_Strong_Isolate:_$a_,Left_To_Right:_$aZ,Left_To_Right_Embedding:_$aY,Left_To_Right_Isolate:_$aX,Left_To_Right_Override:_$aW,Nonspacing_Mark:_$aV,Other_Neutral:_$aU,Paragraph_Separator:_$aT,Pop_Directional_Format:_$aS,Pop_Directional_Isolate:_$aR,Right_To_Left:_$aQ,Right_To_Left_Embedding:_$aP,Right_To_Left_Isolate:_$aO,Right_To_Left_Override:_$aN,Segment_Separator:_$aM,White_Space:_$aL},Symbol.toStringTag,{value:"Module"})),_$aK=[[125184,125259],[125264,125273],[125278,125279]],_$aJ=[[71424,71450],[71453,71467],[71472,71494]],_$aI=[[82944,83526]],_$aH=[[1536,1540],[1542,1547],[1549,1562],[1564,1566],[1568,1599],[1601,1610],[1622,1647],[1649,1756],[1758,1791],[1872,1919],[2160,2190],[2192,2193],[2200,2273],[2275,2303],[64336,64450],[64467,64829],[64832,64911],[64914,64967],64975,[65008,65023],[65136,65140],[65142,65276],[69216,69246],[69373,69375],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[126704,126705]],_$aG=[[1329,1366],[1369,1418],[1421,1423],[64275,64279]],_$aF=[[68352,68405],[68409,68415]],_$aE=[[6912,6988],[6992,7038]],_$aD=[[42656,42743],[92160,92728]],_$aC=[[92880,92909],[92912,92917]],_$aB=[[7104,7155],[7164,7167]],_$aA=[[2432,2435],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],[2492,2500],[2503,2504],[2507,2510],2519,[2524,2525],[2527,2531],[2534,2558]],_$az=[[72704,72712],[72714,72758],[72760,72773],[72784,72812]],_$ay=[[746,747],[12549,12591],[12704,12735]],_$ax=[[69632,69709],[69714,69749],69759],_$aw=[[10240,10495]],_$av=[[6656,6683],[6686,6687]],_$au=[[5952,5971]],_$at=[[5120,5759],[6320,6389],[72368,72383]],_$as=[[66208,66256]],_$ar=[[66864,66915],66927],_$aq=[[69888,69940],[69942,69959]],_$ap=[[43520,43574],[43584,43597],[43600,43609],[43612,43615]],_$ao=[[5024,5109],[5112,5117],[43888,43967]],_$an=[[69552,69579]],_$am=[[0,64],[91,96],[123,169],[171,185],[187,191],215,247,[697,735],[741,745],[748,767],884,894,901,903,1541,1548,1563,1567,1600,1757,2274,[2404,2405],3647,[4053,4056],4347,[5867,5869],[5941,5942],[6146,6147],6149,7379,7393,[7401,7404],[7406,7411],[7413,7415],7418,[8192,8203],[8206,8292],[8294,8304],[8308,8318],[8320,8334],[8352,8384],[8448,8485],[8487,8489],[8492,8497],[8499,8525],[8527,8543],[8585,8587],[8592,9254],[9280,9290],[9312,10239],[10496,11123],[11126,11157],[11159,11263],[11776,11869],[12272,12283],[12288,12292],12294,[12296,12320],[12336,12343],[12348,12351],[12443,12444],12448,[12539,12540],[12688,12703],[12736,12771],[12832,12895],[12927,13007],13055,[13144,13311],[19904,19967],[42752,42785],[42888,42890],[43056,43065],43310,43471,43867,[43882,43883],[64830,64831],[65040,65049],[65072,65106],[65108,65126],[65128,65131],65279,[65281,65312],[65339,65344],[65371,65381],65392,[65438,65439],[65504,65510],[65512,65518],[65529,65533],[65792,65794],[65799,65843],[65847,65855],[65936,65948],[66e3,66044],[66273,66299],[113824,113827],[118608,118723],[118784,119029],[119040,119078],[119081,119142],[119146,119162],[119171,119172],[119180,119209],[119214,119274],[119488,119507],[119520,119539],[119552,119638],[119648,119672],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120779],[120782,120831],[126065,126132],[126209,126269],[126976,127019],[127024,127123],[127136,127150],[127153,127167],[127169,127183],[127185,127221],[127232,127405],[127462,127487],[127489,127490],[127504,127547],[127552,127560],[127568,127569],[127584,127589],[127744,128727],[128732,128748],[128752,128764],[128768,128886],[128891,128985],[128992,129003],129008,[129024,129035],[129040,129095],[129104,129113],[129120,129159],[129168,129197],[129200,129201],[129280,129619],[129632,129645],[129648,129660],[129664,129672],[129680,129725],[129727,129733],[129742,129755],[129760,129768],[129776,129784],[129792,129938],[129940,129994],[130032,130041],917505,[917536,917631]],_$al=[[994,1007],[11392,11507],[11513,11519]],_$ak=[[73728,74649],[74752,74862],[74864,74868],[74880,75075]],_$aj=[[67584,67589],67592,[67594,67637],[67639,67640],67644,67647],_$ai=[[77712,77810]],_$ah=[[1024,1156],[1159,1327],[7296,7304],7467,7544,[11744,11775],[42560,42655],[65070,65071],[122928,122989],123023],_$ag=[[66560,66639]],_$af=[[2304,2384],[2389,2403],[2406,2431],[43232,43263],[72448,72457]],_$ae=[[71936,71942],71945,[71948,71955],[71957,71958],[71960,71989],[71991,71992],[71995,72006],[72016,72025]],_$ad=[[71680,71739]],_$ac=[[113664,113770],[113776,113788],[113792,113800],[113808,113817],[113820,113823]],_$ab=[[77824,78933]],_$aa=[[66816,66855]],_$a9=[[69600,69622]],_$a8=[[4608,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4957,4988],[4992,5017],[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[124896,124902],[124904,124907],[124909,124910],[124912,124926]],_$a7=[[4256,4293],4295,4301,[4304,4346],[4348,4351],[7312,7354],[7357,7359],[11520,11557],11559,11565],_$a6=[[11264,11359],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922]],_$a5=[[66352,66378]],_$a4=[[70400,70403],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],[70460,70468],[70471,70472],[70475,70477],70480,70487,[70493,70499],[70502,70508],[70512,70516]],_$a3=[[880,883],[885,887],[890,893],895,900,902,[904,906],908,[910,929],[931,993],[1008,1023],[7462,7466],[7517,7521],[7526,7530],7615,[7936,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8132],[8134,8147],[8150,8155],[8157,8175],[8178,8180],[8182,8190],8486,43877,[65856,65934],65952,[119296,119365]],_$a2=[[2689,2691],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],[2748,2757],[2759,2761],[2763,2765],2768,[2784,2787],[2790,2801],[2809,2815]],_$a1=[[73056,73061],[73063,73064],[73066,73102],[73104,73105],[73107,73112],[73120,73129]],_$a0=[[2561,2563],[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],2620,[2622,2626],[2631,2632],[2635,2637],2641,[2649,2652],2654,[2662,2678]],_$9$=[[11904,11929],[11931,12019],[12032,12245],12293,12295,[12321,12329],[12344,12347],[13312,19903],[19968,40959],[63744,64109],[64112,64217],[94178,94179],[94192,94193],[131072,173791],[173824,177977],[177984,178205],[178208,183969],[183984,191456],[194560,195101],[196608,201546],[201552,205743]],_$9_=[[4352,4607],[12334,12335],[12593,12686],[12800,12830],[12896,12926],[43360,43388],[44032,55203],[55216,55238],[55243,55291],[65440,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500]],_$9Z=[[68864,68903],[68912,68921]],_$9Y=[[5920,5940]],_$9X=[[67808,67826],[67828,67829],[67835,67839]],_$9W=[[1425,1479],[1488,1514],[1519,1524],[64285,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64335]],_$9V=[[12353,12438],[12445,12447],[110593,110879],110898,[110928,110930],127488],_$9U=[[67648,67669],[67671,67679]],_$9T=[[768,879],[1157,1158],[1611,1621],1648,[2385,2388],[6832,6862],[7376,7378],[7380,7392],[7394,7400],7405,7412,[7416,7417],[7616,7679],[8204,8205],[8400,8432],[12330,12333],[12441,12442],[65024,65039],[65056,65069],66045,66272,70459,[118528,118573],[118576,118598],[119143,119145],[119163,119170],[119173,119179],[119210,119213],[917760,917999]],_$9S=[[68448,68466],[68472,68479]],_$9R=[[68416,68437],[68440,68447]],_$9Q=[[43392,43469],[43472,43481],[43486,43487]],_$9P=[[69760,69826],69837],_$9O=[[3200,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],[3260,3268],[3270,3272],[3274,3277],[3285,3286],[3293,3294],[3296,3299],[3302,3311],[3313,3315]],_$9N=[[12449,12538],[12541,12543],[12784,12799],[13008,13054],[13056,13143],[65382,65391],[65393,65437],[110576,110579],[110581,110587],[110589,110590],110592,[110880,110882],110933,[110948,110951]],_$9M=[[73472,73488],[73490,73530],[73534,73561]],_$9L=[[43264,43309],43311],_$9K=[[68096,68099],[68101,68102],[68108,68115],[68117,68119],[68121,68149],[68152,68154],[68159,68168],[68176,68184]],_$9J=[94180,[101120,101589]],_$9I=[[6016,6109],[6112,6121],[6128,6137],[6624,6655]],_$9H=[[70144,70161],[70163,70209]],_$9G=[[70320,70378],[70384,70393]],_$9F=[[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3773],[3776,3780],3782,[3784,3790],[3792,3801],[3804,3807]],_$9E=[[65,90],[97,122],170,186,[192,214],[216,246],[248,696],[736,740],[7424,7461],[7468,7516],[7522,7525],[7531,7543],[7545,7614],[7680,7935],8305,8319,[8336,8348],[8490,8491],8498,8526,[8544,8584],[11360,11391],[42786,42887],[42891,42954],[42960,42961],42963,[42965,42969],[42994,43007],[43824,43866],[43868,43876],[43878,43881],[64256,64262],[65313,65338],[65345,65370],[67456,67461],[67463,67504],[67506,67514],[122624,122654],[122661,122666]],_$9D=[[7168,7223],[7227,7241],[7245,7247]],_$9C=[[6400,6430],[6432,6443],[6448,6459],6464,[6468,6479]],_$9B=[[67072,67382],[67392,67413],[67424,67431]],_$9A=[[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786]],_$9z=[[42192,42239],73648],_$9y=[[66176,66204]],_$9x=[[67872,67897],67903],_$9w=[[69968,70006]],_$9v=[[73440,73464]],_$9u=[[3328,3340],[3342,3344],[3346,3396],[3398,3400],[3402,3407],[3412,3427],[3430,3455]],_$9t=[[2112,2139],2142],_$9s=[[68288,68326],[68331,68342]],_$9r=[[72816,72847],[72850,72871],[72873,72886]],_$9q=[[72960,72966],[72968,72969],[72971,73014],73018,[73020,73021],[73023,73031],[73040,73049]],_$9p=[[93760,93850]],_$9o=[[43744,43766],[43968,44013],[44016,44025]],_$9n=[[124928,125124],[125127,125142]],_$9m=[[68e3,68023],[68028,68047],[68050,68095]],_$9l=[[67968,67999]],_$9k=[[93952,94026],[94031,94087],[94095,94111]],_$9j=[[71168,71236],[71248,71257]],_$9i=[[6144,6145],6148,[6150,6169],[6176,6264],[6272,6314],[71264,71276]],_$9h=[[92736,92766],[92768,92777],[92782,92783]],_$9g=[[70272,70278],70280,[70282,70285],[70287,70301],[70303,70313]],_$9f=[[4096,4255],[43488,43518],[43616,43647]],_$9e=[[67712,67742],[67751,67759]],_$9d=[[124112,124153]],_$9c=[[72096,72103],[72106,72151],[72154,72164]],_$9b=[[6528,6571],[6576,6601],[6608,6618],[6622,6623]],_$9a=[[70656,70747],[70749,70753]],_$99=[[1984,2042],[2045,2047]],_$98=[94177,[110960,111355]],_$97=[[123136,123180],[123184,123197],[123200,123209],[123214,123215]],_$96=[[5760,5788]],_$95=[[7248,7295]],_$94=[[68736,68786],[68800,68850],[68858,68863]],_$93=[[66304,66339],[66349,66351]],_$92=[[68224,68255]],_$91=[[66384,66426]],_$90=[[66464,66499],[66504,66517]],_$8$=[[69376,69415]],_$8_=[[68192,68223]],_$8Z=[[68608,68680]],_$8Y=[[69488,69513]],_$8X=[[2817,2819],[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],[2876,2884],[2887,2888],[2891,2893],[2901,2903],[2908,2909],[2911,2915],[2918,2935]],_$8W=[[66736,66771],[66776,66811]],_$8V=[[66688,66717],[66720,66729]],_$8U=[[92928,92997],[93008,93017],[93019,93025],[93027,93047],[93053,93071]],_$8T=[[67680,67711]],_$8S=[[72384,72440]],_$8R=[[43072,43127]],_$8Q=[[67840,67867],67871],_$8P=[[68480,68497],[68505,68508],[68521,68527]],_$8O=[[43312,43347],43359],_$8N=[[5792,5866],[5870,5880]],_$8M=[[2048,2093],[2096,2110]],_$8L=[[43136,43205],[43214,43225]],_$8K=[[70016,70111]],_$8J=[[66640,66687]],_$8I=[[71040,71093],[71096,71133]],_$8H=[[120832,121483],[121499,121503],[121505,121519]],_$8G=[[3457,3459],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],3530,[3535,3540],3542,[3544,3551],[3558,3567],[3570,3572],[70113,70132]],_$8F=[[69424,69465]],_$8E=[[69840,69864],[69872,69881]],_$8D=[[72272,72354]],_$8C=[[7040,7103],[7360,7367]],_$8B=[[43008,43052]],_$8A=[[1792,1805],[1807,1866],[1869,1871],[2144,2154]],_$8z=[[5888,5909],5919],_$8y=[[5984,5996],[5998,6e3],[6002,6003]],_$8x=[[6480,6509],[6512,6516]],_$8w=[[6688,6750],[6752,6780],[6783,6793],[6800,6809],[6816,6829]],_$8v=[[43648,43714],[43739,43743]],_$8u=[[71296,71353],[71360,71369]],_$8t=[[2946,2947],[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],[3006,3010],[3014,3016],[3018,3021],3024,3031,[3046,3066],[73664,73713],73727],_$8s=[[92784,92862],[92864,92873]],_$8r=[94176,[94208,100343],[100352,101119],[101632,101640]],_$8q=[[3072,3084],[3086,3088],[3090,3112],[3114,3129],[3132,3140],[3142,3144],[3146,3149],[3157,3158],[3160,3162],3165,[3168,3171],[3174,3183],[3191,3199]],_$8p=[[1920,1969]],_$8o=[[3585,3642],[3648,3675]],_$8n=[[3840,3911],[3913,3948],[3953,3991],[3993,4028],[4030,4044],[4046,4052],[4057,4058]],_$8m=[[11568,11623],[11631,11632],11647],_$8l=[[70784,70855],[70864,70873]],_$8k=[[123536,123566]],_$8j=[[66432,66461],66463],_$8i=[[42240,42539]],_$8h=[[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004]],_$8g=[[123584,123641],123647],_$8f=[[71840,71922],71935],_$8e=[[69248,69289],[69291,69293],[69296,69297]],_$8d=[[40960,42124],[42128,42182]],_$8c=[[72192,72263]],index$7=Object.freeze(Object.defineProperty({__proto__:null,Adlam:_$aK,Ahom:_$aJ,Anatolian_Hieroglyphs:_$aI,Arabic:_$aH,Armenian:_$aG,Avestan:_$aF,Balinese:_$aE,Bamum:_$aD,Bassa_Vah:_$aC,Batak:_$aB,Bengali:_$aA,Bhaiksuki:_$az,Bopomofo:_$ay,Brahmi:_$ax,Braille:_$aw,Buginese:_$av,Buhid:_$au,Canadian_Aboriginal:_$at,Carian:_$as,Caucasian_Albanian:_$ar,Chakma:_$aq,Cham:_$ap,Cherokee:_$ao,Chorasmian:_$an,Common:_$am,Coptic:_$al,Cuneiform:_$ak,Cypriot:_$aj,Cypro_Minoan:_$ai,Cyrillic:_$ah,Deseret:_$ag,Devanagari:_$af,Dives_Akuru:_$ae,Dogra:_$ad,Duployan:_$ac,Egyptian_Hieroglyphs:_$ab,Elbasan:_$aa,Elymaic:_$a9,Ethiopic:_$a8,Georgian:_$a7,Glagolitic:_$a6,Gothic:_$a5,Grantha:_$a4,Greek:_$a3,Gujarati:_$a2,Gunjala_Gondi:_$a1,Gurmukhi:_$a0,Han:_$9$,Hangul:_$9_,Hanifi_Rohingya:_$9Z,Hanunoo:_$9Y,Hatran:_$9X,Hebrew:_$9W,Hiragana:_$9V,Imperial_Aramaic:_$9U,Inherited:_$9T,Inscriptional_Pahlavi:_$9S,Inscriptional_Parthian:_$9R,Javanese:_$9Q,Kaithi:_$9P,Kannada:_$9O,Katakana:_$9N,Kawi:_$9M,Kayah_Li:_$9L,Kharoshthi:_$9K,Khitan_Small_Script:_$9J,Khmer:_$9I,Khojki:_$9H,Khudawadi:_$9G,Lao:_$9F,Latin:_$9E,Lepcha:_$9D,Limbu:_$9C,Linear_A:_$9B,Linear_B:_$9A,Lisu:_$9z,Lycian:_$9y,Lydian:_$9x,Mahajani:_$9w,Makasar:_$9v,Malayalam:_$9u,Mandaic:_$9t,Manichaean:_$9s,Marchen:_$9r,Masaram_Gondi:_$9q,Medefaidrin:_$9p,Meetei_Mayek:_$9o,Mende_Kikakui:_$9n,Meroitic_Cursive:_$9m,Meroitic_Hieroglyphs:_$9l,Miao:_$9k,Modi:_$9j,Mongolian:_$9i,Mro:_$9h,Multani:_$9g,Myanmar:_$9f,Nabataean:_$9e,Nag_Mundari:_$9d,Nandinagari:_$9c,New_Tai_Lue:_$9b,Newa:_$9a,Nko:_$99,Nushu:_$98,Nyiakeng_Puachue_Hmong:_$97,Ogham:_$96,Ol_Chiki:_$95,Old_Hungarian:_$94,Old_Italic:_$93,Old_North_Arabian:_$92,Old_Permic:_$91,Old_Persian:_$90,Old_Sogdian:_$8$,Old_South_Arabian:_$8_,Old_Turkic:_$8Z,Old_Uyghur:_$8Y,Oriya:_$8X,Osage:_$8W,Osmanya:_$8V,Pahawh_Hmong:_$8U,Palmyrene:_$8T,Pau_Cin_Hau:_$8S,Phags_Pa:_$8R,Phoenician:_$8Q,Psalter_Pahlavi:_$8P,Rejang:_$8O,Runic:_$8N,Samaritan:_$8M,Saurashtra:_$8L,Sharada:_$8K,Shavian:_$8J,Siddham:_$8I,SignWriting:_$8H,Sinhala:_$8G,Sogdian:_$8F,Sora_Sompeng:_$8E,Soyombo:_$8D,Sundanese:_$8C,Syloti_Nagri:_$8B,Syriac:_$8A,Tagalog:_$8z,Tagbanwa:_$8y,Tai_Le:_$8x,Tai_Tham:_$8w,Tai_Viet:_$8v,Takri:_$8u,Tamil:_$8t,Tangsa:_$8s,Tangut:_$8r,Telugu:_$8q,Thaana:_$8p,Thai:_$8o,Tibetan:_$8n,Tifinagh:_$8m,Tirhuta:_$8l,Toto:_$8k,Ugaritic:_$8j,Vai:_$8i,Vithkuqi:_$8h,Wancho:_$8g,Warang_Citi:_$8f,Yezidi:_$8e,Yi:_$8d,Zanabazar_Square:_$8c},Symbol.toStringTag,{value:"Module"})),_$8b=[1567,1600,[125184,125259],[125264,125273],[125278,125279]],_$8a=[[71424,71450],[71453,71467],[71472,71494]],_$89=[[82944,83526]],_$88=[[1536,1540],[1542,1756],[1758,1791],[1872,1919],[2160,2190],[2192,2193],[2200,2273],[2275,2303],[64336,64450],[64467,64911],[64914,64967],64975,[65008,65023],[65136,65140],[65142,65276],[66272,66299],[69216,69246],[69373,69375],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[126704,126705]],_$87=[[1329,1366],[1369,1418],[1421,1423],[64275,64279]],_$86=[[68352,68405],[68409,68415]],_$85=[[6912,6988],[6992,7038]],_$84=[[42656,42743],[92160,92728]],_$83=[[92880,92909],[92912,92917]],_$82=[[7104,7155],[7164,7167]],_$81=[[2385,2386],[2404,2405],[2432,2435],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],[2492,2500],[2503,2504],[2507,2510],2519,[2524,2525],[2527,2531],[2534,2558],7376,7378,[7381,7382],7384,7393,7402,7405,7410,[7413,7415],43249],_$80=[[72704,72712],[72714,72758],[72760,72773],[72784,72812]],_$7$=[[746,747],[12289,12291],[12296,12305],[12307,12319],[12330,12333],12336,12343,12539,[12549,12591],[12704,12735],[65093,65094],[65377,65381]],_$7_=[[69632,69709],[69714,69749],69759],_$7Z=[[10240,10495]],_$7Y=[[6656,6683],[6686,6687],43471],_$7X=[[5941,5942],[5952,5971]],_$7W=[[5120,5759],[6320,6389],[72368,72383]],_$7V=[[66208,66256]],_$7U=[[66864,66915],66927],_$7T=[[2534,2543],[4160,4169],[69888,69940],[69942,69959]],_$7S=[[43520,43574],[43584,43597],[43600,43609],[43612,43615]],_$7R=[[5024,5109],[5112,5117],[43888,43967]],_$7Q=[[69552,69579]],_$7P=[[0,64],[91,96],[123,169],[171,185],[187,191],215,247,[697,735],[741,745],[748,767],884,894,901,903,1541,1757,2274,3647,[4053,4056],[5867,5869],[8192,8203],[8206,8238],[8240,8292],[8294,8304],[8308,8318],[8320,8334],[8352,8384],[8448,8485],[8487,8489],[8492,8497],[8499,8525],[8527,8543],[8585,8587],[8592,9254],[9280,9290],[9312,10239],[10496,11123],[11126,11157],[11159,11263],[11776,11842],[11844,11869],[12272,12283],12288,12292,12306,12320,12342,[12872,12895],12927,[12977,12991],[13004,13007],[13169,13178],[13184,13279],13311,[19904,19967],[42760,42785],[42888,42890],43867,[43882,43883],[65040,65049],[65072,65092],[65095,65106],[65108,65126],[65128,65131],65279,[65281,65312],[65339,65344],[65371,65376],[65504,65510],[65512,65518],[65529,65533],[65936,65948],[66e3,66044],[118608,118723],[118784,119029],[119040,119078],[119081,119142],[119146,119162],[119171,119172],[119180,119209],[119214,119274],[119488,119507],[119520,119539],[119552,119638],[119666,119672],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120779],[120782,120831],[126065,126132],[126209,126269],[126976,127019],[127024,127123],[127136,127150],[127153,127167],[127169,127183],[127185,127221],[127232,127405],[127462,127487],[127489,127490],[127504,127547],[127552,127560],[127584,127589],[127744,128727],[128732,128748],[128752,128764],[128768,128886],[128891,128985],[128992,129003],129008,[129024,129035],[129040,129095],[129104,129113],[129120,129159],[129168,129197],[129200,129201],[129280,129619],[129632,129645],[129648,129660],[129664,129672],[129680,129725],[129727,129733],[129742,129755],[129760,129768],[129776,129784],[129792,129938],[129940,129994],[130032,130041],917505,[917536,917631]],_$7O=[[994,1007],[11392,11507],[11513,11519],[66272,66299]],_$7N=[[73728,74649],[74752,74862],[74864,74868],[74880,75075]],_$7M=[[65792,65794],[65799,65843],[65847,65855],[67584,67589],67592,[67594,67637],[67639,67640],67644,67647],_$7L=[[65792,65793],[77712,77810]],_$7K=[[1024,1327],[7296,7304],7467,7544,7672,[11744,11775],11843,[42560,42655],[65070,65071],[122928,122989],123023],_$7J=[[66560,66639]],_$7I=[[2304,2386],[2389,2431],[7376,7414],[7416,7417],8432,[43056,43065],[43232,43263],[72448,72457]],_$7H=[[71936,71942],71945,[71948,71955],[71957,71958],[71960,71989],[71991,71992],[71995,72006],[72016,72025]],_$7G=[[2404,2415],[43056,43065],[71680,71739]],_$7F=[[113664,113770],[113776,113788],[113792,113800],[113808,113817],[113820,113827]],_$7E=[[77824,78933]],_$7D=[[66816,66855]],_$7C=[[69600,69622]],_$7B=[[4608,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4957,4988],[4992,5017],[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[124896,124902],[124904,124907],[124909,124910],[124912,124926]],_$7A=[[4256,4293],4295,4301,[4304,4351],[7312,7354],[7357,7359],[11520,11557],11559,11565],_$7z=[1156,1159,[11264,11359],11843,42607,[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922]],_$7y=[[66352,66378]],_$7x=[[2385,2386],[2404,2405],[3046,3059],7376,[7378,7379],[7410,7412],[7416,7417],8432,[70400,70403],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],[70459,70468],[70471,70472],[70475,70477],70480,70487,[70493,70499],[70502,70508],[70512,70516],[73680,73681],73683],_$7w=[834,837,[880,883],[885,887],[890,893],895,900,902,[904,906],908,[910,929],[931,993],[1008,1023],[7462,7466],[7517,7521],[7526,7530],[7615,7617],[7936,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8132],[8134,8147],[8150,8155],[8157,8175],[8178,8180],[8182,8190],8486,43877,[65856,65934],65952,[119296,119365]],_$7v=[[2385,2386],[2404,2405],[2689,2691],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],[2748,2757],[2759,2761],[2763,2765],2768,[2784,2787],[2790,2801],[2809,2815],[43056,43065]],_$7u=[[2404,2405],[73056,73061],[73063,73064],[73066,73102],[73104,73105],[73107,73112],[73120,73129]],_$7t=[[2385,2386],[2404,2405],[2561,2563],[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],2620,[2622,2626],[2631,2632],[2635,2637],2641,[2649,2652],2654,[2662,2678],[43056,43065]],_$7s=[[11904,11929],[11931,12019],[12032,12245],[12289,12291],[12293,12305],[12307,12319],[12321,12333],12336,[12343,12351],12539,[12688,12703],[12736,12771],[12832,12871],[12928,12976],[12992,13003],13055,[13144,13168],[13179,13183],[13280,13310],[13312,19903],[19968,40959],[42752,42759],[63744,64109],[64112,64217],[65093,65094],[65377,65381],[94178,94179],[94192,94193],[119648,119665],[127568,127569],[131072,173791],[173824,177977],[177984,178205],[178208,183969],[183984,191456],[194560,195101],[196608,201546],[201552,205743]],_$7r=[[4352,4607],[12289,12291],[12296,12305],[12307,12319],[12334,12336],12343,12539,[12593,12686],[12800,12830],[12896,12926],[43360,43388],[44032,55203],[55216,55238],[55243,55291],[65093,65094],[65377,65381],[65440,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500]],_$7q=[1548,1563,1567,1600,1748,[68864,68903],[68912,68921]],_$7p=[[5920,5942]],_$7o=[[67808,67826],[67828,67829],[67835,67839]],_$7n=[[1425,1479],[1488,1514],[1519,1524],[64285,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64335]],_$7m=[[12289,12291],[12296,12305],[12307,12319],[12336,12341],12343,[12348,12349],[12353,12438],[12441,12448],[12539,12540],[65093,65094],[65377,65381],65392,[65438,65439],[110593,110879],110898,[110928,110930],127488],_$7l=[[67648,67669],[67671,67679]],_$7k=[[768,833],[835,836],[838,866],[2387,2388],[6832,6862],[7618,7671],7673,[7675,7679],[8204,8205],[8400,8431],[65024,65039],[65056,65069],66045,[118528,118573],[118576,118598],[119143,119145],[119163,119170],[119173,119179],[119210,119213],[917760,917999]],_$7j=[[68448,68466],[68472,68479]],_$7i=[[68416,68437],[68440,68447]],_$7h=[[43392,43469],[43471,43481],[43486,43487]],_$7g=[[2406,2415],[43056,43065],[69760,69826],69837],_$7f=[[2385,2386],[2404,2405],[3200,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],[3260,3268],[3270,3272],[3274,3277],[3285,3286],[3293,3294],[3296,3299],[3302,3311],[3313,3315],7376,7378,7386,7410,7412,[43056,43061]],_$7e=[[12289,12291],[12296,12305],[12307,12319],[12336,12341],12343,[12348,12349],[12441,12444],[12448,12543],[12784,12799],[13008,13054],[13056,13143],[65093,65094],[65377,65439],[110576,110579],[110581,110587],[110589,110590],110592,[110880,110882],110933,[110948,110951]],_$7d=[[73472,73488],[73490,73530],[73534,73561]],_$7c=[[43264,43311]],_$7b=[[68096,68099],[68101,68102],[68108,68115],[68117,68119],[68121,68149],[68152,68154],[68159,68168],[68176,68184]],_$7a=[94180,[101120,101589]],_$79=[[6016,6109],[6112,6121],[6128,6137],[6624,6655]],_$78=[[2790,2799],[43056,43065],[70144,70161],[70163,70209]],_$77=[[2404,2405],[43056,43065],[70320,70378],[70384,70393]],_$76=[[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3773],[3776,3780],3782,[3784,3790],[3792,3801],[3804,3807]],_$75=[[65,90],[97,122],170,186,[192,214],[216,246],[248,696],[736,740],[867,879],[1157,1158],[2385,2386],4347,[7424,7461],[7468,7516],[7522,7525],[7531,7543],[7545,7614],[7680,7935],8239,8305,8319,[8336,8348],8432,[8490,8491],8498,8526,[8544,8584],[11360,11391],[42752,42759],[42786,42887],[42891,42954],[42960,42961],42963,[42965,42969],[42994,43007],43310,[43824,43866],[43868,43876],[43878,43881],[64256,64262],[65313,65338],[65345,65370],[67456,67461],[67463,67504],[67506,67514],[122624,122654],[122661,122666]],_$74=[[7168,7223],[7227,7241],[7245,7247]],_$73=[2405,[6400,6430],[6432,6443],[6448,6459],6464,[6468,6479]],_$72=[[65799,65843],[67072,67382],[67392,67413],[67424,67431]],_$71=[[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[65792,65794],[65799,65843],[65847,65855]],_$70=[[42192,42239],73648],_$6$=[[66176,66204]],_$6_=[[67872,67897],67903],_$6Z=[[2404,2415],[43056,43065],[69968,70006]],_$6Y=[[73440,73464]],_$6X=[[2385,2386],[2404,2405],[3328,3340],[3342,3344],[3346,3396],[3398,3400],[3402,3407],[3412,3427],[3430,3455],7386,[43056,43058]],_$6W=[1600,[2112,2139],2142],_$6V=[1600,[68288,68326],[68331,68342]],_$6U=[[72816,72847],[72850,72871],[72873,72886]],_$6T=[[2404,2405],[72960,72966],[72968,72969],[72971,73014],73018,[73020,73021],[73023,73031],[73040,73049]],_$6S=[[93760,93850]],_$6R=[[43744,43766],[43968,44013],[44016,44025]],_$6Q=[[124928,125124],[125127,125142]],_$6P=[[68e3,68023],[68028,68047],[68050,68095]],_$6O=[[67968,67999]],_$6N=[[93952,94026],[94031,94087],[94095,94111]],_$6M=[[43056,43065],[71168,71236],[71248,71257]],_$6L=[[6144,6169],[6176,6264],[6272,6314],8239,[71264,71276]],_$6K=[[92736,92766],[92768,92777],[92782,92783]],_$6J=[[2662,2671],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70313]],_$6I=[[4096,4255],43310,[43488,43518],[43616,43647]],_$6H=[[67712,67742],[67751,67759]],_$6G=[[124112,124153]],_$6F=[[2404,2405],[3302,3311],7401,7410,7418,[43056,43061],[72096,72103],[72106,72151],[72154,72164]],_$6E=[[6528,6571],[6576,6601],[6608,6618],[6622,6623]],_$6D=[[70656,70747],[70749,70753]],_$6C=[1548,1563,1567,[1984,2042],[2045,2047],[64830,64831]],_$6B=[94177,[110960,111355]],_$6A=[[123136,123180],[123184,123197],[123200,123209],[123214,123215]],_$6z=[[5760,5788]],_$6y=[[7248,7295]],_$6x=[[68736,68786],[68800,68850],[68858,68863]],_$6w=[[66304,66339],[66349,66351]],_$6v=[[68224,68255]],_$6u=[1155,[66384,66426]],_$6t=[[66464,66499],[66504,66517]],_$6s=[[69376,69415]],_$6r=[[68192,68223]],_$6q=[[68608,68680]],_$6p=[1600,68338,[69488,69513]],_$6o=[[2385,2386],[2404,2405],[2817,2819],[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],[2876,2884],[2887,2888],[2891,2893],[2901,2903],[2908,2909],[2911,2915],[2918,2935],7386,7410],_$6n=[[66736,66771],[66776,66811]],_$6m=[[66688,66717],[66720,66729]],_$6l=[[92928,92997],[93008,93017],[93019,93025],[93027,93047],[93053,93071]],_$6k=[[67680,67711]],_$6j=[[72384,72440]],_$6i=[[6146,6147],6149,[43072,43127]],_$6h=[[67840,67867],67871],_$6g=[1600,[68480,68497],[68505,68508],[68521,68527]],_$6f=[[43312,43347],43359],_$6e=[[5792,5866],[5870,5880]],_$6d=[[2048,2093],[2096,2110]],_$6c=[[43136,43205],[43214,43225]],_$6b=[2385,7383,7385,[7388,7389],7392,[70016,70111]],_$6a=[[66640,66687]],_$69=[[71040,71093],[71096,71133]],_$68=[[120832,121483],[121499,121503],[121505,121519]],_$67=[[2404,2405],[3457,3459],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],3530,[3535,3540],3542,[3544,3551],[3558,3567],[3570,3572],[70113,70132]],_$66=[1600,[69424,69465]],_$65=[[69840,69864],[69872,69881]],_$64=[[72272,72354]],_$63=[[7040,7103],[7360,7367]],_$62=[[2404,2405],[2534,2543],[43008,43052]],_$61=[1548,[1563,1564],1567,1600,[1611,1621],1648,[1792,1805],[1807,1866],[1869,1871],[2144,2154],7672,7674],_$60=[[5888,5909],5919,[5941,5942]],_$5$=[[5941,5942],[5984,5996],[5998,6e3],[6002,6003]],_$5_=[[4160,4169],[6480,6509],[6512,6516]],_$5Z=[[6688,6750],[6752,6780],[6783,6793],[6800,6809],[6816,6829]],_$5Y=[[43648,43714],[43739,43743]],_$5X=[[2404,2405],[43056,43065],[71296,71353],[71360,71369]],_$5W=[[2385,2386],[2404,2405],[2946,2947],[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],[3006,3010],[3014,3016],[3018,3021],3024,3031,[3046,3066],7386,43251,70401,70403,[70459,70460],[73664,73713],73727],_$5V=[[92784,92862],[92864,92873]],_$5U=[94176,[94208,100343],[100352,101119],[101632,101640]],_$5T=[[2385,2386],[2404,2405],[3072,3084],[3086,3088],[3090,3112],[3114,3129],[3132,3140],[3142,3144],[3146,3149],[3157,3158],[3160,3162],3165,[3168,3171],[3174,3183],[3191,3199],7386,7410],_$5S=[1548,[1563,1564],1567,[1632,1641],[1920,1969],65010,65021],_$5R=[[3585,3642],[3648,3675]],_$5Q=[[3840,3911],[3913,3948],[3953,3991],[3993,4028],[4030,4044],[4046,4052],[4057,4058]],_$5P=[[11568,11623],[11631,11632],11647],_$5O=[[2385,2386],[2404,2405],7410,[43056,43065],[70784,70855],[70864,70873]],_$5N=[[123536,123566]],_$5M=[[66432,66461],66463],_$5L=[[42240,42539]],_$5K=[[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004]],_$5J=[[123584,123641],123647],_$5I=[[71840,71922],71935],_$5H=[1548,1563,1567,[1632,1641],[69248,69289],[69291,69293],[69296,69297]],_$5G=[[12289,12290],[12296,12305],[12308,12315],12539,[40960,42124],[42128,42182],[65377,65381]],_$5F=[[72192,72263]],index$6=Object.freeze(Object.defineProperty({__proto__:null,Adlam:_$8b,Ahom:_$8a,Anatolian_Hieroglyphs:_$89,Arabic:_$88,Armenian:_$87,Avestan:_$86,Balinese:_$85,Bamum:_$84,Bassa_Vah:_$83,Batak:_$82,Bengali:_$81,Bhaiksuki:_$80,Bopomofo:_$7$,Brahmi:_$7_,Braille:_$7Z,Buginese:_$7Y,Buhid:_$7X,Canadian_Aboriginal:_$7W,Carian:_$7V,Caucasian_Albanian:_$7U,Chakma:_$7T,Cham:_$7S,Cherokee:_$7R,Chorasmian:_$7Q,Common:_$7P,Coptic:_$7O,Cuneiform:_$7N,Cypriot:_$7M,Cypro_Minoan:_$7L,Cyrillic:_$7K,Deseret:_$7J,Devanagari:_$7I,Dives_Akuru:_$7H,Dogra:_$7G,Duployan:_$7F,Egyptian_Hieroglyphs:_$7E,Elbasan:_$7D,Elymaic:_$7C,Ethiopic:_$7B,Georgian:_$7A,Glagolitic:_$7z,Gothic:_$7y,Grantha:_$7x,Greek:_$7w,Gujarati:_$7v,Gunjala_Gondi:_$7u,Gurmukhi:_$7t,Han:_$7s,Hangul:_$7r,Hanifi_Rohingya:_$7q,Hanunoo:_$7p,Hatran:_$7o,Hebrew:_$7n,Hiragana:_$7m,Imperial_Aramaic:_$7l,Inherited:_$7k,Inscriptional_Pahlavi:_$7j,Inscriptional_Parthian:_$7i,Javanese:_$7h,Kaithi:_$7g,Kannada:_$7f,Katakana:_$7e,Kawi:_$7d,Kayah_Li:_$7c,Kharoshthi:_$7b,Khitan_Small_Script:_$7a,Khmer:_$79,Khojki:_$78,Khudawadi:_$77,Lao:_$76,Latin:_$75,Lepcha:_$74,Limbu:_$73,Linear_A:_$72,Linear_B:_$71,Lisu:_$70,Lycian:_$6$,Lydian:_$6_,Mahajani:_$6Z,Makasar:_$6Y,Malayalam:_$6X,Mandaic:_$6W,Manichaean:_$6V,Marchen:_$6U,Masaram_Gondi:_$6T,Medefaidrin:_$6S,Meetei_Mayek:_$6R,Mende_Kikakui:_$6Q,Meroitic_Cursive:_$6P,Meroitic_Hieroglyphs:_$6O,Miao:_$6N,Modi:_$6M,Mongolian:_$6L,Mro:_$6K,Multani:_$6J,Myanmar:_$6I,Nabataean:_$6H,Nag_Mundari:_$6G,Nandinagari:_$6F,New_Tai_Lue:_$6E,Newa:_$6D,Nko:_$6C,Nushu:_$6B,Nyiakeng_Puachue_Hmong:_$6A,Ogham:_$6z,Ol_Chiki:_$6y,Old_Hungarian:_$6x,Old_Italic:_$6w,Old_North_Arabian:_$6v,Old_Permic:_$6u,Old_Persian:_$6t,Old_Sogdian:_$6s,Old_South_Arabian:_$6r,Old_Turkic:_$6q,Old_Uyghur:_$6p,Oriya:_$6o,Osage:_$6n,Osmanya:_$6m,Pahawh_Hmong:_$6l,Palmyrene:_$6k,Pau_Cin_Hau:_$6j,Phags_Pa:_$6i,Phoenician:_$6h,Psalter_Pahlavi:_$6g,Rejang:_$6f,Runic:_$6e,Samaritan:_$6d,Saurashtra:_$6c,Sharada:_$6b,Shavian:_$6a,Siddham:_$69,SignWriting:_$68,Sinhala:_$67,Sogdian:_$66,Sora_Sompeng:_$65,Soyombo:_$64,Sundanese:_$63,Syloti_Nagri:_$62,Syriac:_$61,Tagalog:_$60,Tagbanwa:_$5$,Tai_Le:_$5_,Tai_Tham:_$5Z,Tai_Viet:_$5Y,Takri:_$5X,Tamil:_$5W,Tangsa:_$5V,Tangut:_$5U,Telugu:_$5T,Thaana:_$5S,Thai:_$5R,Tibetan:_$5Q,Tifinagh:_$5P,Tirhuta:_$5O,Toto:_$5N,Ugaritic:_$5M,Vai:_$5L,Vithkuqi:_$5K,Wancho:_$5J,Warang_Citi:_$5I,Yezidi:_$5H,Yi:_$5G,Zanabazar_Square:_$5F},Symbol.toStringTag,{value:"Module"})),_$5E=[],_$5D=[],_$5C=[],_$5B=[],index$5=Object.freeze(Object.defineProperty({__proto__:null,C:_$5E,F:_$5D,S:_$5C,T:_$5B},Symbol.toStringTag,{value:"Module"})),_$5A=[[125184,125279]],_$5z=[[65792,65855]],_$5y=[[71424,71503]],_$5x=[[128768,128895]],_$5w=[[64256,64335]],_$5v=[[82944,83583]],_$5u=[[119296,119375]],_$5t=[[65856,65935]],_$5s=[[65936,65999]],_$5r=[[1536,1791]],_$5q=[[2208,2303]],_$5p=[[126464,126719]],_$5o=[[64336,65023]],_$5n=[[65136,65279]],_$5m=[[1872,1919]],_$5l=[[1328,1423]],_$5k=[[8592,8703]],_$5j=[[68352,68415]],_$5i=[[6912,7039]],_$5h=[[42656,42751]],_$5g=[[92160,92735]],_$5f=[[0,127]],_$5e=[[92880,92927]],_$5d=[[7104,7167]],_$5c=[[2432,2559]],_$5b=[[72704,72815]],_$5a=[[9600,9631]],_$59=[[12544,12591]],_$58=[[12704,12735]],_$57=[[9472,9599]],_$56=[[69632,69759]],_$55=[[10240,10495]],_$54=[[6656,6687]],_$53=[[5952,5983]],_$52=[[118784,119039]],_$51=[[13056,13311]],_$50=[[65072,65103]],_$4$=[[63744,64255]],_$4_=[[194560,195103]],_$4Z=[[11904,12031]],_$4Y=[[12736,12783]],_$4X=[[12288,12351]],_$4W=[[19968,40959]],_$4V=[[13312,19903]],_$4U=[[131072,173791]],_$4T=[[173824,177983]],_$4S=[[177984,178207]],_$4R=[[178208,183983]],_$4Q=[[183984,191471]],_$4P=[[66208,66271]],_$4O=[[66864,66927]],_$4N=[[69888,69967]],_$4M=[[43520,43615]],_$4L=[[5024,5119]],_$4K=[[43888,43967]],_$4J=[[129536,129647]],_$4I=[[768,879]],_$4H=[[6832,6911]],_$4G=[[8400,8447]],_$4F=[[7616,7679]],_$4E=[[65056,65071]],_$4D=[[43056,43071]],_$4C=[[9216,9279]],_$4B=[[11392,11519]],_$4A=[[66272,66303]],_$4z=[[119648,119679]],_$4y=[[73728,74751]],_$4x=[[74752,74879]],_$4w=[[8352,8399]],_$4v=[[67584,67647]],_$4u=[[1024,1279]],_$4t=[[11744,11775]],_$4s=[[42560,42655]],_$4r=[[7296,7311]],_$4q=[[1280,1327]],_$4p=[[66560,66639]],_$4o=[[2304,2431]],_$4n=[[43232,43263]],_$4m=[[9984,10175]],_$4l=[[71680,71759]],_$4k=[[127024,127135]],_$4j=[[113664,113823]],_$4i=[[74880,75087]],_$4h=[[77824,78895]],_$4g=[[66816,66863]],_$4f=[[128512,128591]],_$4e=[[127232,127487]],_$4d=[[9312,9471]],_$4c=[[12800,13055]],_$4b=[[127488,127743]],_$4a=[[4608,4991]],_$49=[[11648,11743]],_$48=[[43776,43823]],_$47=[[4992,5023]],_$46=[[8192,8303]],_$45=[[9632,9727]],_$44=[[128896,129023]],_$43=[[4256,4351]],_$42=[[7312,7359]],_$41=[[11520,11567]],_$40=[[11264,11359]],_$3$=[[122880,122927]],_$3_=[[66352,66383]],_$3Z=[[70400,70527]],_$3Y=[[880,1023]],_$3X=[[7936,8191]],_$3W=[[2688,2815]],_$3V=[[73056,73135]],_$3U=[[2560,2687]],_$3T=[[65280,65519]],_$3S=[[12592,12687]],_$3R=[[4352,4607]],_$3Q=[[43360,43391]],_$3P=[[55216,55295]],_$3O=[[44032,55215]],_$3N=[[68864,68927]],_$3M=[[5920,5951]],_$3L=[[67808,67839]],_$3K=[[1424,1535]],_$3J=[[56192,56319]],_$3I=[[55296,56191]],_$3H=[[12352,12447]],_$3G=[[592,687]],_$3F=[[12272,12287]],_$3E=[[94176,94207]],_$3D=[[67648,67679]],_$3C=[[126064,126143]],_$3B=[[68448,68479]],_$3A=[[68416,68447]],_$3z=[[43392,43487]],_$3y=[[69760,69839]],_$3x=[[110848,110895]],_$3w=[[110592,110847]],_$3v=[[12688,12703]],_$3u=[[12032,12255]],_$3t=[[3200,3327]],_$3s=[[12448,12543]],_$3r=[[12784,12799]],_$3q=[[43264,43311]],_$3p=[[68096,68191]],_$3o=[[6016,6143]],_$3n=[[6624,6655]],_$3m=[[70144,70223]],_$3l=[[70320,70399]],_$3k=[[3712,3839]],_$3j=[[128,255]],_$3i=[[256,383]],_$3h=[[7680,7935]],_$3g=[[384,591]],_$3f=[[11360,11391]],_$3e=[[42784,43007]],_$3d=[[43824,43887]],_$3c=[[7168,7247]],_$3b=[[8448,8527]],_$3a=[[6400,6479]],_$39=[[67072,67455]],_$38=[[65664,65791]],_$37=[[65536,65663]],_$36=[[42192,42239]],_$35=[[56320,57343]],_$34=[[66176,66207]],_$33=[[67872,67903]],_$32=[[69968,70015]],_$31=[[126976,127023]],_$30=[[73440,73471]],_$2$=[[3328,3455]],_$2_=[[2112,2143]],_$2Z=[[68288,68351]],_$2Y=[[72816,72895]],_$2X=[[72960,73055]],_$2W=[[119808,120831]],_$2V=[[8704,8959]],_$2U=[[119520,119551]],_$2T=[[93760,93855]],_$2S=[[43968,44031]],_$2R=[[43744,43775]],_$2Q=[[124928,125151]],_$2P=[[68e3,68095]],_$2O=[[67968,67999]],_$2N=[[93952,94111]],_$2M=[[10176,10223]],_$2L=[[10624,10751]],_$2K=[[9728,9983]],_$2J=[[11008,11263]],_$2I=[[127744,128511]],_$2H=[[8960,9215]],_$2G=[[71168,71263]],_$2F=[[42752,42783]],_$2E=[[6144,6319]],_$2D=[[71264,71295]],_$2C=[[92736,92783]],_$2B=[[70272,70319]],_$2A=[[119040,119295]],_$2z=[[4096,4255]],_$2y=[[43616,43647]],_$2x=[[43488,43519]],_$2w=[[1984,2047]],_$2v=[[67712,67759]],_$2u=[[6528,6623]],_$2t=[[70656,70783]],_$2s=[[8528,8591]],_$2r=[[110960,111359]],_$2q=[[5760,5791]],_$2p=[[7248,7295]],_$2o=[[68736,68863]],_$2n=[[66304,66351]],_$2m=[[68224,68255]],_$2l=[[66384,66431]],_$2k=[[66464,66527]],_$2j=[[69376,69423]],_$2i=[[68192,68223]],_$2h=[[68608,68687]],_$2g=[[9280,9311]],_$2f=[[2816,2943]],_$2e=[[128592,128639]],_$2d=[[66736,66815]],_$2c=[[66688,66735]],_$2b=[[92928,93071]],_$2a=[[67680,67711]],_$29=[[72384,72447]],_$28=[[43072,43135]],_$27=[[66e3,66047]],_$26=[[67840,67871]],_$25=[[7424,7551]],_$24=[[7552,7615]],_$23=[[127136,127231]],_$22=[[57344,63743]],_$21=[[68480,68527]],_$20=[[43312,43359]],_$1$=[[69216,69247]],_$1_=[[5792,5887]],_$1Z=[[2048,2111]],_$1Y=[[43136,43231]],_$1X=[[70016,70111]],_$1W=[[66640,66687]],_$1V=[[113824,113839]],_$1U=[[71040,71167]],_$1T=[[3456,3583]],_$1S=[[70112,70143]],_$1R=[[65104,65135]],_$1Q=[[69424,69487]],_$1P=[[69840,69887]],_$1O=[[72272,72367]],_$1N=[[688,767]],_$1M=[[65520,65535]],_$1L=[[7040,7103]],_$1K=[[7360,7375]],_$1J=[[8304,8351]],_$1I=[[10224,10239]],_$1H=[[10496,10623]],_$1G=[[129024,129279]],_$1F=[[10752,11007]],_$1E=[[11776,11903]],_$1D=[[129280,129535]],_$1C=[[983040,1048575]],_$1B=[[1048576,1114111]],_$1A=[[120832,121519]],_$1z=[[43008,43055]],_$1y=[[1792,1871]],_$1x=[[2144,2159]],_$1w=[[5888,5919]],_$1v=[[5984,6015]],_$1u=[[917504,917631]],_$1t=[[6480,6527]],_$1s=[[6688,6831]],_$1r=[[43648,43743]],_$1q=[[119552,119647]],_$1p=[[71296,71375]],_$1o=[[2944,3071]],_$1n=[[94208,100351]],_$1m=[[100352,101119]],_$1l=[[3072,3199]],_$1k=[[1920,1983]],_$1j=[[3584,3711]],_$1i=[[3840,4095]],_$1h=[[11568,11647]],_$1g=[[70784,70879]],_$1f=[[128640,128767]],_$1e=[[66432,66463]],_$1d=[[5120,5759]],_$1c=[[6320,6399]],_$1b=[[42240,42559]],_$1a=[[65024,65039]],_$19=[[917760,917999]],_$18=[[7376,7423]],_$17=[[65040,65055]],_$16=[[71840,71935]],_$15=[[42128,42191]],_$14=[[40960,42127]],_$13=[[19904,19967]],_$12=[[72192,72271]],_$11=[[2160,2207],[66928,67007],[67456,67519],[69248,69375],[69488,69631],[71936,72031],[72096,72191],[72368,72383],[72448,72543],[73472,73567],[73648,73727],[77712,77823],[78896,78943],[92784,92879],[101120,101759],[110576,110591],[110896,110959],[118528,118735],[119488,119519],[122624,122879],[122928,123023],[123136,123215],[123536,123647],[124112,124159],[124896,124927],[126208,126287],[129648,130047],[196608,205743]],index$4=Object.freeze(Object.defineProperty({__proto__:null,Adlam:_$5A,Aegean_Numbers:_$5z,Ahom:_$5y,Alchemical_Symbols:_$5x,Alphabetic_Presentation_Forms:_$5w,Anatolian_Hieroglyphs:_$5v,Ancient_Greek_Musical_Notation:_$5u,Ancient_Greek_Numbers:_$5t,Ancient_Symbols:_$5s,Arabic:_$5r,Arabic_Extended_A:_$5q,Arabic_Mathematical_Alphabetic_Symbols:_$5p,Arabic_Presentation_Forms_A:_$5o,Arabic_Presentation_Forms_B:_$5n,Arabic_Supplement:_$5m,Armenian:_$5l,Arrows:_$5k,Avestan:_$5j,Balinese:_$5i,Bamum:_$5h,Bamum_Supplement:_$5g,Basic_Latin:_$5f,Bassa_Vah:_$5e,Batak:_$5d,Bengali:_$5c,Bhaiksuki:_$5b,Block_Elements:_$5a,Bopomofo:_$59,Bopomofo_Extended:_$58,Box_Drawing:_$57,Brahmi:_$56,Braille_Patterns:_$55,Buginese:_$54,Buhid:_$53,Byzantine_Musical_Symbols:_$52,CJK_Compatibility:_$51,CJK_Compatibility_Forms:_$50,CJK_Compatibility_Ideographs:_$4$,CJK_Compatibility_Ideographs_Supplement:_$4_,CJK_Radicals_Supplement:_$4Z,CJK_Strokes:_$4Y,CJK_Symbols_And_Punctuation:_$4X,CJK_Unified_Ideographs:_$4W,CJK_Unified_Ideographs_Extension_A:_$4V,CJK_Unified_Ideographs_Extension_B:_$4U,CJK_Unified_Ideographs_Extension_C:_$4T,CJK_Unified_Ideographs_Extension_D:_$4S,CJK_Unified_Ideographs_Extension_E:_$4R,CJK_Unified_Ideographs_Extension_F:_$4Q,Carian:_$4P,Caucasian_Albanian:_$4O,Chakma:_$4N,Cham:_$4M,Cherokee:_$4L,Cherokee_Supplement:_$4K,Chess_Symbols:_$4J,Combining_Diacritical_Marks:_$4I,Combining_Diacritical_Marks_Extended:_$4H,Combining_Diacritical_Marks_For_Symbols:_$4G,Combining_Diacritical_Marks_Supplement:_$4F,Combining_Half_Marks:_$4E,Common_Indic_Number_Forms:_$4D,Control_Pictures:_$4C,Coptic:_$4B,Coptic_Epact_Numbers:_$4A,Counting_Rod_Numerals:_$4z,Cuneiform:_$4y,Cuneiform_Numbers_And_Punctuation:_$4x,Currency_Symbols:_$4w,Cypriot_Syllabary:_$4v,Cyrillic:_$4u,Cyrillic_Extended_A:_$4t,Cyrillic_Extended_B:_$4s,Cyrillic_Extended_C:_$4r,Cyrillic_Supplement:_$4q,Deseret:_$4p,Devanagari:_$4o,Devanagari_Extended:_$4n,Dingbats:_$4m,Dogra:_$4l,Domino_Tiles:_$4k,Duployan:_$4j,Early_Dynastic_Cuneiform:_$4i,Egyptian_Hieroglyphs:_$4h,Elbasan:_$4g,Emoticons:_$4f,Enclosed_Alphanumeric_Supplement:_$4e,Enclosed_Alphanumerics:_$4d,Enclosed_CJK_Letters_And_Months:_$4c,Enclosed_Ideographic_Supplement:_$4b,Ethiopic:_$4a,Ethiopic_Extended:_$49,Ethiopic_Extended_A:_$48,Ethiopic_Supplement:_$47,General_Punctuation:_$46,Geometric_Shapes:_$45,Geometric_Shapes_Extended:_$44,Georgian:_$43,Georgian_Extended:_$42,Georgian_Supplement:_$41,Glagolitic:_$40,Glagolitic_Supplement:_$3$,Gothic:_$3_,Grantha:_$3Z,Greek_And_Coptic:_$3Y,Greek_Extended:_$3X,Gujarati:_$3W,Gunjala_Gondi:_$3V,Gurmukhi:_$3U,Halfwidth_And_Fullwidth_Forms:_$3T,Hangul_Compatibility_Jamo:_$3S,Hangul_Jamo:_$3R,Hangul_Jamo_Extended_A:_$3Q,Hangul_Jamo_Extended_B:_$3P,Hangul_Syllables:_$3O,Hanifi_Rohingya:_$3N,Hanunoo:_$3M,Hatran:_$3L,Hebrew:_$3K,High_Private_Use_Surrogates:_$3J,High_Surrogates:_$3I,Hiragana:_$3H,IPA_Extensions:_$3G,Ideographic_Description_Characters:_$3F,Ideographic_Symbols_And_Punctuation:_$3E,Imperial_Aramaic:_$3D,Indic_Siyaq_Numbers:_$3C,Inscriptional_Pahlavi:_$3B,Inscriptional_Parthian:_$3A,Javanese:_$3z,Kaithi:_$3y,Kana_Extended_A:_$3x,Kana_Supplement:_$3w,Kanbun:_$3v,Kangxi_Radicals:_$3u,Kannada:_$3t,Katakana:_$3s,Katakana_Phonetic_Extensions:_$3r,Kayah_Li:_$3q,Kharoshthi:_$3p,Khmer:_$3o,Khmer_Symbols:_$3n,Khojki:_$3m,Khudawadi:_$3l,Lao:_$3k,Latin_1_Supplement:_$3j,Latin_Extended_A:_$3i,Latin_Extended_Additional:_$3h,Latin_Extended_B:_$3g,Latin_Extended_C:_$3f,Latin_Extended_D:_$3e,Latin_Extended_E:_$3d,Lepcha:_$3c,Letterlike_Symbols:_$3b,Limbu:_$3a,Linear_A:_$39,Linear_B_Ideograms:_$38,Linear_B_Syllabary:_$37,Lisu:_$36,Low_Surrogates:_$35,Lycian:_$34,Lydian:_$33,Mahajani:_$32,Mahjong_Tiles:_$31,Makasar:_$30,Malayalam:_$2$,Mandaic:_$2_,Manichaean:_$2Z,Marchen:_$2Y,Masaram_Gondi:_$2X,Mathematical_Alphanumeric_Symbols:_$2W,Mathematical_Operators:_$2V,Mayan_Numerals:_$2U,Medefaidrin:_$2T,Meetei_Mayek:_$2S,Meetei_Mayek_Extensions:_$2R,Mende_Kikakui:_$2Q,Meroitic_Cursive:_$2P,Meroitic_Hieroglyphs:_$2O,Miao:_$2N,Miscellaneous_Mathematical_Symbols_A:_$2M,Miscellaneous_Mathematical_Symbols_B:_$2L,Miscellaneous_Symbols:_$2K,Miscellaneous_Symbols_And_Arrows:_$2J,Miscellaneous_Symbols_And_Pictographs:_$2I,Miscellaneous_Technical:_$2H,Modi:_$2G,Modifier_Tone_Letters:_$2F,Mongolian:_$2E,Mongolian_Supplement:_$2D,Mro:_$2C,Multani:_$2B,Musical_Symbols:_$2A,Myanmar:_$2z,Myanmar_Extended_A:_$2y,Myanmar_Extended_B:_$2x,NKo:_$2w,Nabataean:_$2v,New_Tai_Lue:_$2u,Newa:_$2t,Number_Forms:_$2s,Nushu:_$2r,Ogham:_$2q,Ol_Chiki:_$2p,Old_Hungarian:_$2o,Old_Italic:_$2n,Old_North_Arabian:_$2m,Old_Permic:_$2l,Old_Persian:_$2k,Old_Sogdian:_$2j,Old_South_Arabian:_$2i,Old_Turkic:_$2h,Optical_Character_Recognition:_$2g,Oriya:_$2f,Ornamental_Dingbats:_$2e,Osage:_$2d,Osmanya:_$2c,Pahawh_Hmong:_$2b,Palmyrene:_$2a,Pau_Cin_Hau:_$29,Phags_Pa:_$28,Phaistos_Disc:_$27,Phoenician:_$26,Phonetic_Extensions:_$25,Phonetic_Extensions_Supplement:_$24,Playing_Cards:_$23,Private_Use_Area:_$22,Psalter_Pahlavi:_$21,Rejang:_$20,Rumi_Numeral_Symbols:_$1$,Runic:_$1_,Samaritan:_$1Z,Saurashtra:_$1Y,Sharada:_$1X,Shavian:_$1W,Shorthand_Format_Controls:_$1V,Siddham:_$1U,Sinhala:_$1T,Sinhala_Archaic_Numbers:_$1S,Small_Form_Variants:_$1R,Sogdian:_$1Q,Sora_Sompeng:_$1P,Soyombo:_$1O,Spacing_Modifier_Letters:_$1N,Specials:_$1M,Sundanese:_$1L,Sundanese_Supplement:_$1K,Superscripts_And_Subscripts:_$1J,Supplemental_Arrows_A:_$1I,Supplemental_Arrows_B:_$1H,Supplemental_Arrows_C:_$1G,Supplemental_Mathematical_Operators:_$1F,Supplemental_Punctuation:_$1E,Supplemental_Symbols_And_Pictographs:_$1D,Supplementary_Private_Use_Area_A:_$1C,Supplementary_Private_Use_Area_B:_$1B,Sutton_SignWriting:_$1A,Syloti_Nagri:_$1z,Syriac:_$1y,Syriac_Supplement:_$1x,Tagalog:_$1w,Tagbanwa:_$1v,Tags:_$1u,Tai_Le:_$1t,Tai_Tham:_$1s,Tai_Viet:_$1r,Tai_Xuan_Jing_Symbols:_$1q,Takri:_$1p,Tamil:_$1o,Tangut:_$1n,Tangut_Components:_$1m,Telugu:_$1l,Thaana:_$1k,Thai:_$1j,Tibetan:_$1i,Tifinagh:_$1h,Tirhuta:_$1g,Transport_And_Map_Symbols:_$1f,Ugaritic:_$1e,Unified_Canadian_Aboriginal_Syllabics:_$1d,Unified_Canadian_Aboriginal_Syllabics_Extended:_$1c,Vai:_$1b,Variation_Selectors:_$1a,Variation_Selectors_Supplement:_$19,Vedic_Extensions:_$18,Vertical_Forms:_$17,Warang_Citi:_$16,Yi_Radicals:_$15,Yi_Syllables:_$14,Yijing_Hexagram_Symbols:_$13,Zanabazar_Square:_$12,undefined:_$11},Symbol.toStringTag,{value:"Module"})),index$3=Object.freeze(Object.defineProperty({__proto__:null},Symbol.toStringTag,{value:"Module"})),_$10=[41,93,125,3899,3901,5788,8262,8318,8334,8969,8971,9002,10089,10091,10093,10095,10097,10099,10101,10182,10215,10217,10219,10221,10223,10628,10630,10632,10634,10636,10638,10640,10642,10644,10646,10648,10713,10715,10749,11811,11813,11815,11817,11862,11864,11866,11868,12297,12299,12301,12303,12305,12309,12311,12313,12315,65114,65116,65118,65289,65341,65373,65376,65379],_$$=[[0,39],[42,90],92,[94,122],124,[126,3897],[3902,5786],[5789,8260],[8263,8316],[8319,8332],[8335,8967],[8972,9e3],[9003,10087],[10102,10180],[10183,10213],[10224,10626],[10649,10711],[10716,10747],[10750,11809],[11818,11860],[11869,12295],[12306,12307],[12316,65112],[65119,65287],[65290,65338],65340,[65342,65370],65372,65374,65377,[65380,1114111]],_$_=[40,91,123,3898,3900,5787,8261,8317,8333,8968,8970,9001,10088,10090,10092,10094,10096,10098,10100,10181,10214,10216,10218,10220,10222,10627,10629,10631,10633,10635,10637,10639,10641,10643,10645,10647,10712,10714,10748,11810,11812,11814,11816,11861,11863,11865,11867,12296,12298,12300,12302,12304,12308,12310,12312,12314,65113,65115,65117,65288,65339,65371,65375,65378],index$2=Object.freeze(Object.defineProperty({__proto__:null,Close:_$10,None:_$$,Open:_$_},Symbol.toStringTag,{value:"Module"})),_$Z=[35,38,42,[60,62],[64,90],[94,122],126,166,169,172,[174,175],181,[192,214],[216,246],[248,710],[718,719],[721,727],732,734,[736,767],[880,887],[890,893],895,[900,906],908,[910,929],[931,1154],[1162,1327],[1329,1366],[1369,1416],[1421,1422],1472,1475,[1523,1524],[1536,1544],[1550,1551],[1568,1610],[1645,1647],[1649,1747],1749,[1757,1758],[1765,1766],1769,[1774,1775],[1786,1805],[1807,1808],[1810,1839],[1869,1957],1969,[1994,2026],[2036,2039],2042,[2048,2069],2074,2084,2088,[2096,2110],[2112,2136],2142,[2144,2154],[2160,2190],[2192,2193],[2208,2249],2274,[2308,2361],2365,2384,[2392,2401],[2416,2432],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],2493,2510,[2524,2525],[2527,2529],[2544,2545],[2548,2552],2554,[2556,2557],[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],[2649,2652],2654,[2674,2676],2678,[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],2749,2768,[2784,2785],2800,2809,[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],2877,[2908,2909],[2911,2913],[2928,2935],2947,[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],3024,[3056,3064],3066,[3077,3084],[3086,3088],[3090,3112],[3114,3129],3133,[3160,3162],3165,[3168,3169],[3192,3200],[3205,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],3261,[3293,3294],[3296,3297],[3313,3314],[3332,3340],[3342,3344],[3346,3386],3389,[3406,3407],[3412,3414],[3416,3425],[3440,3448],[3450,3455],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],3572,3663,3840,3845,3859,[3861,3863],[3866,3871],[3882,3891],3894,3896,[3904,3911],[3913,3948],[3976,3980],[4032,4037],[4039,4044],[4046,4047],[4052,4056],[4172,4175],[4256,4293],4295,4301,[4304,4351],[4608,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],4960,[4962,4988],[4992,5017],[5024,5109],[5112,5117],[5121,5759],[5761,5786],[5792,5866],[5870,5880],[5888,5905],[5919,5937],[5952,5969],[5984,5996],[5998,6e3],6105,[6128,6137],[6144,6145],6151,6154,[6176,6264],[6272,6276],[6279,6312],6314,[6320,6389],[6400,6430],6464,[6624,6678],[6686,6687],[6917,6963],[6981,6988],7004,[7009,7018],[7028,7036],[7043,7072],[7086,7087],[7098,7141],[7164,7203],[7245,7247],[7258,7293],[7296,7304],[7312,7354],[7357,7367],7379,[7401,7404],[7406,7411],[7413,7414],7418,[7424,7615],[7680,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8132],[8134,8147],[8150,8155],[8157,8175],[8178,8180],[8182,8188],8190,8215,[8226,8227],8248,[8254,8259],[8266,8277],8284,[8289,8292],[8304,8305],[8309,8316],8320,[8325,8332],[8336,8348],[8448,8450],8452,[8454,8456],[8458,8466],[8468,8469],[8471,8480],[8483,8490],[8492,8531],[8534,8538],[8540,8541],8543,[8556,8559],[8570,8584],[8586,8587],[8602,8657],8659,[8661,8703],8705,[8708,8710],[8713,8714],[8716,8718],8720,8724,[8726,8729],[8731,8732],[8737,8738],8740,8742,8749,[8751,8755],[8760,8763],[8766,8775],[8777,8779],[8781,8785],[8787,8799],[8802,8803],[8808,8809],[8812,8813],[8816,8833],[8836,8837],[8840,8852],[8854,8856],[8858,8868],[8870,8894],[8896,8942],[8944,8967],[8972,8977],[8979,8985],[8988,9e3],[9003,9199],[9204,9254],[9280,9290],9471,[9548,9551],[9589,9599],[9616,9617],[9622,9631],9634,[9642,9649],[9652,9653],[9656,9659],[9662,9663],[9666,9669],[9673,9674],[9676,9677],[9682,9697],[9702,9710],[9712,9727],9732,[9735,9736],[9738,9741],[9744,9747],9753,[9760,9784],[9788,9791],9793,[9795,9823],9826,9830,9835,9838,[9840,9854],[9856,9885],[9888,9916],9934,9954,[9956,9959],[9989,9991],[9998,10070],[10072,10074],10081,[10085,10087],[10132,10180],[10183,10213],[10224,10626],[10649,10711],[10716,10747],[10750,11092],[11098,11123],[11126,11157],[11159,11502],[11506,11507],11517,[11520,11557],11559,11565,[11568,11623],11631,[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],11798,[11802,11803],[11806,11807],11823,11826,[11829,11833],11839,11851,11853,[11856,11858],[19904,19967],[42192,42237],[42240,42508],[42512,42527],[42538,42539],[42560,42606],42611,[42622,42653],[42656,42735],42738,[42752,42954],[42960,42961],42963,[42965,42969],[42994,43009],[43011,43013],[43015,43018],[43020,43042],[43048,43051],[43056,43063],43065,[43072,43123],[43138,43187],[43250,43259],[43261,43262],[43274,43301],[43312,43334],43359,[43396,43442],[43457,43462],[43466,43469],43471,[43486,43487],[43520,43560],[43584,43586],[43588,43595],43612,[43744,43754],[43762,43764],[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43824,43883],[43888,44002],[64256,64262],[64275,64279],64297,[64336,64450],[64467,64829],[64832,64911],[64914,64967],64975,[65008,65019],[65021,65023],[65136,65140],[65142,65276],[65512,65518],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[65799,65843],[65847,65934],[65936,65948],65952,[66e3,66044],[66176,66204],[66208,66256],[66273,66299],[66304,66339],[66349,66378],[66384,66421],[66432,66461],[66464,66499],[66504,66511],[66513,66517],[66560,66717],[66736,66771],[66776,66811],[66816,66855],[66864,66915],[66927,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[67072,67382],[67392,67413],[67424,67431],[67456,67461],[67463,67504],[67506,67514],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67672,67742],[67751,67759],[67808,67826],[67828,67829],[67835,67867],[67872,67897],67903,[67968,68023],[68028,68047],[68050,68096],[68112,68115],[68117,68119],[68121,68149],[68160,68168],68184,[68192,68255],[68288,68324],[68331,68335],[68352,68405],[68416,68437],[68440,68466],[68472,68497],[68505,68508],[68521,68527],[68608,68680],[68736,68786],[68800,68850],[68858,68899],[69216,69246],[69248,69289],[69296,69297],[69376,69415],[69424,69445],[69457,69465],[69488,69505],[69510,69513],[69552,69579],[69600,69622],[69635,69687],[69705,69709],[69714,69733],[69745,69746],69749,[69763,69807],[69819,69821],69837,[69840,69864],[69891,69926],69956,69959,[69968,70002],70004,70006,[70019,70066],[70081,70084],70087,70093,70106,70108,[70113,70132],[70144,70161],[70163,70187],70202,70205,[70207,70208],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70312],[70320,70366],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],70461,70480,[70493,70497],[70656,70708],[70727,70730],70735,70749,[70751,70753],[70784,70831],[70852,70855],[71040,71086],[71110,71112],[71128,71131],[71168,71215],[71235,71236],[71296,71338],[71352,71353],[71680,71723],71739,[71840,71903],[71914,71922],[71935,71942],71945,[71948,71955],[71957,71958],[71960,71983],71999,72001,[72096,72103],[72106,72144],72161,72163,72192,[72203,72242],72250,72256,72262,72272,[72284,72329],72349,[72368,72440],[72704,72712],[72714,72750],72768,[72794,72812],[72818,72847],[72960,72966],[72968,72969],[72971,73008],73030,[73056,73061],[73063,73064],[73066,73097],73112,[73440,73458],[73463,73464],73474,[73476,73488],[73490,73523],73648,[73664,73692],[73697,73713],[73728,74649],[74752,74862],[74880,75075],[77712,77810],[77824,78423],[78430,78465],[78467,78469],[78474,78712],[78716,78895],[78913,78918],[82944,83405],[83408,83526],[92160,92728],[92736,92766],[92784,92862],[92880,92909],[92928,92975],[92986,92995],92997,[93019,93025],[93027,93047],[93053,93071],[93760,93846],[93849,93850],[93952,94026],94032,[94099,94111],[101120,101589],[110576,110579],[110581,110587],[110589,110590],[113664,113770],[113776,113788],[113792,113800],[113808,113817],113820,[118608,118723],[118784,119029],[119040,119078],[119081,119140],[119146,119148],[119171,119172],[119180,119209],[119214,119274],[119296,119361],119365,[119488,119507],[119520,119539],[119552,119638],[119648,119672],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120779],[120832,121343],[121399,121402],[121453,121460],[121462,121475],[121477,121478],121483,[122624,122654],[122661,122666],[122928,122989],[123136,123180],[123191,123197],[123214,123215],[123536,123565],[123584,123627],[124112,124139],[124896,124902],[124904,124907],[124909,124910],[124912,124926],[124928,125124],[125127,125135],[125184,125251],125259,[126065,126123],[126125,126127],[126129,126132],[126209,126269],[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[126704,126705],[127278,127279],[127338,127340],[127900,127901],[127925,127926],127932,128160,128162,128164,128175,[128177,128178],[128256,128262],[128279,128292],[128306,128329],[128468,128475],[128500,128505],[128592,128629],[128636,128639],[128768,128883],[128896,128980],[129024,129035],[129040,129095],[129104,129113],[129120,129159],[129168,129197],[129280,129291],[129536,129619],[129792,129938],[129940,129994]],_$Y=[[167,168],170,[178,179],[182,186],[188,190],215,247,711,[713,715],717,720,[728,731],733,[8213,8214],[8224,8225],8251,8308,8319,[8321,8324],8453,8467,[8481,8482],8491,[8532,8533],8539,8542,[8544,8555],[8560,8569],8585,[8592,8601],8658,8660,8704,[8706,8707],[8711,8712],8715,8719,8721,8725,8730,[8733,8736],8739,8741,[8743,8748],8750,[8756,8759],[8764,8765],8776,8780,8786,[8800,8801],[8804,8807],[8810,8811],[8814,8815],[8834,8835],[8838,8839],8853,8857,8869,8895,8978,[9312,9470],[9472,9547],[9552,9588],[9600,9615],[9618,9621],[9632,9633],[9635,9641],[9650,9651],[9654,9655],[9660,9661],[9664,9665],[9670,9672],9675,[9678,9681],[9698,9701],9711,[9733,9734],9737,[9742,9743],[9750,9751],9792,9794,[9824,9825],[9827,9829],9831,[9833,9834],[9836,9837],9839,[9886,9887],[9929,9932],9938,[9941,9943],[9946,9947],[9949,9950],9955,[9960,9961],[9963,9968],9974,[9979,9980],10071,[10102,10131],[11093,11097],[12872,12879],65533,[127232,127244],[127248,127277],[127280,127337],[127344,127404]],_$X=[9,124,173,1418,1470,[2404,2405],[3674,3675],3851,3892,3967,3973,[4030,4031],4050,[4170,4171],4961,5120,5760,[5867,5869],[5941,5942],[6100,6101],6104,6106,[6148,6149],[7002,7003],[7005,7008],[7037,7038],[7227,7231],[7294,7295],[8192,8198],[8200,8202],8208,[8210,8211],8231,8278,[8280,8283],[8285,8287],[11514,11516],11519,11632,[11790,11797],11799,11801,[11818,11821],[11824,11825],[11827,11828],[11836,11838],[11840,11841],[11843,11850],11852,[11854,11855],11869,12288,[42238,42239],42509,42511,[42739,42743],[43214,43215],[43310,43311],[43463,43465],[43613,43615],[43760,43761],44011,[65792,65794],66463,66512,67671,67871,[68176,68183],[68336,68341],[68409,68415],69293,[69703,69704],[69822,69825],[69952,69955],[70085,70086],70088,[70109,70111],[70200,70201],[70203,70204],70313,[70731,70734],[70746,70747],[71106,71107],[71113,71127],[71233,71234],[71484,71486],[72004,72006],[72257,72260],[72346,72348],[72353,72354],[72769,72773],[73539,73540],73727,[74864,74868],[92782,92783],92917,[92983,92985],92996,[93847,93848],113823,[121479,121482]],_$W=[180,712,716,735,3191,3204,[3841,3844],[3846,3847],[3849,3850],[4048,4049],4051,6150,8189,[43124,43125],43260,70005,70107,71105,[71264,71276],72162,72255,72261,[72350,72352],[72448,72457],72816],_$V=[8212,[11834,11835]],_$U=[47],_$T=[13],_$S=[41,93],_$R=[125,3899,3901,5788,8262,8318,8334,8969,8971,9002,10089,10091,10093,10095,10097,10099,10101,10182,10215,10217,10219,10221,10223,10628,10630,10632,10634,10636,10638,10640,10642,10644,10646,10648,10713,10715,10749,11811,11813,11815,11817,11862,11864,11866,11868,[12289,12290],12297,12299,12301,12303,12305,12309,12311,12313,12315,[12318,12319],64830,[65041,65042],65048,65078,65080,65082,65084,65086,65088,65090,65092,65096,65104,65106,65114,65116,65118,65289,65292,65294,65341,65373,[65376,65377],[65379,65380],[78427,78429],78466,78471,78473,[78714,78715],78904,78909,78911,83407],_$Q=[[0,8],[14,31],[127,132],[134,159],[768,846],[848,859],[867,879],[1155,1161],[1425,1469],1471,[1473,1474],[1476,1477],1479,[1552,1562],1564,[1611,1631],1648,[1750,1756],[1759,1764],[1767,1768],[1770,1773],1809,[1840,1866],[1958,1968],[2027,2035],2045,[2070,2073],[2075,2083],[2085,2087],[2089,2093],[2137,2139],[2200,2207],[2250,2273],[2275,2307],[2362,2364],[2366,2383],[2385,2391],[2402,2403],[2433,2435],2492,[2494,2500],[2503,2504],[2507,2509],2519,[2530,2531],2558,[2561,2563],2620,[2622,2626],[2631,2632],[2635,2637],2641,[2672,2673],2677,[2689,2691],2748,[2750,2757],[2759,2761],[2763,2765],[2786,2787],[2810,2815],[2817,2819],2876,[2878,2884],[2887,2888],[2891,2893],[2901,2903],[2914,2915],2946,[3006,3010],[3014,3016],[3018,3021],3031,[3072,3076],3132,[3134,3140],[3142,3144],[3146,3149],[3157,3158],[3170,3171],[3201,3203],3260,[3262,3268],[3270,3272],[3274,3277],[3285,3286],[3298,3299],3315,[3328,3331],[3387,3388],[3390,3396],[3398,3400],[3402,3405],3415,[3426,3427],[3457,3459],3530,[3535,3540],3542,[3544,3551],[3570,3571],[3864,3865],3893,3895,3897,[3902,3903],[3953,3966],[3968,3972],[3974,3975],[3981,3991],[3993,4028],4038,[4957,4959],[5906,5909],[5938,5940],[5970,5971],[6002,6003],[6155,6157],6159,[6277,6278],6313,[6432,6443],[6448,6459],[6679,6683],6783,[6832,6862],[6912,6916],[6964,6980],[7019,7027],[7040,7042],[7073,7085],[7142,7155],[7204,7223],[7376,7378],[7380,7400],7405,7412,[7415,7417],[7616,7628],[7630,7675],[7677,7679],8204,[8206,8207],[8234,8238],[8294,8303],[8400,8432],[11503,11505],11647,[11744,11775],[12330,12335],12341,[12441,12442],[42607,42610],[42612,42621],[42654,42655],[42736,42737],43010,43014,43019,[43043,43047],43052,[43136,43137],[43188,43205],[43232,43249],43263,[43302,43309],[43335,43347],[43392,43395],[43443,43456],[43561,43574],43587,[43596,43597],[43755,43759],[43765,43766],[44003,44010],[44012,44013],64286,[65024,65039],[65056,65071],[65529,65531],66045,66272,[66422,66426],[68097,68099],[68101,68102],[68108,68111],[68152,68154],68159,[68325,68326],[68900,68903],[69291,69292],[69373,69375],[69446,69456],[69506,69509],[69632,69634],[69688,69702],69744,[69747,69748],[69759,69762],[69808,69818],69826,[69888,69890],[69927,69940],[69957,69958],70003,[70016,70018],[70067,70080],[70089,70092],[70094,70095],[70188,70199],70206,70209,[70367,70378],[70400,70403],[70459,70460],[70462,70468],[70471,70472],[70475,70477],70487,[70498,70499],[70502,70508],[70512,70516],[70709,70726],70750,[70832,70851],[71087,71093],[71096,71104],[71132,71133],[71216,71232],[71339,71351],[71724,71738],[71984,71989],[71991,71992],[71995,71998],72e3,[72002,72003],[72145,72151],[72154,72160],72164,[72193,72202],[72243,72249],[72251,72254],72263,[72273,72283],[72330,72345],[72751,72758],[72760,72767],[72850,72871],[72873,72886],[73009,73014],73018,[73020,73021],[73023,73029],73031,[73098,73102],[73104,73105],[73107,73111],[73459,73462],[73472,73473],73475,[73524,73530],[73534,73538],78912,[78919,78933],[92912,92916],[92976,92982],94031,[94033,94087],[94095,94098],[94192,94193],[113821,113822],[113824,113827],[118528,118573],[118576,118598],[119141,119145],[119149,119170],[119173,119179],[119210,119213],[119362,119364],[121344,121398],[121403,121452],121461,121476,[121499,121503],[121505,121519],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],123023,[123184,123190],123566,[123628,123631],[124140,124143],[125136,125142],[125252,125258],917505,[917536,917631],[917760,917999]],_$P=[[3585,3642],[3648,3662],[3713,3714],3716,[3718,3722],[3724,3747],3749,[3751,3773],[3776,3780],3782,[3784,3790],[3804,3807],[4096,4159],[4176,4239],[4250,4255],[6016,6099],6103,[6108,6109],[6480,6509],[6512,6516],[6528,6571],[6576,6601],6618,[6622,6623],[6688,6750],[6752,6780],[6816,6829],[43488,43503],[43514,43518],[43616,43714],[43739,43743],[71424,71450],[71453,71467],[71482,71483],[71487,71494]],_$O=[12353,12355,12357,12359,12361,12387,12419,12421,12423,12430,[12437,12438],12449,12451,12453,12455,12457,12483,12515,12517,12519,12526,[12533,12534],12540,[12784,12799],[65383,65392],110898,[110928,110930],110933,[110948,110951]],_$N=[65532],_$M=[9757,9977,[9994,9997],127877,[127938,127940],127943,[127946,127948],[128066,128067],[128070,128080],[128102,128120],128124,[128129,128131],[128133,128135],128143,128145,128170,[128372,128373],128378,128400,[128405,128406],[128581,128583],[128587,128591],128675,[128692,128694],128704,128716,129292,129295,[129304,129311],129318,[129328,129337],[129340,129342],129399,[129461,129462],[129464,129465],129467,[129485,129487],[129489,129501],[129731,129733],[129776,129784]],_$L=[[127995,127999]],_$K=[33,63,1478,1563,[1565,1567],1748,2041,[3853,3857],3860,[6146,6147],[6152,6153],[6468,6469],[10082,10083],11513,11518,11822,[11859,11860],42510,[43126,43127],[65045,65046],[65110,65111],65281,65311,[71108,71109],72817],_$J=[160,847,[860,866],3848,3852,3858,[4057,4058],6158,7629,7676,8199,8209,8239,[78896,78902],[78905,78907],94180],_$I=[44032,44060,44088,44116,44144,44172,44200,44228,44256,44284,44312,44340,44368,44396,44424,44452,44480,44508,44536,44564,44592,44620,44648,44676,44704,44732,44760,44788,44816,44844,44872,44900,44928,44956,44984,45012,45040,45068,45096,45124,45152,45180,45208,45236,45264,45292,45320,45348,45376,45404,45432,45460,45488,45516,45544,45572,45600,45628,45656,45684,45712,45740,45768,45796,45824,45852,45880,45908,45936,45964,45992,46020,46048,46076,46104,46132,46160,46188,46216,46244,46272,46300,46328,46356,46384,46412,46440,46468,46496,46524,46552,46580,46608,46636,46664,46692,46720,46748,46776,46804,46832,46860,46888,46916,46944,46972,47e3,47028,47056,47084,47112,47140,47168,47196,47224,47252,47280,47308,47336,47364,47392,47420,47448,47476,47504,47532,47560,47588,47616,47644,47672,47700,47728,47756,47784,47812,47840,47868,47896,47924,47952,47980,48008,48036,48064,48092,48120,48148,48176,48204,48232,48260,48288,48316,48344,48372,48400,48428,48456,48484,48512,48540,48568,48596,48624,48652,48680,48708,48736,48764,48792,48820,48848,48876,48904,48932,48960,48988,49016,49044,49072,49100,49128,49156,49184,49212,49240,49268,49296,49324,49352,49380,49408,49436,49464,49492,49520,49548,49576,49604,49632,49660,49688,49716,49744,49772,49800,49828,49856,49884,49912,49940,49968,49996,50024,50052,50080,50108,50136,50164,50192,50220,50248,50276,50304,50332,50360,50388,50416,50444,50472,50500,50528,50556,50584,50612,50640,50668,50696,50724,50752,50780,50808,50836,50864,50892,50920,50948,50976,51004,51032,51060,51088,51116,51144,51172,51200,51228,51256,51284,51312,51340,51368,51396,51424,51452,51480,51508,51536,51564,51592,51620,51648,51676,51704,51732,51760,51788,51816,51844,51872,51900,51928,51956,51984,52012,52040,52068,52096,52124,52152,52180,52208,52236,52264,52292,52320,52348,52376,52404,52432,52460,52488,52516,52544,52572,52600,52628,52656,52684,52712,52740,52768,52796,52824,52852,52880,52908,52936,52964,52992,53020,53048,53076,53104,53132,53160,53188,53216,53244,53272,53300,53328,53356,53384,53412,53440,53468,53496,53524,53552,53580,53608,53636,53664,53692,53720,53748,53776,53804,53832,53860,53888,53916,53944,53972,54e3,54028,54056,54084,54112,54140,54168,54196,54224,54252,54280,54308,54336,54364,54392,54420,54448,54476,54504,54532,54560,54588,54616,54644,54672,54700,54728,54756,54784,54812,54840,54868,54896,54924,54952,54980,55008,55036,55064,55092,55120,55148,55176],_$H=[[44033,44059],[44061,44087],[44089,44115],[44117,44143],[44145,44171],[44173,44199],[44201,44227],[44229,44255],[44257,44283],[44285,44311],[44313,44339],[44341,44367],[44369,44395],[44397,44423],[44425,44451],[44453,44479],[44481,44507],[44509,44535],[44537,44563],[44565,44591],[44593,44619],[44621,44647],[44649,44675],[44677,44703],[44705,44731],[44733,44759],[44761,44787],[44789,44815],[44817,44843],[44845,44871],[44873,44899],[44901,44927],[44929,44955],[44957,44983],[44985,45011],[45013,45039],[45041,45067],[45069,45095],[45097,45123],[45125,45151],[45153,45179],[45181,45207],[45209,45235],[45237,45263],[45265,45291],[45293,45319],[45321,45347],[45349,45375],[45377,45403],[45405,45431],[45433,45459],[45461,45487],[45489,45515],[45517,45543],[45545,45571],[45573,45599],[45601,45627],[45629,45655],[45657,45683],[45685,45711],[45713,45739],[45741,45767],[45769,45795],[45797,45823],[45825,45851],[45853,45879],[45881,45907],[45909,45935],[45937,45963],[45965,45991],[45993,46019],[46021,46047],[46049,46075],[46077,46103],[46105,46131],[46133,46159],[46161,46187],[46189,46215],[46217,46243],[46245,46271],[46273,46299],[46301,46327],[46329,46355],[46357,46383],[46385,46411],[46413,46439],[46441,46467],[46469,46495],[46497,46523],[46525,46551],[46553,46579],[46581,46607],[46609,46635],[46637,46663],[46665,46691],[46693,46719],[46721,46747],[46749,46775],[46777,46803],[46805,46831],[46833,46859],[46861,46887],[46889,46915],[46917,46943],[46945,46971],[46973,46999],[47001,47027],[47029,47055],[47057,47083],[47085,47111],[47113,47139],[47141,47167],[47169,47195],[47197,47223],[47225,47251],[47253,47279],[47281,47307],[47309,47335],[47337,47363],[47365,47391],[47393,47419],[47421,47447],[47449,47475],[47477,47503],[47505,47531],[47533,47559],[47561,47587],[47589,47615],[47617,47643],[47645,47671],[47673,47699],[47701,47727],[47729,47755],[47757,47783],[47785,47811],[47813,47839],[47841,47867],[47869,47895],[47897,47923],[47925,47951],[47953,47979],[47981,48007],[48009,48035],[48037,48063],[48065,48091],[48093,48119],[48121,48147],[48149,48175],[48177,48203],[48205,48231],[48233,48259],[48261,48287],[48289,48315],[48317,48343],[48345,48371],[48373,48399],[48401,48427],[48429,48455],[48457,48483],[48485,48511],[48513,48539],[48541,48567],[48569,48595],[48597,48623],[48625,48651],[48653,48679],[48681,48707],[48709,48735],[48737,48763],[48765,48791],[48793,48819],[48821,48847],[48849,48875],[48877,48903],[48905,48931],[48933,48959],[48961,48987],[48989,49015],[49017,49043],[49045,49071],[49073,49099],[49101,49127],[49129,49155],[49157,49183],[49185,49211],[49213,49239],[49241,49267],[49269,49295],[49297,49323],[49325,49351],[49353,49379],[49381,49407],[49409,49435],[49437,49463],[49465,49491],[49493,49519],[49521,49547],[49549,49575],[49577,49603],[49605,49631],[49633,49659],[49661,49687],[49689,49715],[49717,49743],[49745,49771],[49773,49799],[49801,49827],[49829,49855],[49857,49883],[49885,49911],[49913,49939],[49941,49967],[49969,49995],[49997,50023],[50025,50051],[50053,50079],[50081,50107],[50109,50135],[50137,50163],[50165,50191],[50193,50219],[50221,50247],[50249,50275],[50277,50303],[50305,50331],[50333,50359],[50361,50387],[50389,50415],[50417,50443],[50445,50471],[50473,50499],[50501,50527],[50529,50555],[50557,50583],[50585,50611],[50613,50639],[50641,50667],[50669,50695],[50697,50723],[50725,50751],[50753,50779],[50781,50807],[50809,50835],[50837,50863],[50865,50891],[50893,50919],[50921,50947],[50949,50975],[50977,51003],[51005,51031],[51033,51059],[51061,51087],[51089,51115],[51117,51143],[51145,51171],[51173,51199],[51201,51227],[51229,51255],[51257,51283],[51285,51311],[51313,51339],[51341,51367],[51369,51395],[51397,51423],[51425,51451],[51453,51479],[51481,51507],[51509,51535],[51537,51563],[51565,51591],[51593,51619],[51621,51647],[51649,51675],[51677,51703],[51705,51731],[51733,51759],[51761,51787],[51789,51815],[51817,51843],[51845,51871],[51873,51899],[51901,51927],[51929,51955],[51957,51983],[51985,52011],[52013,52039],[52041,52067],[52069,52095],[52097,52123],[52125,52151],[52153,52179],[52181,52207],[52209,52235],[52237,52263],[52265,52291],[52293,52319],[52321,52347],[52349,52375],[52377,52403],[52405,52431],[52433,52459],[52461,52487],[52489,52515],[52517,52543],[52545,52571],[52573,52599],[52601,52627],[52629,52655],[52657,52683],[52685,52711],[52713,52739],[52741,52767],[52769,52795],[52797,52823],[52825,52851],[52853,52879],[52881,52907],[52909,52935],[52937,52963],[52965,52991],[52993,53019],[53021,53047],[53049,53075],[53077,53103],[53105,53131],[53133,53159],[53161,53187],[53189,53215],[53217,53243],[53245,53271],[53273,53299],[53301,53327],[53329,53355],[53357,53383],[53385,53411],[53413,53439],[53441,53467],[53469,53495],[53497,53523],[53525,53551],[53553,53579],[53581,53607],[53609,53635],[53637,53663],[53665,53691],[53693,53719],[53721,53747],[53749,53775],[53777,53803],[53805,53831],[53833,53859],[53861,53887],[53889,53915],[53917,53943],[53945,53971],[53973,53999],[54001,54027],[54029,54055],[54057,54083],[54085,54111],[54113,54139],[54141,54167],[54169,54195],[54197,54223],[54225,54251],[54253,54279],[54281,54307],[54309,54335],[54337,54363],[54365,54391],[54393,54419],[54421,54447],[54449,54475],[54477,54503],[54505,54531],[54533,54559],[54561,54587],[54589,54615],[54617,54643],[54645,54671],[54673,54699],[54701,54727],[54729,54755],[54757,54783],[54785,54811],[54813,54839],[54841,54867],[54869,54895],[54897,54923],[54925,54951],[54953,54979],[54981,55007],[55009,55035],[55037,55063],[55065,55091],[55093,55119],[55121,55147],[55149,55175],[55177,55203]],_$G=[[1488,1514],[1519,1522],64285,[64287,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64335]],_$F=[45],_$E=[[8986,8987],[9200,9203],[9728,9731],[9748,9749],9752,[9754,9756],[9758,9759],[9785,9787],9832,9855,[9917,9928],9933,[9935,9937],[9939,9940],[9944,9945],9948,[9951,9953],9962,[9969,9973],[9975,9976],9978,[9981,9988],[9992,9993],10084,[11904,11929],[11931,12019],[12032,12245],[12272,12283],[12291,12292],[12294,12295],[12306,12307],[12320,12329],[12336,12340],[12342,12346],[12349,12351],12354,12356,12358,12360,[12362,12386],[12388,12418],12420,12422,[12424,12429],[12431,12436],12447,12450,12452,12454,12456,[12458,12482],[12484,12514],12516,12518,[12520,12525],[12527,12532],[12535,12538],12543,[12549,12591],[12593,12686],[12688,12771],[12800,12830],[12832,12871],[12880,19903],[19968,40980],[40982,42124],[42128,42182],[63744,64255],[65072,65076],[65093,65094],[65097,65103],65105,65112,[65119,65126],65128,65131,[65282,65283],[65286,65287],[65290,65291],65293,[65295,65305],[65308,65310],[65312,65338],65340,[65342,65370],65372,65374,65382,[65393,65437],[65440,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65506,65508],[73541,73551],[94208,100343],[100352,101119],[101632,101640],[110592,110882],[110960,111355],[126976,127231],[127245,127247],[127341,127343],[127405,127461],[127488,127876],[127878,127899],[127902,127924],[127927,127931],[127933,127937],[127941,127942],[127944,127945],[127949,127994],[128e3,128065],[128068,128069],[128081,128101],[128121,128123],[128125,128128],128132,[128136,128142],128144,[128146,128159],128161,128163,[128165,128169],[128171,128174],128176,[128179,128255],[128263,128278],[128293,128305],[128330,128371],[128374,128377],[128379,128399],[128401,128404],[128407,128467],[128476,128499],[128506,128580],[128584,128586],[128640,128674],[128676,128691],[128695,128703],[128705,128715],[128717,128767],[128884,128895],[128981,129023],[129036,129039],[129096,129103],[129114,129119],[129160,129167],[129198,129279],[129293,129294],[129296,129303],[129312,129317],[129319,129327],[129338,129339],[129343,129398],[129400,129460],129463,129466,[129468,129484],129488,[129502,129535],[129620,129730],[129734,129775],[129785,129791],[130048,131069],[131072,196605],[196608,262141]],_$D=[44,46,[58,59],894,1417,[1548,1549],2040,8260,65040,[65043,65044]],_$C=[[8228,8230],8943,65049,68342],_$B=[[4352,4447],[43360,43388]],_$A=[[4520,4607],[55243,55291]],_$z=[[4448,4519],[55216,55238]],_$y=[10],_$x=[[11,12],[8232,8233]],_$w=[133],_$v=[6102,[8252,8253],[8263,8265],12293,12316,[12347,12348],[12443,12446],12448,12539,[12541,12542],40981,[65108,65109],[65306,65307],65381,[65438,65439],[94176,94179],[128633,128635]],_$u=[[48,57],[1632,1641],[1643,1644],[1776,1785],[1984,1993],[2406,2415],[2534,2543],[2662,2671],[2790,2799],[2918,2927],[3046,3055],[3174,3183],[3302,3311],[3430,3439],[3558,3567],[3664,3673],[3792,3801],[3872,3881],[4160,4169],[4240,4249],[6112,6121],[6160,6169],[6470,6479],[6608,6617],[6784,6793],[6800,6809],[6992,7001],[7088,7097],[7232,7241],[7248,7257],[42528,42537],[43216,43225],[43264,43273],[43472,43481],[43504,43513],[43600,43609],[44016,44025],[66720,66729],[68912,68921],[69734,69743],[69872,69881],[69942,69951],[70096,70105],[70384,70393],[70736,70745],[70864,70873],[71248,71257],[71360,71369],[71472,71481],[71904,71913],[72016,72025],[72784,72793],[73040,73049],[73120,73129],[73552,73561],[92768,92777],[92864,92873],[93008,93017],[120782,120831],[123200,123209],[123632,123641],[124144,124153],[125264,125273],[130032,130041]],_$t=[40,91,123,161,191,3898,3900,5787,8218,8222,8261,8317,8333,8968,8970,9001,10088,10090,10092,10094,10096,10098,10100,10181,10214,10216,10218,10220,10222,10627,10629,10631,10633,10635,10637,10639,10641,10643,10645,10647,10712,10714,10748,11800,11810,11812,11814,11816,11842,11861,11863,11865,11867,12296,12298,12300,12302,12304,12308,12310,12312,12314,12317,64831,65047,65077,65079,65081,65083,65085,65087,65089,65091,65095,65113,65115,65117,65288,65339,65371,65375,65378,[78424,78426],78470,78472,78713,78903,78908,78910,83406,[125278,125279]],_$s=[37,162,176,[1545,1547],1642,[2546,2547],2553,3449,[8240,8247],8279,8359,8374,8379,8382,8384,8451,8457,43064,65020,65130,65285,65504,[73693,73696],126124,126128],_$r=[36,43,92,[163,165],177,1423,[2046,2047],2555,2801,3065,3647,6107,[8352,8358],[8360,8373],[8375,8378],[8380,8381],8383,[8385,8399],8470,[8722,8723],65129,65284,65505,[65509,65510],123647],_$q=[34,39,171,187,[8216,8217],[8219,8221],8223,[8249,8250],[10075,10080],[11776,11789],[11804,11805],[11808,11809],[128630,128632]],_$p=[[127462,127487]],_$o=[32],_$n=[[55296,57343]],_$m=[[888,889],[896,899],907,909,930,1328,[1367,1368],[1419,1420],1424,[1480,1487],[1515,1518],[1525,1535],1806,[1867,1868],[1970,1983],[2043,2044],[2094,2095],2111,[2140,2141],2143,[2155,2159],2191,[2194,2199],2436,[2445,2446],[2449,2450],2473,2481,[2483,2485],[2490,2491],[2501,2502],[2505,2506],[2511,2518],[2520,2523],2526,[2532,2533],[2559,2560],2564,[2571,2574],[2577,2578],2601,2609,2612,2615,[2618,2619],2621,[2627,2630],[2633,2634],[2638,2640],[2642,2648],2653,[2655,2661],[2679,2688],2692,2702,2706,2729,2737,2740,[2746,2747],2758,2762,[2766,2767],[2769,2783],[2788,2789],[2802,2808],2816,2820,[2829,2830],[2833,2834],2857,2865,2868,[2874,2875],[2885,2886],[2889,2890],[2894,2900],[2904,2907],2910,[2916,2917],[2936,2945],2948,[2955,2957],2961,[2966,2968],2971,2973,[2976,2978],[2981,2983],[2987,2989],[3002,3005],[3011,3013],3017,[3022,3023],[3025,3030],[3032,3045],[3067,3071],3085,3089,3113,[3130,3131],3141,3145,[3150,3156],3159,[3163,3164],[3166,3167],[3172,3173],[3184,3190],3213,3217,3241,3252,[3258,3259],3269,3273,[3278,3284],[3287,3292],3295,[3300,3301],3312,[3316,3327],3341,3345,3397,3401,[3408,3411],[3428,3429],3456,3460,[3479,3481],3506,3516,[3518,3519],[3527,3529],[3531,3534],3541,3543,[3552,3557],[3568,3569],[3573,3584],[3643,3646],[3676,3712],3715,3717,3723,3748,3750,[3774,3775],3781,3783,3791,[3802,3803],[3808,3839],3912,[3949,3952],3992,4029,4045,[4059,4095],4294,[4296,4300],[4302,4303],4681,[4686,4687],4695,4697,[4702,4703],4745,[4750,4751],4785,[4790,4791],4799,4801,[4806,4807],4823,4881,[4886,4887],[4955,4956],[4989,4991],[5018,5023],[5110,5111],[5118,5119],[5789,5791],[5881,5887],[5910,5918],[5943,5951],[5972,5983],5997,6001,[6004,6015],[6110,6111],[6122,6127],[6138,6143],[6170,6175],[6265,6271],[6315,6319],[6390,6399],6431,[6444,6447],[6460,6463],[6465,6467],[6510,6511],[6517,6527],[6572,6575],[6602,6607],[6619,6621],[6684,6685],6751,[6781,6782],[6794,6799],[6810,6815],[6830,6831],[6863,6911],[6989,6991],7039,[7156,7163],[7224,7226],[7242,7244],[7305,7311],[7355,7356],[7368,7375],[7419,7423],[7958,7959],[7966,7967],[8006,8007],[8014,8015],8024,8026,8028,8030,[8062,8063],8117,8133,[8148,8149],8156,[8176,8177],8181,8191,8293,[8306,8307],8335,[8349,8351],[8433,8447],[8588,8591],[9255,9279],[9291,9311],[11124,11125],11158,[11508,11512],11558,[11560,11564],[11566,11567],[11624,11630],[11633,11646],[11671,11679],11687,11695,11703,11711,11719,11727,11735,11743,[11870,11903],11930,[12020,12031],[12246,12271],[12284,12287],12352,[12439,12440],[12544,12548],12592,12687,[12772,12783],12831,[42125,42127],[42183,42191],[42540,42559],[42744,42751],[42955,42959],42962,42964,[42970,42993],[43053,43055],[43066,43071],[43128,43135],[43206,43213],[43226,43231],[43348,43358],[43389,43391],43470,[43482,43485],43519,[43575,43583],[43598,43599],[43610,43611],[43715,43738],[43767,43776],[43783,43784],[43791,43792],[43799,43807],43815,43823,[43884,43887],[44014,44015],[44026,44031],[55204,55215],[55239,55242],[55292,55295],[57344,63743],[64263,64274],[64280,64284],64311,64317,64319,64322,64325,[64451,64466],[64912,64913],[64968,64974],[64976,65007],[65050,65055],65107,65127,[65132,65135],65141,[65277,65278],65280,[65471,65473],[65480,65481],[65488,65489],[65496,65497],[65501,65503],65511,[65519,65528],[65534,65535],65548,65575,65595,65598,[65614,65615],[65630,65663],[65787,65791],[65795,65798],[65844,65846],65935,[65949,65951],[65953,65999],[66046,66175],[66205,66207],[66257,66271],[66300,66303],[66340,66348],[66379,66383],[66427,66431],66462,[66500,66503],[66518,66559],[66718,66719],[66730,66735],[66772,66775],[66812,66815],[66856,66863],[66916,66926],66939,66955,66963,66966,66978,66994,67002,[67005,67071],[67383,67391],[67414,67423],[67432,67455],67462,67505,[67515,67583],[67590,67591],67593,67638,[67641,67643],[67645,67646],67670,[67743,67750],[67760,67807],67827,[67830,67834],[67868,67870],[67898,67902],[67904,67967],[68024,68027],[68048,68049],68100,[68103,68107],68116,68120,[68150,68151],[68155,68158],[68169,68175],[68185,68191],[68256,68287],[68327,68330],[68343,68351],[68406,68408],[68438,68439],[68467,68471],[68498,68504],[68509,68520],[68528,68607],[68681,68735],[68787,68799],[68851,68857],[68904,68911],[68922,69215],69247,69290,[69294,69295],[69298,69372],[69416,69423],[69466,69487],[69514,69551],[69580,69599],[69623,69631],[69710,69713],[69750,69758],[69827,69836],[69838,69839],[69865,69871],[69882,69887],69941,[69960,69967],[70007,70015],70112,[70133,70143],70162,[70210,70271],70279,70281,70286,70302,[70314,70319],[70379,70383],[70394,70399],70404,[70413,70414],[70417,70418],70441,70449,70452,70458,[70469,70470],[70473,70474],[70478,70479],[70481,70486],[70488,70492],[70500,70501],[70509,70511],[70517,70655],70748,[70754,70783],[70856,70863],[70874,71039],[71094,71095],[71134,71167],[71237,71247],[71258,71263],[71277,71295],[71354,71359],[71370,71423],[71451,71452],[71468,71471],[71495,71679],[71740,71839],[71923,71934],[71943,71944],[71946,71947],71956,71959,71990,[71993,71994],[72007,72015],[72026,72095],[72104,72105],[72152,72153],[72165,72191],[72264,72271],[72355,72367],[72441,72447],[72458,72703],72713,72759,[72774,72783],[72813,72815],[72848,72849],72872,[72887,72959],72967,72970,[73015,73017],73019,73022,[73032,73039],[73050,73055],73062,73065,73103,73106,[73113,73119],[73130,73439],[73465,73471],73489,[73531,73533],[73562,73647],[73649,73663],[73714,73726],[74650,74751],74863,[74869,74879],[75076,77711],[77811,77823],[78934,82943],[83527,92159],[92729,92735],92767,[92778,92781],92863,[92874,92879],[92910,92911],[92918,92927],[92998,93007],93018,93026,[93048,93052],[93072,93759],[93851,93951],[94027,94030],[94088,94094],[94112,94175],[94181,94191],[94194,94207],[100344,100351],[101590,101631],[101641,110575],110580,110588,110591,[110883,110897],[110899,110927],[110931,110932],[110934,110947],[110952,110959],[111356,113663],[113771,113775],[113789,113791],[113801,113807],[113818,113819],[113828,118527],[118574,118575],[118599,118607],[118724,118783],[119030,119039],[119079,119080],[119275,119295],[119366,119487],[119508,119519],[119540,119551],[119639,119647],[119673,119807],119893,119965,[119968,119969],[119971,119972],[119975,119976],119981,119994,119996,120004,120070,[120075,120076],120085,120093,120122,120127,120133,[120135,120137],120145,[120486,120487],[120780,120781],[121484,121498],121504,[121520,122623],[122655,122660],[122667,122879],122887,[122905,122906],122914,122917,[122923,122927],[122990,123022],[123024,123135],[123181,123183],[123198,123199],[123210,123213],[123216,123535],[123567,123583],[123642,123646],[123648,124111],[124154,124895],124903,124908,124911,124927,[125125,125126],[125143,125183],[125260,125263],[125274,125277],[125280,126064],[126133,126208],[126270,126463],126468,126496,126499,[126501,126502],126504,126515,126520,126522,[126524,126529],[126531,126534],126536,126538,126540,126544,126547,[126549,126550],126552,126554,126556,126558,126560,126563,[126565,126566],126571,126579,126584,126589,126591,126602,[126620,126624],126628,126634,[126652,126703],[126706,126975],[131070,131071],[196606,196607],[262142,917504],[917506,917535],[917632,917759],[918e3,1114111]],_$l=[8288,65279],_$k=[8205],_$j=[8203],index$1=Object.freeze(Object.defineProperty({__proto__:null,Alphabetic:_$Z,Ambiguous:_$Y,Break_After:_$X,Break_Before:_$W,Break_Both:_$V,Break_Symbols:_$U,Carriage_Return:_$T,Close_Parenthesis:_$S,Close_Punctuation:_$R,Combining_Mark:_$Q,Complex_Context:_$P,Conditional_Japanese_Starter:_$O,Contingent_Break:_$N,E_Base:_$M,E_Modifier:_$L,Exclamation:_$K,Glue:_$J,H2:_$I,H3:_$H,Hebrew_Letter:_$G,Hyphen:_$F,Ideographic:_$E,Infix_Numeric:_$D,Inseparable:_$C,JL:_$B,JT:_$A,JV:_$z,Line_Feed:_$y,Mandatory_Break:_$x,Next_Line:_$w,Nonstarter:_$v,Numeric:_$u,Open_Punctuation:_$t,Postfix_Numeric:_$s,Prefix_Numeric:_$r,Quotation:_$q,Regional_Indicator:_$p,Space:_$o,Surrogate:_$n,Unknown:_$m,Word_Joiner:_$l,ZWJ:_$k,ZWSpace:_$j},Symbol.toStringTag,{value:"Module"})),_$i=[[65,90],[97,122],170,181,186,[192,214],[216,246],[248,727],[734,767],[880,884],[886,887],[890,893],895,902,[904,906],908,[910,929],[931,1013],[1015,1153],[1162,1327],[1329,1366],[1369,1372],1374,[1376,1416],1418,1523,[1568,1610],[1646,1647],[1649,1747],1749,[1765,1766],[1774,1775],[1786,1788],1791,1808,[1810,1839],[1869,1957],1969,[1994,2026],[2036,2037],2042,[2048,2069],2074,2084,2088,[2112,2136],[2144,2154],[2160,2183],[2185,2190],[2208,2249],[2308,2361],2365,2384,[2392,2401],[2417,2432],[2437,2444],[2447,2448],[2451,2472],[2474,2480],2482,[2486,2489],2493,2510,[2524,2525],[2527,2529],[2544,2545],2556,[2565,2570],[2575,2576],[2579,2600],[2602,2608],[2610,2611],[2613,2614],[2616,2617],[2649,2652],2654,[2674,2676],[2693,2701],[2703,2705],[2707,2728],[2730,2736],[2738,2739],[2741,2745],2749,2768,[2784,2785],2809,[2821,2828],[2831,2832],[2835,2856],[2858,2864],[2866,2867],[2869,2873],2877,[2908,2909],[2911,2913],2929,2947,[2949,2954],[2958,2960],[2962,2965],[2969,2970],2972,[2974,2975],[2979,2980],[2984,2986],[2990,3001],3024,[3077,3084],[3086,3088],[3090,3112],[3114,3129],3133,[3160,3162],3165,[3168,3169],3200,[3205,3212],[3214,3216],[3218,3240],[3242,3251],[3253,3257],3261,[3293,3294],[3296,3297],[3313,3314],[3332,3340],[3342,3344],[3346,3386],3389,3406,[3412,3414],[3423,3425],[3450,3455],[3461,3478],[3482,3505],[3507,3515],3517,[3520,3526],3840,[3904,3911],[3913,3948],[3976,3980],[4256,4293],4295,4301,[4304,4346],[4348,4680],[4682,4685],[4688,4694],4696,[4698,4701],[4704,4744],[4746,4749],[4752,4784],[4786,4789],[4792,4798],4800,[4802,4805],[4808,4822],[4824,4880],[4882,4885],[4888,4954],[4992,5007],[5024,5109],[5112,5117],[5121,5740],[5743,5759],[5761,5786],[5792,5866],[5870,5880],[5888,5905],[5919,5937],[5952,5969],[5984,5996],[5998,6e3],[6176,6264],[6272,6276],[6279,6312],6314,[6320,6389],[6400,6430],[6656,6678],[6917,6963],[6981,6988],[7043,7072],[7086,7087],[7098,7141],[7168,7203],[7245,7247],[7258,7293],[7296,7304],[7312,7354],[7357,7359],[7401,7404],[7406,7411],[7413,7414],7418,[7424,7615],[7680,7957],[7960,7965],[7968,8005],[8008,8013],[8016,8023],8025,8027,8029,[8031,8061],[8064,8116],[8118,8124],8126,[8130,8132],[8134,8140],[8144,8147],[8150,8155],[8160,8172],[8178,8180],[8182,8188],8305,8319,[8336,8348],8450,8455,[8458,8467],8469,[8473,8477],8484,8486,8488,[8490,8493],[8495,8505],[8508,8511],[8517,8521],8526,[8544,8584],[9398,9449],[11264,11492],[11499,11502],[11506,11507],[11520,11557],11559,11565,[11568,11623],11631,[11648,11670],[11680,11686],[11688,11694],[11696,11702],[11704,11710],[11712,11718],[11720,11726],[11728,11734],[11736,11742],11823,12293,[12347,12348],[12549,12591],[12593,12686],[12704,12735],[40960,42124],[42192,42237],[42240,42508],[42512,42527],[42538,42539],[42560,42606],[42623,42653],[42656,42735],[42760,42954],[42960,42961],42963,[42965,42969],[42994,43009],[43011,43013],[43015,43018],[43020,43042],[43072,43123],[43138,43187],[43250,43255],43259,[43261,43262],[43274,43301],[43312,43334],[43360,43388],[43396,43442],43471,[43520,43560],[43584,43586],[43588,43595],[43744,43754],[43762,43764],[43777,43782],[43785,43790],[43793,43798],[43808,43814],[43816,43822],[43824,43881],[43888,44002],[44032,55203],[55216,55238],[55243,55291],[64256,64262],[64275,64279],[64336,64433],[64467,64829],[64848,64911],[64914,64967],[65008,65019],[65136,65140],[65142,65276],[65313,65338],[65345,65370],[65440,65470],[65474,65479],[65482,65487],[65490,65495],[65498,65500],[65536,65547],[65549,65574],[65576,65594],[65596,65597],[65599,65613],[65616,65629],[65664,65786],[65856,65908],[66176,66204],[66208,66256],[66304,66335],[66349,66378],[66384,66421],[66432,66461],[66464,66499],[66504,66511],[66513,66517],[66560,66717],[66736,66771],[66776,66811],[66816,66855],[66864,66915],[66928,66938],[66940,66954],[66956,66962],[66964,66965],[66967,66977],[66979,66993],[66995,67001],[67003,67004],[67072,67382],[67392,67413],[67424,67431],[67456,67461],[67463,67504],[67506,67514],[67584,67589],67592,[67594,67637],[67639,67640],67644,[67647,67669],[67680,67702],[67712,67742],[67808,67826],[67828,67829],[67840,67861],[67872,67897],[67968,68023],[68030,68031],68096,[68112,68115],[68117,68119],[68121,68149],[68192,68220],[68224,68252],[68288,68295],[68297,68324],[68352,68405],[68416,68437],[68448,68466],[68480,68497],[68608,68680],[68736,68786],[68800,68850],[68864,68899],[69248,69289],[69296,69297],[69376,69404],69415,[69424,69445],[69488,69505],[69552,69572],[69600,69622],[69635,69687],[69745,69746],69749,[69763,69807],[69840,69864],[69891,69926],69956,69959,[69968,70002],70006,[70019,70066],[70081,70084],70106,70108,[70144,70161],[70163,70187],[70207,70208],[70272,70278],70280,[70282,70285],[70287,70301],[70303,70312],[70320,70366],[70405,70412],[70415,70416],[70419,70440],[70442,70448],[70450,70451],[70453,70457],70461,70480,[70493,70497],[70656,70708],[70727,70730],[70751,70753],[70784,70831],[70852,70853],70855,[71040,71086],[71128,71131],[71168,71215],71236,[71296,71338],71352,[71680,71723],[71840,71903],[71935,71942],71945,[71948,71955],[71957,71958],[71960,71983],71999,72001,[72096,72103],[72106,72144],72161,72163,72192,[72203,72242],72250,72272,[72284,72329],72349,[72368,72440],[72704,72712],[72714,72750],72768,[72818,72847],[72960,72966],[72968,72969],[72971,73008],73030,[73056,73061],[73063,73064],[73066,73097],73112,[73440,73458],73474,[73476,73488],[73490,73523],73648,[73728,74649],[74752,74862],[74880,75075],[77712,77808],[77824,78895],[78913,78918],[82944,83526],[92160,92728],[92736,92766],[92784,92862],[92880,92909],[92928,92975],[92992,92995],[93027,93047],[93053,93071],[93760,93823],[93952,94026],94032,[94099,94111],[94176,94177],94179,[113664,113770],[113776,113788],[113792,113800],[113808,113817],[119808,119892],[119894,119964],[119966,119967],119970,[119973,119974],[119977,119980],[119982,119993],119995,[119997,120003],[120005,120069],[120071,120074],[120077,120084],[120086,120092],[120094,120121],[120123,120126],[120128,120132],120134,[120138,120144],[120146,120485],[120488,120512],[120514,120538],[120540,120570],[120572,120596],[120598,120628],[120630,120654],[120656,120686],[120688,120712],[120714,120744],[120746,120770],[120772,120779],[122624,122654],[122661,122666],[122928,122989],[123136,123180],[123191,123197],123214,[123536,123565],[123584,123627],[124112,124139],[124896,124902],[124904,124907],[124909,124910],[124912,124926],[124928,125124],[125184,125251],125259,[126464,126467],[126469,126495],[126497,126498],126500,126503,[126505,126514],[126516,126519],126521,126523,126530,126535,126537,126539,[126541,126543],[126545,126546],126548,126551,126553,126555,126557,126559,[126561,126562],126564,[126567,126570],[126572,126578],[126580,126583],[126585,126588],126590,[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[127280,127305],[127312,127337],[127344,127369]],_$h=[13],_$g=[34],_$f=[[768,879],[1155,1161],[1425,1469],1471,[1473,1474],[1476,1477],1479,[1552,1562],[1611,1631],1648,[1750,1756],[1759,1764],[1767,1768],[1770,1773],1809,[1840,1866],[1958,1968],[2027,2035],2045,[2070,2073],[2075,2083],[2085,2087],[2089,2093],[2137,2139],[2200,2207],[2250,2273],[2275,2307],[2362,2364],[2366,2383],[2385,2391],[2402,2403],[2433,2435],2492,[2494,2500],[2503,2504],[2507,2509],2519,[2530,2531],2558,[2561,2563],2620,[2622,2626],[2631,2632],[2635,2637],2641,[2672,2673],2677,[2689,2691],2748,[2750,2757],[2759,2761],[2763,2765],[2786,2787],[2810,2815],[2817,2819],2876,[2878,2884],[2887,2888],[2891,2893],[2901,2903],[2914,2915],2946,[3006,3010],[3014,3016],[3018,3021],3031,[3072,3076],3132,[3134,3140],[3142,3144],[3146,3149],[3157,3158],[3170,3171],[3201,3203],3260,[3262,3268],[3270,3272],[3274,3277],[3285,3286],[3298,3299],3315,[3328,3331],[3387,3388],[3390,3396],[3398,3400],[3402,3405],3415,[3426,3427],[3457,3459],3530,[3535,3540],3542,[3544,3551],[3570,3571],3633,[3636,3642],[3655,3662],3761,[3764,3772],[3784,3790],[3864,3865],3893,3895,3897,[3902,3903],[3953,3972],[3974,3975],[3981,3991],[3993,4028],4038,[4139,4158],[4182,4185],[4190,4192],[4194,4196],[4199,4205],[4209,4212],[4226,4237],4239,[4250,4253],[4957,4959],[5906,5909],[5938,5940],[5970,5971],[6002,6003],[6068,6099],6109,[6155,6157],6159,[6277,6278],6313,[6432,6443],[6448,6459],[6679,6683],[6741,6750],[6752,6780],6783,[6832,6862],[6912,6916],[6964,6980],[7019,7027],[7040,7042],[7073,7085],[7142,7155],[7204,7223],[7376,7378],[7380,7400],7405,7412,[7415,7417],[7616,7679],8204,[8400,8432],[11503,11505],11647,[11744,11775],[12330,12335],[12441,12442],[42607,42610],[42612,42621],[42654,42655],[42736,42737],43010,43014,43019,[43043,43047],43052,[43136,43137],[43188,43205],[43232,43249],43263,[43302,43309],[43335,43347],[43392,43395],[43443,43456],43493,[43561,43574],43587,[43596,43597],[43643,43645],43696,[43698,43700],[43703,43704],[43710,43711],43713,[43755,43759],[43765,43766],[44003,44010],[44012,44013],64286,[65024,65039],[65056,65071],[65438,65439],66045,66272,[66422,66426],[68097,68099],[68101,68102],[68108,68111],[68152,68154],68159,[68325,68326],[68900,68903],[69291,69292],[69373,69375],[69446,69456],[69506,69509],[69632,69634],[69688,69702],69744,[69747,69748],[69759,69762],[69808,69818],69826,[69888,69890],[69927,69940],[69957,69958],70003,[70016,70018],[70067,70080],[70089,70092],[70094,70095],[70188,70199],70206,70209,[70367,70378],[70400,70403],[70459,70460],[70462,70468],[70471,70472],[70475,70477],70487,[70498,70499],[70502,70508],[70512,70516],[70709,70726],70750,[70832,70851],[71087,71093],[71096,71104],[71132,71133],[71216,71232],[71339,71351],[71453,71467],[71724,71738],[71984,71989],[71991,71992],[71995,71998],72e3,[72002,72003],[72145,72151],[72154,72160],72164,[72193,72202],[72243,72249],[72251,72254],72263,[72273,72283],[72330,72345],[72751,72758],[72760,72767],[72850,72871],[72873,72886],[73009,73014],73018,[73020,73021],[73023,73029],73031,[73098,73102],[73104,73105],[73107,73111],[73459,73462],[73472,73473],73475,[73524,73530],[73534,73538],78912,[78919,78933],[92912,92916],[92976,92982],94031,[94033,94087],[94095,94098],94180,[94192,94193],[113821,113822],[118528,118573],[118576,118598],[119141,119145],[119149,119154],[119163,119170],[119173,119179],[119210,119213],[119362,119364],[121344,121398],[121403,121452],121461,121476,[121499,121503],[121505,121519],[122880,122886],[122888,122904],[122907,122913],[122915,122916],[122918,122922],123023,[123184,123190],123566,[123628,123631],[124140,124143],[125136,125142],[125252,125258],[127995,127999],[917536,917631],[917760,917999]],_$e=[95,8239,[8255,8256],8276,[65075,65076],[65101,65103],65343],_$d=[173,[1536,1541],1564,1757,1807,[2192,2193],2274,6158,[8206,8207],[8234,8238],[8288,8292],[8294,8303],65279,[65529,65531],69821,69837,[78896,78911],[113824,113827],[119155,119162],917505],_$c=[[1488,1514],[1519,1522],64285,[64287,64296],[64298,64310],[64312,64316],64318,[64320,64321],[64323,64324],[64326,64335]],_$b=[[12337,12341],[12443,12444],[12448,12538],[12540,12543],[12784,12799],[13008,13054],[13056,13143],[65382,65437],[110576,110579],[110581,110587],[110589,110590],110592,[110880,110882],110933,[110948,110951]],_$a=[10],_$9=[58,183,903,1375,1524,8231,65043,65109,65306],_$8=[44,59,894,1417,[1548,1549],1644,2040,8260,65040,65044,65104,65108,65292,65307],_$7=[46,[8216,8217],8228,65106,65287,65294],_$6=[[11,12],133,[8232,8233]],_$5=[[48,57],[1632,1641],1643,[1776,1785],[1984,1993],[2406,2415],[2534,2543],[2662,2671],[2790,2799],[2918,2927],[3046,3055],[3174,3183],[3302,3311],[3430,3439],[3558,3567],[3664,3673],[3792,3801],[3872,3881],[4160,4169],[4240,4249],[6112,6121],[6160,6169],[6470,6479],[6608,6617],[6784,6793],[6800,6809],[6992,7001],[7088,7097],[7232,7241],[7248,7257],[42528,42537],[43216,43225],[43264,43273],[43472,43481],[43504,43513],[43600,43609],[44016,44025],[65296,65305],[66720,66729],[68912,68921],[69734,69743],[69872,69881],[69942,69951],[70096,70105],[70384,70393],[70736,70745],[70864,70873],[71248,71257],[71360,71369],[71472,71481],[71904,71913],[72016,72025],[72784,72793],[73040,73049],[73120,73129],[73552,73561],[92768,92777],[92864,92873],[93008,93017],[120782,120831],[123200,123209],[123632,123641],[124144,124153],[125264,125273],[130032,130041]],_$4=[[0,9],[14,31],33,[35,38],[40,43],45,47,[60,64],[91,94],96,[123,132],[134,159],[161,169],[171,172],[174,180],182,[184,185],[187,191],215,247,[728,733],885,[888,889],[896,901],907,909,930,1014,1154,1328,[1367,1368],1373,[1419,1424],1470,1472,1475,1478,[1480,1487],[1515,1518],[1525,1535],[1542,1547],[1550,1551],1563,[1565,1567],1642,1645,1748,1769,[1789,1790],[1792,1806],[1867,1868],[1970,1983],[2038,2039],2041,[2043,2044],[2046,2047],[2094,2111],[2140,2143],[2155,2159],2184,2191,[2194,2199],[2404,2405],2416,2436,[2445,2446],[2449,2450],2473,2481,[2483,2485],[2490,2491],[2501,2502],[2505,2506],[2511,2518],[2520,2523],2526,[2532,2533],[2546,2555],2557,[2559,2560],2564,[2571,2574],[2577,2578],2601,2609,2612,2615,[2618,2619],2621,[2627,2630],[2633,2634],[2638,2640],[2642,2648],2653,[2655,2661],[2678,2688],2692,2702,2706,2729,2737,2740,[2746,2747],2758,2762,[2766,2767],[2769,2783],[2788,2789],[2800,2808],2816,2820,[2829,2830],[2833,2834],2857,2865,2868,[2874,2875],[2885,2886],[2889,2890],[2894,2900],[2904,2907],2910,[2916,2917],2928,[2930,2945],2948,[2955,2957],2961,[2966,2968],2971,2973,[2976,2978],[2981,2983],[2987,2989],[3002,3005],[3011,3013],3017,[3022,3023],[3025,3030],[3032,3045],[3056,3071],3085,3089,3113,[3130,3131],3141,3145,[3150,3156],3159,[3163,3164],[3166,3167],[3172,3173],[3184,3199],3204,3213,3217,3241,3252,[3258,3259],3269,3273,[3278,3284],[3287,3292],3295,[3300,3301],3312,[3316,3327],3341,3345,3397,3401,[3407,3411],[3416,3422],[3428,3429],[3440,3449],3456,3460,[3479,3481],3506,3516,[3518,3519],[3527,3529],[3531,3534],3541,3543,[3552,3557],[3568,3569],[3572,3632],[3634,3635],[3643,3654],3663,[3674,3760],[3762,3763],[3773,3783],3791,[3802,3839],[3841,3863],[3866,3871],[3882,3892],3894,3896,[3898,3901],3912,[3949,3952],3973,3992,[4029,4037],[4039,4095],4130,4136,4159,[4170,4175],[4186,4189],4193,[4197,4198],[4206,4208],[4213,4225],4238,[4254,4255],4294,[4296,4300],[4302,4303],4347,4681,[4686,4687],4695,4697,[4702,4703],4745,[4750,4751],4785,[4790,4791],4799,4801,[4806,4807],4823,4881,[4886,4887],[4955,4956],[4960,4991],[5008,5023],[5110,5111],[5118,5120],[5741,5742],[5787,5791],[5867,5869],[5881,5887],[5910,5918],[5941,5951],[5972,5983],5997,6001,[6004,6015],[6100,6102],[6104,6107],[6110,6111],[6122,6154],[6170,6175],[6265,6271],[6315,6319],[6390,6399],6431,[6444,6447],[6460,6469],[6510,6511],[6517,6527],[6570,6575],[6602,6607],[6619,6655],[6684,6740],6751,[6781,6782],[6794,6799],[6810,6831],[6863,6911],[6989,6991],[7002,7018],[7028,7039],[7156,7167],[7224,7231],[7242,7244],[7294,7295],[7305,7311],[7355,7356],[7360,7375],7379,[7419,7423],[7958,7959],[7966,7967],[8006,8007],[8014,8015],8024,8026,8028,8030,[8062,8063],8117,8125,[8127,8129],8133,[8141,8143],[8148,8149],[8156,8159],[8173,8177],8181,[8189,8191],8199,[8208,8215],[8218,8227],[8229,8230],[8240,8254],[8257,8259],[8261,8275],[8277,8286],8293,8304,[8306,8318],[8320,8335],[8349,8399],[8433,8449],[8451,8454],[8456,8457],8468,[8470,8472],[8478,8483],8485,8487,8489,8494,[8506,8507],[8512,8516],[8522,8525],[8527,8543],[8585,9397],[9450,9756],[9758,9791],9793,[9795,9876],[9879,9976],[9978,9991],9993,[9998,10083],[10085,11263],[11493,11498],[11508,11519],11558,[11560,11564],[11566,11567],[11624,11630],[11632,11646],[11671,11679],11687,11695,11703,11711,11719,11727,11735,11743,[11776,11822],[11824,12287],[12289,12292],[12294,12329],12336,[12342,12346],[12349,12440],[12445,12447],12539,[12544,12548],12592,[12687,12703],[12736,12783],[12800,13007],13055,[13144,40959],[42125,42191],[42238,42239],[42509,42511],[42540,42559],42611,42622,[42738,42759],[42955,42959],42962,42964,[42970,42993],[43048,43051],[43053,43071],[43124,43135],[43206,43215],[43226,43231],[43256,43258],43260,[43310,43311],[43348,43359],[43389,43391],[43457,43470],[43482,43492],[43494,43503],[43514,43519],[43575,43583],[43598,43599],[43610,43642],[43646,43695],43697,[43701,43702],[43705,43709],43712,[43714,43743],[43760,43761],[43767,43776],[43783,43784],[43791,43792],[43799,43807],43815,43823,[43882,43887],44011,[44014,44015],[44026,44031],[55204,55215],[55239,55242],[55292,64047],[64107,64255],[64263,64274],[64280,64284],64297,64311,64317,64319,64322,64325,[64434,64466],[64830,64847],[64912,64913],[64968,65007],[65020,65023],[65041,65042],[65045,65055],[65072,65074],[65077,65100],65105,65107,[65110,65135],65141,[65277,65278],[65280,65286],[65288,65291],65293,65295,[65308,65312],[65339,65342],65344,[65371,65381],[65471,65473],[65480,65481],[65488,65489],[65496,65497],[65501,65528],[65532,65535],65548,65575,65595,65598,[65614,65615],[65630,65663],[65787,65855],[65909,66044],[66046,66175],[66205,66207],[66257,66271],[66273,66303],[66336,66348],[66379,66383],[66427,66431],[66462,66463],[66500,66503],66512,[66518,66559],[66718,66719],[66730,66735],[66772,66775],[66812,66815],[66856,66863],[66916,66927],66939,66955,66963,66966,66978,66994,67002,[67005,67071],[67383,67391],[67414,67423],[67432,67455],67462,67505,[67515,67583],[67590,67591],67593,67638,[67641,67643],[67645,67646],[67670,67679],[67703,67711],[67743,67807],67827,[67830,67839],[67862,67871],[67898,67967],[68024,68029],[68032,68095],68100,[68103,68107],68116,68120,[68150,68151],[68155,68158],[68160,68191],[68221,68223],[68253,68287],68296,[68327,68351],[68406,68415],[68438,68447],[68467,68479],[68498,68607],[68681,68735],[68787,68799],[68851,68863],[68904,68911],[68922,69247],69290,[69293,69295],[69298,69372],[69405,69414],[69416,69423],[69457,69487],[69510,69551],[69573,69599],[69623,69631],[69703,69733],[69750,69758],[69819,69820],[69822,69825],[69827,69836],[69838,69839],[69865,69871],[69882,69887],69941,[69952,69955],[69960,69967],[70004,70005],[70007,70015],[70085,70088],70093,70107,[70109,70143],70162,[70200,70205],[70210,70271],70279,70281,70286,70302,[70313,70319],[70379,70383],[70394,70399],70404,[70413,70414],[70417,70418],70441,70449,70452,70458,[70469,70470],[70473,70474],[70478,70479],[70481,70486],[70488,70492],[70500,70501],[70509,70511],[70517,70655],[70731,70735],[70746,70749],[70754,70783],70854,[70856,70863],[70874,71039],[71094,71095],[71105,71127],[71134,71167],[71233,71235],[71237,71247],[71258,71295],[71353,71359],[71370,71452],[71468,71471],[71482,71679],[71739,71839],[71914,71934],[71943,71944],[71946,71947],71956,71959,71990,[71993,71994],[72004,72015],[72026,72095],[72104,72105],[72152,72153],72162,[72165,72191],[72255,72262],[72264,72271],[72346,72348],[72350,72367],[72441,72703],72713,72759,[72769,72783],[72794,72817],[72848,72849],72872,[72887,72959],72967,72970,[73015,73017],73019,73022,[73032,73039],[73050,73055],73062,73065,73103,73106,[73113,73119],[73130,73439],[73463,73471],73489,[73531,73533],[73539,73551],[73562,73647],[73649,73727],[74650,74751],[74863,74879],[75076,77711],[77809,77823],[78934,82943],[83527,92159],[92729,92735],92767,[92778,92783],92863,[92874,92879],[92910,92911],[92917,92927],[92983,92991],[92996,93007],[93018,93026],[93048,93052],[93072,93759],[93824,93951],[94027,94030],[94088,94094],[94112,94175],94178,[94181,94191],[94194,110575],110580,110588,110591,[110593,110879],[110883,110932],[110934,110947],[110952,113663],[113771,113775],[113789,113791],[113801,113807],[113818,113820],113823,[113828,118527],[118574,118575],[118599,119140],[119146,119148],[119171,119172],[119180,119209],[119214,119361],[119365,119807],119893,119965,[119968,119969],[119971,119972],[119975,119976],119981,119994,119996,120004,120070,[120075,120076],120085,120093,120122,120127,120133,[120135,120137],120145,[120486,120487],120513,120539,120571,120597,120629,120655,120687,120713,120745,120771,[120780,120781],[120832,121343],[121399,121402],[121453,121460],[121462,121475],[121477,121498],121504,[121520,122623],[122655,122660],[122667,122879],122887,[122905,122906],122914,122917,[122923,122927],[122990,123022],[123024,123135],[123181,123183],[123198,123199],[123210,123213],[123215,123535],[123567,123583],[123642,124111],[124154,124895],124903,124908,124911,124927,[125125,125135],[125143,125183],[125260,125263],[125274,126463],126468,126496,126499,[126501,126502],126504,126515,126520,126522,[126524,126529],[126531,126534],126536,126538,126540,126544,126547,[126549,126550],126552,126554,126556,126558,126560,126563,[126565,126566],126571,126579,126584,126589,126591,126602,[126620,126624],126628,126634,[126652,127279],[127306,127311],[127338,127343],[127370,127461],[127488,127751],[127753,127805],[127807,127858],[127860,127876],[127878,127890],[127892,127907],[127909,127911],[127913,127937],[127941,127942],[127944,127945],[127949,127978],127980,[127982,127994],[128e3,128065],[128068,128069],[128081,128101],[128106,128109],128111,[128121,128123],[128125,128128],128132,[128136,128138],[128140,128169],[128171,128186],[128189,128294],[128296,128299],[128301,128371],[128374,128377],[128379,128399],[128401,128404],[128407,128487],[128489,128580],[128584,128586],[128592,128639],[128641,128657],[128659,128674],[128676,128691],[128695,128703],[128705,128715],[128717,129303],[129312,129317],[129319,129327],[129338,129339],[129343,129488],[129502,130031],[130042,917504],[917506,917535],[917632,917759],[918e3,1114111]],_$3=[[127462,127487]],_$2=[39],_$1=[32,5760,[8192,8198],[8200,8202],8287,12288],_=[8205],index=Object.freeze(Object.defineProperty({__proto__:null,ALetter:_$i,CR:_$h,Double_Quote:_$g,Extend:_$f,ExtendNumLet:_$e,Format:_$d,Hebrew_Letter:_$c,Katakana:_$b,LF:_$a,MidLetter:_$9,MidNum:_$8,MidNumLet:_$7,Newline:_$6,Numeric:_$5,Other:_$4,Regional_Indicator:_$3,Single_Quote:_$2,WSegSpace:_$1,ZWJ:_},Symbol.toStringTag,{value:"Module"})),data$2=Object.freeze(Object.defineProperty({__proto__:null,Bidi_Class:index$8,Bidi_Mirroring_Glyph:index$3,Bidi_Paired_Bracket_Type:index$2,Binary_Property:index$a,Block:index$4,Case_Folding:index$5,General_Category:index$9,Line_Break:index$1,Script:index$7,Script_Extensions:index$6,Word_Break:index},Symbol.toStringTag,{value:"Module"}));function unicode(categories){const keys=Object.keys(categories);if(keys.length===0)throw new Error("Expected at least one category, but received 0.");if(keys.some(key=>{const subCategories=categories[key];return subCategories===void 0||subCategories.length===0}))throw new Error("Expected at least one sub category, but received 0.");return keys.map(key=>{const subCharsets=categories[key].map(_2=>getCharset(key,_2));return new Charset().union(...subCharsets)}).reduce((a,b)=>a.intersect(b))}__name(unicode,"unicode");function getCharset(category,subCategory){const charsetInputs=data$2[category][subCategory];return new Charset().union(...charsetInputs)}__name(getCharset,"getCharset");const cjkLetters=unicode({Script:["Han","Katakana","Hiragana","Hangul","Bopomofo"],General_Category:["Other_Letter","Letter_Number","Other_Symbol","Modifier_Letter"]}),cjkPunctuations=unicode({Block:["CJK_Compatibility","CJK_Symbols_And_Punctuation","Vertical_Forms","CJK_Compatibility_Forms","Small_Form_Variants","Halfwidth_And_Fullwidth_Forms","Ideographic_Description_Characters","Kanbun","CJK_Strokes","Enclosed_CJK_Letters_And_Months"]}).subtract(cjkLetters),cjkAll=charset(cjkLetters,cjkPunctuations);function all(){return charset(cjkAll)}__name(all,"all");function letters(){return charset(cjkLetters)}__name(letters,"letters");function punctuations(){return charset(cjkPunctuations)}__name(punctuations,"punctuations");const DEFAULT_MEASURE_TEXT="0",getDefaultBaselineOffset=__name(fontSize=>({sbr:.6,sbo:fontSize,spr:.6,spo:fontSize}),"getDefaultBaselineOffset"),_FontCache=class _FontCache{static get globalFontMeasureCache(){return this._globalFontMeasureCache}static setFontMeasureCache(fontStyle,content,tm){this._globalFontMeasureCache.has(fontStyle)||this._globalFontMeasureCache.set(fontStyle,new Map);const fontMeasureCache=this._globalFontMeasureCache.get(fontStyle);fontMeasureCache&&fontMeasureCache.set(content,tm)}static clearFontMeasureCache(path){var _a10;const pathArr=path.split("/");if(pathArr.length===1){const fontStyle=pathArr[0];this._globalFontMeasureCache.delete(fontStyle)}else if(pathArr.length===2){const fontStyle=pathArr[0],content=pathArr[1];(_a10=this._globalFontMeasureCache.get(fontStyle))==null||_a10.delete(content)}else return!1;return!0}static getFontMeasureCache(fontStyle,content){var _a10;return(_a10=this._globalFontMeasureCache.get(fontStyle))==null?void 0:_a10.get(content)}static autoCleanFontMeasureCache(cacheLimit=1e6){let allSize=0,isDelete=!1;for(const item of this._globalFontMeasureCache){const[,values]=item;if(allSize+=values.size,allSize>cacheLimit){isDelete=!0;break}}if(isDelete){let deleteAllSize=0;for(const item of this._globalFontMeasureCache){const[key,values]=item;if(deleteAllSize+=values.size,deleteAllSize>cacheLimit/2){const limit=deleteAllSize-cacheLimit/2;this._clearMeasureCache(limit,values);break}this._globalFontMeasureCache.delete(key)}return!0}return!1}static getBaselineOffsetInfo(fontFamily,fontSize){if(this._fontDataMap.size===0)return getDefaultBaselineOffset(fontSize);const fontFamilyList=fontFamily.split(",");for(let ff of fontFamilyList){ff=ff.replace(/'/g,"");const fontData=this._fontDataMap.get(ff);if(!fontData)continue;const{subscriptSizeRatio,subscriptOffset,superscriptSizeRatio,superscriptOffset}=fontData;return{sbr:subscriptSizeRatio,sbo:subscriptOffset*fontSize,spr:superscriptSizeRatio,spo:superscriptOffset*fontSize}}return getDefaultBaselineOffset(fontSize)}static getTextSizeByDom(text,fontStyle){if(fontStyle in this._getTextHeightCache)return this._getTextHeightCache[fontStyle];let dom=document.getElementById("universheetTextSizeTest");const defaultStyle="float:left;white-space:nowrap;visibility:hidden;margin:0;padding:0;";dom||(dom=document.createElement("span"),dom.id="universheetTextSizeTest",document.getElementsByTagName("body")[0].appendChild(dom)),dom.style.cssText+=`${defaultStyle};${fontStyle}`,dom.textContent=text;const rect=dom.getBoundingClientRect(),result={width:rect.width,height:rect.height};return this._getTextHeightCache[fontStyle]=result,result}static getTextSize(content,fontStyle){const{fontString,fontSize,fontFamily}=fontStyle;let bBox=this._getBoundingBoxByFont(fontFamily,fontSize);if(!bBox){const measureText=this.getMeasureText(content,fontString);bBox=this._calculateBoundingBoxByMeasureText(measureText,fontStyle)}return bBox}static getBBoxFromGlyphInfo(glyphInfo,fontStyle){var _a10;const glyph=glyphInfo.glyph,font=glyphInfo.font,{y1,y2}=glyphInfo.boundingBox,scale=ptToPixel(fontStyle.fontSize)/font.unitsPerEm,{ascender,descender}=font;return this._calculateBoundingBoxByMeasureText({width:((_a10=glyph.advanceWidth)!=null?_a10:0)*scale,fontBoundingBoxAscent:ascender*scale,fontBoundingBoxDescent:Math.abs(descender*scale),actualBoundingBoxAscent:y2*scale,actualBoundingBoxDescent:Math.abs(y1*scale)},fontStyle)}static getMeasureText(content,fontString){if(!this._context){const canvas=document.createElement("canvas");this._context=canvas.getContext("2d")}const ctx=this._context,mtc=this.getFontMeasureCache(fontString,content);if(mtc!=null)return mtc;ctx.font=fontString;const textMetrics=ctx.measureText(content),{width,fontBoundingBoxAscent,fontBoundingBoxDescent,actualBoundingBoxAscent,actualBoundingBoxDescent}=textMetrics,cache={width,fontBoundingBoxAscent,fontBoundingBoxDescent,actualBoundingBoxAscent,actualBoundingBoxDescent};if(fontBoundingBoxAscent==null||fontBoundingBoxDescent==null||Number.isNaN(fontBoundingBoxAscent)||Number.isNaN(fontBoundingBoxDescent)){const oneLineTextHeight=this.getTextSizeByDom(DEFAULT_MEASURE_TEXT,fontString).height;ctx.textBaseline==="top"?(cache.fontBoundingBoxAscent=cache.actualBoundingBoxAscent=oneLineTextHeight,cache.fontBoundingBoxDescent=cache.actualBoundingBoxDescent=0):ctx.textBaseline==="middle"?(cache.fontBoundingBoxDescent=cache.actualBoundingBoxDescent=oneLineTextHeight/2,cache.fontBoundingBoxAscent=cache.actualBoundingBoxAscent=oneLineTextHeight/2):(cache.fontBoundingBoxDescent=cache.actualBoundingBoxDescent=0,cache.fontBoundingBoxAscent=cache.actualBoundingBoxAscent=oneLineTextHeight)}return this.setFontMeasureCache(fontString,content,cache),cache}static _clearMeasureCache(limit,values){let valueIndex=0;for(const txtItem of values){const[txtKey]=txtItem;if(valueIndex>limit)break;values.delete(txtKey),valueIndex++}return!0}static _getBoundingBoxByFont(fontFamily,fontSize=28,content=""){const fontData=this._fontDataMap.get(fontFamily);if(!fontData)return;const{notDefWidth,ascender,descender,typoAscender,typoDescender,strikeoutPosition,subscriptSizeRatio,subscriptOffset,superscriptSizeRatio,superscriptOffset,hdmxData,glyphHorizonMap}=fontData,pixelsPerEmIndex=hdmxData==null?void 0:hdmxData.indexOf(Math.floor(fontSize)),glyph=glyphHorizonMap.get(content.charCodeAt(0));let widthResult=notDefWidth;if(glyph){const{width,pixelsPerEm=[]}=glyph;pixelsPerEmIndex?widthResult=pixelsPerEm[pixelsPerEmIndex]:widthResult=width}return{width:widthResult*fontSize,ba:ascender*fontSize,bd:descender*fontSize,aba:typoAscender*fontSize,abd:typoDescender*fontSize,sp:strikeoutPosition*fontSize,sbr:subscriptSizeRatio,sbo:subscriptOffset*fontSize,spr:superscriptSizeRatio,spo:superscriptOffset*fontSize}}static _calculateBoundingBoxByMeasureText(textCache,fontStyle){const{width,fontBoundingBoxAscent,fontBoundingBoxDescent,actualBoundingBoxAscent:aba,actualBoundingBoxDescent:abd}=textCache,{fontSize,originFontSize}=fontStyle,scale=originFontSize/fontSize,ba=fontBoundingBoxAscent*scale,bd=fontBoundingBoxDescent*scale;return{width,ba,bd,aba,abd,sp:(fontBoundingBoxAscent+fontBoundingBoxDescent)/2,sbr:.6,spr:.6,sbo:(ba+bd)*.141,spo:(ba+bd)*.4}}};__name(_FontCache,"FontCache"),__publicField(_FontCache,"_getTextHeightCache",{}),__publicField(_FontCache,"_context"),__publicField(_FontCache,"_fontDataMap",new Map),__publicField(_FontCache,"_globalFontMeasureCache",new Map);let FontCache=_FontCache;const DEG180=180,PI_OVER_DEG180=Math.PI/DEG180,DEG180_OVER_PI=DEG180/Math.PI,RGB_PAREN="rgb(",RGBA_PAREN="rgba(",getColor=__name((RgbArray,opacity)=>RgbArray?opacity!=null?`${RGBA_PAREN+RgbArray.join(",")},${opacity})`:`${RGB_PAREN+RgbArray.join(",")})`:`${RGB_PAREN}0,0,0)`,"getColor"),PERCENT_TO_NUMBER_DIVIDE=100,toPx=__name((num,ReferenceValue)=>{if(core.Tools.isNumber(num))return num;if(ReferenceValue&&num&&core.Tools.isString(num)&&num.substr(num.length-1,1)==="%"){const numFloat=Number.parseFloat(num)/PERCENT_TO_NUMBER_DIVIDE;return ReferenceValue*numFloat}return 0},"toPx"),ONE_FRAME_NUMBER=16,requestNewFrame=__name((func,requester)=>(requester||(requester=window),requester.requestPostAnimationFrame?requester.requestPostAnimationFrame(func):requester.requestAnimationFrame?requester.requestAnimationFrame(func):requester.msRequestAnimationFrame?requester.msRequestAnimationFrame(func):requester.webkitRequestAnimationFrame?requester.webkitRequestAnimationFrame(func):requester.mozRequestAnimationFrame?requester.mozRequestAnimationFrame(func):requester.oRequestAnimationFrame?requester.oRequestAnimationFrame(func):setTimeout(func,ONE_FRAME_NUMBER)),"requestNewFrame"),cancelRequestFrame=__name((requestID,requester)=>(requester||(requester=window),requester.requestPostAnimationFrame?requester.cancelPostAnimationFrame(requestID):requester.requestAnimationFrame?requester.cancelAnimationFrame(requestID):requester.msRequestAnimationFrame?requester.msCancelAnimationFrame(requestID):requester.webkitRequestAnimationFrame?requester.webkitCancelAnimationFrame(requestID):requester.mozRequestAnimationFrame?requester.mozCancelAnimationFrame(requestID):requester.oRequestAnimationFrame?requester.oCancelAnimationFrame(requestID):clearTimeout(requestID)),"cancelRequestFrame"),createCanvasElement=__name(()=>{const canvas=document.createElement("canvas");try{canvas.style=canvas.style||{}}catch(e){console.error(e)}return canvas},"createCanvasElement"),createImageElement=__name(()=>document.createElement("img"),"createImageElement"),radToDeg=__name(rad=>rad*DEG180_OVER_PI,"radToDeg"),degToRad=__name(deg=>deg*PI_OVER_DEG180,"degToRad"),getPointerPrefix=__name(()=>{let eventPrefix="pointer";return typeof window<"u"&&!window.PointerEvent&&typeof navigator<"u"&&(eventPrefix="mouse"),core.Tools.isTablet()&&!core.Tools.isIPhone()&&!(document&&"ontouchend"in document)&&(eventPrefix="mouse"),eventPrefix},"getPointerPrefix"),IsSafari=__name(()=>core.Tools.getBrowserType()==="safari","IsSafari"),GENERATE_RANDOM_KEY_DEFAULT_LENGTH=4,generateRandomKey=__name((prefix="obj",keyLength=GENERATE_RANDOM_KEY_DEFAULT_LENGTH)=>{const userAgent=window.navigator.userAgent.replace(/[^a-zA-Z0-9]/g,"").split("");let mid="";for(let i=0;i<keyLength;i++)mid+=userAgent[Math.round(Math.random()*(userAgent.length-1))];const time=new Date().getTime();return`${prefix}_${mid}_${time}`},"generateRandomKey");function getValueType(value){return Object.prototype.toString.apply(value)}__name(getValueType,"getValueType");function isFunction(value){return getValueType(value)==="[object Function]"}__name(isFunction,"isFunction");function isDate(value){return getValueType(value)==="[object Date]"}__name(isDate,"isDate");function isRegExp(value){return getValueType(value)==="[object RegExp]"}__name(isRegExp,"isRegExp");function isArray(value){return getValueType(value)==="[object Array]"}__name(isArray,"isArray");function isString(value){return getValueType(value)==="[object String]"}__name(isString,"isString");function isNumber(value){return getValueType(value)==="[object Number]"}__name(isNumber,"isNumber");function isObject(value){return getValueType(value)==="[object Object]"}__name(isObject,"isObject");function precisionTo(num,accurate){return accurate=10**accurate,Math.round(num*accurate)/accurate}__name(precisionTo,"precisionTo");function fixLineWidthByScale(num,scale){return Math.round(num*scale)/scale}__name(fixLineWidthByScale,"fixLineWidthByScale");function getFontStyleString(textStyle,_localeService){const defaultFont=core.DEFAULT_STYLES.ff,defaultFontSize=core.DEFAULT_STYLES.fs;if(!textStyle){const fontString2=`${defaultFontSize}pt ${defaultFont}`;return{fontCache:fontString2,fontString:fontString2,fontSize:defaultFontSize,originFontSize:defaultFontSize,fontFamily:defaultFont}}let italic=core.FontStyleType.ITALIC;(textStyle.it===0||textStyle.it===void 0)&&(italic=core.FontStyleType.NORMAL);let bold=core.FontStyleType.BOLD;(textStyle.bl===0||textStyle.bl===void 0)&&(bold=core.FontStyleType.NORMAL);let originFontSize=defaultFontSize;textStyle.fs&&(originFontSize=Math.ceil(textStyle.fs));let fontSize=originFontSize,fontFamilyResult=defaultFont;if(textStyle.ff){let fontFamily=textStyle.ff;fontFamily=fontFamily.replace(/"/g,"").replace(/'/g,""),fontFamily.indexOf(" ")>-1&&(fontFamily=`"${fontFamily}"`),fontFamily==null&&(fontFamily=defaultFont),fontFamilyResult=fontFamily}const{va:baselineOffset}=textStyle;if(baselineOffset===core.BaselineOffset.SUBSCRIPT||baselineOffset===core.BaselineOffset.SUPERSCRIPT){const baselineOffsetInfo=FontCache.getBaselineOffsetInfo(fontFamilyResult,fontSize),{sbr,spr}=baselineOffsetInfo;fontSize*=baselineOffset===core.BaselineOffset.SUBSCRIPT?sbr:spr}const fontStringPure=`${italic} ${bold} ${fontSize}pt ${fontFamilyResult}`,fontString=`${fontStringPure}, ${DEFAULT_FONTFACE_PLANE} `;return{fontCache:fontStringPure,fontString,fontSize,originFontSize,fontFamily:fontFamilyResult}}__name(getFontStyleString,"getFontStyleString");const CJK_LETTER_REG=letters().toRegExp();function hasCJKText(text){return CJK_LETTER_REG.test(text)}__name(hasCJKText,"hasCJKText");const CJK_ALL_REG=all().toRegExp();function hasCJK(text){return CJK_ALL_REG.test(text)}__name(hasCJK,"hasCJK");const CJK_PUNCTUATION_REG=punctuations().toRegExp();function hasCJKPunctuation(text){return CJK_PUNCTUATION_REG.test(text)}__name(hasCJKPunctuation,"hasCJKPunctuation");function hasAllLatin(text){return!!/[\u0000-\u024F]/gi.exec(text)}__name(hasAllLatin,"hasAllLatin");function hasBasicLatin(text){return!!/[\u0000-\u007F]/gi.exec(text)}__name(hasBasicLatin,"hasBasicLatin");function hasLatinOneSupplement(text){return!!/[\u0080-\u00FF]/gi.exec(text)}__name(hasLatinOneSupplement,"hasLatinOneSupplement");function hasLatinExtendedA(text){return!!/[\u0100-\u017F]/gi.exec(text)}__name(hasLatinExtendedA,"hasLatinExtendedA");function hasLatinExtendedB(text){return!!/[\u0180-\u024F]/gi.exec(text)}__name(hasLatinExtendedB,"hasLatinExtendedB");const EMOJI_REG=/^(?:[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE88\uDE90-\uDEBD\uDEBF-\uDEC2\uDECE-\uDEDB\uDEE0-\uDEE8]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?))/g,EMOJI_REG_LOCAL=/^(?:[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE88\uDE90-\uDEBD\uDEBF-\uDEC2\uDECE-\uDEDB\uDEE0-\uDEE8]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?))/;function startWithEmoji(text){return EMOJI_REG_LOCAL.test(text)}__name(startWithEmoji,"startWithEmoji");function hasArabic(text){return/[\u0600-\u06FF]|[\u0750-\u0750]|[\u0870-\u08FF]|[\uFB50-\uFDFF]|[\uFE70-\uFEFF]/gi.test(text)}__name(hasArabic,"hasArabic");function hasTibetan(text){return/[\u0180-\u024F]/gi.test(text)}__name(hasTibetan,"hasTibetan");function hasSpace(text){return/\s+/g.test(text)}__name(hasSpace,"hasSpace");function isCjkLeftAlignedPunctuation(text){return["”","’",",","。",".","、",":",";","?","!","》",")","』","」","】","〗","〕","〉","]","}"].indexOf(text)>-1}__name(isCjkLeftAlignedPunctuation,"isCjkLeftAlignedPunctuation");function isCjkRightAlignedPunctuation(text){return["“","‘","《","(","『","「","【","〖","〔","〈","[","{"].indexOf(text)>-1}__name(isCjkRightAlignedPunctuation,"isCjkRightAlignedPunctuation");function isCjkCenterAlignedPunctuation(text){return["・","·"].indexOf(text)>-1}__name(isCjkCenterAlignedPunctuation,"isCjkCenterAlignedPunctuation");const one_thousand=1e3;let dpi_cache;function getDPI(){if(dpi_cache)return dpi_cache;let i=56;for(;i<one_thousand*2;i++)if(matchMedia(`(max-resolution: ${i}dpi)`).matches===!0)return i;return dpi_cache=i,setTimeout(()=>{dpi_cache=null},one_thousand),i}__name(getDPI,"getDPI");const BENCHMARK_DPI=72,BENCHMARK_CONVERT_MM=25.4;function ptToPx(pt){return pt/(BENCHMARK_DPI/getDPI())}__name(ptToPx,"ptToPx");function pxToPt(px){return px*(BENCHMARK_DPI/getDPI())}__name(pxToPt,"pxToPt");function ptToMM(px){return px*(getDPI()/BENCHMARK_CONVERT_MM)}__name(ptToMM,"ptToMM");function pxToInch(px){return px*getDPI()}__name(pxToInch,"pxToInch");function getScale(parentScale){const{scaleX=1,scaleY=1}=parentScale;return Math.max(scaleX,scaleY)}__name(getScale,"getScale");function getCellPositionByIndex(row,column,rowHeightAccumulation,columnWidthAccumulation){const startRow=row-1,startColumn=column-1,startY=rowHeightAccumulation[startRow]||0;let endY=rowHeightAccumulation[row];endY==null&&(endY=rowHeightAccumulation[rowHeightAccumulation.length-1]);const startX=columnWidthAccumulation[startColumn]||0;let endX=columnWidthAccumulation[column];return endX==null&&(endX=columnWidthAccumulation[columnWidthAccumulation.length-1]),{startY,endY,startX,endX}}__name(getCellPositionByIndex,"getCellPositionByIndex");function getCellByIndexWithMergeInfo(row,column,rowHeightAccumulation,columnWidthAccumulation,mergeDataInfo){let{startY,endY,startX,endX}=getCellPositionByIndex(row,column,rowHeightAccumulation,columnWidthAccumulation);const{isMerged,isMergedMainCell,startRow,startColumn,endRow,endColumn}=mergeDataInfo;let mergeInfo={startRow,startColumn,endRow,endColumn,startY:0,endY:0,startX:0,endX:0};const rowAccumulationCount=rowHeightAccumulation.length-1,columnAccumulationCount=columnWidthAccumulation.length-1;if(isMerged&&startRow!==-1&&startColumn!==-1){const mergeStartY=rowHeightAccumulation[startRow-1]||0,mergeEndY=rowHeightAccumulation[endRow]||rowHeightAccumulation[rowAccumulationCount],mergeStartX=columnWidthAccumulation[startColumn-1]||0,mergeEndX=columnWidthAccumulation[endColumn]||columnWidthAccumulation[columnAccumulationCount];mergeInfo={...mergeInfo,startY:mergeStartY,endY:mergeEndY,startX:mergeStartX,endX:mergeEndX}}else if(!isMerged&&endRow!==-1&&endColumn!==-1){const mergeEndY=rowHeightAccumulation[endRow]||rowHeightAccumulation[rowAccumulationCount],mergeEndX=columnWidthAccumulation[endColumn]||columnWidthAccumulation[columnAccumulationCount];mergeInfo={...mergeInfo,startY,endY:mergeEndY,startX,endX:mergeEndX}}return{isMerged,isMergedMainCell,actualRow:row,actualColumn:column,startY,endY,startX,endX,mergeInfo}}__name(getCellByIndexWithMergeInfo,"getCellByIndexWithMergeInfo");function getCellByIndex(row,column,rowHeightAccumulation,columnWidthAccumulation,mergeData){let{startY,endY,startX,endX}=getCellPositionByIndex(row,column,rowHeightAccumulation,columnWidthAccumulation);const{isMerged,isMergedMainCell,startRow,startColumn,endRow,endColumn}=core.getCellInfoInMergeData(row,column,mergeData);let mergeInfo={startRow,startColumn,endRow,endColumn,startY:0,endY:0,startX:0,endX:0};const rowAccumulationCount=rowHeightAccumulation.length-1,columnAccumulationCount=columnWidthAccumulation.length-1;if(isMerged&&startRow!==-1&&startColumn!==-1){const mergeStartY=rowHeightAccumulation[startRow-1]||0,mergeEndY=rowHeightAccumulation[endRow]||rowHeightAccumulation[rowAccumulationCount],mergeStartX=columnWidthAccumulation[startColumn-1]||0,mergeEndX=columnWidthAccumulation[endColumn]||columnWidthAccumulation[columnAccumulationCount];mergeInfo={...mergeInfo,startY:mergeStartY,endY:mergeEndY,startX:mergeStartX,endX:mergeEndX}}else if(!isMerged&&endRow!==-1&&endColumn!==-1){const mergeEndY=rowHeightAccumulation[endRow]||rowHeightAccumulation[rowAccumulationCount],mergeEndX=columnWidthAccumulation[endColumn]||columnWidthAccumulation[columnAccumulationCount];mergeInfo={...mergeInfo,startY,endY:mergeEndY,startX,endX:mergeEndX}}return{isMerged,isMergedMainCell,actualRow:row,actualColumn:column,startY,endY,startX,endX,mergeInfo}}__name(getCellByIndex,"getCellByIndex");function hasUnMergedCellInRow(row,startColumn,endColumn,mergeData){let hasUnMergedCell=!1;for(let colIndex=startColumn;colIndex<=endColumn;colIndex++){const{isMerged,isMergedMainCell}=core.getCellInfoInMergeData(row,colIndex,mergeData);if(!isMerged&&!isMergedMainCell){hasUnMergedCell=!0;break}}return hasUnMergedCell}__name(hasUnMergedCellInRow,"hasUnMergedCellInRow");function mergeInfoOffset(mergeInfo,offsetX,offsetY){const{startY,endY,startX,endX}=mergeInfo;return mergeInfo.startY=startY+offsetY,mergeInfo.endY=endY+offsetY,mergeInfo.startX=startX+offsetX,mergeInfo.endX=endX+offsetX,{...mergeInfo}}__name(mergeInfoOffset,"mergeInfoOffset");function isRectIntersect(rect1,rect2){return!(rect1.left>rect2.right||rect1.top>rect2.bottom||rect2.left>rect1.right||rect2.top>rect1.bottom)}__name(isRectIntersect,"isRectIntersect");function injectStyle(styles){const styleElement=document.createElement("style");document.head.appendChild(styleElement);const styleSheet=styleElement.sheet;for(const style of styles)styleSheet==null||styleSheet.insertRule(style,styleSheet.cssRules.length)}__name(injectStyle,"injectStyle");function checkStyle(content){for(let i=0,len=document.head.childNodes.length;i<len;i++){const node=document.head.childNodes[i];if(node.nodeName==="STYLE"&&node.textContent&&node.textContent.indexOf(content)>-1)return!0}return!1}__name(checkStyle,"checkStyle");function pxToNum(unit){return Number(unit.replace(/px/gi,""))}__name(pxToNum,"pxToNum");function getSizeForDom(dom){const style=getComputedStyle(dom),{borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,width,height}=style;return{top:pxToNum(borderTopWidth),left:pxToNum(borderLeftWidth),right:pxToNum(borderRightWidth),bottom:pxToNum(borderBottomWidth),width:pxToNum(width),height:pxToNum(height)}}__name(getSizeForDom,"getSizeForDom");const PX_TO_PT_RATIO=.75;function ptToPixel(pt){return pt/PX_TO_PT_RATIO}__name(ptToPixel,"ptToPixel");function pixelToPt(px){return px*PX_TO_PT_RATIO}__name(pixelToPt,"pixelToPt");function inViewRanges(ranges,rowIndex,colIndex){for(const range of ranges)if(rowIndex>=range.startRow&&rowIndex<=range.endRow&&colIndex>=range.startColumn&&colIndex<=range.endColumn)return!0;return!1}__name(inViewRanges,"inViewRanges");function inCurrentAndAboveViewRanges(ranges,rowIndex){for(const range of ranges)if(rowIndex>range.endRow)return!1;return!0}__name(inCurrentAndAboveViewRanges,"inCurrentAndAboveViewRanges");function inRowViewRanges(ranges,rowIndex){let flag=!1;for(const range of ranges)if(rowIndex>=range.startRow&&rowIndex<=range.endRow){flag=!0;break}return flag}__name(inRowViewRanges,"inRowViewRanges");function expandRangeIfIntersects(mainRanges,ranges){const intersects=[];for(const mainRange of mainRanges)for(const range of ranges)core.Rectangle.simpleRangesIntersect(mainRange,range)&&intersects.push(range);return mainRanges.concat(intersects)}__name(expandRangeIfIntersects,"expandRangeIfIntersects");function clampRange(range){return{startRow:Math.max(0,range.startRow),startColumn:Math.max(0,range.startColumn),endRow:Math.max(0,range.endRow),endColumn:Math.max(0,range.endColumn)}}__name(clampRange,"clampRange");function getSystemHighlightColor(){const hiddenEle=document.createElement("div");hiddenEle.style.width="0",hiddenEle.style.height="0",hiddenEle.style.backgroundColor="highlight",document.body.append(hiddenEle);const highlightColor=getComputedStyle(hiddenEle).backgroundColor;return hiddenEle.remove(),new core.ColorKit(highlightColor).toRgb()}__name(getSystemHighlightColor,"getSystemHighlightColor");const _Vector2=class _Vector2{constructor(x=0,y=0){this.x=x,this.y=y}static Zero(){return new _Vector2(0,0)}static One(){return new _Vector2(1,1)}static FromArray(array,offset=0){return new _Vector2(array[offset],array[offset+1])}static FromArrayToRef(array,offset,result){result.x=array[offset],result.y=array[offset+1]}static CatmullRom(value1,value2,value3,value4,amount){const squared=amount*amount,cubed=amount*squared,x=.5*(2*value2.x+(-value1.x+value3.x)*amount+(2*value1.x-5*value2.x+4*value3.x-value4.x)*squared+(-value1.x+3*value2.x-3*value3.x+value4.x)*cubed),y=.5*(2*value2.y+(-value1.y+value3.y)*amount+(2*value1.y-5*value2.y+4*value3.y-value4.y)*squared+(-value1.y+3*value2.y-3*value3.y+value4.y)*cubed);return new _Vector2(x,y)}static Clamp(value,min2,max2){let x=value.x;x=x>max2.x?max2.x:x,x=x<min2.x?min2.x:x;let y=value.y;return y=y>max2.y?max2.y:y,y=y<min2.y?min2.y:y,new _Vector2(x,y)}static Hermite(value1,tangent1,value2,tangent2,amount){const squared=amount*amount,cubed=amount*squared,part1=2*cubed-3*squared+1,part2=-2*cubed+3*squared,part3=cubed-2*squared+amount,part4=cubed-squared,x=value1.x*part1+value2.x*part2+tangent1.x*part3+tangent2.x*part4,y=value1.y*part1+value2.y*part2+tangent1.y*part3+tangent2.y*part4;return new _Vector2(x,y)}static Hermite1stDerivative(value1,tangent1,value2,tangent2,time){const result=_Vector2.Zero();return this.Hermite1stDerivativeToRef(value1,tangent1,value2,tangent2,time,result),result}static Hermite1stDerivativeToRef(value1,tangent1,value2,tangent2,time,result){const t2=time*time;result.x=(t2-time)*6*value1.x+(3*t2-4*time+1)*tangent1.x+(-t2+time)*6*value2.x+(3*t2-2*time)*tangent2.x,result.y=(t2-time)*6*value1.y+(3*t2-4*time+1)*tangent1.y+(-t2+time)*6*value2.y+(3*t2-2*time)*tangent2.y}static Lerp(start,end,amount){const x=start.x+(end.x-start.x)*amount,y=start.y+(end.y-start.y)*amount;return new _Vector2(x,y)}static Dot(left,right){return left.x*right.x+left.y*right.y}static Normalize(vector){const newVector=_Vector2.Zero();return this.NormalizeToRef(vector,newVector),newVector}static NormalizeToRef(vector,result){const len=vector.length();len!==0&&(result.x=vector.x/len,result.y=vector.y/len)}static Minimize(left,right){const x=left.x<right.x?left.x:right.x,y=left.y<right.y?left.y:right.y;return new _Vector2(x,y)}static Maximize(left,right){const x=left.x>right.x?left.x:right.x,y=left.y>right.y?left.y:right.y;return new _Vector2(x,y)}static PointInTriangle(p,p0,p1,p2){const a=.5*(-p1.y*p2.x+p0.y*(-p1.x+p2.x)+p0.x*(p1.y-p2.y)+p1.x*p2.y),sign=a<0?-1:1,s=(p0.y*p2.x-p0.x*p2.y+(p2.y-p0.y)*p.x+(p0.x-p2.x)*p.y)*sign,t=(p0.x*p1.y-p0.y*p1.x+(p0.y-p1.y)*p.x+(p1.x-p0.x)*p.y)*sign;return s>0&&t>0&&s+t<2*a*sign}static Distance(value1,value2){return Math.sqrt(_Vector2.DistanceSquared(value1,value2))}static DistanceSquared(value1,value2){const x=value1.x-value2.x,y=value1.y-value2.y;return x*x+y*y}static Center(value1,value2){return _Vector2.CenterToRef(value1,value2,_Vector2.Zero())}static CenterToRef(value1,value2,ref){return ref.copyFromFloats((value1.x+value2.x)/2,(value1.y+value2.y)/2)}static DistanceOfPointFromSegment(p,segA,segB){const l2=_Vector2.DistanceSquared(segA,segB);if(l2===0)return _Vector2.Distance(p,segA);const v=segB.subtract(segA),t=Math.max(0,Math.min(1,_Vector2.Dot(p.subtract(segA),v)/l2)),proj=segA.add(v.multiplyByFloats(t,t));return _Vector2.Distance(p,proj)}static create(x,y){return new _Vector2(x,y)}toString(){return`{X: ${this.x} Y: ${this.y}}`}getClassName(){return"Vector2"}getHashCode(){let hash=this.x|0;return hash=hash*397^(this.y|0),hash}toArray(array,index2=0){return array[index2]=this.x,array[index2+1]=this.y,this}fromArray(array,index2=0){return _Vector2.FromArrayToRef(array,index2,this),this}asArray(){const result=new Array;return this.toArray(result,0),result}copyFrom(source){return this.x=source.x,this.y=source.y,this}copyFromFloats(x,y){return this.x=x,this.y=y,this}set(x,y){return this.copyFromFloats(x,y)}add(otherVector){return new _Vector2(this.x+otherVector.x,this.y+otherVector.y)}addToRef(otherVector,result){return result.x=this.x+otherVector.x,result.y=this.y+otherVector.y,this}addByPoint(x,y){return new _Vector2(this.x+x,this.y+y)}addInPlace(otherVector){return this.x+=otherVector.x,this.y+=otherVector.y,this}subtract(otherVector){return new _Vector2(this.x-otherVector.x,this.y-otherVector.y)}subtractByPoint(x,y){return new _Vector2(this.x-x,this.y-y)}subtractToRef(otherVector,result){return result.x=this.x-otherVector.x,result.y=this.y-otherVector.y,this}subtractInPlace(otherVector){return this.x-=otherVector.x,this.y-=otherVector.y,this}multiplyInPlace(otherVector){return this.x*=otherVector.x,this.y*=otherVector.y,this}multiply(otherVector){return new _Vector2(this.x*otherVector.x,this.y*otherVector.y)}multiplyToRef(otherVector,result){return result.x=this.x*otherVector.x,result.y=this.y*otherVector.y,this}multiplyByFloats(x,y){return new _Vector2(this.x*x,this.y*y)}divide(otherVector){return new _Vector2(this.x/otherVector.x,this.y/otherVector.y)}divideToRef(otherVector,result){return result.x=this.x/otherVector.x,result.y=this.y/otherVector.y,this}divideInPlace(otherVector){return this.divideToRef(otherVector,this)}negate(){return new _Vector2(-this.x,-this.y)}negateInPlace(){return this.x*=-1,this.y*=-1,this}negateToRef(result){return result.copyFromFloats(this.x*-1,this.y*-1)}scaleInPlace(scale){return this.x*=scale,this.y*=scale,this}scale(scale){const result=new _Vector2(0,0);return this.scaleToRef(scale,result),result}scaleToRef(scale,result){return result.x=this.x*scale,result.y=this.y*scale,this}scaleAndAddToRef(scale,result){return result.x+=this.x*scale,result.y+=this.y*scale,this}equals(otherVector){return otherVector&&this.x===otherVector.x&&this.y===otherVector.y}floor(){return new _Vector2(Math.floor(this.x),Math.floor(this.y))}fract(){return new _Vector2(this.x-Math.floor(this.x),this.y-Math.floor(this.y))}rotate(angle){const cos=Math.cos(angle),sin=Math.sin(angle),rx=cos*this.x-sin*this.y,ry=sin*this.x+cos*this.y;return this.x=rx,this.y=ry,this}rotateToRef(angle,result){const cos=Math.cos(angle),sin=Math.sin(angle);return result.x=cos*this.x-sin*this.y,result.y=sin*this.x+cos*this.y,this}rotateByPoint(angle,originPoint=_Vector2.create(0,0)){const cosA=Math.cos(angle),sinA=Math.sin(angle),rx=originPoint.x+(this.x-originPoint.x)*cosA-(this.y-originPoint.y)*sinA,ry=originPoint.y+(this.x-originPoint.x)*sinA+(this.y-originPoint.y)*cosA;return this.x=rx,this.y=ry,this}transformCoordinateOnRotate(angle){const hypotenuse=Math.sqrt(this.x**2+this.y**2),beta=Math.atan2(this.y,this.x),theta=-angle+beta;return this.x=hypotenuse*Math.cos(theta),this.y=hypotenuse*Math.sin(theta),this}length(){return Math.sqrt(this.x*this.x+this.y*this.y)}lengthSquared(){return this.x*this.x+this.y*this.y}normalize(){return _Vector2.NormalizeToRef(this,this),this}clone(){return new _Vector2(this.x,this.y)}};__name(_Vector2,"Vector2");let Vector2=_Vector2;const INITIAL_MATRIX=[1,0,0,1,0,0],_Transform=class _Transform{constructor(m=INITIAL_MATRIX){__publicField(this,"dirty",!1);__publicField(this,"_m");this._m=m&&m.slice()||INITIAL_MATRIX}static create(m=INITIAL_MATRIX){return new this(m)}reset(){this._m[0]=1,this._m[1]=0,this._m[2]=0,this._m[3]=1,this._m[4]=0,this._m[5]=0}copy(){return new _Transform(this._m)}copyInto(tr){tr._m[0]=this._m[0],tr._m[1]=this._m[1],tr._m[2]=this._m[2],tr._m[3]=this._m[3],tr._m[4]=this._m[4],tr._m[5]=this._m[5]}applyPoint(point,ignoreOffset=!1){const m=this._m,xNew=m[0]*point.x+m[2]*point.y,yNew=m[1]*point.x+m[3]*point.y;return ignoreOffset?new Vector2(xNew,yNew):new Vector2(xNew+m[4],yNew+m[5])}translate(x,y){return this._m[4]+=this._m[0]*x+this._m[2]*y,this._m[5]+=this._m[1]*x+this._m[3]*y,this}scale(sx,sy){return this._m[0]*=sx,this._m[1]*=sx,this._m[2]*=sy,this._m[3]*=sy,this}rotate(deg){const rad=degToRad(deg),c=Math.cos(rad),s=Math.sin(rad),m11=this._m[0]*c+this._m[2]*s,m12=this._m[1]*c+this._m[3]*s,m21=this._m[0]*-s+this._m[2]*c,m22=this._m[1]*-s+this._m[3]*c;return this._m[0]=m11,this._m[1]=m12,this._m[2]=m21,this._m[3]=m22,this}getTranslation(){return{x:this._m[4],y:this._m[5]}}skew(sx,sy){const m11=this._m[0]+this._m[2]*sy,m12=this._m[1]+this._m[3]*sy,m21=this._m[2]+this._m[0]*sx,m22=this._m[3]+this._m[1]*sx;return this._m[0]=m11,this._m[1]=m12,this._m[2]=m21,this._m[3]=m22,this}multiply(matrix){const m11=this._m[0]*matrix._m[0]+this._m[2]*matrix._m[1],m12=this._m[1]*matrix._m[0]+this._m[3]*matrix._m[1],m21=this._m[0]*matrix._m[2]+this._m[2]*matrix._m[3],m22=this._m[1]*matrix._m[2]+this._m[3]*matrix._m[3],dx=this._m[0]*matrix._m[4]+this._m[2]*matrix._m[5]+this._m[4],dy=this._m[1]*matrix._m[4]+this._m[3]*matrix._m[5]+this._m[5];return this._m[0]=m11,this._m[1]=m12,this._m[2]=m21,this._m[3]=m22,this._m[4]=dx,this._m[5]=dy,this}invert(){const d=1/(this._m[0]*this._m[3]-this._m[1]*this._m[2]),m0=this._m[3]*d,m1=-this._m[1]*d,m2=-this._m[2]*d,m3=this._m[0]*d,m4=d*(this._m[2]*this._m[5]-this._m[3]*this._m[4]),m5=d*(this._m[1]*this._m[4]-this._m[0]*this._m[5]);return this._m[0]=m0,this._m[1]=m1,this._m[2]=m2,this._m[3]=m3,this._m[4]=m4,this._m[5]=m5,this}getMatrix(){return this._m}getMatrixByAccurate(accurate=3){return this._m.map(value=>precisionTo(value,accurate))}setAbsolutePosition(coord){const m0=this._m[0],m1=this._m[1],m2=this._m[2],m3=this._m[3],m4=this._m[4],m5=this._m[5],yt=(m0*(coord.y-m5)-m1*(coord.x-m4))/(m0*m3-m1*m2),xt=(coord.x-m4-m2*yt)/m0;return this.translate(xt,yt)}decompose(){const a=this._m[0],b=this._m[1],c=this._m[2],d=this._m[3],e=this._m[4],f=this._m[5],delta=a*d-b*c,result={x:e,y:f,angle:0,scaleX:0,scaleY:0,skewX:0,skewY:0};if(a!==0||b!==0){const r=Math.sqrt(a*a+b*b);result.angle=b>0?Math.acos(a/r):-Math.acos(a/r),result.scaleX=r,result.scaleY=delta/r,result.skewX=(a*c+b*d)/delta,result.skewY=0}else if(c!==0||d!==0){const s=Math.sqrt(c*c+d*d);result.angle=Math.PI/2-(d>0?Math.acos(-c/s):-Math.acos(c/s)),result.scaleX=delta/s,result.scaleY=s,result.skewX=0,result.skewY=(a*c+b*d)/delta}return result.angle=radToDeg(result.angle),result}makeBoundingBoxFromPoints(points){if(this)for(let i=0;i<points.length;i++)points[i]=this.applyPoint(points[i]);const xPoints=[points[0].x,points[1].x,points[2].x,points[3].x],minX=Math.min(...xPoints),width=Math.max(...xPoints)-minX,yPoints=[points[0].y,points[1].y,points[2].y,points[3].y],minY=Math.min(...yPoints),height=Math.max(...yPoints)-minY;return{left:minX,top:minY,width,height,points}}composeMatrix(options){const matrix=new _Transform([1,0,0,1,options.left||0,options.top||0]);return options.angle&&matrix.rotate(options.angle),(options.scaleX!==1||options.scaleY!==1||options.skewX||options.skewY||options.flipX||options.flipY)&&matrix.multiply(this._calcDimensionsMatrix(options)),this._m=matrix.getMatrix(),this}clone(){return new _Transform([...this._m])}_calcDimensionsMatrix(options){var _a10,_b;const scaleX=(_a10=options.scaleX)!=null?_a10:1,scaleY=(_b=options.scaleY)!=null?_b:1,scaleMatrix=new _Transform([options.flipX?-scaleX:scaleX,0,0,options.flipY?-scaleY:scaleY,0,0]);return options.skewX&&scaleMatrix.multiply(new _Transform([1,0,Math.tan(degToRad(options.skewX)),1,0,0])),options.skewY&&scaleMatrix.multiply(new _Transform([1,Math.tan(degToRad(options.skewY)),0,1,0,0])),scaleMatrix}convert2DOMMatrix2D(){const m=this.getMatrix();return{a:m[0],b:m[1],c:m[2],d:m[3],e:m[4],f:m[5]}}};__name(_Transform,"Transform");let Transform=_Transform;const BASE_OBJECT_ARRAY=["top","left","width","height","angle","scaleX","scaleY","skewX","skewY","flipX","flipY","strokeWidth"];var ObjectType=(ObjectType2=>(ObjectType2[ObjectType2.UNKNOWN=0]="UNKNOWN",ObjectType2[ObjectType2.RICH_TEXT=1]="RICH_TEXT",ObjectType2[ObjectType2.SHAPE=2]="SHAPE",ObjectType2[ObjectType2.IMAGE=3]="IMAGE",ObjectType2[ObjectType2.RECT=4]="RECT",ObjectType2[ObjectType2.CIRCLE=5]="CIRCLE",ObjectType2))(ObjectType||{});const _BaseObject=class _BaseObject extends core.Disposable{constructor(key){super();__publicField(this,"groupKey");__publicField(this,"isInGroup",!1);__publicField(this,"objectType",0);__publicField(this,"onTransformChange$",new core.EventSubject);__publicField(this,"onPointerDown$",new core.EventSubject);__publicField(this,"onPointerMove$",new core.EventSubject);__publicField(this,"onPointerUp$",new core.EventSubject);__publicField(this,"onPointerOut$",new core.EventSubject);__publicField(this,"onPointerOver$",new core.EventSubject);__publicField(this,"onPointerLeave$",new core.EventSubject);__publicField(this,"onPointerEnter$",new core.EventSubject);__publicField(this,"onDblclick$",new core.EventSubject);__publicField(this,"onTripleClick$",new core.EventSubject);__publicField(this,"onMouseWheel$",new core.EventSubject);__publicField(this,"onDragLeave$",new core.EventSubject);__publicField(this,"onDragOver$",new core.EventSubject);__publicField(this,"onDragEnter$",new core.EventSubject);__publicField(this,"onDrop$",new core.EventSubject);__publicField(this,"onIsAddedToParent$",new core.EventSubject);__publicField(this,"onDispose$",new core.EventSubject);__publicField(this,"_oKey");__publicField(this,"_dirty",!0);__publicField(this,"_forceDirty",!0);__publicField(this,"_printable",!1);__publicField(this,"_top",0);__publicField(this,"_topOrigin",0);__publicField(this,"_left",0);__publicField(this,"_leftOrigin",0);__publicField(this,"_width",0);__publicField(this,"_widthOrigin",0);__publicField(this,"_height",0);__publicField(this,"_heightOrigin",0);__publicField(this,"_angle",0);__publicField(this,"_scaleX",1);__publicField(this,"_scaleY",1);__publicField(this,"_skewX",0);__publicField(this,"_skewY",0);__publicField(this,"_flipX",!1);__publicField(this,"_flipY",!1);__publicField(this,"_strokeWidth",0);__publicField(this,"_parent");__publicField(this,"_zIndex",0);__publicField(this,"_evented",!0);__publicField(this,"_visible",!0);__publicField(this,"_debounceParentDirty",!0);__publicField(this,"_transform",new Transform);__publicField(this,"_cursor",CURSOR_TYPE.DEFAULT);__publicField(this,"_transformerConfig");__publicField(this,"_forceRender",!1);__publicField(this,"_layer");key?this._oKey=key:this._oKey=generateRandomKey()}get transform(){const transform=this._transform.clone();return this.transformForAngle(transform)}transformForAngle(transform){if(this._angle!==0){const cx=(this.width+this.strokeWidth)/2,cy=(this.height+this.strokeWidth)/2;transform.rotate(-this._angle),transform.translate(cx,cy),transform.rotate(this.angle),transform.translate(-cx,-cy)}return transform}get printable(){return this._printable}get topOrigin(){return this._topOrigin}get leftOrigin(){return this._leftOrigin}get widthOrigin(){return this._widthOrigin}get heightOrigin(){return this._heightOrigin}get classType(){return RENDER_CLASS_TYPE.BASE_OBJECT}get top(){return this._top}get left(){return this._left}get width(){return this._width}get height(){return this._height}get strokeWidth(){return this._strokeWidth}get angle(){return this._angle}get scaleX(){return this._scaleX}get scaleY(){return this._scaleY}get ancestorScaleX(){var _a10;const pScale=((_a10=this.getParent())==null?void 0:_a10.ancestorScaleX)||1;return this.scaleX*pScale}get ancestorScaleY(){var _a10;const pScale=((_a10=this.getParent())==null?void 0:_a10.ancestorScaleY)||1;return this.scaleY*pScale}get ancestorLeft(){var _a10;return this.left+(((_a10=this.getParent())==null?void 0:_a10.ancestorLeft)||0)}get ancestorTop(){var _a10;return this.top+(((_a10=this.getParent())==null?void 0:_a10.ancestorTop)||0)}get ancestorTransform(){const parent=this.getParent();return this.isInGroup&&(parent==null?void 0:parent.classType)===RENDER_CLASS_TYPE.GROUP?parent==null?void 0:parent.ancestorTransform.multiply(this.transform):this.transform}get ancestorGroup(){let group=null,parent=this.getParent();for(;parent!=null;)parent.classType===RENDER_CLASS_TYPE.GROUP&&(group=parent),parent=parent.getParent();return group}get skewX(){return this._skewX}get skewY(){return this._skewY}get flipX(){return this._flipX}get flipY(){return this._flipY}get parent(){return this._parent}get oKey(){return this._oKey}get zIndex(){return this._zIndex}get evented(){return this._evented}get visible(){return this._visible}get debounceParentDirty(){return this._debounceParentDirty}get cursor(){return this._cursor}get layer(){return this._layer}set transform(trans){this._transform=trans}set zIndex(index2){this._zIndex=index2}set parent(o){this._parent=o}set evented(state){this._evented=state}set debounceParentDirty(state){this._debounceParentDirty=state}set cursor(val){this.setCursor(val)}set layer(layer){this._layer=layer}set top(num){var _a10;this._topOrigin=num,this._top=toPx(num,(_a10=this._parent)==null?void 0:_a10.height)}set left(num){var _a10;this._leftOrigin=num,this._left=toPx(num,(_a10=this._parent)==null?void 0:_a10.width)}set width(num){var _a10;this._widthOrigin=num,this._width=toPx(num,(_a10=this._parent)==null?void 0:_a10.width)}set height(num){var _a10;this._heightOrigin=num,this._height=toPx(num,(_a10=this._parent)==null?void 0:_a10.height)}set strokeWidth(width){this._strokeWidth=width}set angle(angle){this._angle=angle}set scaleX(scaleX){this._scaleX=scaleX}set scaleY(scaleY){this._scaleY=scaleY}set skewX(skewX){this._skewX=skewX}set flipY(flipY){this._flipY=flipY}set flipX(flipX){this._flipX=flipX}set skewY(skewY){this._skewY=skewY}get transformerConfig(){return this._transformerConfig}set transformerConfig(config){this._transformerConfig=config}get maxZIndex(){return this._zIndex}makeDirty(state=!0){if(this._dirty=state,state){if(this._layer==null){this._dirty=!1;return}this._layer.makeDirtyWithDebounce(state)}return this}makeForceDirty(state=!0){this._forceDirty=state}makeDirtyNoDebounce(state=!0){var _a10;return this._dirty=state,state&&((_a10=this._layer)==null||_a10.makeDirty(state)),this}isDirty(){return this._dirty}translate(x,y){const preTop=this.top;y!==void 0&&(this.top=y);const preLeft=this.left;return x!==void 0&&(this.left=x),this._setTransForm(),this.onTransformChange$.emitEvent({type:TRANSFORM_CHANGE_OBSERVABLE_TYPE.translate,value:{top:this._top,left:this._left},preValue:{top:preTop,left:preLeft}}),this}resize(width,height){const preWidth=this.width;width!==void 0&&(this.width=width);const preHeight=this.height;return height!==void 0&&(this.height=height),this._setTransForm(),this.onTransformChange$.emitEvent({type:TRANSFORM_CHANGE_OBSERVABLE_TYPE.resize,value:{width:this._width,height:this._height},preValue:{width:preWidth,height:preHeight}}),this}scale(scaleX,scaleY){const preScaleX=this.scaleX;scaleX!==void 0&&(this.scaleX=scaleX);const preScaleY=this.scaleY;return scaleY!==void 0&&(this.scaleY=scaleY),this._setTransForm(),this.onTransformChange$.emitEvent({type:TRANSFORM_CHANGE_OBSERVABLE_TYPE.scale,value:{scaleX:this._scaleX,scaleY:this._scaleY},preValue:{scaleX:preScaleX,scaleY:preScaleY}}),this}skew(skewX,skewY){const preSkewX=skewX;skewX!==void 0&&(this.skewX=skewX);const preSkewY=skewY;return skewY!==void 0&&(this.skewY=skewY),this._setTransForm(),this.onTransformChange$.emitEvent({type:TRANSFORM_CHANGE_OBSERVABLE_TYPE.skew,value:{skewX:this._skewX,skewY:this._skewY},preValue:{skewX:preSkewX,skewY:preSkewY}}),this}flip(flipX,flipY){const preFlipX=flipX;flipX!==void 0&&(this.flipX=flipX);const preFlipY=flipY;return flipY!==void 0&&(this.flipY=flipY),this._setTransForm(),this.onTransformChange$.emitEvent({type:TRANSFORM_CHANGE_OBSERVABLE_TYPE.flip,value:{flipX:this._flipX,flipY:this._flipY},preValue:{flipX:preFlipX,flipY:preFlipY}}),this}transformByState(option){const optionKeys=Object.keys(option),preKeys={};if(optionKeys.length!==0)return optionKeys.forEach(pKey=>{option[pKey]!==void 0&&(preKeys[pKey]=this[pKey],this[pKey]=option[pKey])}),this._setTransForm(),this.onTransformChange$.emitEvent({type:TRANSFORM_CHANGE_OBSERVABLE_TYPE.all,value:option,preValue:preKeys}),this}isRender(bounds){return this._forceRender?!1:bounds&&!this.isInGroup}getParent(){return this._parent}getState(){return{left:this.left,top:this.top,width:this.width,height:this.height,scaleX:this.scaleX,scaleY:this.scaleY,angle:this.angle,skewX:this.skewX,skewY:this.skewY,flipX:this.flipX,flipY:this.flipY}}hide(){this._visible=!1,this._makeDirtyMix()}show(){this._visible=!0,this._makeDirtyMix()}render(ctx,bounds){}isHit(coord){const oCoord=this.getInverseCoord(coord);return oCoord.x>=-this.strokeWidth/2&&oCoord.x<=this.width+this.strokeWidth/2&&oCoord.y>=-this.strokeWidth/2&&oCoord.y<=this.height+this.strokeWidth/2}triggerPointerMove(evt){var _a10,_b;return(_a10=this.onPointerMove$.emitEvent(evt))!=null&&_a10.stopPropagation?!0:((_b=this._parent)==null||_b.triggerPointerMove(evt),!1)}triggerPointerDown(evt){var _a10,_b;return(_a10=this.onPointerDown$.emitEvent(evt))!=null&&_a10.stopPropagation?!0:((_b=this._parent)==null||_b.triggerPointerDown(evt),!1)}triggerPointerUp(evt){var _a10,_b;return(_a10=this.onPointerUp$.emitEvent(evt))!=null&&_a10.stopPropagation?!0:((_b=this._parent)==null||_b.triggerPointerUp(evt),!1)}triggerDblclick(evt){var _a10,_b;return(_a10=this.onDblclick$.emitEvent(evt))!=null&&_a10.stopPropagation?!0:((_b=this._parent)==null||_b.triggerDblclick(evt),!1)}triggerTripleClick(evt){var _a10,_b;return(_a10=this.onTripleClick$.emitEvent(evt))!=null&&_a10.stopPropagation?!0:((_b=this._parent)==null||_b.triggerTripleClick(evt),!1)}triggerMouseWheel(evt){var _a10,_b;return(_a10=this.onMouseWheel$.emitEvent(evt))!=null&&_a10.stopPropagation?!0:((_b=this._parent)==null||_b.triggerMouseWheel(evt),!1)}triggerPointerOut(evt){var _a10,_b;return(_a10=this.onPointerOut$.emitEvent(evt))!=null&&_a10.stopPropagation?!0:((_b=this._parent)==null||_b.triggerPointerOut(evt),!1)}triggerPointerLeave(evt){var _a10,_b;return(_a10=this.onPointerLeave$.emitEvent(evt))!=null&&_a10.stopPropagation?!0:((_b=this._parent)==null||_b.triggerPointerLeave(evt),!1)}triggerPointerOver(evt){var _a10;return this.onPointerOver$.emitEvent(evt)?!0:((_a10=this._parent)==null||_a10.triggerPointerOver(evt),!1)}triggerPointerEnter(evt){var _a10,_b;return(_a10=this.onPointerEnter$.emitEvent(evt))!=null&&_a10.stopPropagation?!0:((_b=this._parent)==null||_b.triggerPointerEnter(evt),!1)}triggerDragLeave(evt){var _a10,_b;return(_a10=this.onDragLeave$.emitEvent(evt))!=null&&_a10.stopPropagation?!0:((_b=this._parent)==null||_b.triggerDragLeave(evt),!1)}triggerDragOver(evt){var _a10,_b;return(_a10=this.onDragOver$.emitEvent(evt))!=null&&_a10.stopPropagation?!0:((_b=this._parent)==null||_b.triggerDragOver(evt),!1)}triggerDragEnter(evt){var _a10,_b;return(_a10=this.onDragEnter$.emitEvent(evt))!=null&&_a10.stopPropagation?!0:((_b=this._parent)==null||_b.triggerDragEnter(evt),!1)}triggerDrop(evt){var _a10,_b;return(_a10=this.onDrop$.emitEvent(evt))!=null&&_a10.stopPropagation?!0:((_b=this._parent)==null||_b.triggerDrop(evt),!1)}dispose(){var _a10;super.dispose(),this.onTransformChange$.complete(),this.onPointerDown$.complete(),this.onPointerMove$.complete(),this.onPointerUp$.complete(),this.onMouseWheel$.complete(),this.onPointerOut$.complete(),this.onPointerLeave$.complete(),this.onPointerOver$.complete(),this.onPointerEnter$.complete(),this.onDragLeave$.complete(),this.onDragOver$.complete(),this.onDragEnter$.complete(),this.onDrop$.complete(),this.onDblclick$.complete(),this.onTripleClick$.complete(),this.onIsAddedToParent$.complete(),(_a10=this.parent)==null||_a10.removeObject(this),this.onDispose$.emitEvent(this),this._makeDirtyMix(),this.onDispose$.complete(),this._parent=null,this._layer=null,this.transform=null}toJson(){const props={};return BASE_OBJECT_ARRAY.forEach(key=>{this[key]&&(props[key]=this[key])}),props}getScene(){let parent=this.parent;if(parent==null)return null;if(parent.classType===RENDER_CLASS_TYPE.SCENE)return parent;for(;parent;){if(parent.classType===RENDER_CLASS_TYPE.SCENE)return parent;parent=parent.getParent()}}resetCursor(){var _a10;(_a10=this.getScene())==null||_a10.resetCursor()}setCursor(val){var _a10;this._cursor=val,(_a10=this.getScene())==null||_a10.setCursor(val)}getEngine(){let parent=this.getParent();for(;parent!=null;){if(parent.classType===RENDER_CLASS_TYPE.ENGINE)return parent;parent=parent.getParent()}return null}getObjects(){return[]}getLayerIndex(){return this._layer==null?1:this._layer.zIndex}applyTransform(){var _a10;(_a10=this.getScene())==null||_a10.attachTransformerTo(this)}removeTransform(){var _a10;(_a10=this.getScene())==null||_a10.detachTransformerFrom(this)}getInverseCoord(coord){return this.ancestorTransform.invert().applyPoint(coord)}_setTransForm(){const composeResult=Transform.create().composeMatrix({left:this.left+this.strokeWidth/2,top:this.top+this.strokeWidth/2,scaleX:this.scaleX,scaleY:this.scaleY,angle:this.angle,skewX:this.skewX,skewY:this.skewY,flipX:this.flipX,flipY:this.flipY});this.transform=composeResult,this._makeDirtyMix()}_makeDirtyMix(){this.debounceParentDirty?this.makeDirty(!0):this.makeDirtyNoDebounce(!0)}};__name(_BaseObject,"BaseObject");let BaseObject=_BaseObject;var DocumentSkeletonPageType=(DocumentSkeletonPageType2=>(DocumentSkeletonPageType2[DocumentSkeletonPageType2.BODY=0]="BODY",DocumentSkeletonPageType2[DocumentSkeletonPageType2.HEADER=1]="HEADER",DocumentSkeletonPageType2[DocumentSkeletonPageType2.FOOTER=2]="FOOTER",DocumentSkeletonPageType2[DocumentSkeletonPageType2.CELL=3]="CELL",DocumentSkeletonPageType2))(DocumentSkeletonPageType||{}),SkeletonType=(SkeletonType2=>(SkeletonType2[SkeletonType2.GLYPH=0]="GLYPH",SkeletonType2[SkeletonType2.DIVIDE=1]="DIVIDE",SkeletonType2[SkeletonType2.LINE=2]="LINE",SkeletonType2[SkeletonType2.COLUMN=3]="COLUMN",SkeletonType2[SkeletonType2.SECTION=4]="SECTION",SkeletonType2[SkeletonType2.PAGE=5]="PAGE",SkeletonType2[SkeletonType2.DRAWING=6]="DRAWING",SkeletonType2[SkeletonType2.BULLET=7]="BULLET",SkeletonType2[SkeletonType2.HEADER=8]="HEADER",SkeletonType2[SkeletonType2.FOOTER=9]="FOOTER",SkeletonType2[SkeletonType2.ALL=10]="ALL",SkeletonType2))(SkeletonType||{}),BreakType=(BreakType2=>(BreakType2[BreakType2.SECTION=0]="SECTION",BreakType2[BreakType2.PAGE=1]="PAGE",BreakType2[BreakType2.COLUMN=2]="COLUMN",BreakType2))(BreakType||{}),LineType=(LineType2=>(LineType2[LineType2.PARAGRAPH=0]="PARAGRAPH",LineType2[LineType2.BLOCK=1]="BLOCK",LineType2))(LineType||{}),GlyphType=(GlyphType2=>(GlyphType2[GlyphType2.LETTER=0]="LETTER",GlyphType2[GlyphType2.WORD=1]="WORD",GlyphType2[GlyphType2.LIST=2]="LIST",GlyphType2[GlyphType2.PLACEHOLDER=3]="PLACEHOLDER",GlyphType2[GlyphType2.TAB=4]="TAB",GlyphType2[GlyphType2.IMAGE=5]="IMAGE",GlyphType2[GlyphType2.AT=6]="AT",GlyphType2[GlyphType2.MATH=7]="MATH",GlyphType2[GlyphType2.MULTI_LINE=8]="MULTI_LINE",GlyphType2[GlyphType2.CUSTOM=9]="CUSTOM",GlyphType2))(GlyphType||{}),PageLayoutType=(PageLayoutType2=>(PageLayoutType2[PageLayoutType2.VERTICAL=0]="VERTICAL",PageLayoutType2[PageLayoutType2.HORIZONTAL=1]="HORIZONTAL",PageLayoutType2[PageLayoutType2.AUTO=2]="AUTO",PageLayoutType2))(PageLayoutType||{});function hasListGlyph(glyph){var _a10;const divide=glyph==null?void 0:glyph.parent;return divide==null?!1:((_a10=divide.glyphGroup[0])==null?void 0:_a10.glyphType)===GlyphType.LIST}__name(hasListGlyph,"hasListGlyph");function isIndentByGlyph(glyph,body){const paragraph=getParagraphByGlyph(glyph,body);if(paragraph==null)return!1;const{paragraphStyle}=paragraph;return paragraphStyle==null?!1:core.checkParagraphHasIndentByStyle(paragraphStyle)}__name(isIndentByGlyph,"isIndentByGlyph");function isLastGlyph(glyph){const divide=glyph==null?void 0:glyph.parent,line2=divide==null?void 0:divide.parent,glyphGroup=divide==null?void 0:divide.glyphGroup,divides=line2==null?void 0:line2.divides;if(glyphGroup&&glyph&÷s&÷){const glyphIndex=glyphGroup.indexOf(glyph);if(divides.indexOf(divide)===divides.length-1&&glyphIndex===glyphGroup.length-1)return!0}return!1}__name(isLastGlyph,"isLastGlyph");function isFirstGlyph(glyph){const divide=glyph==null?void 0:glyph.parent,line2=divide==null?void 0:divide.parent,glyphGroup=divide==null?void 0:divide.glyphGroup,divides=line2==null?void 0:line2.divides;if(glyphGroup&&glyph&÷s&÷){const glyphIndex=glyphGroup.indexOf(glyph),divideIndex=divides.indexOf(divide);if(divideIndex===0&&glyphIndex===0||divideIndex===0&&glyphIndex===1&&glyphGroup[0].glyphType===GlyphType.LIST)return!0}return!1}__name(isFirstGlyph,"isFirstGlyph");function getParagraphByGlyph(glyph,body){var _a10,_b;const line2=(_a10=glyph==null?void 0:glyph.parent)==null?void 0:_a10.parent;if(line2==null||body==null)return;const paragraphs=body.paragraphs;if(paragraphs!=null)for(let i=0;i<paragraphs.length;i++){const paragraph=paragraphs[i],prevParagraph=paragraphs[i-1];if(paragraph.startIndex===line2.paragraphIndex)return{...paragraph,paragraphStart:((_b=prevParagraph==null?void 0:prevParagraph.startIndex)!=null?_b:-1)+1,paragraphEnd:paragraph.startIndex}}}__name(getParagraphByGlyph,"getParagraphByGlyph");function isPlaceholderOrSpace(glyph){return glyph==null?!1:[core.DataStreamTreeTokenType.PARAGRAPH,core.DataStreamTreeTokenType.TAB,core.DataStreamTreeTokenType.SECTION_BREAK].indexOf(glyph.streamType)!==-1||glyph.content===core.DataStreamTreeTokenType.SPACE}__name(isPlaceholderOrSpace,"isPlaceholderOrSpace");function isSameLine(glyph1,glyph2){return glyph1==null||glyph2==null||glyph1.parent==null||glyph2.parent==null?!1:glyph1.parent.parent===glyph2.parent.parent}__name(isSameLine,"isSameLine");function getDevicePixelRatio(){let _pixelRatio=1;const context=createCanvasElement().getContext("2d");return _pixelRatio=(()=>{const devicePixelRatio=window.devicePixelRatio||1,backingStoreRatio=context.webkitBackingStorePixelRatio||context.mozBackingStorePixelRatio||context.msBackingStorePixelRatio||context.oBackingStorePixelRatio||context.backingStorePixelRatio||1;return devicePixelRatio/backingStoreRatio})(),_pixelRatio<1?1:_pixelRatio}__name(getDevicePixelRatio,"getDevicePixelRatio");function drawLineByBorderType(ctx,type,lineWidthBuffer,position){let drawStartX=0,drawStartY=0,drawEndX=0,drawEndY=0;const{startX,startY,endX,endY}=position;type===BORDER_TYPE.TOP?(drawStartX=startX-lineWidthBuffer,drawStartY=startY,drawEndX=endX+lineWidthBuffer,drawEndY=startY):type===BORDER_TYPE.BOTTOM?(drawStartX=startX-lineWidthBuffer,drawStartY=endY,drawEndX=endX-lineWidthBuffer,drawEndY=endY):type===BORDER_TYPE.LEFT?(drawStartX=startX,drawStartY=startY-lineWidthBuffer,drawEndX=startX,drawEndY=endY+lineWidthBuffer):type===BORDER_TYPE.RIGHT&&(drawStartX=endX,drawStartY=startY-lineWidthBuffer,drawEndX=endX,drawEndY=endY+lineWidthBuffer),ctx.beginPath(),ctx.moveToByPrecision(drawStartX,drawStartY),ctx.lineToByPrecision(drawEndX,drawEndY),ctx.closePathByEnv(),ctx.stroke()}__name(drawLineByBorderType,"drawLineByBorderType");function drawDiagonalLineByBorderType(ctx,type,position){let drawStartX=0,drawStartY=0,drawEndX=0,drawEndY=0;const{startX,startY,endX,endY}=position;switch(type){case BORDER_TYPE.TL_BR:drawStartX=startX,drawStartY=startY,drawEndX=endX,drawEndY=endY;break;case BORDER_TYPE.TL_BC:drawStartX=startX,drawStartY=startY,drawEndX=(startX+endX)/2,drawEndY=endY;break;case BORDER_TYPE.TL_MR:drawStartX=startX,drawStartY=startY,drawEndX=endX,drawEndY=(startY+endY)/2;break;case BORDER_TYPE.BL_TR:drawStartX=startX,drawStartY=endY,drawEndX=endX,drawEndY=startY;break;case BORDER_TYPE.ML_TR:drawStartX=startX,drawStartY=(startY+endY)/2,drawEndX=endX,drawEndY=startY;break;case BORDER_TYPE.BC_TR:drawStartX=(startX+endX)/2,drawStartY=endY,drawEndX=endX,drawEndY=startY;break}ctx.beginPath(),ctx.moveToByPrecision(drawStartX,drawStartY),ctx.lineToByPrecision(drawEndX,drawEndY),ctx.closePathByEnv(),ctx.stroke()}__name(drawDiagonalLineByBorderType,"drawDiagonalLineByBorderType");function clearLineByBorderType(ctx,type,position){let drawStartX=0,drawStartY=0,drawEndX=0,drawEndY=0;const{startX,startY,endX,endY}=position;switch(type){case BORDER_TYPE.TOP:drawStartX=startX,drawStartY=startY,drawEndX=endX,drawEndY=startY;break;case BORDER_TYPE.BOTTOM:drawStartX=startX,drawStartY=endY,drawEndX=endX,drawEndY=endY;break;case BORDER_TYPE.LEFT:drawStartX=startX,drawStartY=startY,drawEndX=startX,drawEndY=endY;break;case BORDER_TYPE.RIGHT:drawStartX=endX,drawStartY=startY,drawEndX=endX,drawEndY=endY;break}ctx.beginPath(),ctx.clearRectForTexture(drawStartX,drawStartY,drawEndX-drawStartX,drawEndY-drawStartY)}__name(clearLineByBorderType,"clearLineByBorderType");function setLineType(ctx,style){style===core.BorderStyleTypes.HAIR?ctx.setLineDash([1,2]):style===core.BorderStyleTypes.DASH_DOT_DOT||style===core.BorderStyleTypes.MEDIUM_DASH_DOT_DOT?ctx.setLineDash([2,2,5,2,2]):style===core.BorderStyleTypes.DASH_DOT||style===core.BorderStyleTypes.MEDIUM_DASH_DOT||style===core.BorderStyleTypes.SLANT_DASH_DOT?ctx.setLineDash([2,5,2]):style===core.BorderStyleTypes.DOTTED?ctx.setLineDash([2]):style===core.BorderStyleTypes.DASHED||style===core.BorderStyleTypes.MEDIUM_DASHED?ctx.setLineDash([3]):ctx.setLineDash([0])}__name(setLineType,"setLineType");function getLineOffset(){const ratio=getLineWith(1);return ratio-Math.floor(ratio)}__name(getLineOffset,"getLineOffset");function getLineWith(width){return Math.ceil(width/getDevicePixelRatio()*100)/100}__name(getLineWith,"getLineWith");function getLineWidth(style){let lineWidth=1;return style===core.BorderStyleTypes.MEDIUM||style===core.BorderStyleTypes.MEDIUM_DASH_DOT||style===core.BorderStyleTypes.MEDIUM_DASHED||style===core.BorderStyleTypes.MEDIUM_DASH_DOT_DOT?lineWidth=2:style===core.BorderStyleTypes.THICK&&(lineWidth=3),lineWidth}__name(getLineWidth,"getLineWidth");function calculateRectRotate(startPoint,centerPoint,radiusCenter,radiusVertex,offsetPoint=Vector2.create(0,0)){const rotationVector=startPoint.add(centerPoint).rotateByPoint(radiusVertex),newVector=rotationVector.subtract(centerPoint),finalAngle=radiusVertex-radiusCenter;return newVector.rotateByPoint(finalAngle,rotationVector).add(offsetPoint).transformCoordinateOnRotate(finalAngle)}__name(calculateRectRotate,"calculateRectRotate");function getRotateOrientation(angle){return angle>0?ORIENTATION_TYPE.DOWN:ORIENTATION_TYPE.UP}__name(getRotateOrientation,"getRotateOrientation");function getRotateOffsetAndFarthestHypotenuse(lines,rectWidth,vertexAngle){var _a10;const rotateTranslateXList=[];let rotateTranslateY=0,rotatedHeight=0,rotatedWidth=0,fixOffsetX=0,fixOffsetY=0;const orientation=getRotateOrientation(vertexAngle),linesCount=lines.length;vertexAngle=Math.abs(vertexAngle);const tanTheta=Math.tan(vertexAngle),sinTheta=Math.sin(vertexAngle),cosTheta=Math.cos(vertexAngle);if(orientation===ORIENTATION_TYPE.UP){let cumRectHeight=0;for(let i=0;i<linesCount;i++){const line2=lines[i],{lineHeight:rectHeight=0}=line2;cumRectHeight+=i===0?0:rectHeight;const currentRotateHeight=rectWidth*sinTheta+rectHeight*cosTheta;rotateTranslateXList.push(cumRectHeight/tanTheta),currentRotateHeight>rotatedHeight&&(rotatedHeight=currentRotateHeight),i===0&&(rotatedWidth+=rectHeight*sinTheta,fixOffsetY+=rectHeight*cosTheta)}rotatedWidth+=cumRectHeight/sinTheta+rectWidth*cosTheta,fixOffsetY-=rotatedHeight}else{let maxOffsetX=0,maxOffsetLineIndex=-1;const rotateOffsetXList=[];for(let i=linesCount-1;i>=0;i--){const line2=lines[i],{lineHeight:rectHeight=0}=line2,offsetX=rectHeight/tanTheta,currentRotateHeight=(rectWidth+offsetX)*sinTheta;rotateOffsetXList.unshift(rectHeight/tanTheta),currentRotateHeight>rotatedHeight&&(rotatedHeight=currentRotateHeight,maxOffsetX=offsetX,maxOffsetLineIndex=i),i===0?rotatedWidth+=rectHeight*sinTheta:i===linesCount-1?rotatedWidth+=rectWidth*cosTheta+rectHeight/sinTheta:rotatedWidth+=rectHeight/sinTheta}let cumRotateHeightFix=((_a10=lines[maxOffsetLineIndex])==null?void 0:_a10.lineHeight)||0,cumBlowValue=0;for(let i=maxOffsetLineIndex+1;i<=linesCount-1;i++){const line2=lines[i],{lineHeight:rectHeight=0}=line2;cumRotateHeightFix+=rectHeight,cumBlowValue+=rotateOffsetXList[i]||0,rotateTranslateXList[i]=-cumBlowValue}cumBlowValue=0;for(let i=maxOffsetLineIndex-1;i>=0;i--){const line2=lines[i],{lineHeight:rectHeight=0}=line2;cumBlowValue+=rotateOffsetXList[i+1]||0,rotateTranslateXList[i]=cumBlowValue,rotateTranslateY+=rectHeight}rotateTranslateXList[maxOffsetLineIndex]=0,linesCount===1&&(rotatedWidth+=rectWidth*cosTheta),fixOffsetX=cumRotateHeightFix/sinTheta-maxOffsetX*cosTheta}return{rotateTranslateXList,rotatedHeight,rotatedWidth,fixOffsetX,fixOffsetY,rotateTranslateY}}__name(getRotateOffsetAndFarthestHypotenuse,"getRotateOffsetAndFarthestHypotenuse");function getTranslateInSpreadContextWithPixelRatio(){const offset=.5-getLineOffset();return{left:offset,top:offset}}__name(getTranslateInSpreadContextWithPixelRatio,"getTranslateInSpreadContextWithPixelRatio");function offsetRotationAxis(referenceCoords,angleDegree,vertexCoords,centerCoords){const angleRad=degToRad(angleDegree),newVertexCoords=vertexCoords.clone().rotateByPoint(angleRad,referenceCoords),newCenterCoords=centerCoords.clone().rotateByPoint(angleRad,referenceCoords),finalPoint=newVertexCoords.clone();return finalPoint.rotateByPoint(degToRad(-angleDegree),newCenterCoords),finalPoint}__name(offsetRotationAxis,"offsetRotationAxis");function getGroupState(parentLeft,parentTop,objectStates){let groupLeft=Number.MAX_SAFE_INTEGER,groupTop=Number.MAX_SAFE_INTEGER,groupRight=Number.MIN_SAFE_INTEGER,groupBottom=Number.MIN_SAFE_INTEGER;objectStates.forEach(o=>{const{left=0,top=0,width=0,height=0}=o;groupLeft=Math.min(groupLeft,left),groupTop=Math.min(groupTop,top),groupRight=Math.max(groupRight,left+width),groupBottom=Math.max(groupBottom,top+height)});const groupWidth=groupRight-groupLeft,groupHeight=groupBottom-groupTop;return{left:groupLeft+parentLeft,top:groupTop+parentTop,width:groupWidth,height:groupHeight,angle:0,scaleX:1,scaleY:1}}__name(getGroupState,"getGroupState");function transformObjectOutOfGroup(child,parent,groupOriginWidth,groupOriginHeight){const{left=0,top=0,width=0,height=0,angle=0}=child,{left:groupLeft=0,top:groupTop=0,angle:groupAngle=0}=parent,groupCenterX=groupLeft+groupOriginWidth/2,groupCenterY=groupTop+groupOriginHeight/2,objectX=left+groupLeft,objectY=top+groupTop,objectCenterX=objectX+width/2,objectCenterY=objectY+height/2,finalPoint=offsetRotationAxis(new Vector2(groupCenterX,groupCenterY),groupAngle,new Vector2(objectX,objectY),new Vector2(objectCenterX,objectCenterY));return{left:finalPoint.x,top:finalPoint.y,angle:groupAngle+angle}}__name(transformObjectOutOfGroup,"transformObjectOutOfGroup");var DeviceInputEventType=(DeviceInputEventType2=>(DeviceInputEventType2[DeviceInputEventType2.PointerMove=0]="PointerMove",DeviceInputEventType2[DeviceInputEventType2.PointerDown=1]="PointerDown",DeviceInputEventType2[DeviceInputEventType2.PointerUp=2]="PointerUp",DeviceInputEventType2[DeviceInputEventType2.Dblclick=3]="Dblclick",DeviceInputEventType2[DeviceInputEventType2.Keyboard=4]="Keyboard",DeviceInputEventType2))(DeviceInputEventType||{});const _EventConstants=class _EventConstants{};__name(_EventConstants,"EventConstants"),__publicField(_EventConstants,"DOM_DELTA_PIXEL",0),__publicField(_EventConstants,"DOM_DELTA_LINE",1),__publicField(_EventConstants,"DOM_DELTA_PAGE",2);let EventConstants=_EventConstants;var DeviceType=(DeviceType2=>(DeviceType2[DeviceType2.Generic=0]="Generic",DeviceType2[DeviceType2.Keyboard=1]="Keyboard",DeviceType2[DeviceType2.Mouse=2]="Mouse",DeviceType2[DeviceType2.Touch=3]="Touch",DeviceType2))(DeviceType||{}),PointerInput=(PointerInput2=>(PointerInput2[PointerInput2.Horizontal=0]="Horizontal",PointerInput2[PointerInput2.Vertical=1]="Vertical",PointerInput2[PointerInput2.LeftClick=2]="LeftClick",PointerInput2[PointerInput2.MiddleClick=3]="MiddleClick",PointerInput2[PointerInput2.RightClick=4]="RightClick",PointerInput2[PointerInput2.BrowserBack=5]="BrowserBack",PointerInput2[PointerInput2.BrowserForward=6]="BrowserForward",PointerInput2[PointerInput2.MouseWheelX=7]="MouseWheelX",PointerInput2[PointerInput2.MouseWheelY=8]="MouseWheelY",PointerInput2[PointerInput2.MouseWheelZ=9]="MouseWheelZ",PointerInput2[PointerInput2.DeltaHorizontal=10]="DeltaHorizontal",PointerInput2[PointerInput2.DeltaVertical=11]="DeltaVertical",PointerInput2[PointerInput2.FakeMove=12]="FakeMove",PointerInput2))(PointerInput||{});const INITIAL_Path2=[new Vector2(0,0),new Vector2(1,1)],_Path2=class _Path2{constructor(_lines=INITIAL_Path2){this._lines=_lines}intersection(lines){if(this._lines.length<1||lines.length<1)return;const crossPoint=[];for(let o=1;o<this._lines.length;o++){const from=this._lines[o-1],to=this._lines[o];for(let n=1;n<lines.length;n++){const contrastFrom=this._lines[o-1],contrastTo=this._lines[o],point=this._intersection({from,to},{from:contrastFrom,to:contrastTo});point&&crossPoint.push(point)}}return crossPoint}_intersection(line1,line2){const a=line1.from,b=line1.to,c=line2.from,d=line2.to,area_abc=(a.x-c.x)*(b.y-c.y)-(a.y-c.y)*(b.x-c.x),area_abd=(a.x-d.x)*(b.y-d.y)-(a.y-d.y)*(b.x-d.x);if(area_abc*area_abd>=0)return!1;const area_cda=(c.x-a.x)*(d.y-a.y)-(c.y-a.y)*(d.x-a.x),area_cdb=area_cda+area_abc-area_abd;if(area_cda*area_cdb>=0)return!1;const t=area_cda/(area_abd-area_abc),dx=t*(b.x-a.x),dy=t*(b.y-a.y);return new Vector2(a.x+dx,a.y+dy)}};__name(_Path2,"Path2");let Path2=_Path2;const DEFAULT_FRAME_SAMPLE_SIZE=60,DEFAULT_FRAME_LIST_SIZE=60*60,DEFAULT_ONE_SEC_MS=1e3,DEFAULT_FRAME_TIME=16.67,_PerformanceMonitor=class _PerformanceMonitor extends core.Disposable{constructor(frameSampleSize=DEFAULT_FRAME_SAMPLE_SIZE){super();__publicField(this,"_enabled",!0);__publicField(this,"_rollingFrameTime");__publicField(this,"_lastFrameTimeMs");__publicField(this,"_frameCountInLastSecond",0);__publicField(this,"_lastSecondTimeMs");__publicField(this,"_recFPSValueLastSecond",60);this._rollingFrameTime=new RollingAverage(frameSampleSize)}dispose(){super.dispose()}get averageFrameTime(){return this._rollingFrameTime.averageFrameTime}get averageFrameTimeVariance(){return this._rollingFrameTime.variance}get instantaneousFrameTime(){return this._rollingFrameTime.history(0)}get averageFPS(){return this._recFPSValueLastSecond}get instantaneousFPS(){const history=this._rollingFrameTime.history(0);return history===0?0:DEFAULT_ONE_SEC_MS/history}get isSaturated(){return this._rollingFrameTime.isSaturated()}get isEnabled(){return this._enabled}sampleFrame(timestamp=this.now()){if(this._enabled){if(this._frameCountInLastSecond++,this._lastSecondTimeMs!=null){if(this._lastSecondTimeMs<=timestamp-DEFAULT_ONE_SEC_MS){const passedTime=timestamp-this._lastSecondTimeMs;this._recFPSValueLastSecond=Math.round(this._frameCountInLastSecond/passedTime*DEFAULT_ONE_SEC_MS),this._lastSecondTimeMs=timestamp,this._frameCountInLastSecond=0}}else this._lastSecondTimeMs=timestamp;if(this._lastFrameTimeMs!=null){const dt=timestamp-this._lastFrameTimeMs;this._rollingFrameTime.addFrameTime(dt),this._rollingFrameTime.calcAverageFrameTime()}}}endFrame(timestamp){this.sampleFrame(timestamp),this._lastFrameTimeMs=timestamp}now(){return performance&&performance.now?performance.now():Date.now()}enable(){this._enabled=!0}disable(){this._enabled=!1,this._lastFrameTimeMs=null}reset(){this._lastFrameTimeMs=null,this._rollingFrameTime.reset()}};__name(_PerformanceMonitor,"PerformanceMonitor");let PerformanceMonitor=_PerformanceMonitor;const _RollingAverage=class _RollingAverage{constructor(length){__publicField(this,"averageFrameTime",DEFAULT_FRAME_TIME);__publicField(this,"variance",0);__publicField(this,"_samples",[]);__publicField(this,"_sampleCount",0);__publicField(this,"_pos",0);__publicField(this,"_m2",0);this._samples=new Array(length),this.reset()}calcAverageFrameTime(){const frameDuration=this.history(0);let delta;if(this.isSaturated()){const bottomValue=this._samples[this._pos];delta=bottomValue-this.averageFrameTime,this._m2-=delta*(bottomValue-this.averageFrameTime)}else this._sampleCount++;const min2=Math.min(...this._samples),max2=Math.min(...this._samples),filteredData=this._samples.filter(v=>v!==max2&&v!==min2);this.averageFrameTime=filteredData.reduce((sum,value)=>sum+value,0)/filteredData.length,delta=frameDuration-this.averageFrameTime,this._m2+=delta*(frameDuration-this.averageFrameTime),this.variance=this._m2/(this._sampleCount-1)}addFrameTime(frameTime){this._samples[this._pos]=frameTime,this._pos=++this._pos%this._samples.length}history(i){if(i>=this._sampleCount||i>=this._samples.length)return 0;const i0=this._wrapPosition(this._pos-1);return this._samples[this._wrapPosition(i0-i)]}isSaturated(){return this._sampleCount>=this._samples.length}reset(){this.averageFrameTime=DEFAULT_FRAME_TIME,this.variance=0,this._sampleCount=0,this._pos=0,this._m2=0}_wrapPosition(i){const max2=this._samples.length;return(i%max2+max2)%max2}};__name(_RollingAverage,"RollingAverage");let RollingAverage=_RollingAverage;const NORMAL_TEXT_SELECTION_PLUGIN_STYLE={strokeWidth:1.5,stroke:"rgba(0, 0, 0, 0)",strokeActive:"rgba(0, 0, 0, 1)",fill:"rgba(0, 0, 0, 0.2)"};function getCurrentScrollXY(scrollTimer){const scene=scrollTimer.getScene(),viewport=scrollTimer.getViewportByCoord(scene),scrollX=0,scrollY=0;if(!viewport)return{scrollX,scrollY};const actualScroll=viewport.transScroll2ViewportScrollValue(viewport.scrollX,viewport.scrollY);return{scrollX:actualScroll.x,scrollY:actualScroll.y}}__name(getCurrentScrollXY,"getCurrentScrollXY");const VERTICAL_ROTATE_ANGLE=90;function convertTextRotation(textRotation){const{a:angle=0,v:isVertical=core.BooleanNumber.FALSE}=textRotation||{a:0,v:core.BooleanNumber.FALSE};let centerAngle=0,vertexAngle=angle;return isVertical===core.BooleanNumber.TRUE&&(centerAngle=VERTICAL_ROTATE_ANGLE,vertexAngle=VERTICAL_ROTATE_ANGLE),{centerAngle,vertexAngle}}__name(convertTextRotation,"convertTextRotation");function getOffsetRectForDom(ele){const box=ele.getBoundingClientRect(),body=document.body,docElem=document.documentElement,scrollTop=window.pageYOffset||docElem.scrollTop||body.scrollTop,scrollLeft=window.pageXOffset||docElem.scrollLeft||body.scrollLeft,clientTop=docElem.clientTop||body.clientTop,clientLeft=docElem.clientLeft||body.clientLeft,top=box.top+scrollTop-clientTop,left=box.left+scrollLeft-clientLeft;return{top,left}}__name(getOffsetRectForDom,"getOffsetRectForDom");const _UniverRenderingContext2D=class _UniverRenderingContext2D{constructor(context){__publicField(this,"__mode","rendering");__publicField(this,"_system");__publicField(this,"_browser");__publicField(this,"_transformCache");__publicField(this,"canvas");__publicField(this,"_context");__publicField(this,"_systemType");__publicField(this,"_browserType");this._context=context,this.canvas=context.canvas}isContextLost(){return this._context.isContextLost()}get globalAlpha(){return this._context.globalAlpha}set globalAlpha(val){this._context.globalAlpha=val}get globalCompositeOperation(){return this._context.globalCompositeOperation}set globalCompositeOperation(val){this._context.globalCompositeOperation=val}get fillStyle(){return this._context.fillStyle}set fillStyle(val){this._context.fillStyle=val}get strokeStyle(){return this._context.strokeStyle}set strokeStyle(val){this._context.strokeStyle=val}get filter(){return this._context.filter}set filter(val){this._context.filter=val}get imageSmoothingEnabled(){return this._context.imageSmoothingEnabled}set imageSmoothingEnabled(val){this._context.imageSmoothingEnabled=val}get imageSmoothingQuality(){return this._context.imageSmoothingQuality}set imageSmoothingQuality(val){this._context.imageSmoothingQuality=val}get lineCap(){return this._context.lineCap}set lineCap(val){this._context.lineCap=val}get lineDashOffset(){return this._context.lineDashOffset}set lineDashOffset(val){this._context.lineDashOffset=val}get lineJoin(){return this._context.lineJoin}set lineJoin(val){this._context.lineJoin=val}get lineWidth(){return this._context.lineWidth}set lineWidth(val){this._context.lineWidth=val}setLineWidthByPrecision(val){const{scaleX,scaleY}=this._getScale();this._context.lineWidth=val/Math.max(scaleX,scaleY)}get miterLimit(){return this._context.miterLimit}set miterLimit(val){this._context.miterLimit=val}get shadowBlur(){return this._context.shadowBlur}set shadowBlur(val){this._context.shadowBlur=val}get shadowColor(){return this._context.shadowColor}set shadowColor(val){this._context.shadowColor=val}get shadowOffsetX(){return this._context.shadowOffsetX}set shadowOffsetX(val){this._context.shadowOffsetX=val}get shadowOffsetY(){return this._context.shadowOffsetY}set shadowOffsetY(val){this._context.shadowOffsetY=val}get direction(){return this._context.direction}set direction(val){this._context.direction=val}get font(){return this._context.font}set font(val){this._context.font=val}get fontKerning(){return this._context.fontKerning}set fontKerning(val){this._context.fontKerning=val}get fontStretch(){return this._context.fontStretch}set fontStretch(val){this._context.fontStretch=val}get fontVariantCaps(){return this._context.fontVariantCaps}set fontVariantCaps(val){this._context.fontVariantCaps=val}get letterSpacing(){return this._context.letterSpacing}set letterSpacing(val){this._context.letterSpacing=val}get textRendering(){return this._context.textRendering}set textRendering(val){this._context.textRendering=val}get wordSpacing(){return this._context.wordSpacing}set wordSpacing(val){this._context.wordSpacing=val}get textAlign(){return this._context.textAlign}set textAlign(val){this._context.textAlign=val}get textBaseline(){return this._context.textBaseline}set textBaseline(val){this._context.textBaseline=val}_getScale(){const m=this._transformCache||this.getTransform();return!this._transformCache&&m&&(this._transformCache=m),{scaleX:m.a,scaleY:m.d}}getScale(){return this._getScale()}getContextAttributes(){return this._context.getContextAttributes()}isPointInStroke(...args){return this._context.isPointInStroke(...args)}createConicGradient(startAngle,x,y){return this._context.createConicGradient(startAngle,x,y)}roundRect(x,y,w,h,radii){this._context.roundRect(x,y,w,h,radii)}roundRectByPrecision(x,y,w,h,radii){const{scaleX,scaleY}=this._getScale();x=fixLineWidthByScale(x,scaleX),y=fixLineWidthByScale(y,scaleY),w=fixLineWidthByScale(w,scaleX),h=fixLineWidthByScale(h,scaleY),this.roundRect(x,y,w,h,radii)}getTransform(){return this._context.getTransform()}resetTransform(){this._transformCache=null,this._context.resetTransform()}drawFocusIfNeeded(...args){return this._context.drawFocusIfNeeded(...args)}reset(){this._transformCache=null,this._context.reset()}arc(x,y,radius,startAngle,endAngle,counterClockwise){this._context.arc(x,y,Math.max(0,radius),startAngle,endAngle,counterClockwise)}arcByPrecision(x,y,radius,startAngle,endAngle,counterClockwise){const{scaleX,scaleY}=this._getScale();x=fixLineWidthByScale(x,scaleX),y=fixLineWidthByScale(y,scaleY),this.arc(x,y,radius,startAngle,endAngle,counterClockwise)}arcTo(x1,y1,x2,y2,radius){this._context.arcTo(x1,y1,x2,y2,radius)}arcToByPrecision(x1,y1,x2,y2,radius){const{scaleX,scaleY}=this._getScale();x1=fixLineWidthByScale(x1,scaleX),y1=fixLineWidthByScale(y1,scaleY),x2=fixLineWidthByScale(x2,scaleX),y2=fixLineWidthByScale(y2,scaleY),this.arcTo(x1,y1,x2,y2,radius)}beginPath(){this._context.beginPath()}bezierCurveTo(cp1x,cp1y,cp2x,cp2y,x,y){this._context.bezierCurveTo(cp1x,cp1y,cp2x,cp2y,x,y)}bezierCurveToByPrecision(cp1x,cp1y,cp2x,cp2y,x,y){const{scaleX,scaleY}=this._getScale();x=fixLineWidthByScale(x,scaleX),y=fixLineWidthByScale(y,scaleY),cp1x=fixLineWidthByScale(cp1x,scaleX),cp1y=fixLineWidthByScale(cp1y,scaleY),cp2x=fixLineWidthByScale(cp2x,scaleX),cp2y=fixLineWidthByScale(cp2y,scaleY),this.bezierCurveTo(cp1x,cp1y,cp2x,cp2y,x,y)}clearRect(x,y,width,height){this._context.clearRect(x,y,width,height)}clearRectByPrecision(x,y,width,height){const{scaleX,scaleY}=this._getScale();x=fixLineWidthByScale(x,scaleX),y=fixLineWidthByScale(y,scaleY),width=fixLineWidthByScale(width,scaleX),height=fixLineWidthByScale(height,scaleY),this.clearRect(x,y,width,height)}clip(...args){this._context.clip(...args)}closePath(){this._context.closePath()}getSystemType(){return this._systemType||(this._systemType=core.Tools.getSystemType()),this._systemType}getBrowserType(){return this._browserType||(this._browserType=core.Tools.getBrowserType()),this._browserType}closePathByEnv(){const isMac=this.getSystemType()==="Mac",isChrome=this.getBrowserType()==="Chrome";isMac&&isChrome||this._context.closePath()}createImageData(...args){if(args.length===0)throw new Error("arguments is zero");return args.length===1?this._context.createImageData(args[0]):args.length===2?this._context.createImageData(args[0],args[1]):this._context.createImageData(args[0],args[1],args[1])}createLinearGradient(x0,y0,x1,y1){return this._context.createLinearGradient(x0,y0,x1,y1)}createPattern(image,repetition){return this._context.createPattern(image,repetition)}createRadialGradient(x0,y0,r0,x1,y1,r1){return this._context.createRadialGradient(x0,y0,r0,x1,y1,r1)}drawImage(...args){const a=args,_context=this._context;a.length===3?_context.drawImage(args[0],args[1],args[2]):a.length===5?_context.drawImage(args[0],args[1],args[2],args[3],args[4]):a.length===9&&_context.drawImage(args[0],args[1],args[2],args[3],args[4],args[5],args[6],args[7],args[8])}ellipse(x,y,radiusX,radiusY,rotation,startAngle,endAngle,counterclockwise){this._context.ellipse(x,y,radiusX,radiusY,rotation,startAngle,endAngle,counterclockwise)}isPointInPath(...args){return this._context.isPointInPath(...args)}fill(...args){this._context.fill(...args)}fillRect(x,y,width,height){this._context.fillRect(x,y,width,height)}fillRectByPrecision(x,y,width,height){const{scaleX,scaleY}=this._getScale();x=fixLineWidthByScale(x,scaleX),y=fixLineWidthByScale(y,scaleY),width=fixLineWidthByScale(width,scaleX),height=fixLineWidthByScale(height,scaleY),this.fillRect(x,y,width,height)}strokeRect(x,y,width,height){this._context.strokeRect(x,y,width,height)}strokeRectPrecision(x,y,width,height){const{scaleX,scaleY}=this._getScale();x=fixLineWidthByScale(x,scaleX),y=fixLineWidthByScale(y,scaleY),width=fixLineWidthByScale(width,scaleX),height=fixLineWidthByScale(height,scaleY),this.strokeRect(x,y,width,height)}fillText(text,x,y,maxWidth){maxWidth?this._context.fillText(text,x,y,maxWidth):this._context.fillText(text,x,y)}fillTextPrecision(text,x,y,maxWidth){const{scaleX,scaleY}=this._getScale();x=fixLineWidthByScale(x,scaleX),y=fixLineWidthByScale(y,scaleY),maxWidth?(maxWidth=fixLineWidthByScale(maxWidth,scaleX),this._context.fillText(text,x,y,maxWidth)):this._context.fillText(text,x,y)}measureText(text){return this._context.measureText(text)}getImageData(sx,sy,sw,sh){return this._context.getImageData(sx,sy,sw,sh)}lineTo(x,y){this._context.lineTo(x,y)}lineToByPrecision(x,y){const{scaleX,scaleY}=this._getScale();x=fixLineWidthByScale(x,scaleX),y=fixLineWidthByScale(y,scaleY),this.lineTo(x,y)}moveTo(x,y){this._context.moveTo(x,y)}moveToByPrecision(x,y){const{scaleX,scaleY}=this._getScale();x=fixLineWidthByScale(x,scaleX),y=fixLineWidthByScale(y,scaleY),this.moveTo(x,y)}rect(x,y,width,height){this._context.rect(x,y,width,height)}rectByPrecision(x,y,width,height){const{scaleX,scaleY}=this._getScale();x=fixLineWidthByScale(x,scaleX),y=fixLineWidthByScale(y,scaleY),width=fixLineWidthByScale(width,scaleX),height=fixLineWidthByScale(height,scaleY),this.rect(x,y,width,height)}putImageData(imageData,dx,dy){this._context.putImageData(imageData,dx,dy)}quadraticCurveTo(cpx,cpy,x,y){this._context.quadraticCurveTo(cpx,cpy,x,y)}restore(){this._context.restore()}rotate(angle){this._context.rotate(angle)}save(){this._context.save()}scale(x,y){this._context.scale(x,y)}setLineDash(segments){this._context.setLineDash?this._context.setLineDash(segments):"mozDash"in this._context?this._context.mozDash=segments:"webkitLineDash"in this._context&&(this._context.webkitLineDash=segments)}getLineDash(){return this._context.getLineDash()}setTransform(...args){this._transformCache=null,this._context.setTransform(...args)}stroke(path2d){path2d?this._context.stroke(path2d):this._context.stroke()}strokeText(text,x,y,maxWidth){this._context.strokeText(text,x,y,maxWidth)}strokeTextByPrecision(text,x,y,maxWidth){const{scaleX,scaleY}=this._getScale();x=fixLineWidthByScale(x,scaleX),y=fixLineWidthByScale(y,scaleY),maxWidth&&(maxWidth=fixLineWidthByScale(maxWidth,scaleX)),this.strokeText(text,x,y,maxWidth)}transform(a,b,c,d,e,f){this._context.transform(a,b,c,d,e,f),this._transformCache=null}translate(x,y){this._context.translate(x,y)}translateWithPrecision(x,y){const{scaleX,scaleY}=this._getScale();x=fixLineWidthByScale(x,scaleX),y=fixLineWidthByScale(y,scaleY),this._context.translate(x,y)}translateWithPrecisionRatio(x,y){const{scaleX,scaleY}=this._getScale();this._context.translate(x/scaleX,y/scaleY)}clearRectForTexture(x,y,width,height){this.clearRectByPrecision(x,y,width,height)}setGlobalCompositeOperation(val){this._context.globalCompositeOperation=val}};__name(_UniverRenderingContext2D,"UniverRenderingContext2D");let UniverRenderingContext2D=_UniverRenderingContext2D;const _UniverRenderingContextWebGL=class _UniverRenderingContextWebGL{};__name(_UniverRenderingContextWebGL,"UniverRenderingContextWebGL");let UniverRenderingContextWebGL=_UniverRenderingContextWebGL;const _UniverRenderingContextWebGPU=class _UniverRenderingContextWebGPU{};__name(_UniverRenderingContextWebGPU,"UniverRenderingContextWebGPU");let UniverRenderingContextWebGPU=_UniverRenderingContextWebGPU;const _UniverRenderingContext=class _UniverRenderingContext extends UniverRenderingContext2D{};__name(_UniverRenderingContext,"UniverRenderingContext");let UniverRenderingContext=_UniverRenderingContext;const _UniverPrintingContext=class _UniverPrintingContext extends UniverRenderingContext2D{constructor(){super(...arguments);__publicField(this,"__mode","printing")}__getScale(){const m=this.getTransform();return{scaleX:m.a,scaleY:m.d}}clearRect(x,y,width,height){const{scaleX,scaleY}=this.__getScale();x=fixLineWidthByScale(x,scaleX),y=fixLineWidthByScale(y,scaleY),width=fixLineWidthByScale(width,scaleX),height=fixLineWidthByScale(height,scaleY),this._context.save(),this._context.fillStyle=getColor([255,255,255]),this._context.fillRect(x,y,width,height),this._context.restore()}clearRectForTexture(x,y,width,height){}setGlobalCompositeOperation(val){}};__name(_UniverPrintingContext,"UniverPrintingContext");let UniverPrintingContext=_UniverPrintingContext;var CanvasRenderMode=(CanvasRenderMode2=>(CanvasRenderMode2[CanvasRenderMode2.Rendering=0]="Rendering",CanvasRenderMode2[CanvasRenderMode2.Printing=1]="Printing",CanvasRenderMode2))(CanvasRenderMode||{});const _Canvas=class _Canvas{constructor(props){__publicField(this,"isCache",!1);__publicField(this,"_pixelRatio",1);__publicField(this,"_canvasEle");__publicField(this,"_context");__publicField(this,"_width",0);__publicField(this,"_height",0);props=props||{},this._canvasEle=createCanvasElement(),this._canvasEle.style.padding="0",this._canvasEle.style.margin="0",this._canvasEle.style.border="0",this._canvasEle.style.background="transparent",this._canvasEle.style.position="absolute",this._canvasEle.style.top="0",this._canvasEle.style.left="0",this._canvasEle.style.zIndex="8",this._canvasEle.className="univer-render-canvas",this._canvasEle.tabIndex=1,this._canvasEle.style.touchAction="none",this._canvasEle.style.outline="0";const context=this._canvasEle.getContext("2d");if(context==null)throw new Error("context is not support");props.mode===1?this._context=new UniverPrintingContext(context):this._context=new UniverRenderingContext(context),this.setSize(props.width,props.height,props.pixelRatio)}getCanvasEle(){return this._canvasEle}getContext(){return this._context}getPixelRatio(){return this._pixelRatio}getWidth(){return this._width}getHeight(){return this._height}setId(id){this._canvasEle.id=id}setSize(width,height,pixelRatioParam){var _a10;this._pixelRatio=pixelRatioParam||getDevicePixelRatio();const canvasElement=this.getCanvasEle();canvasElement&&width!==void 0&&(canvasElement.width=width*this._pixelRatio,this._width=canvasElement.width/this._pixelRatio,canvasElement.style.width=`${this._width}px`),canvasElement&&height!==void 0&&(canvasElement.height=height*this._pixelRatio,this._height=canvasElement.height/this._pixelRatio,canvasElement.style.height=`${this._height}px`),(_a10=this.getContext())==null||_a10.setTransform(this._pixelRatio,0,0,this._pixelRatio,0,0)}setPixelRatio(pixelRatio){this._width===0||this._height===0||(pixelRatio<1&&(pixelRatio=1),this.setSize(this._width,this._height,pixelRatio))}dispose(){var _a10;this.clear(),(_a10=this._canvasEle)==null||_a10.remove(),this._canvasEle=null,this._context=null}clear(){this.getContext().clearRect(0,0,this._width*this._pixelRatio,this._height*this._pixelRatio)}toDataURL(mimeType,quality){try{return this.getCanvasEle().toDataURL(mimeType,quality)}catch{try{return this.getCanvasEle().toDataURL()}catch(err){const{message}=err;return console.error(`Unable to get data URL. ${message} For more info read https://universheet.net/docs/Canvas.html.`),""}}}};__name(_Canvas,"Canvas");let Canvas=_Canvas;const _SceneCanvas=class _SceneCanvas extends Canvas{constructor(props={width:0,height:0}){super(props),this.setSize(props.width,props.height)}};__name(_SceneCanvas,"SceneCanvas");let SceneCanvas=_SceneCanvas;const _HitCanvas=class _HitCanvas extends Canvas{constructor(props={width:0,height:0}){super(props);__publicField(this,"hitCanvas",!0);this.setSize(props.width,props.height)}};__name(_HitCanvas,"HitCanvas");let HitCanvas=_HitCanvas;const _RenderComponent=class _RenderComponent extends BaseObject{constructor(){super(...arguments);__publicField(this,"_extensions",new Map)}get extensions(){return this._extensions}register(...extensions){const disposableCollection=new core.DisposableCollection;for(const extension of extensions)extension.parent=this,this._extensions.set(extension.uKey,extension),disposableCollection.add(core.toDisposable(()=>{this._extensions.delete(extension.uKey),extension.parent=null}));return this.disposeWithMe(disposableCollection),disposableCollection}getExtensionsByOrder(){const extensionArray=Array.from(this._extensions.values());return extensionArray.sort(core.sortRules),extensionArray}getExtensionByKey(uKey){return this._extensions.get(uKey)}draw(ctx,bounds){}dispose(){super.dispose();for(const extension of this._extensions.values())extension.dispose();this._extensions.clear()}};__name(_RenderComponent,"RenderComponent");let RenderComponent=_RenderComponent;const _ComponentExtension=class _ComponentExtension{constructor(){__publicField(this,"uKey","");__publicField(this,"type");__publicField(this,"Z_INDEX",0);__publicField(this,"parent");__publicField(this,"translateX",0);__publicField(this,"translateY",0);__publicField(this,"extensionOffset",{})}get zIndex(){return this.Z_INDEX}draw(ctx,parentScale,skeleton,diffBounds,more){}clearCache(){}_getScale(parentScale){return getScale(parentScale)}dispose(){this.extensionOffset={},this.parent=null}};__name(_ComponentExtension,"ComponentExtension");let ComponentExtension=_ComponentExtension;const SpreadsheetExtensionRegistry=core.Registry.create(),SheetRowHeaderExtensionRegistry=core.Registry.create(),SheetColumnHeaderExtensionRegistry=core.Registry.create(),DocumentsSpanAndLineExtensionRegistry=core.Registry.create(),_SheetComponent=class _SheetComponent extends RenderComponent{constructor(oKey,_skeleton){super(oKey),this._skeleton=_skeleton}getSkeleton(){return this._skeleton}updateSkeleton(spreadsheetSkeleton){this._skeleton=spreadsheetSkeleton}render(mainCtx,bounds){if(!this.visible)return this.makeDirty(!1),this;mainCtx.save(),this._draw(mainCtx,bounds),mainCtx.restore()}getParentScale(){let{scaleX=1,scaleY=1}=this.parent;return this.parent.classType===RENDER_CLASS_TYPE.SCENE_VIEWER&&(scaleX=this.parent.ancestorScaleX||1,scaleY=this.parent.ancestorScaleY||1),{scaleX,scaleY}}getScrollXYByRelativeCoords(coord){return{x:0,y:0}}dispose(){super.dispose(),this._skeleton=null}};__name(_SheetComponent,"SheetComponent");let SheetComponent=_SheetComponent;const _SpreadsheetHeader=class _SpreadsheetHeader extends SheetComponent{_draw(ctx,bounds){this.draw(ctx,bounds)}};__name(_SpreadsheetHeader,"SpreadsheetHeader");let SpreadsheetHeader=_SpreadsheetHeader;const _SpreadsheetColumnHeader=class _SpreadsheetColumnHeader extends SpreadsheetHeader{constructor(oKey,spreadsheetSkeleton){super(oKey,spreadsheetSkeleton);__publicField(this,"_columnHeaderLayoutExtension");this._initialDefaultExtension(),this.makeDirty(!0)}getDocuments(){throw new Error("Method not implemented.")}getNoMergeCellPositionByIndex(rowIndex,columnIndex){throw new Error("Method not implemented.")}getSelectionBounding(startRow,startColumn,endRow,endColumn){throw new Error("Method not implemented.")}get columnHeaderLayoutExtension(){return this._columnHeaderLayoutExtension}draw(ctx,bounds){const spreadsheetSkeleton=this.getSkeleton();if(!spreadsheetSkeleton)return;const parentScale=this.getParentScale();spreadsheetSkeleton.calculateSegment(bounds);const segment=spreadsheetSkeleton.rowColumnSegment;if(!segment||segment.startColumn===-1&&segment.endColumn===-1)return;const{rowHeaderWidth}=spreadsheetSkeleton;ctx.translateWithPrecision(rowHeaderWidth,0);const extensions=this.getExtensionsByOrder();for(const extension of extensions)extension.draw(ctx,parentScale,spreadsheetSkeleton)}isHit(coord){const oCoord=this.getInverseCoord(coord),skeleton=this.getSkeleton();if(!skeleton)return!1;const{rowHeaderWidth,columnHeaderHeight}=skeleton;return oCoord.x>rowHeaderWidth&&oCoord.y>=0&&oCoord.y<=columnHeaderHeight}_initialDefaultExtension(){SheetColumnHeaderExtensionRegistry.getData().forEach(extension=>{this.register(extension)}),this._columnHeaderLayoutExtension=this.getExtensionByKey("DefaultColumnHeaderLayoutExtension")}setCustomHeader(cfg){this.makeDirty(!0),this._columnHeaderLayoutExtension.configHeaderColumn(cfg)}};__name(_SpreadsheetColumnHeader,"SpreadsheetColumnHeader");let SpreadsheetColumnHeader=_SpreadsheetColumnHeader;var SHEET_EXTENSION_TYPE=(SHEET_EXTENSION_TYPE2=>(SHEET_EXTENSION_TYPE2[SHEET_EXTENSION_TYPE2.GRID=0]="GRID",SHEET_EXTENSION_TYPE2))(SHEET_EXTENSION_TYPE||{});const SHEET_EXTENSION_PREFIX="sheet-ext-",_SheetExtension=class _SheetExtension extends ComponentExtension{constructor(){super(...arguments);__publicField(this,"type",0)}getCellByIndex(rowIndex,columnIndex,rowHeightAccumulation,columnWidthAccumulation,dataMergeCache){return getCellByIndex(rowIndex,columnIndex,rowHeightAccumulation,columnWidthAccumulation,dataMergeCache)}isRenderDiffRangesByCell(rangeP,diffRanges){if(diffRanges==null||diffRanges.length===0)return!0;for(const range of diffRanges){const{startRow,startColumn,endRow,endColumn}=range;if(core.Rectangle.intersects(rangeP,{startRow,endRow,startColumn,endColumn}))return!0}return!1}isRenderDiffRangesByColumn(curStartColumn,curEndColumn,diffRanges){if(diffRanges==null||diffRanges.length===0)return!0;for(const range of diffRanges){const{startColumn,endColumn}=range;if(core.Rectangle.intersects({startRow:0,endRow:0,startColumn:curStartColumn,endColumn:curEndColumn},{startRow:0,endRow:0,startColumn,endColumn}))return!0}return!1}isRenderDiffRangesByRow(curStartRow,curEndRow,diffRanges){if(diffRanges==null||diffRanges.length===0)return!0;for(const range of diffRanges){const{startRow,endRow}=range;if(core.Rectangle.intersects({startRow:curStartRow,endRow:curEndRow,startColumn:0,endColumn:0},{startRow,endRow,startColumn:0,endColumn:0}))return!0}return!1}isRowInRanges(curStartRow,curEndRow,viewranges){if(viewranges==null||viewranges.length===0)return!0;for(const range of viewranges){const{startRow,endRow}=range;if(curStartRow>=startRow&&curStartRow<=endRow||curEndRow>=startRow&&curEndRow<=endRow||core.Rectangle.intersects({startRow:curStartRow,endRow:curEndRow,startColumn:0,endColumn:0},{startRow,endRow,startColumn:0,endColumn:0}))return!0}return!1}};__name(_SheetExtension,"SheetExtension");let SheetExtension=_SheetExtension;const UNIQUE_KEY$a="DefaultBackgroundExtension",DOC_EXTENSION_Z_INDEX$3=21,PRINTING_Z_INDEX=21;var _a;let Background$1=(_a=class extends SheetExtension{constructor(){super(...arguments);__publicField(this,"uKey",UNIQUE_KEY$a);__publicField(this,"Z_INDEX",DOC_EXTENSION_Z_INDEX$3);__publicField(this,"PRINTING_Z_INDEX",PRINTING_Z_INDEX)}get zIndex(){var _a10;return(_a10=this.parent)!=null&&_a10.isPrinting?this.PRINTING_Z_INDEX:this.Z_INDEX}draw(ctx,_parentScale,spreadsheetSkeleton,diffRanges,{viewRanges,checkOutOfViewBound}){const{stylesCache,worksheet,rowHeightAccumulation,columnTotalWidth,columnWidthAccumulation,rowTotalHeight}=spreadsheetSkeleton,{background:bgMatrixCacheByColor,backgroundPositions}=stylesCache;if(!worksheet||!bgMatrixCacheByColor||!rowHeightAccumulation||!columnWidthAccumulation||columnTotalWidth===void 0||rowTotalHeight===void 0)return;ctx.save();const{scaleX,scaleY}=ctx.getScale(),renderBGContext={ctx,backgroundPositions,scaleX,scaleY,checkOutOfViewBound,viewRanges,diffRanges,spreadsheetSkeleton},mergeRanges=[];viewRanges.forEach(range=>{const intersectMergeRangesInViewRanges=spreadsheetSkeleton.worksheet.getMergedCellRange(range.startRow,range.startColumn,range.endRow,range.endColumn);mergeRanges.push(...intersectMergeRangesInViewRanges)});const renderBGCore=__name(rgb=>{const bgColorMatrix=bgMatrixCacheByColor[rgb];ctx.fillStyle=rgb||getColor([255,255,255]);const backgroundPaths=new Path2D;renderBGContext.backgroundPaths=backgroundPaths,ctx.beginPath(),viewRanges.forEach(range=>{core.Range.foreach(range,(row,col)=>{if(spreadsheetSkeleton.worksheet.getSpanModel().getMergeDataIndex(row,col)!==-1)return;const cellInfo=spreadsheetSkeleton.getCellByIndexWithNoHeader(row,col);if(!cellInfo)return;bgColorMatrix.getValue(row,col)&&(renderBGContext.cellInfo=cellInfo,this.renderBGByCell(renderBGContext,row,col))})}),ctx.fill(backgroundPaths),ctx.closePath()},"renderBGCore"),renderBGForMergedCells=__name(rgb=>{const bgColorMatrix=bgMatrixCacheByColor[rgb];ctx.fillStyle=rgb||getColor([255,255,255]);const backgroundPaths=new Path2D;renderBGContext.backgroundPaths=backgroundPaths,ctx.beginPath(),mergeRanges.forEach(range=>{if(bgColorMatrix.getValue(range.startRow,range.startColumn)){const cellInfo=spreadsheetSkeleton.getCellByIndexWithNoHeader(range.startRow,range.startColumn);if(!cellInfo)return;renderBGContext.cellInfo=cellInfo,this.renderBGByCell(renderBGContext,range.startRow,range.startColumn)}}),ctx.fill(backgroundPaths),ctx.closePath()},"renderBGForMergedCells");Object.keys(bgMatrixCacheByColor).forEach(rgb=>{renderBGCore(rgb),renderBGForMergedCells(rgb)}),ctx.restore()}renderBGByCell(bgContext,row,col){const{spreadsheetSkeleton,backgroundPaths,scaleX,scaleY,viewRanges,diffRanges,cellInfo}=bgContext;let{startY,endY,startX,endX}=cellInfo;const{isMerged,isMergedMainCell,mergeInfo}=cellInfo,renderRange=diffRanges&&diffRanges.length>0?diffRanges:viewRanges;if(startY=mergeInfo.startY,endY=mergeInfo.endY,startX=mergeInfo.startX,endX=mergeInfo.endX,!isMerged&&!isMergedMainCell&&!inViewRanges(renderRange,row,col))return!0;const visibleRow=spreadsheetSkeleton.worksheet.getRowVisible(row),visibleCol=spreadsheetSkeleton.worksheet.getColVisible(col);if(!visibleRow||!visibleCol)return!0;const startXPrecise=fixLineWidthByScale(startX,scaleX),startYPrecise=fixLineWidthByScale(startY,scaleY),endXPrecise=fixLineWidthByScale(endX,scaleX),endYPrecise=fixLineWidthByScale(endY,scaleY);backgroundPaths.rect(startXPrecise,startYPrecise,endXPrecise-startXPrecise,endYPrecise-startYPrecise)}},__name(_a,"Background"),_a);SpreadsheetExtensionRegistry.add(Background$1);const UNIQUE_KEY$9="DefaultBorderExtension",BORDER_Z_INDEX=50;var _a2;let Border$1=(_a2=class extends SheetExtension{constructor(){super(...arguments);__publicField(this,"uKey",UNIQUE_KEY$9);__publicField(this,"Z_INDEX",BORDER_Z_INDEX);__publicField(this,"preStyle");__publicField(this,"preColor")}draw(ctx,_parentScale,spreadsheetSkeleton,diffRanges,{viewRanges}){const{stylesCache,overflowCache,worksheet,rowHeightAccumulation,columnTotalWidth,columnWidthAccumulation,rowTotalHeight}=spreadsheetSkeleton;if(!worksheet||!rowHeightAccumulation||!columnWidthAccumulation||columnTotalWidth===void 0||rowTotalHeight===void 0)return;ctx.save(),ctx.translateWithPrecisionRatio(FIX_ONE_PIXEL_BLUR_OFFSET,FIX_ONE_PIXEL_BLUR_OFFSET);const precisionScale=this._getScale(ctx.getScale()),{border}=stylesCache;if(!border)return;const renderBorderContext={ctx,precisionScale,overflowCache,diffRanges,viewRanges,spreadsheetSkeleton};ctx.beginPath(),viewRanges.forEach(range=>{core.Range.foreach(range,(row,col)=>{const borderConfig=border.getValue(row,col);borderConfig&&this.renderBorderByCell(renderBorderContext,row,col,borderConfig)})}),ctx.closePath(),ctx.restore()}renderBorderByCell(renderBorderContext,row,col,borderCacheItem){const{ctx,precisionScale,overflowCache,spreadsheetSkeleton,diffRanges}=renderBorderContext,cellInfo=spreadsheetSkeleton.getCellByIndexWithNoHeader(row,col),{startY:cellStartY,endY:cellEndY,startX:cellStartX,endX:cellEndX}=cellInfo,{isMerged,isMergedMainCell,mergeInfo}=cellInfo;if(!isMerged){const visibleRow=spreadsheetSkeleton.worksheet.getRowVisible(row),visibleCol=spreadsheetSkeleton.worksheet.getColVisible(col);if(!visibleRow||!visibleCol)return!0}if(!this.isRenderDiffRangesByRow(mergeInfo.startRow,mergeInfo.endRow,diffRanges))return!0;for(const key in borderCacheItem){const{type,style,color}=borderCacheItem[key];if(style===core.BorderStyleTypes.NONE)continue;let startY=cellStartY,endY=cellEndY,startX=cellStartX,endX=cellEndX;if(type!==BORDER_TYPE.TOP&&type!==BORDER_TYPE.BOTTOM&&type!==BORDER_TYPE.LEFT&&type!==BORDER_TYPE.RIGHT){if(isMerged)return!0;isMergedMainCell&&(startY=mergeInfo.startY,endY=mergeInfo.endY,startX=mergeInfo.startX,endX=mergeInfo.endX)}const lineWidth=getLineWidth(style);setLineType(ctx,style),ctx.setLineWidthByPrecision(lineWidth),ctx.strokeStyle=color||COLOR_BLACK_RGB,drawDiagonalLineByBorderType(ctx,type,{startX,startY,endX,endY}),!this._getOverflowExclusion(overflowCache,type,row,col)&&drawLineByBorderType(ctx,type,(lineWidth-1)/2/precisionScale,{startX,startY,endX,endY})}}_getOverflowExclusion(overflowCache,type,borderRow,borderColumn){let isDraw=!1;return type===BORDER_TYPE.TOP||type===BORDER_TYPE.BOTTOM||overflowCache==null||overflowCache.forRow((row,rowArray)=>{if(row!==borderRow)return!0;rowArray.forEach(column=>{const rectangle=overflowCache.getValue(row,column),{startColumn,endColumn}=rectangle;if(type===BORDER_TYPE.LEFT&&borderColumn>startColumn&&borderColumn<=endColumn||type===BORDER_TYPE.RIGHT&&borderColumn>=startColumn&&borderColumn<endColumn)return isDraw=!0,!1})}),isDraw}},__name(_a2,"Border"),_a2);SpreadsheetExtensionRegistry.add(Border$1);const UNIQUE_KEY$8="DefaultColumnHeaderLayoutExtension",DEFAULT_COLUMN_STYLE={fontSize:13,fontFamily:DEFAULT_FONTFACE_PLANE,fontColor:"#000000",backgroundColor:getColor([248,249,250]),borderColor:getColor([217,217,217]),textAlign:"center",textBaseline:"middle"},_ColumnHeaderLayout=class _ColumnHeaderLayout extends SheetExtension{constructor(cfg){super();__publicField(this,"uKey",UNIQUE_KEY$8);__publicField(this,"Z_INDEX",10);__publicField(this,"columnsCfg",[]);__publicField(this,"headerStyle",{fontSize:DEFAULT_COLUMN_STYLE.fontSize,fontFamily:DEFAULT_COLUMN_STYLE.fontFamily,fontColor:DEFAULT_COLUMN_STYLE.fontColor,backgroundColor:DEFAULT_COLUMN_STYLE.backgroundColor,borderColor:DEFAULT_COLUMN_STYLE.borderColor,textAlign:DEFAULT_COLUMN_STYLE.textAlign,textBaseline:DEFAULT_COLUMN_STYLE.textBaseline});cfg&&this.configHeaderColumn(cfg)}configHeaderColumn(cfg){this.columnsCfg=cfg.columnsCfg||[],this.headerStyle={...this.headerStyle,...cfg.headerStyle}}getCfgOfCurrentColumn(colIndex){let mergeWithSpecCfg,curColSpecCfg;const columnsCfg=this.columnsCfg||[];columnsCfg[colIndex]?(typeof columnsCfg[colIndex]=="string"&&(columnsCfg[colIndex]={text:columnsCfg[colIndex]}),curColSpecCfg=columnsCfg[colIndex],mergeWithSpecCfg={...this.headerStyle,...curColSpecCfg}):mergeWithSpecCfg={...this.headerStyle,text:core.numberToABC(colIndex)};const specStyle=Object.keys(curColSpecCfg||{}).length>1;return[mergeWithSpecCfg,specStyle]}setStyleToCtx(ctx,columnStyle){columnStyle.textAlign&&(ctx.textAlign=columnStyle.textAlign),columnStyle.textBaseline&&(ctx.textBaseline=columnStyle.textBaseline),columnStyle.fontColor&&(ctx.fillStyle=columnStyle.fontColor),columnStyle.borderColor&&(ctx.strokeStyle=columnStyle.borderColor),columnStyle.fontSize&&(ctx.font=`${columnStyle.fontSize}px ${DEFAULT_FONTFACE_PLANE}`)}draw(ctx,parentScale,spreadsheetSkeleton){const{rowColumnSegment,columnHeaderHeight=0}=spreadsheetSkeleton,{startColumn,endColumn}=rowColumnSegment;if(!spreadsheetSkeleton||columnHeaderHeight===0)return;const{rowHeightAccumulation,columnTotalWidth,columnWidthAccumulation,rowTotalHeight}=spreadsheetSkeleton;if(!rowHeightAccumulation||!columnWidthAccumulation||columnTotalWidth===void 0||rowTotalHeight===void 0)return;const scale=this._getScale(parentScale);this.setStyleToCtx(ctx,this.headerStyle),ctx.save(),ctx.fillStyle=this.headerStyle.backgroundColor,ctx.fillRectByPrecision(0,0,columnTotalWidth,columnHeaderHeight),ctx.restore(),ctx.setLineWidthByPrecision(1),ctx.translateWithPrecisionRatio(FIX_ONE_PIXEL_BLUR_OFFSET,FIX_ONE_PIXEL_BLUR_OFFSET);let preColumnPosition=0;for(let c=startColumn-1;c<=endColumn;c++){if(c<0||c>columnWidthAccumulation.length-1)continue;const columnEndPosition=columnWidthAccumulation[c];if(preColumnPosition===columnEndPosition)continue;const cellBound={left:preColumnPosition,top:0,right:columnEndPosition,bottom:columnHeaderHeight,width:columnEndPosition-preColumnPosition,height:columnHeaderHeight},[curColumnCfg,specStyle]=this.getCfgOfCurrentColumn(c);specStyle&&curColumnCfg.backgroundColor&&(ctx.save(),ctx.fillStyle=curColumnCfg.backgroundColor,ctx.fillRectByPrecision(cellBound.left,cellBound.top,cellBound.width,cellBound.height),ctx.restore()),ctx.beginPath(),ctx.moveToByPrecision(cellBound.right,0),ctx.lineToByPrecision(cellBound.right,cellBound.height),ctx.stroke();const textX=(()=>{switch(curColumnCfg.textAlign){case"center":return cellBound.left+(cellBound.right-cellBound.left)/2;case"right":return cellBound.right-MIDDLE_CELL_POS_MAGIC_NUMBER;case"left":return cellBound.left+MIDDLE_CELL_POS_MAGIC_NUMBER;default:return cellBound.left+(cellBound.right-cellBound.left)/2}})(),middleYCellRect=cellBound.height/2+MIDDLE_CELL_POS_MAGIC_NUMBER;specStyle&&(ctx.save(),ctx.beginPath(),this.setStyleToCtx(ctx,curColumnCfg),ctx.rectByPrecision(cellBound.left,cellBound.top,cellBound.width,cellBound.height),ctx.clip()),ctx.fillText(curColumnCfg.text,textX,middleYCellRect),specStyle&&ctx.restore(),preColumnPosition=columnEndPosition}const columnHeaderHeightFix=columnHeaderHeight-.5/scale;ctx.beginPath(),ctx.moveToByPrecision(0,columnHeaderHeightFix),ctx.lineToByPrecision(columnTotalWidth,columnHeaderHeightFix),ctx.stroke()}};__name(_ColumnHeaderLayout,"ColumnHeaderLayout");let ColumnHeaderLayout=_ColumnHeaderLayout;SheetColumnHeaderExtensionRegistry.add(new ColumnHeaderLayout);const UNIQUE_KEY$7="DefaultCustomExtension",Z_INDEX$1=55,stringifyRange$1=__name(range=>{const{startRow,endRow,startColumn,endColumn}=range;return`${startRow}-${endRow}-${startColumn}-${endColumn}`},"stringifyRange$1"),_Custom=class _Custom extends SheetExtension{constructor(){super(...arguments);__publicField(this,"Z_INDEX",Z_INDEX$1);__publicField(this,"uKey",UNIQUE_KEY$7)}draw(ctx,_parentScale,skeleton,diffRanges){const{worksheet,rowColumnSegment}=skeleton;if(!worksheet)return;const mergeCellRendered=new Set,subUnitId=worksheet.getSheetId();core.Range.foreach(rowColumnSegment,(row,col)=>{if(!worksheet.getRowVisible(row)||!worksheet.getColVisible(col))return;let cellData=worksheet.getCell(row,col);if(!(cellData!=null&&cellData.customRender))return;let primaryWithCoord=skeleton.getCellByIndexWithNoHeader(row,col);const{mergeInfo}=primaryWithCoord;if(!this.isRenderDiffRangesByRow(mergeInfo.startRow,mergeInfo.endRow,diffRanges))return!0;if(primaryWithCoord.isMerged||primaryWithCoord.isMergedMainCell){const rangeStr=stringifyRange$1(mergeInfo);if(mergeCellRendered.has(rangeStr))return;mergeCellRendered.add(rangeStr)}if(primaryWithCoord.isMerged){const mainCell={row:mergeInfo.startRow,col:mergeInfo.startColumn};if(cellData=worksheet.getCell(mainCell.row,mainCell.col),!(cellData!=null&&cellData.customRender))return;primaryWithCoord=skeleton.getCellByIndex(mainCell.row,mainCell.col)}const renderInfo={data:cellData,style:skeleton.getsStyles().getStyleByCell(cellData),primaryWithCoord,subUnitId,row,col,worksheet,unitId:worksheet.unitId},customRender=cellData.customRender.sort(core.sortRules);ctx.save(),customRender.forEach(item=>{item.drawWith(ctx,renderInfo,skeleton,this.parent)}),ctx.restore()})}};__name(_Custom,"Custom");let Custom=_Custom;SpreadsheetExtensionRegistry.add(Custom);const FONT_EXTENSION_Z_INDEX=45,EXPAND_SIZE_FOR_RENDER_OVERFLOW=20;var __defProp$4=Object.defineProperty,__getOwnPropDesc$4=Object.getOwnPropertyDescriptor,__decorateClass$4=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$4(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$4(target,key,result),result},"__decorateClass$4"),__decorateParam$4=__name((index2,decorator)=>(target,key)=>decorator(target,key,index2),"__decorateParam$4"),_a3;exports.Skeleton=(_a3=class extends core.Disposable{constructor(_localService){super();__publicField(this,"_fontLocale");__publicField(this,"_dirty",!0);this._localService=_localService,this._localeInitial()}get dirty(){return this._dirty}getFontLocale(){return this._fontLocale}makeDirty(state){this._dirty=state}dispose(){super.dispose(),this._fontLocale=null}_localeInitial(){}},__name(_a3,"Skeleton"),_a3);exports.Skeleton=__decorateClass$4([__decorateParam$4(0,core.Inject(core.LocaleService))],exports.Skeleton);const _Liquid=class _Liquid{constructor(){__publicField(this,"_translateX",0);__publicField(this,"_translateY",0);__publicField(this,"_translateSaveList",[])}get x(){return this._translateX}get y(){return this._translateY}reset(){this.translateBy(0,0),this._translateSaveList=[]}translateBy(x=0,y=0){this._translateX=x,this._translateY=y}translate(x=0,y=0){this._translateX+=x,this._translateY+=y}translateSave(){this._translateSaveList.push({x:this._translateX,y:this._translateY})}translateRestore(){const save=this._translateSaveList.pop();save&&(this._translateX=save.x,this._translateY=save.y)}translatePagePadding(page){const{marginTop:pagePaddingTop=0,marginBottom:_pagePaddingBottom=0,marginLeft:pagePaddingLeft=0,marginRight:_pagePaddingRight=0}=page;this.translate(pagePaddingLeft,pagePaddingTop)}restorePagePadding(page){const{marginTop:pagePaddingTop=0,marginBottom:_pagePaddingBottom=0,marginLeft:pagePaddingLeft=0,marginRight:_pagePaddingRight=0}=page;this.translate(-pagePaddingLeft,-pagePaddingTop)}translatePage(page,type=PageLayoutType.VERTICAL,left=0,top=0,_right=0,_bottom=0){const{pageWidth,pageHeight}=page;let pageTop=0,pageLeft=0;return type===PageLayoutType.VERTICAL?pageTop+=pageHeight+top:type===PageLayoutType.HORIZONTAL&&(pageLeft+=pageWidth+left),this.translate(pageLeft,pageTop),{x:pageLeft,y:pageTop}}translateSection(section){const{top:sectionTop=0}=section;return this.translate(0,sectionTop),{x:0,y:sectionTop}}translateColumn(column){const{left:columnLeft}=column;return this.translate(columnLeft,0),{x:columnLeft,y:0}}translateLine(line2,includeMarginTop=!1,includePaddingTop=!1){const{top:lineTop,marginBottom:_lineMarginBottom=0,marginTop:lineMarginTop=0,paddingTop:linePaddingTop=0,paddingBottom:_linePaddingBottom=0}=line2,lineOffset=lineTop+(includeMarginTop?lineMarginTop:0)+(includePaddingTop?linePaddingTop:0);return this.translate(0,lineOffset),{x:0,y:lineOffset}}translateDivide(divide){const{left:divideLeft,paddingLeft:dividePaddingLeft}=divide,left=divideLeft+dividePaddingLeft;return this.translate(left,0),{x:left,y:0}}translateGlyph(glyph){const{left:spanLeft}=glyph;return this.translate(spanLeft,0),{x:spanLeft,y:0}}};__name(_Liquid,"Liquid");let Liquid=_Liquid;const _DataStreamTreeNode=class _DataStreamTreeNode{constructor(nodeType,content){__publicField(this,"children",[]);__publicField(this,"parent");__publicField(this,"startIndex",-1);__publicField(this,"endIndex",-1);__publicField(this,"blocks",[]);this.nodeType=nodeType,this.content=content}static create(nodeType,content){return new _DataStreamTreeNode(nodeType,content)}dispose(){this.children.forEach(child=>{child.dispose()}),this.parent=null,this.blocks=[]}getProps(){const{children,parent,startIndex,endIndex,nodeType,content}=this;return{children,parent,startIndex,endIndex,nodeType,content}}addBlocks(blocks){this.blocks=this.blocks.concat(blocks)}setIndexRange(startIndex,endIndex){this.startIndex=startIndex,this.endIndex=endIndex}insertText(text,insertIndex){this.content=core.insertTextToContent(this.content||"",insertIndex-this.startIndex,text)}exclude(index2){const{startIndex,endIndex}=this;return index2<startIndex||index2>endIndex}plus(len){this.startIndex+=len,this.endIndex+=len,this._addIndexForBlock(len)}selfPlus(len,index2){this.endIndex+=len,index2==null&&(index2=this.startIndex),this._addIndexForBlock(len,index2)}split(index2){const{children,parent,startIndex,nodeType,content=""}=this.getProps();if(this.exclude(index2))return;const firstStartIndex=0,firstEndIndex=index2-startIndex,lastStartIndex=firstEndIndex,firstNodeContent=content.slice(firstStartIndex,firstEndIndex),firstNode=_DataStreamTreeNode.create(nodeType,firstNodeContent);firstNode.parent=parent,firstNode.setIndexRange(firstStartIndex,firstEndIndex-1);const lastNodeContent=content.slice(lastStartIndex),lastNode=_DataStreamTreeNode.create(nodeType,lastNodeContent);lastNode.parent=parent,lastNode.setIndexRange(lastStartIndex,lastStartIndex+lastNodeContent.length-1);const firstChildNodes=[],lastChildNodes=[];for(const node of children){const{startIndex:childStartIndex}=node;if(node.exclude(index2))index2<childStartIndex?firstChildNodes.push(node):lastChildNodes.push(node);else{const splitData=node.split(index2);if(splitData==null){firstChildNodes.push(node);continue}const{firstNode:firstNode2,lastNode:lastNode2}=splitData;firstChildNodes.push(firstNode2),firstChildNodes.push(lastNode2)}}return firstNode.children=firstChildNodes,lastNode.children=lastChildNodes,firstNode._resetBlocks(),lastNode._resetBlocks(),{firstNode,lastNode}}getPositionInParent(){var _a10;const index2=(_a10=this.parent)==null?void 0:_a10.children.indexOf(this);return index2==null?-1:index2}remove(){this.children=[],this.parent!=null&&(this.parent.children.splice(this.getPositionInParent(),1),this.parent=null)}minus(startIndex,endIndex){const segments=core.horizontalLineSegmentsSubtraction(this.startIndex,this.endIndex,startIndex,endIndex);if(segments.length===0)return;const originStartIndex=this.startIndex;this.startIndex=segments[0],this.endIndex=segments[1],this.content!=null&&(this.content=core.deleteContent(this.content||"",startIndex-originStartIndex,endIndex-originStartIndex+1))}merge(node){const{startIndex,endIndex,children}=node;this.endIndex+=endIndex-startIndex+1,this.children.push(...children),this.content+=node.content||"",node.remove()}_addIndexForBlock(addLen,index2=Number.NEGATIVE_INFINITY){for(let i=0,len=this.blocks.length;i<len;i++){const block=this.blocks[i];block>=index2&&(this.blocks[i]=block+addLen)}}_resetBlocks(){if(this.nodeType===core.DataStreamTreeNodeType.PARAGRAPH&&this.content!=null&&this.content.length!==0){this.blocks=[];for(let i=0,len=this.content.length;i<len;i++)this.content[i]===core.DataStreamTreeTokenType.CUSTOM_BLOCK&&this.blocks.push(this.startIndex+i)}}};__name(_DataStreamTreeNode,"DataStreamTreeNode");let DataStreamTreeNode=_DataStreamTreeNode;var DocumentEditArea=(DocumentEditArea2=>(DocumentEditArea2.BODY="BODY",DocumentEditArea2.HEADER="HEADER",DocumentEditArea2.FOOTER="FOOTER",DocumentEditArea2))(DocumentEditArea||{});function batchParent(parent,children,nodeType=core.DataStreamTreeNodeType.SECTION_BREAK){if(children.length===0)throw new Error("Missing `paragraphs` or `sectionBreaks` fields, or doesn't correspond to the location in `dataStream`.");for(const child of children)child.parent=parent,parent.children.push(child);const startOffset=nodeType===core.DataStreamTreeNodeType.SECTION_BREAK?0:1,allChildren=parent.children;parent.setIndexRange(allChildren[0].startIndex-startOffset,allChildren[allChildren.length-1].endIndex+1)}__name(batchParent,"batchParent");function parseDataStreamToTree(dataStream){let content="";const dataStreamLen=dataStream.length,sectionList=[],paragraphList=[],cellParagraphList=[],tableList2=[],tableRowList=[],tableCellList=[],currentBlocks=[];for(let i=0;i<dataStreamLen;i++){const char=dataStream[i];if(char===core.DataStreamTreeTokenType.PARAGRAPH){content+=core.DataStreamTreeTokenType.PARAGRAPH;const paragraphNode=DataStreamTreeNode.create(core.DataStreamTreeNodeType.PARAGRAPH,content),lastTableCache=tableList2[tableList2.length-1];lastTableCache&&lastTableCache.isFinished&&(batchParent(paragraphNode,[lastTableCache.table],core.DataStreamTreeNodeType.PARAGRAPH),tableList2.pop()),paragraphNode.setIndexRange(i-content.length+1,i),paragraphNode.addBlocks(currentBlocks),currentBlocks.length=0,content="",tableCellList.length>0?cellParagraphList.push(paragraphNode):paragraphList.push(paragraphNode)}else if(char===core.DataStreamTreeTokenType.SECTION_BREAK){const sectionNode=DataStreamTreeNode.create(core.DataStreamTreeNodeType.SECTION_BREAK),tempParagraphList=tableCellList.length>0?cellParagraphList:paragraphList;batchParent(sectionNode,tempParagraphList);const lastNode=tempParagraphList[tempParagraphList.length-1];if(lastNode&&lastNode.content&&(lastNode.content+=core.DataStreamTreeTokenType.SECTION_BREAK),tableCellList.length>0){const lastCell=tableCellList[tableCellList.length-1];batchParent(lastCell,[sectionNode],core.DataStreamTreeNodeType.TABLE_CELL)}else sectionList.push(sectionNode);tempParagraphList.length=0}else if(char===core.DataStreamTreeTokenType.TABLE_START){const tableNode=DataStreamTreeNode.create(core.DataStreamTreeNodeType.TABLE);tableList2.push({table:tableNode,isFinished:!1})}else if(char===core.DataStreamTreeTokenType.TABLE_ROW_START){const rowNode=DataStreamTreeNode.create(core.DataStreamTreeNodeType.TABLE_ROW);tableRowList.push(rowNode)}else if(char===core.DataStreamTreeTokenType.TABLE_CELL_START){const cellNode=DataStreamTreeNode.create(core.DataStreamTreeNodeType.TABLE_CELL);tableCellList.push(cellNode)}else if(char===core.DataStreamTreeTokenType.TABLE_END){const lastTable=tableList2[tableList2.length-1];lastTable.isFinished=!0,content=""}else if(char===core.DataStreamTreeTokenType.TABLE_ROW_END){const rowNode=tableRowList.pop(),lastTableCache=tableList2[tableList2.length-1];batchParent(lastTableCache.table,[rowNode],core.DataStreamTreeNodeType.TABLE)}else if(char===core.DataStreamTreeTokenType.TABLE_CELL_END){const cellNode=tableCellList.pop(),lastRow=tableRowList[tableRowList.length-1];batchParent(lastRow,[cellNode],core.DataStreamTreeNodeType.TABLE_ROW)}else char===core.DataStreamTreeTokenType.CUSTOM_BLOCK&¤tBlocks.push(i),content+=char}return sectionList}__name(parseDataStreamToTree,"parseDataStreamToTree");const _DocumentViewModel=class _DocumentViewModel{constructor(_documentDataModel){__publicField(this,"_interceptor",null);__publicField(this,"children",[]);__publicField(this,"_sectionBreakCurrentIndex",0);__publicField(this,"_paragraphCurrentIndex",0);__publicField(this,"_textRunCurrentIndex",0);__publicField(this,"_customBlockCurrentIndex",0);__publicField(this,"_tableBlockCurrentIndex",0);__publicField(this,"_customRangeCurrentIndex",0);__publicField(this,"_editArea","BODY");__publicField(this,"_editAreaChange$",new rxjs.BehaviorSubject(null));__publicField(this,"editAreaChange$",this._editAreaChange$.asObservable());__publicField(this,"headerTreeMap",new Map);__publicField(this,"footerTreeMap",new Map);__publicField(this,"_segmentViewModels$",new rxjs.BehaviorSubject([]));__publicField(this,"segmentViewModels$",this._segmentViewModels$.asObservable());this._documentDataModel=_documentDataModel,_documentDataModel.getBody()!=null&&(this.children=parseDataStreamToTree(_documentDataModel.getBody().dataStream),this._buildHeaderFooterViewModel())}registerCustomRangeInterceptor(interceptor){return this._interceptor=interceptor,core.toDisposable(()=>this._interceptor=null)}dispose(){this.children.forEach(child=>{child.dispose()})}selfPlus(_len,_index){}getEditArea(){return this._editArea}setEditArea(editArea){editArea!==this._editArea&&(this._editArea=editArea,this._editAreaChange$.next(editArea))}getPositionInParent(){return 0}getLastIndex(){return this.children[this.children.length-1].endIndex}getBody(){return this._documentDataModel.getBody()}getSnapshot(){return this._documentDataModel.getSnapshot()}getDataModel(){return this._documentDataModel}getSelfOrHeaderFooterViewModel(segmentId){return segmentId==null?this:this.headerTreeMap.has(segmentId)?this.headerTreeMap.get(segmentId):this.footerTreeMap.has(segmentId)?this.footerTreeMap.get(segmentId):this}reset(documentDataModel){this._documentDataModel=documentDataModel,this.children=parseDataStreamToTree(documentDataModel.getBody().dataStream),this._buildHeaderFooterViewModel()}insert(insertBody,insertIndex=0){var _a10;const dataStream=insertBody.dataStream;let dataStreamLen=dataStream.length;const insertedNode=this._getParagraphByIndex(this.children,insertIndex);if(insertedNode!=null)if(dataStream[dataStreamLen-1]===core.DataStreamTreeTokenType.SECTION_BREAK){const docDataModel=new core.DocumentDataModel({body:insertBody}),insertBodyModel=new _DocumentViewModel(docDataModel);dataStreamLen-=1;const insertNodes=insertBodyModel.children;for(const node of insertNodes)this._forEachDown(node,newNode=>{newNode.plus(insertIndex)});const insertedNodeSplit=insertedNode.split(insertIndex);if(insertedNodeSplit==null)return;const{firstNode:insertedFirstNode,lastNode:insertedLastNode}=insertedNodeSplit;(_a10=insertedNode.parent)==null||_a10.children.splice(insertedNode.getPositionInParent(),1,insertedFirstNode,...insertNodes,insertedLastNode),this._forEachTop(insertedNode.parent,currentNode=>{currentNode.selfPlus(dataStreamLen,currentNode.getPositionInParent());const children=currentNode.children;let isStartFix=!1;for(const node of children)node===insertedLastNode&&(isStartFix=!0),isStartFix&&this._forEachDown(node,newNode=>{newNode.plus(dataStreamLen)})})}else dataStreamLen===1&&dataStream[dataStreamLen-1]===core.DataStreamTreeTokenType.PARAGRAPH?this._insertParagraph(insertedNode,insertIndex):(insertedNode.insertText(dataStream,insertIndex),insertedNode.selfPlus(dataStreamLen,insertIndex),this._forEachTop(insertedNode.parent,currentNode=>{currentNode.selfPlus(dataStreamLen,currentNode.getPositionInParent());const children=currentNode.children;let isStartFix=!1;for(const node of children)node.startIndex>insertIndex&&(isStartFix=!0),isStartFix&&this._forEachDown(node,newNode=>{newNode.plus(dataStreamLen)})}))}delete(currentIndex,textLength){const nodes=this.children;this._deleteTree(nodes,currentIndex,textLength)}getText(){const pieces=[];function traverseTreeNode(node){node.content&&pieces.push(node.content),node.children.forEach(traverseTreeNode)}return __name(traverseTreeNode,"traverseTreeNode"),this.children.forEach(n=>traverseTreeNode(n)),pieces.join("")}resetCache(){if(this._sectionBreakCurrentIndex=0,this._paragraphCurrentIndex=0,this._textRunCurrentIndex=0,this._customBlockCurrentIndex=0,this._tableBlockCurrentIndex=0,this._customRangeCurrentIndex=0,this.headerTreeMap.size>0)for(const header of this.headerTreeMap.values())header.resetCache();if(this.footerTreeMap.size>0)for(const footer of this.footerTreeMap.values())footer.resetCache()}getSectionBreak(index2){if(index2==null)return;const sectionBreaks=this.getBody().sectionBreaks;if(sectionBreaks!=null)for(let i=this._sectionBreakCurrentIndex;i<sectionBreaks.length;i++){const sectionBreak=sectionBreaks[i];if(sectionBreak.startIndex===index2)return this._sectionBreakCurrentIndex=i,sectionBreak}}getParagraph(index2,fromStart=!1){const paragraphs=this.getBody().paragraphs;if(paragraphs!=null)for(let i=fromStart?0:this._paragraphCurrentIndex;i<paragraphs.length;i++){const paragraph=paragraphs[i];if(paragraph.startIndex===index2)return fromStart||(this._paragraphCurrentIndex=i),paragraph}}getTextRunRange(startIndex=0,endIndex){const textRuns=this.getBody().textRuns;if(textRuns==null)return[{st:startIndex,ed:endIndex}];const trRange=[];for(let i=this._textRunCurrentIndex,textRunsLen=textRuns.length;i<textRunsLen;i++){const textRun=textRuns[i];if(textRun.st>endIndex){this._textRunCurrentIndex=i;break}else if(textRun.ed<startIndex){this._textRunCurrentIndex=i;continue}else trRange.push({st:textRun.st<startIndex?startIndex:textRun.st,ed:textRun.ed>endIndex?endIndex:textRun.ed,sId:textRun.sId,ts:textRun.ts}),this._textRunCurrentIndex=i}const firstTr=trRange[0]||{st:endIndex+1};firstTr.st>startIndex&&trRange.push({st:startIndex,ed:firstTr.st-1});const lastTr=trRange[trRange.length-1]||{ed:startIndex-1};return lastTr.ed<endIndex&&trRange.push({st:lastTr.ed+1,ed:endIndex}),trRange}getTextRun(index2){var _a10;const textRuns=(_a10=this.getBody())==null?void 0:_a10.textRuns;if(textRuns==null)return;const curTextRun=textRuns[this._textRunCurrentIndex];if(curTextRun!=null){if(index2>=curTextRun.st&&index2<curTextRun.ed)return curTextRun;if(index2<curTextRun.st)return}for(let i=this._textRunCurrentIndex,textRunsLen=textRuns.length;i<textRunsLen;i++){const textRun=textRuns[i];if(index2>=textRun.st&&index2<textRun.ed)return this._textRunCurrentIndex=i,textRun}}getCustomBlock(index2){const customBlocks=this.getBody().customBlocks;if(customBlocks!=null)for(let i=this._customBlockCurrentIndex;i<customBlocks.length;i++){const customBlock=customBlocks[i];if(customBlock.startIndex===index2)return this._customBlockCurrentIndex=i,customBlock}}getCustomBlockWithoutSetCurrentIndex(index2){const customBlocks=this.getBody().customBlocks;if(customBlocks!=null)for(let i=0;i<customBlocks.length;i++){const customBlock=customBlocks[i];if(customBlock.startIndex===index2)return customBlock}}getTable(index2){var _a10;const tables=(_a10=this.getBody())==null?void 0:_a10.tables,tableSource=this.getSnapshot().tableSource;if(tables==null||tableSource==null)return;let tableId=null;for(let i=this._tableBlockCurrentIndex;i<tables.length;i++){const table2=tables[i];if(table2.startIndex===index2){this._tableBlockCurrentIndex=i,tableId=table2.tableId;break}}if(tableId!=null&&tableSource[tableId]!=null)return tableSource[tableId]}getCustomRangeRaw(index2){const customRanges=this.getBody().customRanges;if(customRanges!=null)for(let i=0,customRangesLen=customRanges.length;i<customRangesLen;i++){const customRange=customRanges[i];if(index2>=customRange.startIndex&&index2<=customRange.endIndex)return customRange}}getCustomRange(index2){return this._interceptor?this._interceptor.getCustomRange(index2):this.getCustomRangeRaw(index2)}getCustomDecorationRaw(index2){const customDecorations=this.getBody().customDecorations;if(customDecorations!=null)for(let i=0,customDecorationsLen=customDecorations.length;i<customDecorationsLen;i++){const customDecoration=customDecorations[i];if(index2>=customDecoration.startIndex&&index2<=customDecoration.endIndex)return customDecoration}}getCustomDecoration(index2){return this._interceptor?this._interceptor.getCustomDecoration(index2):this.getCustomDecorationRaw(index2)}_buildHeaderFooterViewModel(){const{headerModelMap,footerModelMap}=this._documentDataModel,viewModels=[];for(const[headerId,headerModel]of headerModelMap)this.headerTreeMap.set(headerId,new _DocumentViewModel(headerModel)),viewModels.push(this.headerTreeMap.get(headerId));for(const[footerId,footerModel]of footerModelMap)this.footerTreeMap.set(footerId,new _DocumentViewModel(footerModel)),viewModels.push(this.footerTreeMap.get(footerId));this._segmentViewModels$.next(viewModels)}_getParagraphByIndex(nodes,insertIndex){for(const node of nodes){const{children}=node;if(!node.exclude(insertIndex))return node.nodeType===core.DataStreamTreeNodeType.PARAGRAPH?node:this._getParagraphByIndex(children,insertIndex)}return null}_forEachTop(node,func){let parent=node;for(;parent;)func(parent),parent=parent.parent;func(this)}_forEachDown(node,func){func(node);const children=node.children;for(node of children)this._forEachDown(node,func)}_deleteTree(nodes,currentIndex,textLength){const startIndex=currentIndex,endIndex=currentIndex+textLength-1;let mergeNode=null,nodeCount=nodes.length,i=0;for(;i<nodeCount;){const node=nodes[i],{startIndex:st,endIndex:ed,children}=node;if(this._deleteTree(children,currentIndex,textLength),startIndex===endIndex&&endIndex===ed){if(node.nodeType===core.DataStreamTreeNodeType.PARAGRAPH){const nextNode=this._getNextNode(node);if(nextNode==null){i++;continue}node.minus(startIndex,endIndex),node.merge(nextNode),nodeCount--}}else if(startIndex<=st&&endIndex>=ed){node.remove(),nodeCount--;continue}else if(st<=startIndex&&ed>=endIndex)node.minus(startIndex,endIndex);else if(endIndex>st&&endIndex<ed){if(node.minus(st,endIndex),mergeNode!=null){mergeNode.merge(node),mergeNode=null,nodeCount--;continue}}else startIndex>st&&startIndex<ed?(node.minus(startIndex,ed),mergeNode=node):st>endIndex&&node.plus(-textLength);i++}}_getNextNode(node){var _a10;const currentIndex=node.getPositionInParent(),children=(_a10=node.parent)==null?void 0:_a10.children;return children==null?void 0:children[currentIndex+1]}_insertParagraph(insertedNode,insertIndex=0){var _a10;const insertStartIndex=insertedNode.startIndex,insertEndIndex=insertedNode.endIndex,insertedNodeSplit=insertedNode.split(insertIndex);if(insertedNodeSplit==null)return;const{firstNode:insertedFirstNode,lastNode:insertedLastNode}=insertedNodeSplit;insertedFirstNode.content+=core.DataStreamTreeTokenType.PARAGRAPH,insertedFirstNode.selfPlus(1),insertedFirstNode.plus(insertStartIndex),this._forEachDown(insertedLastNode,newNode=>{newNode.plus(insertStartIndex+1)}),(_a10=insertedNode.parent)==null||_a10.children.splice(insertedNode.getPositionInParent(),1,insertedFirstNode,insertedLastNode),this._forEachTop(insertedNode.parent,currentNode=>{currentNode.selfPlus(1,currentNode.getPositionInParent());const children=currentNode.children;let isStartFix=!1;for(const node of children)node!==insertedLastNode&&(node.startIndex>=insertEndIndex+1&&(isStartFix=!0),isStartFix&&this._forEachDown(node,newNode=>{newNode.plus(1)}))})}};__name(_DocumentViewModel,"DocumentViewModel");let DocumentViewModel=_DocumentViewModel;var BreakPointType=(BreakPointType2=>(BreakPointType2.Normal="Normal",BreakPointType2.Mandatory="Mandatory",BreakPointType2.Hyphen="Hyphen",BreakPointType2.Link="Link",BreakPointType2))(BreakPointType||{});const _Break=class _Break{constructor(position,type="Normal"){this.position=position,this.type=type}};__name(_Break,"Break");let Break=_Break;function isSpace(char){return[" "," "," "].includes(char)}__name(isSpace,"isSpace");function isJustifiable(content){return isSpace(content)||hasCJKText(content)||isCjkLeftAlignedPunctuation(content)||isCjkRightAlignedPunctuation(content)||isCjkCenterAlignedPunctuation(content)}__name(isJustifiable,"isJustifiable");function baseAdjustability(content,width){return isSpace(content)?{stretchability:[0,width/2],shrinkability:[0,width/3]}:isCjkLeftAlignedPunctuation(content)?{stretchability:[0,0],shrinkability:[0,width/2]}:isCjkRightAlignedPunctuation(content)?{stretchability:[0,0],shrinkability:[width/2,0]}:isCjkCenterAlignedPunctuation(content)?{stretchability:[0,0],shrinkability:[width/4,width/4]}:{stretchability:[0,0],shrinkability:[0,0]}}__name(baseAdjustability,"baseAdjustability");function createSkeletonWordGlyph(content,config,glyphWidth){return _createSkeletonWordOrLetter(GlyphType.WORD,content,config,glyphWidth)}__name(createSkeletonWordGlyph,"createSkeletonWordGlyph");function createSkeletonLetterGlyph(content,config,glyphWidth,glyphInfo){return _createSkeletonWordOrLetter(GlyphType.LETTER,content,config,glyphWidth,glyphInfo)}__name(createSkeletonLetterGlyph,"createSkeletonLetterGlyph");function createSkeletonTabGlyph(config,glyphWidth){return _createSkeletonWordOrLetter(GlyphType.TAB,core.DataStreamTreeTokenType.TAB,config,glyphWidth)}__name(createSkeletonTabGlyph,"createSkeletonTabGlyph");function createHyphenDashGlyph(config){const dashLetterGlyph=_createSkeletonWordOrLetter(GlyphType.LETTER,"-",config);return dashLetterGlyph.count=0,dashLetterGlyph}__name(createHyphenDashGlyph,"createHyphenDashGlyph");function createSkeletonCustomBlockGlyph(config,glyphWidth=0,glyphHeight=0,drawingId=""){const{fontStyle,textStyle}=config,content=core.DataStreamTreeTokenType.CUSTOM_BLOCK;return{content:"",raw:content,ts:textStyle,fontStyle,width:glyphWidth,bBox:{width:0,ba:glyphHeight,bd:0,aba:0,abd:0,sp:0,sbr:0,sbo:0,spr:0,spo:0},xOffset:0,left:0,isJustifiable:!1,adjustability:baseAdjustability(content,0),glyphType:GlyphType.PLACEHOLDER,streamType:content,count:1,drawingId}}__name(createSkeletonCustomBlockGlyph,"createSkeletonCustomBlockGlyph");function _createSkeletonWordOrLetter(glyphType,content,config,glyphWidth,glyphInfo){const{fontStyle,textStyle,charSpace=1,gridType=core.GridType.LINES,snapToGrid=core.BooleanNumber.FALSE}=config,skipWidthList=[core.DataStreamTreeTokenType.SECTION_BREAK,core.DataStreamTreeTokenType.TABLE_START,core.DataStreamTreeTokenType.TABLE_END,core.DataStreamTreeTokenType.TABLE_ROW_START,core.DataStreamTreeTokenType.TABLE_ROW_END,core.DataStreamTreeTokenType.TABLE_CELL_START,core.DataStreamTreeTokenType.TABLE_CELL_END,core.DataStreamTreeTokenType.CUSTOM_RANGE_START,core.DataStreamTreeTokenType.CUSTOM_RANGE_END,core.DataStreamTreeTokenType.COLUMN_BREAK,core.DataStreamTreeTokenType.PAGE_BREAK,core.DataStreamTreeTokenType.DOCS_END,core.DataStreamTreeTokenType.CUSTOM_BLOCK];let streamType=core.DataStreamTreeTokenType.LETTER;if(skipWidthList.indexOf(content)>-1)return{content:"",raw:content,ts:textStyle,fontStyle,width:0,bBox:{width:0,ba:0,bd:0,aba:0,abd:0,sp:0,sbr:0,sbo:0,spr:0,spo:0},xOffset:0,left:0,isJustifiable:!1,adjustability:baseAdjustability(content,0),glyphType:GlyphType.PLACEHOLDER,streamType:content,count:1};content===core.DataStreamTreeTokenType.PARAGRAPH&&(streamType=core.DataStreamTreeTokenType.PARAGRAPH);let bBox=null,xOffset=0;glyphInfo&&glyphInfo.boundingBox&&glyphInfo.font?bBox=FontCache.getBBoxFromGlyphInfo(glyphInfo,fontStyle):bBox=FontCache.getTextSize(content,fontStyle);const{width:contentWidth=0}=bBox;let width=glyphWidth!=null?glyphWidth:contentWidth;if(validationGrid(gridType,snapToGrid)&&(width=contentWidth+(hasCJK(content)?charSpace:charSpace/2),gridType===core.GridType.SNAP_TO_CHARS&&(xOffset=(width-contentWidth)/2)),glyphInfo&&glyphInfo.kerning!==0&&glyphInfo.font){const radio=ptToPixel(fontStyle.fontSize)/glyphInfo.font.unitsPerEm,delta=glyphInfo.kerning*radio;width+=delta,xOffset+=delta}return{content,ts:textStyle,fontStyle,width,bBox,xOffset,left:0,glyphType,streamType,isJustifiable:isJustifiable(content),adjustability:baseAdjustability(content,width),count:content.length,raw:content}}__name(_createSkeletonWordOrLetter,"_createSkeletonWordOrLetter");function createSkeletonBulletGlyph(glyph,bulletSkeleton,charSpaceApply){const{symbol:content,bulletAlign=core.BulletAlignment.START,bulletType=!1}=bulletSkeleton,{fontStyle}=glyph,boundingBox=FontCache.getTextSize(content,fontStyle),contentWidth=boundingBox.width,multiple=Math.ceil(contentWidth/charSpaceApply);let width=(multiple<2?2:multiple)*charSpaceApply,left=0;bulletType&&(bulletAlign===core.BulletAlignment.CENTER?(left=-contentWidth/2,width-=left):bulletAlign===core.BulletAlignment.END&&(left=-contentWidth,width-=left));const bBox=_getMaxBoundingBox(glyph,boundingBox);return{content,ts:{...glyph.ts,st:{s:core.BooleanNumber.FALSE}},fontStyle,width,xOffset:0,bBox,left,isJustifiable:isJustifiable(content),adjustability:baseAdjustability(content,width),glyphType:GlyphType.LIST,streamType:core.DataStreamTreeTokenType.LETTER,count:0,raw:content}}__name(createSkeletonBulletGlyph,"createSkeletonBulletGlyph");function setGlyphGroupLeft(glyphGroup,left=0){const spanGroupLen=glyphGroup.length;let preGlyph;for(let i=0;i<spanGroupLen;i++){const glyph=glyphGroup[i];glyph.left=preGlyph?preGlyph.left+preGlyph.width:left,preGlyph=glyph}}__name(setGlyphGroupLeft,"setGlyphGroupLeft");function addGlyphToDivide(divide,glyphGroup,offsetLeft=0){setGlyphGroupLeft(glyphGroup,offsetLeft);for(const glyph of glyphGroup)glyph.parent=divide;divide.glyphGroup.push(...glyphGroup)}__name(addGlyphToDivide,"addGlyphToDivide");function _getMaxBoundingBox(glyph,bulletBBox){const{ba:spanAscent,bd:spanDescent}=glyph.bBox,{ba:bulletAscent,bd:bulletDescent}=bulletBBox;return spanAscent+spanDescent>bulletAscent+bulletDescent?glyph.bBox:bulletBBox}__name(_getMaxBoundingBox,"_getMaxBoundingBox");function glyphShrinkRight(glyph,amount){glyph.width-=amount,glyph.adjustability.shrinkability[1]-=amount}__name(glyphShrinkRight,"glyphShrinkRight");function glyphShrinkLeft(glyph,amount){glyph.width-=amount,glyph.xOffset-=amount,glyph.adjustability.shrinkability[0]-=amount}__name(glyphShrinkLeft,"glyphShrinkLeft");function createSkeletonLine(paragraphIndex,lineType,lineBoundingBox,columnWidth,lineIndex=0,isParagraphStart=!1,paragraphConfig,page,headerPage,footerPage){var _a10;const{lineHeight=15.6,lineTop=0,contentHeight=0,paddingLeft=0,paddingRight=0,paddingTop=0,paddingBottom=0,marginTop=0,spaceBelowApply=0}=lineBoundingBox,{skeTablesInParagraph}=paragraphConfig,pageSkeDrawings=(_a10=page.skeDrawings)!=null?_a10:new Map,headersDrawings=headerPage==null?void 0:headerPage.skeDrawings,footersDrawings=footerPage==null?void 0:footerPage.skeDrawings,lineSke=_getLineSke(lineType,paragraphIndex);if(lineSke.lineIndex=lineIndex,lineSke.paragraphStart=isParagraphStart,lineSke.contentHeight=contentHeight,lineSke.top=lineTop,lineSke.lineHeight=lineHeight,lineSke.paddingTop=paddingTop,lineSke.paddingBottom=paddingBottom,lineSke.marginTop=marginTop,lineSke.spaceBelowApply=spaceBelowApply,isParagraphStart&&Array.isArray(skeTablesInParagraph)&&skeTablesInParagraph.length>0){const tableId=skeTablesInParagraph[skeTablesInParagraph.length-1].tableId;lineSke.isBehindTable=!0,lineSke.tableId=tableId}const affectSkeDrawings=new Map(Array.from(pageSkeDrawings).filter(([_2,drawing])=>drawing.drawingOrigin.layoutType!==core.PositionedObjectLayoutType.INLINE));lineSke.divides=_calculateDividesByDrawings(lineHeight,lineTop,columnWidth,paddingLeft,paddingRight,page,headerPage,footerPage,affectSkeDrawings,headersDrawings,footersDrawings);for(const divide of lineSke.divides)divide.parent=lineSke;return lineSke}__name(createSkeletonLine,"createSkeletonLine");function calculateLineTopByDrawings(lineHeight=15.6,lineTop=0,page,headerPage,footerPage){let maxTop=lineTop;const pageSkeDrawings=page.skeDrawings,skeTables=page.skeTables,headersDrawings=headerPage==null?void 0:headerPage.skeDrawings,footersDrawings=footerPage==null?void 0:footerPage.skeDrawings;return headerPage&&headersDrawings&&headersDrawings.forEach(drawing=>{const transformedDrawing=translateHeaderFooterDrawingPosition(drawing,headerPage,page,!0),top=_getLineTopWidthWrapTopBottom(transformedDrawing,lineHeight,lineTop);top&&(maxTop=Math.max(maxTop,top))}),footerPage&&footersDrawings&&footersDrawings.forEach(drawing=>{const transformedDrawing=translateHeaderFooterDrawingPosition(drawing,footerPage,page,!1),top=_getLineTopWidthWrapTopBottom(transformedDrawing,lineHeight,lineTop);top&&(maxTop=Math.max(maxTop,top))}),pageSkeDrawings==null||pageSkeDrawings.forEach(drawing=>{const top=_getLineTopWidthWrapTopBottom(drawing,lineHeight,lineTop);top&&(maxTop=Math.max(maxTop,top))}),skeTables==null||skeTables.forEach(table2=>{const top=_getLineTopWidthWrapNone(table2,lineHeight,lineTop);top&&(maxTop=Math.max(maxTop,top))}),maxTop}__name(calculateLineTopByDrawings,"calculateLineTopByDrawings");function _getLineTopWidthWrapNone(table2,lineHeight,lineTop){const{top,height}=table2;if(!(top+height<lineTop||top>lineHeight+lineTop))return top+height}__name(_getLineTopWidthWrapNone,"_getLineTopWidthWrapNone");function _getLineTopWidthWrapTopBottom(drawing,lineHeight,lineTop){const{aTop,height,aLeft,width,angle=0,drawingOrigin}=drawing,{layoutType,distT=0,distB=0}=drawingOrigin;if(layoutType!==core.PositionedObjectLayoutType.WRAP_TOP_AND_BOTTOM)return;if(angle===0){const newAtop=aTop-distT,newHeight=distT+height+distB;return newAtop+newHeight<lineTop||newAtop>lineHeight+lineTop?void 0:newAtop+newHeight}let{top:sTop=0,height:sHeight=0}=getBoundingBox(angle,aLeft,width,aTop,height);if(sTop-=distT,sHeight+=distB,!(sTop+sHeight<lineTop||sTop>lineHeight+lineTop))return sTop+sHeight}__name(_getLineTopWidthWrapTopBottom,"_getLineTopWidthWrapTopBottom");function _calculateDividesByDrawings(lineHeight,lineTop,columnWidth,paddingLeft,paddingRight,page,headerPage,footerPage,paragraphAffectSkeDrawings,headersDrawings,footersDrawings){const drawingsMix=[];return drawingsMix.push({left:0,width:paddingLeft},{left:columnWidth-paddingRight,width:paddingRight}),headerPage&&headersDrawings&&headersDrawings.forEach(drawing=>{const transformedDrawing=translateHeaderFooterDrawingPosition(drawing,headerPage,page,!0),split=_calculateSplit(transformedDrawing,lineHeight,lineTop,columnWidth);split&&drawingsMix.push(split)}),footerPage&&footersDrawings&&footersDrawings.forEach(drawing=>{const transformedDrawing=translateHeaderFooterDrawingPosition(drawing,footerPage,page,!1),split=_calculateSplit(transformedDrawing,lineHeight,lineTop,columnWidth);split&&drawingsMix.push(split)}),paragraphAffectSkeDrawings==null||paragraphAffectSkeDrawings.forEach(drawing=>{const split=_calculateSplit(drawing,lineHeight,lineTop,columnWidth);split&&drawingsMix.push(split)}),_calculateDivideByDrawings(columnWidth,drawingsMix)}__name(_calculateDividesByDrawings,"_calculateDividesByDrawings");function updateDivideInfo(divide,states){Object.assign(divide,states)}__name(updateDivideInfo,"updateDivideInfo");function setLineMarginBottom(line2,marginBottom){line2.marginBottom=marginBottom}__name(setLineMarginBottom,"setLineMarginBottom");function collisionDetection(drawing,lineHeight,lineTop,columnLeft,columnWidth){const{aTop,height:oHeight,aLeft,width:oWidth,angle=0,drawingOrigin}=drawing,{layoutType}=drawingOrigin;if(layoutType===core.PositionedObjectLayoutType.WRAP_NONE||layoutType===core.PositionedObjectLayoutType.INLINE)return!1;const{top=0,left=0,width=0,height=0}=getBoundingBox(angle,aLeft,oWidth,aTop,oHeight);return!(top+height<lineTop||top>lineHeight+lineTop||left+width<columnLeft||left>columnLeft+columnWidth)}__name(collisionDetection,"collisionDetection");function _calculateSplit(drawing,lineHeight,lineTop,columnWidth){const{aTop,height,aLeft,width,angle=0,drawingOrigin}=drawing,{layoutType}=drawingOrigin;if(layoutType===core.PositionedObjectLayoutType.WRAP_NONE||layoutType===core.PositionedObjectLayoutType.WRAP_TOP_AND_BOTTOM)return;if(layoutType===core.PositionedObjectLayoutType.WRAP_POLYGON){const{start=[0,0],lineTo}=drawingOrigin;if(!lineTo)return;const points=[];points.push(new Vector2(start[0],start[1]));for(let i=0;i<lineTo.length;i++){const point=lineTo[i];points.push(new Vector2(point[0],point[1]))}if(angle!==0){const transform=new Transform().rotate(angle);for(let i=0;i<points.length;i++){const point=points[i];points[i]=transform.applyPoint(point)}}return __getCrossPoint(points,lineTop,lineHeight,columnWidth)}if(angle===0)return __getSplitWidthNoAngle(aTop,height,aLeft,width,lineTop,lineHeight,columnWidth,drawingOrigin);const boundingBox=getBoundingBox(angle,aLeft,width,aTop,height);if(layoutType===core.PositionedObjectLayoutType.WRAP_SQUARE){const{left:sLeft,width:sWidth,top:sTop,height:sHeight}=boundingBox;return __getSplitWidthNoAngle(sTop,sHeight,sLeft,sWidth,lineTop,lineHeight,columnWidth,drawingOrigin)}return __getCrossPoint(boundingBox.points,lineTop,lineHeight,columnWidth)}__name(_calculateSplit,"_calculateSplit");function getBoundingBox(angle,left,width,top,height){const centerX=left+width/2,centerY=top+height/2,transform=new Transform().translate(centerX,centerY).rotate(angle).translate(-centerX,-centerY),lt=new Vector2(left,top),lb=new Vector2(left,top+height),rt=new Vector2(left+width,top),rb=new Vector2(left+width,top+height);return transform.makeBoundingBoxFromPoints([lt,lb,rt,rb])}__name(getBoundingBox,"getBoundingBox");function translateHeaderFooterDrawingPosition(drawing,segmentPage,page,isHeader=!0){const{aTop:prevATop}=drawing;let aTop=prevATop;return isHeader?aTop=prevATop+segmentPage.marginTop-page.marginTop:aTop=prevATop+segmentPage.marginTop+page.pageHeight-page.marginBottom-page.marginTop,{...drawing,aTop}}__name(translateHeaderFooterDrawingPosition,"translateHeaderFooterDrawingPosition");function __getCrossPoint(points,lineTop,lineHeight,columnWidth){const path=new Path2(points),crossPointTop=path.intersection([new Vector2(0,lineTop),new Vector2(columnWidth,lineTop)]),crossPointBottom=path.intersection([new Vector2(0,lineTop+lineHeight),new Vector2(columnWidth,lineTop+lineHeight)]);if(!crossPointTop&&!crossPointBottom)return;const range=___getMaxAndMinAxis([...points,...crossPointTop||[],...crossPointBottom||[]]);return{left:range.min,width:range.max}}__name(__getCrossPoint,"__getCrossPoint");function ___getMaxAndMinAxis(points,axis=0){const result=[];for(let i=0;i<points.length;i++){const point=points[i];axis===0?result.push(point.x):result.push(point.y)}return{max:Math.max(...result),min:Math.min(...result)}}__name(___getMaxAndMinAxis,"___getMaxAndMinAxis");function __getSplitWidthNoAngle(top,height,left,width,lineTop,lineHeight,columnWidth,drawingOrigin){const{layoutType,wrapText=core.WrapTextType.BOTH_SIDES,distL=0,distR=0,distT=0,distB=0}=drawingOrigin,newAtop=top-(layoutType===core.PositionedObjectLayoutType.WRAP_SQUARE?distT:0),newHeight=height+(layoutType===core.PositionedObjectLayoutType.WRAP_SQUARE?distB+distT:0);if(newAtop+newHeight<=lineTop||newAtop>=lineHeight+lineTop)return;let resultLeft=left-distL,resultWidth=width+distL+distR;const ruler=___getWrapTextRuler(wrapText,resultLeft,resultWidth,columnWidth);return ruler===1?resultWidth=columnWidth-resultLeft:ruler===2&&(resultLeft=0,resultWidth=left+width+distR),{left:resultLeft,width:resultWidth}}__name(__getSplitWidthNoAngle,"__getSplitWidthNoAngle");function ___getWrapTextRuler(wrapText,resultLeft,resultWidth,columnWidth){let ruler=0;return wrapText===core.WrapTextType.LEFT?ruler=1:wrapText===core.WrapTextType.RIGHT?ruler=2:wrapText===core.WrapTextType.LARGEST&&(resultLeft>columnWidth-resultLeft-resultWidth?ruler=1:ruler=2),ruler}__name(___getWrapTextRuler,"___getWrapTextRuler");function _calculateDivideByDrawings(columnWidth,drawingSplit){drawingSplit.sort((pre,next)=>pre.left>next.left?1:-1);const divideSkeleton=[];let start=0;const splitLength=drawingSplit.length;for(let i=0;i<splitLength;i++){const split=drawingSplit[i],{left,width}=split;if(left>start){let width2=left-start;width2=width2<columnWidth?width2:columnWidth-start;const divide=__getDivideSKe(start,width2);divideSkeleton.push(divide)}if(start=Math.max(left+width,start),i===splitLength-1&&left+width<columnWidth){const divide=__getDivideSKe(left+width,columnWidth-left-width);divideSkeleton.push(divide)}}return divideSkeleton}__name(_calculateDivideByDrawings,"_calculateDivideByDrawings");function __getDivideSKe(left,width){return{glyphGroup:[],width,left,paddingLeft:0,isFull:!1,st:0,ed:0}}__name(__getDivideSKe,"__getDivideSKe");function _getLineSke(lineType,paragraphIndex){return{paragraphIndex,type:lineType,divides:[],lineHeight:0,contentHeight:0,top:0,asc:0,dsc:0,paddingTop:0,paddingBottom:0,marginTop:0,marginBottom:0,spaceBelowApply:0,divideLen:0,st:-1,ed:-1,isBehindTable:!1,tableId:"",lineIndex:0,paragraphStart:!1}}__name(_getLineSke,"_getLineSke");function createAndUpdateBlockAnchor(paragraphIndex,line2,top,drawingAnchor){if(drawingAnchor)if(drawingAnchor.has(paragraphIndex)){const anchor=drawingAnchor.get(paragraphIndex);anchor==null||anchor.elements.push(line2)}else drawingAnchor.set(paragraphIndex,{elements:[line2],paragraphIndex,top})}__name(createAndUpdateBlockAnchor,"createAndUpdateBlockAnchor");function createSkeletonSection(columnProperties=[],columnSeparatorType=core.ColumnSeparatorType.NONE,top=0,left=0,sectionWidth=Number.POSITIVE_INFINITY,sectionHeight=Number.POSITIVE_INFINITY){const columns=[];let colWidth=0,spaceWidth=0;if(columnProperties.length===0)columns.push(_getSkeletonColumn(left,sectionWidth,0,core.ColumnSeparatorType.NONE));else for(let i=0;i<columnProperties.length;i++){const{width,paddingEnd}=columnProperties[i];spaceWidth=paddingEnd,colWidth=width,columns.push(_getSkeletonColumn(left,colWidth,spaceWidth,columnSeparatorType)),left+=colWidth+spaceWidth,i===columnProperties.length-1&&(colWidth=sectionWidth!==Number.POSITIVE_INFINITY?sectionWidth-colWidth:width,spaceWidth=0,columns.push(_getSkeletonColumn(left,colWidth,spaceWidth,columnSeparatorType)))}const newSection={columns,colCount:(columnProperties==null?void 0:columnProperties.length)||1,height:sectionHeight,top,st:0,ed:0};return columns.forEach(column=>{column.parent=newSection}),newSection}__name(createSkeletonSection,"createSkeletonSection");function setColumnFullState(column,state){column.isFull=state}__name(setColumnFullState,"setColumnFullState");function _getSkeletonColumn(left,width,spaceWidth,columnSeparatorType){return{lines:[],left,width,height:0,spaceWidth,separator:columnSeparatorType,st:0,ed:0,drawingLRIds:[],isFull:!1}}__name(_getSkeletonColumn,"_getSkeletonColumn");function createTableSkeleton(ctx,curPage,viewModel,tableNode,sectionBreakConfig){const{startIndex,endIndex,children:rowNodes}=tableNode,table2=viewModel.getTable(startIndex);if(table2==null)throw new Error("Table not found");const tableSkeleton=getNullTableSkeleton(startIndex,endIndex,table2);let rowTop=0,tableWidth=0;for(const rowNode of rowNodes){const{children:cellNodes,startIndex:startIndex2,endIndex:endIndex2}=rowNode,row=rowNodes.indexOf(rowNode),rowSkeleton=_getNullTableRowSkeleton(startIndex2,endIndex2,row,tableSkeleton);tableSkeleton.rows.push(rowSkeleton);let left=0,rowHeight=0;for(const cellNode of cellNodes){const col=cellNodes.indexOf(cellNode),cellPageSkeleton=createSkeletonCellPage(ctx,viewModel,cellNode,sectionBreakConfig,table2,row,col),{marginTop=0,marginBottom=0}=cellPageSkeleton,pageHeight=cellPageSkeleton.height+marginTop+marginBottom;cellPageSkeleton.left=left,left+=cellPageSkeleton.pageWidth,cellPageSkeleton.parent=rowSkeleton,rowSkeleton.cells.push(cellPageSkeleton),rowHeight=Math.max(rowHeight,pageHeight)}for(const cellPageSkeleton of rowSkeleton.cells)cellPageSkeleton.pageHeight=rowHeight;rowSkeleton.height=rowHeight,rowSkeleton.top=rowTop,rowTop+=rowHeight,tableWidth=Math.max(tableWidth,left)}tableSkeleton.width=tableWidth,tableSkeleton.height=rowTop;const{pageWidth,marginLeft=0,marginRight=0}=curPage;return tableSkeleton.left=_getTableLeft(pageWidth-marginLeft-marginRight,tableWidth,table2.align,table2.indent),tableSkeleton}__name(createTableSkeleton,"createTableSkeleton");function _getTableLeft(pageWidth,tableWidth,align,indent={v:0}){switch(align){case core.TableAlignmentType.START:return indent.v;case core.TableAlignmentType.END:return Math.max(0,pageWidth-tableWidth);case core.TableAlignmentType.CENTER:return Math.max(0,(pageWidth-tableWidth)/2)}}__name(_getTableLeft,"_getTableLeft");function getNullTableSkeleton(st,ed,table2){return{rows:[],width:0,height:0,top:0,left:0,st,ed,tableId:table2.tableId,tableSource:table2}}__name(getNullTableSkeleton,"getNullTableSkeleton");function _getNullTableRowSkeleton(st,ed,index2,parent){return{cells:[],index:index2,height:0,top:0,st,ed,parent}}__name(_getNullTableRowSkeleton,"_getNullTableRowSkeleton");function getTableSliceId(tableId,sliceIndex){return`${tableId}#-#${sliceIndex}`}__name(getTableSliceId,"getTableSliceId");function getTableIdAndSliceIndex(tableSliceId){if(!tableSliceId.includes("#-#"))return{tableId:tableSliceId,sliceIndex:0};const[tableId,sliceIndex]=tableSliceId.split("#-#");return{tableId,sliceIndex:Number(sliceIndex)}}__name(getTableIdAndSliceIndex,"getTableIdAndSliceIndex");function layoutParagraph(ctx,glyphGroup,pages,sectionBreakConfig,paragraphConfig,isParagraphFirstShapedText,breakPointType=BreakPointType.Normal){if(isParagraphFirstShapedText)if(paragraphConfig.bulletSkeleton){const{bulletSkeleton,paragraphStyle={}}=paragraphConfig,{gridType=core.GridType.LINES,charSpace=0,defaultTabStop=10.5}=sectionBreakConfig,{snapToGrid=core.BooleanNumber.TRUE}=paragraphStyle,charSpaceApply=getCharSpaceApply(charSpace,defaultTabStop,gridType,snapToGrid),bulletGlyph=createSkeletonBulletGlyph(glyphGroup[0],bulletSkeleton,charSpaceApply),paragraphProperties=bulletSkeleton.paragraphProperties||{};paragraphConfig.paragraphStyle=mergeByV(paragraphConfig.paragraphStyle,{...paragraphProperties,hanging:{v:bulletGlyph.width}}),_lineOperator(ctx,[bulletGlyph,...glyphGroup],pages,sectionBreakConfig,paragraphConfig,isParagraphFirstShapedText,breakPointType)}else _lineOperator(ctx,glyphGroup,pages,sectionBreakConfig,paragraphConfig,isParagraphFirstShapedText,breakPointType);else _divideOperator(ctx,glyphGroup,pages,sectionBreakConfig,paragraphConfig,isParagraphFirstShapedText,breakPointType);return[...pages]}__name(layoutParagraph,"layoutParagraph");function isGlyphGroupEndWithWhiteSpaces(glyphGroup){if(glyphGroup.length<=1)return!1;let isInWhiteSpace=!1;for(const g of glyphGroup)if(g.content===core.DataStreamTreeTokenType.SPACE&&(isInWhiteSpace=!0),isInWhiteSpace&&g.content!==core.DataStreamTreeTokenType.SPACE&&g.content!==core.DataStreamTreeTokenType.PARAGRAPH&&g.streamType!==core.DataStreamTreeTokenType.SECTION_BREAK)return!1;return isInWhiteSpace}__name(isGlyphGroupEndWithWhiteSpaces,"isGlyphGroupEndWithWhiteSpaces");function isGlyphGroupBeyondContentBox(glyphGroup,left,divideWidth){if(glyphGroup.length<=1)return!1;let width=left,isBeyondContentBox=!1;for(const g of glyphGroup){if(g.content===core.DataStreamTreeTokenType.SPACE||g.content===core.DataStreamTreeTokenType.PARAGRAPH||g.streamType===core.DataStreamTreeTokenType.SECTION_BREAK)break;if(width+=g.width,width>divideWidth){isBeyondContentBox=!0;break}}return isBeyondContentBox}__name(isGlyphGroupBeyondContentBox,"isGlyphGroupBeyondContentBox");function _getConsecutiveHyphenLineCount(divide){var _a10;const column=(_a10=divide.parent)==null?void 0:_a10.parent;if(column==null)return 0;let count=0;for(let i=column.lines.length-1;i>=0;i--){const line2=column.lines[i];if(line2.divides[line2.divides.length-1].breakType===BreakPointType.Hyphen)count++;else break}return count}__name(_getConsecutiveHyphenLineCount,"_getConsecutiveHyphenLineCount");function _popHyphenSlice(divide){const glyphGroup=[];let lastGlyph=divide.glyphGroup.pop();for(;lastGlyph&&lastGlyph.content!==" ";)glyphGroup.unshift(lastGlyph),lastGlyph=divide.glyphGroup.pop();return divide.glyphGroup.length===0&&(divide.glyphGroup.push(...glyphGroup),glyphGroup.length=0),glyphGroup}__name(_popHyphenSlice,"_popHyphenSlice");function _divideOperator(ctx,glyphGroup,pages,sectionBreakConfig,paragraphConfig,isParagraphFirstShapedText,breakPointType=BreakPointType.Normal,defaultSpanLineHeight){var _a10;const lastPage=getLastPage(pages),divideInfo=getLastNotFullDivideInfo(lastPage);if(divideInfo){const width=__getGlyphGroupWidth(glyphGroup),{divide,isLast}=divideInfo,lastGlyph=(_a10=divide==null?void 0:divide.glyphGroup)==null?void 0:_a10[divide.glyphGroup.length-1],lastWidth=(lastGlyph==null?void 0:lastGlyph.width)||0,lastLeft=(lastGlyph==null?void 0:lastGlyph.left)||0,preOffsetLeft=lastWidth+lastLeft,{hyphenationZone}=sectionBreakConfig;if(preOffsetLeft+width>divide.width){updateDivideInfo(divide,{isFull:!0});const hyphenLineCount=_getConsecutiveHyphenLineCount(divideInfo.divide),{consecutiveHyphenLimit=Number.POSITIVE_INFINITY}=sectionBreakConfig;if(divideInfo.isLast&&glyphGroup.length===1&&(glyphGroup[0].content===core.DataStreamTreeTokenType.SPACE||glyphGroup[0].content===core.DataStreamTreeTokenType.PARAGRAPH))addGlyphToDivide(divide,glyphGroup,preOffsetLeft);else if(divideInfo.isLast&&!isGlyphGroupBeyondContentBox(glyphGroup,preOffsetLeft,divide.width)&&isGlyphGroupEndWithWhiteSpaces(glyphGroup))addGlyphToDivide(divide,glyphGroup,preOffsetLeft);else if((divide==null?void 0:divide.glyphGroup.length)===0){const sliceGlyphGroup=[];for(;glyphGroup.length;)if(sliceGlyphGroup.push(glyphGroup.shift()),__getGlyphGroupWidth(sliceGlyphGroup)>divide.width){sliceGlyphGroup.length>1&&glyphGroup.unshift(sliceGlyphGroup.pop());break}sliceGlyphGroup.length>0&&addGlyphToDivide(divide,sliceGlyphGroup,preOffsetLeft),glyphGroup.length&&_divideOperator(ctx,glyphGroup,pages,sectionBreakConfig,paragraphConfig,!1,breakPointType,defaultSpanLineHeight)}else if(hyphenLineCount>consecutiveHyphenLimit){const hyphenSliceGlyphGroup=_popHyphenSlice(divide);hyphenSliceGlyphGroup.length>0&&(updateDivideInfo(divide,{breakType:BreakPointType.Normal}),_divideOperator(ctx,hyphenSliceGlyphGroup,pages,sectionBreakConfig,paragraphConfig,isParagraphFirstShapedText,BreakPointType.Hyphen)),_divideOperator(ctx,glyphGroup,pages,sectionBreakConfig,paragraphConfig,isParagraphFirstShapedText,breakPointType,defaultSpanLineHeight)}else _divideOperator(ctx,glyphGroup,pages,sectionBreakConfig,paragraphConfig,isParagraphFirstShapedText,breakPointType,defaultSpanLineHeight)}else if(isLast&&hyphenationZone&&hyphenationZone>0&&preOffsetLeft>=divide.width-hyphenationZone&&breakPointType===BreakPointType.Hyphen&÷.breakType===BreakPointType.Normal)updateDivideInfo(divide,{isFull:!0}),_divideOperator(ctx,glyphGroup,pages,sectionBreakConfig,paragraphConfig,isParagraphFirstShapedText,breakPointType,defaultSpanLineHeight);else{const currentLine=divide.parent,maxBox=__maxFontBoundingBoxByGlyphGroup(glyphGroup);if(currentLine&&maxBox&&!__isNullLine(currentLine)){const{paragraphLineGapDefault,linePitch,lineSpacing,spacingRule,snapToGrid,gridType}=getLineHeightConfig(sectionBreakConfig,paragraphConfig),{boundingBoxAscent,boundingBoxDescent}=maxBox,spanLineHeight=boundingBoxAscent+boundingBoxDescent,{contentHeight}=__getLineHeight(spanLineHeight,paragraphLineGapDefault,linePitch,gridType,lineSpacing,spacingRule,snapToGrid);if(currentLine.contentHeight<contentHeight){const spanGroupCached=__getGlyphGroupByLine(currentLine),spanGroupCachedLen=spanGroupCached.length;let newGlyphGroup=[],startIndex=1;spanGroupCachedLen>2&&spanGroupCached[0].glyphType===GlyphType.LIST?(newGlyphGroup=[spanGroupCached[0],spanGroupCached[1]],startIndex=2):newGlyphGroup=[spanGroupCached[0]];const column=currentLine.parent,{paragraphStart:lineIsStart}=column==null?void 0:column.lines.pop();_lineOperator(ctx,newGlyphGroup,pages,sectionBreakConfig,paragraphConfig,lineIsStart,breakPointType,boundingBoxAscent+boundingBoxDescent);for(let i=startIndex;i<spanGroupCached.length;i++)_divideOperator(ctx,[spanGroupCached[i]],pages,sectionBreakConfig,paragraphConfig,isParagraphFirstShapedText);_divideOperator(ctx,glyphGroup,pages,sectionBreakConfig,paragraphConfig,isParagraphFirstShapedText,breakPointType);return}}addGlyphToDivide(divide,glyphGroup,preOffsetLeft),updateDivideInfo(divide,{breakType:breakPointType})}}else _lineOperator(ctx,glyphGroup,pages,sectionBreakConfig,paragraphConfig,isParagraphFirstShapedText,breakPointType,defaultSpanLineHeight)}__name(_divideOperator,"_divideOperator");function _lineOperator(ctx,glyphGroup,pages,sectionBreakConfig,paragraphConfig,isParagraphFirstShapedText,breakPointType=BreakPointType.Normal,defaultGlyphLineHeight){var _a10,_b,_c,_d,_e,_f;let lastPage=getLastPage(pages),columnInfo=getLastNotFullColumnInfo(lastPage);if((!columnInfo||!columnInfo.column)&&(_pageOperator(ctx,glyphGroup,pages,sectionBreakConfig,paragraphConfig,!0,breakPointType),lastPage=getLastPage(pages),columnInfo=getLastNotFullColumnInfo(lastPage)),!columnInfo)return;const column=columnInfo.column;if(column.width<=0){console.error("The column width is less than 0, need to adjust page width to make it great than 0");return}const preLine=getLastLineByColumn(column),ascent=Math.max(...glyphGroup.map(glyph=>glyph.bBox.ba)),descent=Math.max(...glyphGroup.map(glyph=>glyph.bBox.bd)),glyphLineHeight=defaultGlyphLineHeight||ascent+descent,{paragraphStyle={},paragraphAffectSkeDrawings,skeTablesInParagraph,skeHeaders,skeFooters,pDrawingAnchor,paragraphIndex}=paragraphConfig,{spaceAbove,spaceBelow,indentFirstLine,hanging,indentStart,indentEnd}=paragraphStyle,{paragraphLineGapDefault,linePitch,lineSpacing,spacingRule,snapToGrid,gridType}=getLineHeightConfig(sectionBreakConfig,paragraphConfig),{paddingTop,paddingBottom,contentHeight,lineSpacingApply}=__getLineHeight(glyphLineHeight,paragraphLineGapDefault,linePitch,gridType,lineSpacing,spacingRule,snapToGrid),{marginTop,spaceBelowApply}=__getParagraphSpace(ctx,lineSpacingApply,spaceAbove,spaceBelow,isParagraphFirstShapedText,preLine),lineHeight=marginTop+paddingTop+contentHeight+paddingBottom;let section=column.parent;section||(section=getLastSection(lastPage));const preLineHeight=(preLine==null?void 0:preLine.lineHeight)||0,preTop=(preLine==null?void 0:preLine.top)||0,lineTop=preLineHeight+preTop,{pageWidth,headerId,footerId,segmentId}=lastPage,headerPage=(_a10=skeHeaders==null?void 0:skeHeaders.get(headerId))==null?void 0:_a10.get(pageWidth),footerPage=(_b=skeFooters==null?void 0:skeFooters.get(footerId))==null?void 0:_b.get(pageWidth);let needOpenNewPageByTableLayout=!1;if(preLine){const drawingsInLine=_getCustomBlockIdsInLine(preLine);if(drawingsInLine.length>0){const affectDrawings=(_d=(_c=ctx.paragraphConfigCache.get(segmentId))==null?void 0:_c.get(preLine.paragraphIndex))==null?void 0:_d.paragraphAffectSkeDrawings,relativeLineDrawings=[...(_e=affectDrawings==null?void 0:affectDrawings.values())!=null?_e:[]].filter(drawing=>drawing.drawingOrigin.docTransform.positionV.relativeFrom===core.ObjectRelativeFromV.LINE).filter(drawing=>drawingsInLine.includes(drawing.drawingId));relativeLineDrawings.length>0&&__updateAndPositionDrawings(ctx,preLine.top,preLine.lineHeight,column,relativeLineDrawings,preLine.paragraphIndex,isParagraphFirstShapedText)}}if(paragraphAffectSkeDrawings!=null&¶graphAffectSkeDrawings.size>0){const targetDrawings=[...paragraphAffectSkeDrawings.values()].filter(drawing=>drawing.drawingOrigin.docTransform.positionV.relativeFrom!==core.ObjectRelativeFromV.LINE);__updateAndPositionDrawings(ctx,lineTop,lineHeight,column,targetDrawings,paragraphConfig.paragraphIndex,isParagraphFirstShapedText,(_f=pDrawingAnchor==null?void 0:pDrawingAnchor.get(paragraphIndex))==null?void 0:_f.top)}skeTablesInParagraph!=null&&skeTablesInParagraph.length>0&&(needOpenNewPageByTableLayout=_updateAndPositionTable(lineTop,lastPage,section,skeTablesInParagraph));const newLineTop=calculateLineTopByDrawings(lineHeight,lineTop,lastPage,headerPage,footerPage);if(lineHeight+newLineTop>section.height&&column.lines.length>0&&lastPage.sections.length>0||needOpenNewPageByTableLayout){if(setColumnFullState(column,!0),_columnOperator(ctx,glyphGroup,pages,sectionBreakConfig,paragraphConfig,isParagraphFirstShapedText,breakPointType,defaultGlyphLineHeight),isParagraphFirstShapedText&¶graphAffectSkeDrawings&¶graphAffectSkeDrawings.size>0)for(const drawing of paragraphAffectSkeDrawings.values())lastPage.skeDrawings.has(drawing.drawingId)&&lastPage.skeDrawings.delete(drawing.drawingId),ctx.drawingsCache.has(drawing.drawingId)&&(ctx.drawingsCache.delete(drawing.drawingId),ctx.isDirty=!1,ctx.layoutStartPointer[segmentId]=null);return}const lineIndex=preLine?preLine.lineIndex+1:0,{charSpace,defaultTabStop}=getCharSpaceConfig(sectionBreakConfig,paragraphConfig),charSpaceApply=getCharSpaceApply(charSpace,defaultTabStop,gridType,snapToGrid);let{paddingLeft,paddingRight}=__getIndentPadding(indentFirstLine,hanging,indentStart,indentEnd,charSpaceApply,isParagraphFirstShapedText);if(paddingLeft+paddingRight>=column.width){const leftPercent=paddingLeft/(paddingLeft+paddingRight);paddingLeft=column.width*leftPercent-.5,paddingRight=column.width-paddingLeft-.5}const newLine=createSkeletonLine(paragraphIndex,LineType.PARAGRAPH,{lineHeight,contentHeight,lineTop:newLineTop,paddingLeft,paddingRight,paddingTop,paddingBottom,marginTop,spaceBelowApply},column.width,lineIndex,isParagraphFirstShapedText,paragraphConfig,lastPage,headerPage,footerPage);column.lines.push(newLine),newLine.parent=column,createAndUpdateBlockAnchor(paragraphIndex,newLine,lineTop,pDrawingAnchor),_divideOperator(ctx,glyphGroup,pages,sectionBreakConfig,paragraphConfig,isParagraphFirstShapedText,breakPointType,defaultGlyphLineHeight)}__name(_lineOperator,"_lineOperator");function __updateAndPositionDrawings(ctx,lineTop,lineHeight,column,targetDrawings,paragraphIndex,isParagraphFirstShapedText,drawingAnchorTop){if(targetDrawings.length===0)return;const drawings=__getDrawingPosition(lineTop,lineHeight,column,isParagraphFirstShapedText,drawingAnchorTop,targetDrawings);drawings==null||drawings.size===0||(_reLayoutCheck(ctx,drawings,column,paragraphIndex),__updateDrawingPosition(column,drawings))}__name(__updateAndPositionDrawings,"__updateAndPositionDrawings");function _updateAndPositionTable(lineTop,page,section,skeTablesInParagraph){if(skeTablesInParagraph.length===0)return!1;const lastTable=skeTablesInParagraph[skeTablesInParagraph.length-1];if(lastTable.hasPositioned)return!1;const{tableId,table:table2}=lastTable,{tableSource}=table2;switch(tableSource.textWrap){case core.TableTextWrapType.NONE:{table2.top=lineTop;break}case core.TableTextWrapType.WRAP:break;default:throw new Error(`Unsupported table text wrap type: ${tableSource.textWrap}`)}const{top,height}=table2;if(top+height>section.height){skeTablesInParagraph.pop();const availableHeight=section.height-top,[newTable,remainTable]=_splitTable(table2,availableHeight);return newTable!=null&&(page.skeTables.set(newTable.tableId,newTable),newTable.parent=page,skeTablesInParagraph.push({table:newTable,tableId:newTable.tableId,hasPositioned:!0})),remainTable!=null&&skeTablesInParagraph.push({table:remainTable,tableId:remainTable.tableId,hasPositioned:!1}),!0}else return page.skeTables.set(tableId,table2),table2.parent=page,lastTable.hasPositioned=!0,!1}__name(_updateAndPositionTable,"_updateAndPositionTable");function _splitTable(table2,availableHeight){if(table2.rows[0].height>availableHeight)return[null,table2];const{tableId:tableSliceId,tableSource}=table2,{tableId,sliceIndex}=getTableIdAndSliceIndex(tableSliceId),newTable=getNullTableSkeleton(0,0,tableSource);newTable.tableId=getTableSliceId(tableId,sliceIndex),newTable.left=table2.left,newTable.width=table2.width,newTable.height=0,newTable.top=table2.top,table2.top=0;let remainHeight=availableHeight;for(;table2.rows.length&&remainHeight>=table2.rows[0].height;){const row=table2.rows.shift();newTable.rows.push(row),table2.height-=row.height,newTable.height+=row.height,row.parent=newTable,remainHeight-=row.height}if(table2.tableId=getTableSliceId(tableId,sliceIndex+1),newTable.st=newTable.rows[0].st-1,newTable.ed=newTable.rows[newTable.rows.length-1].ed+1,table2.rows.length>0){table2.st=table2.rows[0].st-1,table2.ed=table2.rows[table2.rows.length-1].ed+1;for(const row of table2.rows)row.top-=newTable.height}return[newTable,table2.rows.length>0?table2:null]}__name(_splitTable,"_splitTable");function _getCustomBlockIdsInLine(line2){const customBlockIds=[];for(const divide of line2.divides)for(const glyph of divide.glyphGroup)glyph.streamType===core.DataStreamTreeTokenType.CUSTOM_BLOCK&&customBlockIds.push(glyph.drawingId);return customBlockIds}__name(_getCustomBlockIdsInLine,"_getCustomBlockIdsInLine");function _reLayoutCheck(ctx,drawings,column,paragraphIndex){var _a10,_b,_c,_d,_e,_f,_g;const page=(_a10=column.parent)==null?void 0:_a10.parent,needUpdatedDrawings=new Map([...drawings]);if(drawings.size===0||page==null)return drawings;let needBreakLineIterator=!1;for(const drawing of drawings.values()){const drawingCache=ctx.drawingsCache.get(drawing.drawingId);if(drawingCache==null||drawingCache.page.segmentId!==page.segmentId)continue;const cachePageStartParagraphIndex=(_d=(_c=(_b=drawingCache.page.sections[0])==null?void 0:_b.columns[0])==null?void 0:_c.lines[0])==null?void 0:_d.paragraphIndex,startIndex=(_g=(_f=(_e=page.sections[0])==null?void 0:_e.columns[0])==null?void 0:_f.lines[0])==null?void 0:_g.paragraphIndex;drawingCache.page&&cachePageStartParagraphIndex&&startIndex&&cachePageStartParagraphIndex!==startIndex&&(drawingCache.page.skeDrawings.delete(drawing.drawingId),ctx.drawingsCache.delete(drawing.drawingId),lineIterator([drawingCache.page],line2=>{var _a11;const{lineHeight,top}=line2,column2=line2.parent;if(needBreakLineIterator||column2==null)return;const{width:columnWidth,left:columnLeft}=column2;collisionDetection(drawingCache.drawing,lineHeight,top,columnLeft,columnWidth)&&(needBreakLineIterator=!0,ctx.isDirty=!0,ctx.layoutStartPointer[drawingCache.page.segmentId]=Math.min(line2.paragraphIndex,(_a11=ctx.layoutStartPointer[drawingCache.page.segmentId])!=null?_a11:Number.POSITIVE_INFINITY),ctx.paragraphsOpenNewPage.add(paragraphIndex))}))}return needBreakLineIterator=!1,lineIterator([page],line2=>{var _a11,_b2;const{lineHeight,top}=line2,{width:columnWidth,left:columnLeft}=column;if(!needBreakLineIterator)for(const drawing of drawings.values()){let targetDrawing=drawing;if(ctx.drawingsCache.has(drawing.drawingId)){const drawingCache=ctx.drawingsCache.get(drawing.drawingId),needRePosition=checkRelativeDrawingNeedRePosition(ctx,drawing);if((drawingCache==null?void 0:drawingCache.page.segmentId)!==page.segmentId)continue;if(needRePosition)targetDrawing=(_a11=drawingCache==null?void 0:drawingCache.drawing)!=null?_a11:drawing;else continue}if(collisionDetection(targetDrawing,lineHeight,top,columnLeft,columnWidth)){needBreakLineIterator=!0,ctx.isDirty=!0,ctx.layoutStartPointer[page.segmentId]=Math.min(line2.paragraphIndex,(_b2=ctx.layoutStartPointer[page.segmentId])!=null?_b2:Number.POSITIVE_INFINITY);let drawingCache=ctx.drawingsCache.get(drawing.drawingId);drawingCache==null&&(drawingCache={count:0,drawing,page},ctx.drawingsCache.set(drawing.drawingId,drawingCache)),drawingCache.count++,drawingCache.drawing=drawing,drawingCache.page=page}}}),needUpdatedDrawings}__name(_reLayoutCheck,"_reLayoutCheck");function checkRelativeDrawingNeedRePosition(ctx,drawing){const{relativeFrom}=drawing.drawingOrigin.docTransform.positionV,drawingCache=ctx.drawingsCache.get(drawing.drawingId);if(drawingCache==null)return!1;if(relativeFrom===core.ObjectRelativeFromV.PARAGRAPH||relativeFrom===core.ObjectRelativeFromV.LINE){const{count,drawing:prevDrawing}=drawingCache;if(count<5&&Math.abs(drawing.aTop-prevDrawing.aTop)>5)return!0}return!1}__name(checkRelativeDrawingNeedRePosition,"checkRelativeDrawingNeedRePosition");function _columnOperator(ctx,glyphGroup,pages,sectionBreakConfig,paragraphConfig,isParagraphFirstShapedText,breakPointType=BreakPointType.Normal,defaultSpanLineHeight){const lastPage=getLastPage(pages);isColumnFull(lastPage)===!0?_pageOperator(ctx,glyphGroup,pages,sectionBreakConfig,paragraphConfig,isParagraphFirstShapedText,breakPointType,defaultSpanLineHeight):_lineOperator(ctx,glyphGroup,pages,sectionBreakConfig,paragraphConfig,isParagraphFirstShapedText,breakPointType,defaultSpanLineHeight)}__name(_columnOperator,"_columnOperator");function _pageOperator(ctx,glyphGroup,pages,sectionBreakConfig,paragraphConfig,isParagraphFirstShapedText,breakPointType=BreakPointType.Normal,defaultSpanLineHeight){const curSkeletonPage=getLastPage(pages),{skeHeaders,skeFooters}=paragraphConfig;pages.push(createSkeletonPage(ctx,sectionBreakConfig,{skeHeaders,skeFooters},(curSkeletonPage==null?void 0:curSkeletonPage.pageNumber)+1)),_columnOperator(ctx,glyphGroup,pages,sectionBreakConfig,paragraphConfig,isParagraphFirstShapedText,breakPointType,defaultSpanLineHeight)}__name(_pageOperator,"_pageOperator");function __getIndentPadding(indentFirstLine,hanging,indentStart,indentEnd,charSpaceApply,isParagraphFirstShapedText=!1){const indentFirstLineNumber=getNumberUnitValue(indentFirstLine,charSpaceApply),hangingNumber=getNumberUnitValue(hanging,charSpaceApply),indentStartNumber=getNumberUnitValue(indentStart,charSpaceApply),indentEndNumber=getNumberUnitValue(indentEnd,charSpaceApply);let paddingLeft=indentStartNumber;const paddingRight=indentEndNumber;return indentFirstLineNumber>0&&isParagraphFirstShapedText&&(paddingLeft+=indentFirstLineNumber),hangingNumber>0&&!isParagraphFirstShapedText&&(paddingLeft+=hangingNumber),{paddingLeft,paddingRight}}__name(__getIndentPadding,"__getIndentPadding");function __getParagraphSpace(ctx,lineSpacing=0,spaceAbove,spaceBelow,isParagraphFirstShapedText,preLine){const spaceBelowApply=getNumberUnitValue(spaceBelow,lineSpacing);if(isParagraphFirstShapedText){let marginTop=getNumberUnitValue(spaceAbove,lineSpacing);if(preLine){const{spaceBelowApply:preSpaceBelowApply}=preLine;if(marginTop<preSpaceBelowApply){const maxValue=Math.max(preSpaceBelowApply,marginTop);preLine.lineHeight+=maxValue,setLineMarginBottom(preLine,maxValue),marginTop=0}}return{marginTop,spaceBelowApply}}return{marginTop:0,spaceBelowApply}}__name(__getParagraphSpace,"__getParagraphSpace");function __getLineHeight(glyphLineHeight,paragraphLineGapDefault,linePitch,gridType,lineSpacing,spacingRule,snapToGrid){let paddingTop=paragraphLineGapDefault,paddingBottom=paragraphLineGapDefault;if(gridType===core.GridType.DEFAULT||snapToGrid===core.BooleanNumber.FALSE)return spacingRule===core.SpacingRule.AUTO?{paddingTop,paddingBottom,contentHeight:lineSpacing*glyphLineHeight,lineSpacingApply:glyphLineHeight}:{paddingTop,paddingBottom,contentHeight:Math.max(lineSpacing,glyphLineHeight),lineSpacingApply:lineSpacing};let lineSpacingApply=0;return spacingRule===core.SpacingRule.AUTO?lineSpacingApply=lineSpacing*linePitch:lineSpacingApply=lineSpacing,glyphLineHeight+paragraphLineGapDefault*2<lineSpacingApply?paddingTop=paddingBottom=(lineSpacingApply-glyphLineHeight)/2:lineSpacingApply=glyphLineHeight,{paddingTop,paddingBottom,contentHeight:glyphLineHeight,lineSpacingApply}}__name(__getLineHeight,"__getLineHeight");function updateInlineDrawingPosition(line2,paragraphInlineSkeDrawings,blockAnchorTop){var _a10,_b;const column=line2.parent,page=(_b=(_a10=line2==null?void 0:line2.parent)==null?void 0:_a10.parent)==null?void 0:_b.parent;if(page==null||column==null)return;const isPageBreak=__checkPageBreak(column),drawings=new Map,{top,lineHeight,marginBottom=0}=line2;for(const divide of line2.divides)for(const glyph of divide.glyphGroup)if(glyph.streamType===core.DataStreamTreeTokenType.CUSTOM_BLOCK&&glyph.width!==0){const{drawingId}=glyph;if(drawingId==null)continue;const drawing=paragraphInlineSkeDrawings==null?void 0:paragraphInlineSkeDrawings.get(drawingId),drawingOrigin=drawing==null?void 0:drawing.drawingOrigin;if(drawingOrigin==null||drawing==null)continue;const{docTransform}=drawingOrigin,{size,angle}=docTransform,{width=0,height=0}=size,glyphHeight=glyph.bBox.bd+glyph.bBox.ba;drawing.aLeft=divide.left+divide.paddingLeft+glyph.left+.5*glyph.width-.5*width||0,drawing.aTop=top+lineHeight-.5*glyphHeight-.5*height-marginBottom,drawing.width=width,drawing.height=height,drawing.angle=angle,drawing.isPageBreak=isPageBreak,drawing.lineTop=top,drawing.columnLeft=column.left,drawing.blockAnchorTop=blockAnchorTop!=null?blockAnchorTop:top,drawing.lineHeight=line2.lineHeight,drawings.set(drawing.drawingId,drawing)}const res=new Map([...page.skeDrawings,...drawings]);page.skeDrawings=res}__name(updateInlineDrawingPosition,"updateInlineDrawingPosition");function __getDrawingPosition(lineTop,lineHeight,column,isParagraphFirstShapedText,blockAnchorTop,needPositionDrawings=[]){var _a10,_b,_c;const page=(_a10=column.parent)==null?void 0:_a10.parent;if(page==null||needPositionDrawings.length===0)return;const drawings=new Map,isPageBreak=__checkPageBreak(column);if(!(isPageBreak&&!isParagraphFirstShapedText)){for(const drawing of needPositionDrawings){const{drawingOrigin}=drawing;if(!drawingOrigin)continue;const{docTransform}=drawingOrigin,{positionH,positionV,size,angle}=docTransform,{width=0,height=0}=size;drawing.aLeft=(_b=getPositionHorizon(positionH,column,page,width,isPageBreak))!=null?_b:0,drawing.aTop=(_c=getPositionVertical(positionV,page,lineTop,lineHeight,height,blockAnchorTop,isPageBreak))!=null?_c:0,drawing.width=width,drawing.height=height,drawing.angle=angle,drawing.initialState=!0,drawing.columnLeft=column.left,drawing.lineTop=lineTop,drawing.lineHeight=lineHeight,drawing.isPageBreak=isPageBreak,drawing.blockAnchorTop=blockAnchorTop!=null?blockAnchorTop:lineTop,drawings.set(drawing.drawingId,drawing)}return drawings}}__name(__getDrawingPosition,"__getDrawingPosition");function __updateDrawingPosition(column,drawings){var _a10;const page=(_a10=column.parent)==null?void 0:_a10.parent;if(!(drawings==null||drawings.size===0||page==null))for(const drawing of drawings.values()){const originDrawing=page.skeDrawings.get(drawing.drawingId);if(originDrawing)if(originDrawing.drawingOrigin.layoutType===core.PositionedObjectLayoutType.WRAP_TOP_AND_BOTTOM){const lowerDrawing=originDrawing.aTop>drawing.aTop?originDrawing:drawing;page.skeDrawings.set(drawing.drawingId,lowerDrawing)}else page.skeDrawings.set(drawing.drawingId,drawing);else page.skeDrawings.set(drawing.drawingId,drawing)}}__name(__updateDrawingPosition,"__updateDrawingPosition");function __checkPageBreak(column){const section=column.parent;if(!section)return!1;const columns=section==null?void 0:section.columns;if(!columns)return!1;const columnLength=columns.length;for(let c=columnLength-1;c>=0;c--){const lines=columns[c].lines,lineLength=lines.length;if(!(lineLength<=0)){for(let i=lineLength-1;i>=0;i--)if(lines[i].paragraphStart)return!1}}return!0}__name(__checkPageBreak,"__checkPageBreak");function __getGlyphGroupWidth(glyphGroup){const glyphGroupLen=glyphGroup.length;let width=0;for(let i=0;i<glyphGroupLen;i++){const glyph=glyphGroup[i];width+=glyph.width}return width}__name(__getGlyphGroupWidth,"__getGlyphGroupWidth");function __maxFontBoundingBoxByGlyphGroup(glyphGroup){const glyphGroupLen=glyphGroup.length;let height=Number.NEGATIVE_INFINITY,maxBox;for(let i=0;i<glyphGroupLen;i++){const glyph=glyphGroup[i],{ba:boundingBoxAscent,bd:boundingBoxDescent}=glyph.bBox;height<boundingBoxAscent+boundingBoxDescent&&(maxBox={boundingBoxAscent,boundingBoxDescent}),height=boundingBoxAscent+boundingBoxDescent}return maxBox}__name(__maxFontBoundingBoxByGlyphGroup,"__maxFontBoundingBoxByGlyphGroup");function __getGlyphGroupByLine({divides}){return divides.flatMap(divide=>divide.glyphGroup)}__name(__getGlyphGroupByLine,"__getGlyphGroupByLine");function __isNullLine(line2){return!line2.divides[0].glyphGroup[0]}__name(__isNullLine,"__isNullLine");function getCustomDecorationStyle(customDecoration){return customDecoration.type===core.CustomDecorationType.COMMENT?{bbl:{s:core.BooleanNumber.TRUE,cl:{rgb:"#fcdf7e"},c:core.BooleanNumber.FALSE},...customDecoration.active?{bg:{rgb:"#faedc2"}}:null}:null}__name(getCustomDecorationStyle,"getCustomDecorationStyle");function getCustomRangeStyle(customRange){var _a10;return customRange.rangeType===core.CustomRangeType.HYPERLINK||customRange.rangeType===core.CustomRangeType.MENTION?{...(_a10=customRange.active)==null||_a10?{ul:{s:core.BooleanNumber.TRUE}}:null,cl:{rgb:"#274fee"}}:null}__name(getCustomRangeStyle,"getCustomRangeStyle");function getLastPage(pages){return pages[pages.length-1]}__name(getLastPage,"getLastPage");function getLastSection(page){var _a10;return(_a10=page.sections)==null?void 0:_a10[page.sections.length-1]}__name(getLastSection,"getLastSection");function getLastLine(page){var _a10;const lines=(_a10=getLastNotFullColumnInfo(page))==null?void 0:_a10.column.lines;return lines==null?void 0:lines[lines.length-1]}__name(getLastLine,"getLastLine");function getLastLineByColumn(column){return column.lines[column.lines.length-1]}__name(getLastLineByColumn,"getLastLineByColumn");function getLastNotFullColumnInfo(page){const section=getLastSection(page);for(let i=0;i<section.columns.length;i++){const column=section.columns[i];if(!column.isFull)return{column,isLast:i===section.columns.length-1,index:i}}}__name(getLastNotFullColumnInfo,"getLastNotFullColumnInfo");function getLastNotFullDivideInfo(page){const line2=getLastLine(page);if(line2)for(let i=0;i<line2.divides.length;i++){const divide=line2.divides[i];if(!divide.isFull)return{divide,isLast:i===line2.divides.length-1,index:i}}}__name(getLastNotFullDivideInfo,"getLastNotFullDivideInfo");function isColumnFull(page){const section=getLastSection(page),columnsLen=section.columns.length;for(let i=0;i<columnsLen;i++)if(!section.columns[i].isFull)return!1;return!0}__name(isColumnFull,"isColumnFull");function getNumberUnitValue(unitValue,benchMark){if(!unitValue)return 0;const{v:value,u:unit}=unitValue;return!unit||unit===core.NumberUnitType.PIXEL?value:value*benchMark}__name(getNumberUnitValue,"getNumberUnitValue");function getCharSpaceApply(charSpace=0,defaultTabStop,gridType=core.GridType.LINES,snapToGrid=core.BooleanNumber.TRUE){let charSpaceApply=1;return validationGrid(gridType,snapToGrid)&&(charSpaceApply=charSpace),charSpaceApply*=defaultTabStop,charSpaceApply}__name(getCharSpaceApply,"getCharSpaceApply");function validationGrid(gridType=core.GridType.LINES,snapToGrid=core.BooleanNumber.FALSE){return snapToGrid===core.BooleanNumber.TRUE&&(gridType===core.GridType.LINES_AND_CHARS||gridType===core.GridType.SNAP_TO_CHARS)}__name(validationGrid,"validationGrid");function getLineHeightConfig(sectionBreakConfig,paragraphConfig){const{paragraphStyle={}}=paragraphConfig,{linePitch=15.6,gridType=core.GridType.LINES,paragraphLineGapDefault=0}=sectionBreakConfig,{lineSpacing=0,spacingRule=core.SpacingRule.AUTO,snapToGrid=core.BooleanNumber.TRUE}=paragraphStyle;let lineSpacingApply=lineSpacing;return(gridType===core.GridType.LINES||gridType===core.GridType.LINES_AND_CHARS)&&lineSpacing===0&&spacingRule===core.SpacingRule.AUTO&&(lineSpacingApply=1),{paragraphLineGapDefault,linePitch,gridType,lineSpacing:lineSpacingApply,spacingRule,snapToGrid}}__name(getLineHeightConfig,"getLineHeightConfig");function getCharSpaceConfig(sectionBreakConfig,paragraphConfig){const{paragraphStyle={}}=paragraphConfig,{charSpace=0,gridType=core.GridType.LINES,defaultTabStop=36,documentTextStyle={}}=sectionBreakConfig,{fs:documentFontSize=DEFAULT_DOCUMENT_FONTSIZE}=documentTextStyle,{snapToGrid=core.BooleanNumber.TRUE}=paragraphStyle;return{charSpace,documentFontSize,defaultTabStop,gridType,snapToGrid}}__name(getCharSpaceConfig,"getCharSpaceConfig");function updateBlockIndex(pages,start=-1){let prePageStartIndex=start;for(const page of pages){const{sections,skeTables}=page,pageStartIndex=prePageStartIndex;let preSectionStartIndex=pageStartIndex,maxContentWidth=Number.NEGATIVE_INFINITY,contentHeight=0;for(const section of sections){const{columns}=section,sectionStartIndex=preSectionStartIndex;let preColumnStartIndex=sectionStartIndex,maxSectionHeight=Number.NEGATIVE_INFINITY,sectionWidth=0;for(const column of columns){const{lines}=column,columStartIndex=preColumnStartIndex;let preLineStartIndex=columStartIndex,columnHeight=0,maxColumnWidth=Number.NEGATIVE_INFINITY;for(const line2 of lines){const{divides,lineHeight,top,isBehindTable,tableId}=line2;let lineStartIndex=preLineStartIndex;if(isBehindTable&&tableId){const table2=skeTables.get(tableId);table2&&(lineStartIndex=table2.ed)}let preDivideStartIndex=lineStartIndex,actualWidth=0,maxLineAsc=0,macLineDsc=0;columnHeight=top+lineHeight;const divideLength=divides.length;let lineHasGlyph=!1;for(let i=0;i<divideLength;i++){const divide=divides[i],{glyphGroup}=divide,divStartIndex=preDivideStartIndex;let divEndIndex=divStartIndex;for(const glyph of glyphGroup){const increaseValue=glyph.glyphType===GlyphType.LIST?0:glyph.count;divEndIndex+=increaseValue;const bBox=glyph.bBox,{ba,bd}=bBox;maxLineAsc=Math.max(maxLineAsc,ba),macLineDsc=Math.max(macLineDsc,bd),i===divideLength-1&&(actualWidth+=glyph.width)}glyphGroup.length!==0&&(lineHasGlyph=!0,glyphGroup[0].xOffset!==0&&i===divideLength-1&&(actualWidth-=glyphGroup[0].xOffset),i===divideLength-1&&(actualWidth+=divide.left),divide.st=divStartIndex+1,divide.ed=divEndIndex>=divide.st?divEndIndex:divide.st,preDivideStartIndex=divide.ed)}line2.st=lineHasGlyph?lineStartIndex+1:lineStartIndex,line2.ed=preDivideStartIndex>=line2.st?preDivideStartIndex:line2.st,line2.width=actualWidth,line2.asc=maxLineAsc,line2.dsc=macLineDsc,maxColumnWidth=Math.max(maxColumnWidth,actualWidth),preLineStartIndex=line2.ed}column.st=columStartIndex+1,column.ed=preLineStartIndex>=column.st?preLineStartIndex:column.st,column.height=columnHeight,column.width=maxColumnWidth,sectionWidth+=maxColumnWidth,maxSectionHeight=Math.max(maxSectionHeight,column.height),preColumnStartIndex=column.ed}section.st=sectionStartIndex+1,section.ed=preColumnStartIndex>=section.st?preColumnStartIndex:section.st,section.height=maxSectionHeight,contentHeight+=maxSectionHeight,maxContentWidth=Math.max(maxContentWidth,sectionWidth),preSectionStartIndex=section.ed}for(const table2 of skeTables.values()){const{ed}=table2;preSectionStartIndex=Math.max(preSectionStartIndex,ed)}page.st=pageStartIndex+1,page.ed=preSectionStartIndex>=page.st?preSectionStartIndex:page.st,page.height=contentHeight,page.width=maxContentWidth,prePageStartIndex=page.ed}}__name(updateBlockIndex,"updateBlockIndex");function updateInlineDrawingCoords(ctx,pages){lineIterator(pages,(line2,_2,__,page)=>{var _a10,_b,_c,_d,_e;const{segmentId}=page,affectInlineDrawings=(_b=(_a10=ctx.paragraphConfigCache.get(segmentId))==null?void 0:_a10.get(line2.paragraphIndex))==null?void 0:_b.paragraphInlineSkeDrawings,drawingAnchor=(_e=(_d=(_c=ctx.skeletonResourceReference)==null?void 0:_c.drawingAnchor)==null?void 0:_d.get(segmentId))==null?void 0:_e.get(line2.paragraphIndex);affectInlineDrawings&&affectInlineDrawings.size>0&&updateInlineDrawingPosition(line2,affectInlineDrawings,drawingAnchor==null?void 0:drawingAnchor.top)})}__name(updateInlineDrawingCoords,"updateInlineDrawingCoords");function glyphIterator(pages,cb){for(const page of pages){const{sections}=page;for(const section of sections){const{columns}=section;for(const column of columns){const{lines}=column;for(const line2 of lines){const{divides}=line2,divideLength=divides.length;for(let i=0;i<divideLength;i++){const divide=divides[i],{glyphGroup}=divide;for(const glyph of glyphGroup)cb&&isFunction(cb)&&cb(glyph,divide,line2,column,section,page)}}}}}}__name(glyphIterator,"glyphIterator");function lineIterator(pagesOrCells,cb){for(const pageOrCell of pagesOrCells){const{sections}=pageOrCell;for(const section of sections){const{columns}=section;for(const column of columns){const{lines}=column;for(const line2 of lines)cb&&isFunction(cb)&&cb(line2,column,section,pageOrCell)}}}}__name(lineIterator,"lineIterator");function columnIterator(pages,iteratorFunction){for(const page of pages){const{sections}=page;for(const section of sections){const{columns}=section;for(const column of columns)iteratorFunction&&isFunction(iteratorFunction)&&iteratorFunction(column)}}}__name(columnIterator,"columnIterator");function getPositionHorizon(positionH,column,page,objectWidth,isPageBreak=!1){const{relativeFrom,align,posOffset,percent}=positionH;if(align!=null)if(align===core.AlignTypeH.INSIDE||align===core.AlignTypeH.OUTSIDE)relativeFrom===core.ObjectRelativeFromH.MARGIN||core.ObjectRelativeFromH.PAGE;else{if(relativeFrom===core.ObjectRelativeFromH.COLUMN){const{width,left}=column;let absoluteLeft=0;return align===core.AlignTypeH.LEFT?absoluteLeft=left:align===core.AlignTypeH.RIGHT?absoluteLeft=left+width-objectWidth:align===core.AlignTypeH.CENTER&&(absoluteLeft=left+width/2-objectWidth/2),absoluteLeft}if(relativeFrom!==core.ObjectRelativeFromH.LEFT_MARGIN){if(relativeFrom!==core.ObjectRelativeFromH.MARGIN){if(relativeFrom!==core.ObjectRelativeFromH.RIGHT_MARGIN){if(relativeFrom!==core.ObjectRelativeFromH.INSIDE_MARGIN){if(relativeFrom!==core.ObjectRelativeFromH.OUTSIDE_MARGIN){if(relativeFrom===core.ObjectRelativeFromH.PAGE){const{pageWidth}=page;let absoluteLeft=0;return align===core.AlignTypeH.RIGHT?absoluteLeft=pageWidth-objectWidth:align===core.AlignTypeH.CENTER&&(absoluteLeft=pageWidth/2-objectWidth/2),absoluteLeft}}}}}}}else if(posOffset){const{pageWidth,marginLeft,marginRight}=page,boundaryRight=pageWidth-marginRight;let absoluteLeft=0;return relativeFrom===core.ObjectRelativeFromH.COLUMN?absoluteLeft=(isPageBreak?0:(column==null?void 0:column.left)||0)+posOffset:relativeFrom===core.ObjectRelativeFromH.LEFT_MARGIN||(relativeFrom===core.ObjectRelativeFromH.MARGIN?absoluteLeft=posOffset+marginLeft:relativeFrom===core.ObjectRelativeFromH.RIGHT_MARGIN||relativeFrom===core.ObjectRelativeFromH.INSIDE_MARGIN||relativeFrom===core.ObjectRelativeFromH.OUTSIDE_MARGIN||relativeFrom===core.ObjectRelativeFromH.PAGE&&(absoluteLeft=posOffset)),absoluteLeft+objectWidth>boundaryRight&&(absoluteLeft=boundaryRight-objectWidth),absoluteLeft}else if(percent){const{pageWidth,marginLeft,marginRight}=page;if(relativeFrom!==core.ObjectRelativeFromH.LEFT_MARGIN){if(relativeFrom!==core.ObjectRelativeFromH.MARGIN){if(relativeFrom!==core.ObjectRelativeFromH.RIGHT_MARGIN){if(relativeFrom!==core.ObjectRelativeFromH.INSIDE_MARGIN){if(relativeFrom!==core.ObjectRelativeFromH.OUTSIDE_MARGIN){if(relativeFrom===core.ObjectRelativeFromH.PAGE)return percent*pageWidth}}}}}}}__name(getPositionHorizon,"getPositionHorizon");function getPositionVertical(positionV,page,lineTop,lineHeight,objectHeight,blockAnchorTop,isPageBreak=!1){const{relativeFrom,align,posOffset,percent}=positionV;if(align!=null){if(relativeFrom===core.ObjectRelativeFromV.LINE){let absoluteTop=0;return align===core.AlignTypeV.BOTTOM?absoluteTop=lineTop+lineHeight-objectHeight:align===core.AlignTypeV.TOP?absoluteTop=lineTop:align===core.AlignTypeV.CENTER&&(absoluteTop=lineTop+lineHeight/2-objectHeight/2),absoluteTop}else if(relativeFrom!==core.ObjectRelativeFromV.TOP_MARGIN){if(relativeFrom!==core.ObjectRelativeFromV.MARGIN){if(relativeFrom!==core.ObjectRelativeFromV.BOTTOM_MARGIN){if(relativeFrom!==core.ObjectRelativeFromV.INSIDE_MARGIN){if(relativeFrom!==core.ObjectRelativeFromV.OUTSIDE_MARGIN){if(relativeFrom===core.ObjectRelativeFromV.PAGE){const{pageHeight}=page;let absoluteTop=0;return align===core.AlignTypeV.BOTTOM?absoluteTop=pageHeight-objectHeight:align===core.AlignTypeV.CENTER&&(absoluteTop=pageHeight/2-objectHeight/2),absoluteTop}}}}}}}else if(posOffset!=null){let absoluteTop=0;const{marginTop}=page;return relativeFrom===core.ObjectRelativeFromV.LINE?absoluteTop=(lineTop||0)+posOffset:relativeFrom===core.ObjectRelativeFromV.TOP_MARGIN||(relativeFrom===core.ObjectRelativeFromV.MARGIN?absoluteTop=posOffset:relativeFrom===core.ObjectRelativeFromV.BOTTOM_MARGIN||relativeFrom===core.ObjectRelativeFromV.INSIDE_MARGIN||relativeFrom===core.ObjectRelativeFromV.OUTSIDE_MARGIN||(relativeFrom===core.ObjectRelativeFromV.PAGE?absoluteTop=posOffset-marginTop:relativeFrom===core.ObjectRelativeFromV.PARAGRAPH&&(absoluteTop=(isPageBreak?0:blockAnchorTop==null?lineTop:blockAnchorTop)+posOffset))),absoluteTop}else if(percent!=null){const{pageHeight,marginBottom,marginTop}=page;if(relativeFrom!==core.ObjectRelativeFromV.TOP_MARGIN){if(relativeFrom!==core.ObjectRelativeFromV.MARGIN){if(relativeFrom!==core.ObjectRelativeFromV.BOTTOM_MARGIN){if(relativeFrom!==core.ObjectRelativeFromV.INSIDE_MARGIN){if(relativeFrom!==core.ObjectRelativeFromV.OUTSIDE_MARGIN){if(relativeFrom===core.ObjectRelativeFromV.PAGE)return percent*pageHeight}}}}}}}__name(getPositionVertical,"getPositionVertical");function getGlyphGroupWidth(divide){let width=0;for(const glyph of divide.glyphGroup)width+=glyph.width;return width}__name(getGlyphGroupWidth,"getGlyphGroupWidth");const fontCreateConfigCache=new core.ObjectMatrix;function clearFontCreateConfigCache(){fontCreateConfigCache.reset()}__name(clearFontCreateConfigCache,"clearFontCreateConfigCache");function getFontConfigFromLastGlyph(glyph,sectionBreakConfig,paragraphStyle){const{ts,fontStyle}=glyph,{gridType=core.GridType.LINES,charSpace=0,pageSize={width:Number.POSITIVE_INFINITY,height:Number.POSITIVE_INFINITY},marginRight=0,marginLeft=0}=sectionBreakConfig,{snapToGrid=core.BooleanNumber.TRUE}=paragraphStyle,pageWidth=pageSize.width||Number.POSITIVE_INFINITY-marginLeft-marginRight;return{fontStyle,textStyle:ts,charSpace,gridType,snapToGrid,pageWidth}}__name(getFontConfigFromLastGlyph,"getFontConfigFromLastGlyph");function getBulletParagraphTextStyle(bullet,viewModel){var _a10;const{listType}=bullet;return(_a10=viewModel.getDataModel().getBulletPresetList()[listType].nestingLevel[0].paragraphProperties)==null?void 0:_a10.textStyle}__name(getBulletParagraphTextStyle,"getBulletParagraphTextStyle");const DEFAULT_TEXT_RUN={ts:{},st:0,ed:0};function getFontCreateConfig(index2,viewModel,paragraphNode,sectionBreakConfig,paragraph){const{gridType=core.GridType.LINES,charSpace=0,documentTextStyle={},pageSize={width:Number.POSITIVE_INFINITY,height:Number.POSITIVE_INFINITY},marginRight=0,marginLeft=0,localeService,renderConfig={}}=sectionBreakConfig,{paragraphStyle={},bullet}=paragraph,{isRenderStyle}=renderConfig,{startIndex}=paragraphNode,originTextRun=viewModel.getTextRun(index2+startIndex),textRun=isRenderStyle===core.BooleanNumber.FALSE?DEFAULT_TEXT_RUN:originTextRun!=null?originTextRun:DEFAULT_TEXT_RUN,customDecoration=viewModel.getCustomDecoration(index2+startIndex),showCustomDecoration=customDecoration&&customDecoration.show!==!1,customDecorationStyle=showCustomDecoration?getCustomDecorationStyle(customDecoration):null,customRange=viewModel.getCustomRange(index2+startIndex),showCustomRange=customRange&&customRange.show!==!1,customRangeStyle=showCustomRange?getCustomRangeStyle(customRange):null,hasAddonStyle=showCustomRange||showCustomDecoration||!!bullet,{st,ed}=textRun;let{ts:textStyle={}}=textRun;const cache=fontCreateConfigCache.getValue(st,ed);if(cache&&!hasAddonStyle&&originTextRun)return cache;const{snapToGrid=core.BooleanNumber.TRUE}=paragraphStyle,bulletTextStyle=bullet?getBulletParagraphTextStyle(bullet,viewModel):null;textStyle={...documentTextStyle,...textStyle,...customDecorationStyle,...customRangeStyle,...bulletTextStyle};const fontStyle=getFontStyleString(textStyle),mixTextStyle={...documentTextStyle,...textStyle},pageWidth=pageSize.width||Number.POSITIVE_INFINITY-marginLeft-marginRight,result={fontStyle,textStyle:mixTextStyle,charSpace,gridType,snapToGrid,pageWidth};return!hasAddonStyle&&originTextRun&&fontCreateConfigCache.setValue(st,ed,result),result}__name(getFontCreateConfig,"getFontCreateConfig");function getNullSkeleton(){return{pages:[],left:0,top:0,st:0,skeHeaders:new Map,skeFooters:new Map,skeListLevel:new Map,drawingAnchor:new Map}}__name(getNullSkeleton,"getNullSkeleton");function setPageParent(pages,parent){for(const page of pages)page.parent=parent}__name(setPageParent,"setPageParent");const DEFAULT_SECTION_BREAK={columnProperties:[],columnSeparatorType:core.ColumnSeparatorType.NONE,sectionType:core.SectionType.SECTION_TYPE_UNSPECIFIED,startIndex:0},DEFAULT_PAGE_SIZE={width:Number.POSITIVE_INFINITY,height:Number.POSITIVE_INFINITY};function prepareSectionBreakConfig(ctx,nodeIndex){var _a10;const{viewModel,dataModel,docsConfig}=ctx,sectionNode=viewModel.children[nodeIndex],sectionBreak=viewModel.getSectionBreak(sectionNode.endIndex)||DEFAULT_SECTION_BREAK,{documentStyle}=dataModel,{pageNumberStart:global_pageNumberStart=1,pageSize:global_pageSize=DEFAULT_PAGE_SIZE,pageOrient:global_pageOrient=core.PageOrientType.PORTRAIT,defaultHeaderId:global_defaultHeaderId,defaultFooterId:global_defaultFooterId,evenPageHeaderId:global_evenPageHeaderId,evenPageFooterId:global_evenPageFooterId,firstPageHeaderId:global_firstPageHeaderId,firstPageFooterId:global_firstPageFooterId,useFirstPageHeaderFooter:global_useFirstPageHeaderFooter,evenAndOddHeaders:global_evenAndOddHeaders,marginTop:global_marginTop=0,marginBottom:global_marginBottom=0,marginRight:global_marginRight=0,marginLeft:global_marginLeft=0,marginHeader:global_marginHeader=0,marginFooter:global_marginFooter=0,autoHyphenation=core.BooleanNumber.FALSE,doNotHyphenateCaps=core.BooleanNumber.FALSE,consecutiveHyphenLimit=Number.POSITIVE_INFINITY,hyphenationZone,renderConfig:global_renderConfig={horizontalAlign:core.HorizontalAlign.LEFT,verticalAlign:core.VerticalAlign.TOP,centerAngle:0,vertexAngle:0,wrapStrategy:core.WrapStrategy.UNSPECIFIED}}=documentStyle,{charSpace=0,linePitch=15.6,gridType=core.GridType.LINES,pageNumberStart=global_pageNumberStart,pageSize=global_pageSize,pageOrient=global_pageOrient,marginTop=global_marginTop,marginBottom=global_marginBottom,marginRight=global_marginRight,marginLeft=global_marginLeft,marginHeader=global_marginHeader,marginFooter=global_marginFooter,defaultHeaderId=global_defaultHeaderId,defaultFooterId=global_defaultFooterId,evenPageHeaderId=global_evenPageHeaderId,evenPageFooterId=global_evenPageFooterId,firstPageHeaderId=global_firstPageHeaderId,firstPageFooterId=global_firstPageFooterId,useFirstPageHeaderFooter=global_useFirstPageHeaderFooter,evenAndOddHeaders=global_evenAndOddHeaders,columnProperties=[],columnSeparatorType=core.ColumnSeparatorType.NONE,contentDirection,sectionType,textDirection,renderConfig=global_renderConfig}=sectionBreak,sectionNodeNext=viewModel.children[nodeIndex+1],sectionTypeNext=(_a10=viewModel.getSectionBreak(sectionNodeNext==null?void 0:sectionNodeNext.endIndex))==null?void 0:_a10.sectionType,headerIds={defaultHeaderId,evenPageHeaderId,firstPageHeaderId},footerIds={defaultFooterId,evenPageFooterId,firstPageFooterId};return pageSize.width===null&&(pageSize.width=Number.POSITIVE_INFINITY),pageSize.height===null&&(pageSize.height=Number.POSITIVE_INFINITY),{charSpace,linePitch,gridType,pageNumberStart,pageSize,pageOrient,marginTop,marginBottom,marginRight,marginLeft,marginHeader,marginFooter,headerIds,footerIds,useFirstPageHeaderFooter,evenAndOddHeaders,columnProperties,columnSeparatorType,contentDirection,sectionType,sectionTypeNext,textDirection,renderConfig,autoHyphenation,doNotHyphenateCaps,consecutiveHyphenLimit,hyphenationZone,...docsConfig}}__name(prepareSectionBreakConfig,"prepareSectionBreakConfig");function resetContext(ctx){var _a10;ctx.isDirty=!1,(_a10=ctx.skeleton.drawingAnchor)==null||_a10.clear()}__name(resetContext,"resetContext");function mergeByV(object,originObject,type){const mergeIterator=__name((obj,originObj,key)=>key!=="v"?typeof originObj=="object"?core.mergeWith(obj,originObj,mergeIterator):originObj!=null?originObj:obj:typeof originObj=="number"&&typeof obj=="number"?Math.max(originObj,obj):originObj!=null?originObj:obj,"mergeIterator");return core.mergeWith(object,originObject,mergeIterator)}__name(mergeByV,"mergeByV");function getPageFromPath(skeletonData,path){var _a10,_b,_c;const pathCopy=[...path];let page=null;for(;pathCopy.length>0;){const field=pathCopy.shift();if(field==="pages"){const pageIndex=pathCopy.shift();page=skeletonData.pages[pageIndex]}else if(field==="skeTables"){const tableId=pathCopy.shift();pathCopy.shift();const rowIndex=pathCopy.shift();pathCopy.shift();const cellIndex=pathCopy.shift();page=(_c=(_b=(_a10=page.skeTables)==null?void 0:_a10.get(tableId))==null?void 0:_b.rows[rowIndex])==null?void 0:_c.cells[cellIndex]}}return page}__name(getPageFromPath,"getPageFromPath");function getHeaderFooterMaxHeight(pageHeight){return(pageHeight-100)/2}__name(getHeaderFooterMaxHeight,"getHeaderFooterMaxHeight");function createSkeletonPage(ctx,sectionBreakConfig,skeletonResourceReference,pageNumber=1,breakType=BreakType.SECTION){var _a10,_b,_c,_d;const page=_getNullPage(),{pageNumberStart=1,pageSize={width:Number.POSITIVE_INFINITY,height:Number.POSITIVE_INFINITY},pageOrient=core.PageOrientType.PORTRAIT,headerIds={},footerIds={},useFirstPageHeaderFooter,evenAndOddHeaders,footerTreeMap,headerTreeMap,columnProperties=[],columnSeparatorType,marginTop=0,marginBottom=0,marginHeader:_marginHeader=0,marginFooter:_marginFooter=0,marginLeft=0,marginRight=0,renderConfig={}}=sectionBreakConfig,{skeHeaders,skeFooters}=skeletonResourceReference,{width:pageWidth=Number.POSITIVE_INFINITY,height:pageHeight=Number.POSITIVE_INFINITY}=pageSize;page.pageNumber=pageNumber,page.pageNumberStart=pageNumberStart,page.renderConfig=renderConfig,page.marginLeft=marginLeft,page.marginRight=marginRight,page.breakType=breakType,page.pageWidth=pageWidth,page.width=0,page.pageHeight=pageHeight,page.height=0,page.pageOrient=pageOrient;const{defaultHeaderId,evenPageHeaderId,firstPageHeaderId}=headerIds,{defaultFooterId,evenPageFooterId,firstPageFooterId}=footerIds;let headerId=defaultHeaderId!=null?defaultHeaderId:"",footerId=defaultFooterId!=null?defaultFooterId:"";pageNumber===pageNumberStart&&useFirstPageHeaderFooter===core.BooleanNumber.TRUE?(headerId=firstPageHeaderId!=null?firstPageHeaderId:"",footerId=firstPageFooterId!=null?firstPageFooterId:""):pageNumber%2===0&&evenAndOddHeaders===core.BooleanNumber.TRUE&&(headerId=evenPageHeaderId!=null?evenPageHeaderId:"",footerId=evenPageFooterId!=null?evenPageFooterId:"");let header,footer;headerId&&((_a10=skeHeaders.get(headerId))!=null&&_a10.has(pageWidth)?header=(_b=skeHeaders.get(headerId))==null?void 0:_b.get(pageWidth):headerTreeMap&&headerTreeMap.has(headerId)&&(header=_createSkeletonHeaderFooter(ctx,headerTreeMap.get(headerId),sectionBreakConfig,skeletonResourceReference,headerId,!0),skeHeaders.set(headerId,new Map([[pageWidth,header]]))),page.headerId=headerId),footerId&&((_c=skeFooters.get(footerId))!=null&&_c.has(pageWidth)?footer=(_d=skeFooters.get(footerId))==null?void 0:_d.get(pageWidth):footerTreeMap&&footerTreeMap.has(footerId)&&(footer=_createSkeletonHeaderFooter(ctx,footerTreeMap.get(footerId),sectionBreakConfig,skeletonResourceReference,footerId,!1),skeFooters.set(footerId,new Map([[pageWidth,footer]]))),page.footerId=footerId),page.originMarginTop=marginTop,page.originMarginBottom=marginBottom,page.marginTop=_getVerticalMargin(marginTop,header,pageHeight),page.marginBottom=_getVerticalMargin(marginBottom,footer,pageHeight);const sections=page.sections,lastSection=sections[sections.length-1],{marginTop:curPageMT,marginBottom:curPageMB,marginLeft:curPageML,marginRight:curPageMR}=page,pageContentWidth=pageWidth-curPageML-curPageMR,pageContentHeight=pageHeight-curPageMT-curPageMB;let lastSectionBottom=0;lastSection&&(lastSectionBottom=lastSection.top+lastSection.height);const newSection=createSkeletonSection(columnProperties,columnSeparatorType,lastSectionBottom,0,pageContentWidth,pageContentHeight-lastSectionBottom);return newSection.parent=page,sections.push(newSection),page}__name(createSkeletonPage,"createSkeletonPage");function _getNullPage(type=DocumentSkeletonPageType.BODY,segmentId=""){return{sections:[],headerId:"",footerId:"",pageWidth:0,pageHeight:0,pageOrient:core.PageOrientType.PORTRAIT,pageNumber:1,pageNumberStart:1,verticalAlign:!1,angle:0,width:0,height:0,left:0,marginLeft:0,marginRight:0,originMarginTop:0,marginTop:0,originMarginBottom:0,marginBottom:0,breakType:BreakType.SECTION,st:0,ed:0,skeDrawings:new Map,skeTables:new Map,type,segmentId}}__name(_getNullPage,"_getNullPage");function _createSkeletonHeaderFooter(ctx,headerOrFooterViewModel,sectionBreakConfig,skeletonResourceReference,segmentId,isHeader=!0,areaPage,count=0){const{lists,footerTreeMap,headerTreeMap,localeService,pageSize,drawings,marginLeft=0,marginRight=0,marginHeader=0,marginFooter=0}=sectionBreakConfig,pageWidth=(pageSize==null?void 0:pageSize.width)||Number.POSITIVE_INFINITY,pageHeight=(pageSize==null?void 0:pageSize.height)||Number.POSITIVE_INFINITY,headerFooterConfig={lists,footerTreeMap,headerTreeMap,pageSize:{width:pageWidth-marginLeft-marginRight,height:getHeaderFooterMaxHeight(pageHeight)-(isHeader?marginHeader:marginFooter)-5},localeService,drawings};areaPage==null&&(areaPage=createSkeletonPage(ctx,headerFooterConfig,skeletonResourceReference),areaPage.type=isHeader?DocumentSkeletonPageType.HEADER:DocumentSkeletonPageType.FOOTER,areaPage.segmentId=segmentId);const layoutAnchor=ctx.layoutStartPointer[segmentId];ctx.layoutStartPointer[segmentId]=null;const page=dealWithSection(ctx,headerOrFooterViewModel,headerOrFooterViewModel.children[0],areaPage,headerFooterConfig,layoutAnchor).pages[0];return ctx.isDirty&&count<10?(count++,resetContext(ctx),headerOrFooterViewModel.resetCache(),_createSkeletonHeaderFooter(ctx,headerOrFooterViewModel,sectionBreakConfig,skeletonResourceReference,segmentId,isHeader,areaPage,count)):(updateBlockIndex([page]),isHeader?Object.assign(page,{marginTop:marginHeader,marginBottom:5}):Object.assign(page,{marginTop:5,marginBottom:marginFooter}),page)}__name(_createSkeletonHeaderFooter,"_createSkeletonHeaderFooter");function createSkeletonCellPage(ctx,viewModel,cellNode,sectionBreakConfig,tableConfig,row,col){var _a10,_b;const{lists,footerTreeMap,headerTreeMap,localeService,drawings}=sectionBreakConfig,{skeletonResourceReference}=ctx,{cellMargin,tableRows,tableColumns,tableId}=tableConfig,cellConfig=tableRows[row].tableCells[col],sectionNode=cellNode.children[0],{start={v:10},end={v:10},top={v:5},bottom={v:5}}=(_b=(_a10=cellConfig.margin)!=null?_a10:cellMargin)!=null?_b:{},pageWidth=tableColumns[col].size.width.v,pageHeight=Number.POSITIVE_INFINITY,cellSectionBreakConfig={lists,footerTreeMap,headerTreeMap,pageSize:{width:pageWidth,height:pageHeight},marginTop:top.v,marginBottom:bottom.v,marginLeft:start.v,marginRight:end.v,localeService,drawings},areaPage=createSkeletonPage(ctx,cellSectionBreakConfig,skeletonResourceReference);areaPage.type=DocumentSkeletonPageType.CELL,areaPage.segmentId=tableId;const page=dealWithSection(ctx,viewModel,sectionNode,areaPage,cellSectionBreakConfig).pages[0];return updateBlockIndex([page],cellNode.startIndex),page}__name(createSkeletonCellPage,"createSkeletonCellPage");function _getVerticalMargin(marginTB,headerOrFooter,pageHeight){if(!headerOrFooter||headerOrFooter.sections[0].columns[0].lines.length===0)return marginTB;const HeaderFooterPageHeight=headerOrFooter.height+headerOrFooter.marginTop+headerOrFooter.marginBottom,maxMargin=getHeaderFooterMaxHeight(pageHeight);return Math.min(maxMargin,Math.max(marginTB,HeaderFooterPageHeight))}__name(_getVerticalMargin,"_getVerticalMargin");function dealWithBlockError(){return[]}__name(dealWithBlockError,"dealWithBlockError");function isLetter(char){return char.length>0&&!/\s|(?![\'])[\!-\@\[-\`\{-\~\u2013-\u203C]/.test(char)}__name(isLetter,"isLetter");function getWord(str){let word="";for(let i=0;i<str.length&&isLetter(str[i]);i++)word+=str[i];return word}__name(getWord,"getWord");function getSlicePosition(lastPos,hyphenSlice,index2){let position=lastPos;for(let i=0;i<=index2;i++)position+=hyphenSlice[i].length;return position}__name(getSlicePosition,"getSlicePosition");function overhang(c){switch(c){case"–":case"—":return .2;case".":case",":return .8;case":":case";":return .3;case"،":case"۔":return .4;default:return 0}}__name(overhang,"overhang");function getDivideShrinkability(divide){const{glyphGroup}=divide;let shrinkability=0;for(const glyph of glyphGroup){const[left,right]=glyph.adjustability.shrinkability;shrinkability+=left+right}return shrinkability}__name(getDivideShrinkability,"getDivideShrinkability");function getDivideStretchability(divide){const{glyphGroup}=divide;let stretchability=0;for(const glyph of glyphGroup){const[left,right]=glyph.adjustability.stretchability;stretchability+=left+right}return stretchability}__name(getDivideStretchability,"getDivideStretchability");function getJustifiables(divide){const justifiables=divide.glyphGroup.filter(glyph=>glyph.isJustifiable).length,lastGlyph=divide.glyphGroup[divide.glyphGroup.length-1];return hasCJK(lastGlyph.content)?justifiables-1:justifiables}__name(getJustifiables,"getJustifiables");function adjustGlyphsInDivide(divide,justificationRatio,extraJustification){for(const glyph of divide.glyphGroup){const adjustabilityLeft=justificationRatio<0?glyph.adjustability.shrinkability[0]:glyph.adjustability.stretchability[0],adjustabilityRight=justificationRatio<0?glyph.adjustability.shrinkability[1]:glyph.adjustability.stretchability[1],justificationLeft=adjustabilityLeft*justificationRatio;let justificationRight=adjustabilityRight*justificationRatio;glyph.isJustifiable&&(justificationRight+=extraJustification),glyph.width+=justificationLeft+justificationRight,glyph.xOffset+=justificationLeft}setGlyphGroupLeft(divide.glyphGroup)}__name(adjustGlyphsInDivide,"adjustGlyphsInDivide");function horizontalAlignHandler(line2,horizontalAlign){const{divides}=line2;for(let i=0;i<divides.length;i++){const divide=divides[i],{width}=divide;let glyphGroupWidth=getGlyphGroupWidth(divide);if(width!==Number.POSITIVE_INFINITY){if(divide.isFull){let remaining=width-glyphGroupWidth;if(divide.glyphGroup.length>1){const lastGlyph=divide.glyphGroup[divide.glyphGroup.length-1],amount=overhang(lastGlyph.content)*lastGlyph.width;remaining+=amount}let justificationRatio=0,extraJustification=0;const shrink=getDivideShrinkability(divide),stretch=getDivideStretchability(divide);if(remaining<0&&shrink>0)justificationRatio=Math.max(remaining/shrink,-1),remaining=Math.min(remaining+shrink,0);else if(horizontalAlign===core.HorizontalAlign.JUSTIFIED){stretch>0&&(justificationRatio=Math.min(remaining/stretch,1),remaining=Math.max(remaining-stretch,0));const justifiables=getJustifiables(divide);justifiables>0&&remaining>0&&(extraJustification=remaining/justifiables,remaining=0)}(justificationRatio!==0||extraJustification!==0)&&(adjustGlyphsInDivide(divide,justificationRatio,extraJustification),glyphGroupWidth=getGlyphGroupWidth(divide))}horizontalAlign===core.HorizontalAlign.CENTER?divide.paddingLeft=(width-glyphGroupWidth)/2:horizontalAlign===core.HorizontalAlign.RIGHT&&(divide.paddingLeft=width-glyphGroupWidth)}}}__name(horizontalAlignHandler,"horizontalAlignHandler");function restoreLastCJKGlyphWidth(line2){for(const divide of line2.divides){const lastGlyph=divide.glyphGroup[divide.glyphGroup.length-1];if(lastGlyph&÷.isFull&&hasCJKText(lastGlyph.content)&&lastGlyph.width-lastGlyph.xOffset>lastGlyph.bBox.width){const shrinkAmount=lastGlyph.width-lastGlyph.xOffset-lastGlyph.bBox.width;lastGlyph.width-=shrinkAmount,lastGlyph.adjustability.shrinkability[1]=0}}}__name(restoreLastCJKGlyphWidth,"restoreLastCJKGlyphWidth");function shrinkStartAndEndCJKPunctuation(line2){for(const divide of line2.divides){const glyphGroupLength=divide.glyphGroup.length;if(glyphGroupLength<2)continue;const firstGlyph=divide.glyphGroup[0],lastGlyph=divide.glyphGroup[glyphGroupLength-1];if(isCjkRightAlignedPunctuation(firstGlyph.content)){const shrinkAmount=firstGlyph.adjustability.shrinkability[0];glyphShrinkLeft(firstGlyph,shrinkAmount)}if(isCjkLeftAlignedPunctuation(lastGlyph.content)){const shrinkAmount=lastGlyph.adjustability.shrinkability[1];glyphShrinkRight(lastGlyph,shrinkAmount)}setGlyphGroupLeft(divide.glyphGroup)}}__name(shrinkStartAndEndCJKPunctuation,"shrinkStartAndEndCJKPunctuation");function addHyphenDash(line2,viewModel,paragraphNode,sectionBreakConfig,paragraphStyle){for(const divide of line2.divides){const{glyphGroup,breakType}=divide,lastGlyph=glyphGroup[glyphGroup.length-1];if(lastGlyph&&isLetter(lastGlyph.content)&&breakType===BreakPointType.Hyphen){const config=getFontConfigFromLastGlyph(lastGlyph,sectionBreakConfig,paragraphStyle),hyphenDashGlyph=createHyphenDashGlyph(config);hyphenDashGlyph.parent=lastGlyph.parent,hyphenDashGlyph.left=lastGlyph.left+lastGlyph.width,divide.glyphGroup.push(hyphenDashGlyph),divide.width-=hyphenDashGlyph.width}}}__name(addHyphenDash,"addHyphenDash");function lineAdjustment(pages,viewModel,paragraphNode,sectionBreakConfig){const{endIndex}=paragraphNode,paragraph=viewModel.getParagraph(endIndex,!0)||{startIndex:0};lineIterator(pages,line2=>{if(line2.paragraphIndex!==paragraph.startIndex)return;const{paragraphStyle={}}=paragraph,{horizontalAlign=core.HorizontalAlign.UNSPECIFIED}=paragraphStyle;shrinkStartAndEndCJKPunctuation(line2),restoreLastCJKGlyphWidth(line2),addHyphenDash(line2,viewModel,paragraphNode,sectionBreakConfig,paragraphStyle),horizontalAlignHandler(line2,horizontalAlign)})}__name(lineAdjustment,"lineAdjustment");function getBulletOrderedSymbol(startIndex,startNumber,glyphType){return generateOrderedSymbol(startIndex,startNumber,glyphType)}__name(getBulletOrderedSymbol,"getBulletOrderedSymbol");function generateOrderedSymbol(startIndex,startNumber,glyphType){return glyphType===core.GlyphType.DECIMAL?decimal(startIndex,startNumber):glyphType===core.GlyphType.DECIMAL_ZERO?zeroDecimal(startIndex,startNumber):glyphType===core.GlyphType.UPPER_LETTER?upperAlpha(startIndex,startNumber):glyphType===core.GlyphType.LOWER_LETTER?alpha(startIndex,startNumber):glyphType===core.GlyphType.UPPER_ROMAN?upperRoman(startIndex,startNumber):glyphType===core.GlyphType.LOWER_ROMAN?roman(startIndex,startNumber):decimal(startIndex,startNumber)}__name(generateOrderedSymbol,"generateOrderedSymbol");function decimal(startIndex,startNumber){return(startIndex+startNumber).toString()}__name(decimal,"decimal");function zeroDecimal(startIndex,startNumber){const currentIndex=startIndex+startNumber;return currentIndex<10?`0${currentIndex}`:currentIndex.toString()}__name(zeroDecimal,"zeroDecimal");function upperAlpha(startIndex,startNumber){return core.numberToListABC(startIndex+startNumber-1,!0)}__name(upperAlpha,"upperAlpha");function alpha(startIndex,startNumber){return core.numberToListABC(startIndex+startNumber-1,!1)}__name(alpha,"alpha");function upperRoman(startIndex,startNumber){return _convertRoman(startIndex+startNumber,!0)}__name(upperRoman,"upperRoman");function roman(startIndex,startNumber){return _convertRoman(startIndex+startNumber,!1)}__name(roman,"roman");function _convertRoman(num,uppercase=!1){const upperLookup={M:1e3,CM:900,D:500,CD:400,C:100,XC:90,L:50,XL:40,X:10,IX:9,V:5,IV:4,I:1};let lookup={m:1e3,cm:900,d:500,cd:400,c:100,xc:90,l:50,xl:40,x:10,ix:9,v:5,iv:4,i:1};uppercase&&(lookup=upperLookup);let romanStr="";for(const i in lookup)for(;num>=lookup[i];)romanStr+=i,num-=lookup[i];return romanStr}__name(_convertRoman,"_convertRoman");function dealWithBullet(bullet,lists,listLevelAncestors,localeService){var _a10,_b;if(!bullet||!lists)return;const{listId,listType,nestingLevel=0,textStyle}=bullet,list=lists[listType];return!list||!list.nestingLevel?getDefaultBulletSke(listId,(_a10=listLevelAncestors==null?void 0:listLevelAncestors[nestingLevel])==null?void 0:_a10.startIndexItem):list.nestingLevel[nestingLevel]?_getBulletSke(listId,nestingLevel,list.nestingLevel,listLevelAncestors,textStyle):getDefaultBulletSke(listId,(_b=listLevelAncestors==null?void 0:listLevelAncestors[nestingLevel])==null?void 0:_b.startIndexItem)}__name(dealWithBullet,"dealWithBullet");function getDefaultBulletSke(listId,startIndex=1){return{listId,symbol:"●",ts:{ff:"Arial",fs:9},startIndexItem:startIndex,paragraphProperties:{indentFirstLine:{v:0},hanging:{v:21},indentStart:{v:0}}}}__name(getDefaultBulletSke,"getDefaultBulletSke");function _getBulletSke(listId,nestingLevel,nestings,listLevelAncestors,textStyleConfig,localeService){var _a10,_b;const nesting=nestings[nestingLevel],{bulletAlignment,glyphFormat,textStyle:textStyleFirst={},glyphType,glyphSymbol}=nesting,textStyle={...textStyleConfig,...textStyleFirst},fontStyle=getFontStyleString(textStyle);let symbolContent;glyphSymbol?symbolContent=glyphSymbol:symbolContent=__generateOrderedListSymbol(glyphFormat,nestingLevel,nestings,listLevelAncestors);const startIndex=(_b=(_a10=listLevelAncestors==null?void 0:listLevelAncestors[nestingLevel])==null?void 0:_a10.startIndexItem)!=null?_b:1;return{listId,symbol:symbolContent,ts:textStyle,fontStyle,startIndexItem:startIndex+1,nestingLevel:nesting,bulletAlign:bulletAlignment,bulletType:glyphSymbol?!1:!!glyphType,paragraphProperties:nesting.paragraphProperties}}__name(_getBulletSke,"_getBulletSke");function __generateOrderedListSymbol(glyphFormat,nestingLevel,nestings,listLevelAncestors){var _a10;const glyphFormatSplit=glyphFormat.split("%"),resultSymbol=[glyphFormatSplit[0]];for(let i=1;i<glyphFormatSplit.length;i++){const levelAndSuffixPre=glyphFormatSplit[i],{level,suffix}=___getLevelAndSuffix(levelAndSuffixPre);let startIndexItem=((_a10=listLevelAncestors==null?void 0:listLevelAncestors[level])==null?void 0:_a10.startIndexItem)||1;level!==nestingLevel&&(listLevelAncestors==null?void 0:listLevelAncestors[level])!==null&&(startIndexItem-=1);const singleSymbol=___getSymbolByBesting(startIndexItem,nestings[level]);resultSymbol.push(singleSymbol,suffix)}return resultSymbol.join("")}__name(__generateOrderedListSymbol,"__generateOrderedListSymbol");function ___getSymbolByBesting(startIndex=1,nesting){const{startNumber,glyphType,glyphSymbol}=nesting;return glyphSymbol||(glyphType?getBulletOrderedSymbol(startIndex,startNumber,glyphType):"●")}__name(___getSymbolByBesting,"___getSymbolByBesting");function ___getLevelAndSuffix(levelAndSuffixPre){if(levelAndSuffixPre==="")return{level:0,suffix:""};const levelAndSuffixPreSpit=levelAndSuffixPre.split("");let level="",suffix="",isSuffixState=!1;const digitReg=/[0-9]/g;return levelAndSuffixPreSpit.forEach(w=>{!isSuffixState&&digitReg.test(`${level}${w}`)?level+=w:(isSuffixState=!0,suffix+=w)}),{level:Number.parseInt(level)-1,suffix}}__name(___getLevelAndSuffix,"___getLevelAndSuffix");function _getListLevelAncestors(bullet,listLevel){if(!bullet||!listLevel)return;const{listId,nestingLevel}=bullet,sameList=listLevel==null?void 0:listLevel.get(listId);let level=nestingLevel;level<0&&(level=0);const listLevelAncestors=[];for(let i=level;i>=0;i--){const bs=sameList==null?void 0:sameList[i];listLevelAncestors[i]=bs||null}return listLevelAncestors}__name(_getListLevelAncestors,"_getListLevelAncestors");function _updateListLevelAncestors(bullet,bulletSkeleton,listLevel){if(!bullet||!bulletSkeleton)return;const{listId,nestingLevel}=bullet,cacheItem=[...(listLevel==null?void 0:listLevel.get(listId))||[]];cacheItem[nestingLevel]=bulletSkeleton,cacheItem.splice(nestingLevel+1),listLevel==null||listLevel.set(listId,cacheItem)}__name(_updateListLevelAncestors,"_updateListLevelAncestors");function _getDrawingSkeletonFormat(drawingOrigin){const{drawingId}=drawingOrigin;return{drawingId,aLeft:0,aTop:0,width:0,height:0,angle:0,initialState:!1,drawingOrigin,columnLeft:0,lineHeight:0,lineTop:0,blockAnchorTop:0,isPageBreak:!1}}__name(_getDrawingSkeletonFormat,"_getDrawingSkeletonFormat");function _getNextPageNumber(lastPage){return lastPage.pageNumber+1}__name(_getNextPageNumber,"_getNextPageNumber");function lineBreaking(ctx,viewModel,shapedTextList,curPage,paragraphNode,sectionBreakConfig,tableSkeleton){const{skeletonResourceReference}=ctx,{lists,drawings={},localeService}=sectionBreakConfig,{endIndex,blocks=[]}=paragraphNode,{segmentId}=curPage,paragraph=viewModel.getParagraph(endIndex)||{startIndex:0},{paragraphStyle={},bullet}=paragraph,{skeHeaders,skeFooters,skeListLevel,drawingAnchor}=skeletonResourceReference,paragraphAffectSkeDrawings=new Map,paragraphInlineSkeDrawings=new Map;let segmentDrawingAnchorCache=drawingAnchor==null?void 0:drawingAnchor.get(segmentId);segmentDrawingAnchorCache==null&&(segmentDrawingAnchorCache=new Map,drawingAnchor==null||drawingAnchor.set(segmentId,segmentDrawingAnchorCache));const paragraphConfig={paragraphIndex:endIndex,paragraphStyle:core.Tools.deepClone(paragraphStyle),paragraphAffectSkeDrawings,paragraphInlineSkeDrawings,skeTablesInParagraph:tableSkeleton?[{tableId:tableSkeleton.tableId,table:tableSkeleton,hasPositioned:!1}]:void 0,skeHeaders,skeFooters,pDrawingAnchor:segmentDrawingAnchorCache};let segmentParagraphCache=ctx.paragraphConfigCache.get(segmentId);segmentParagraphCache==null&&(segmentParagraphCache=new Map,ctx.paragraphConfigCache.set(segmentId,segmentParagraphCache)),segmentParagraphCache.set(endIndex,paragraphConfig);const listLevelAncestors=_getListLevelAncestors(bullet,skeListLevel),bulletSkeleton=dealWithBullet(bullet,lists,listLevelAncestors);_updateListLevelAncestors(bullet,bulletSkeleton,skeListLevel),paragraphConfig.bulletSkeleton=bulletSkeleton;for(let i=0,len=blocks.length;i<len;i++){const charIndex=blocks[i],customBlock=viewModel.getCustomBlock(charIndex);if(customBlock==null)continue;const{blockId}=customBlock,drawingOrigin=drawings[blockId];drawingOrigin.layoutType===core.PositionedObjectLayoutType.INLINE?paragraphInlineSkeDrawings.set(blockId,_getDrawingSkeletonFormat(drawingOrigin)):paragraphAffectSkeDrawings.set(blockId,_getDrawingSkeletonFormat(drawingOrigin))}let allPages=[curPage],isParagraphFirstShapedText=!0;for(const[_index,{text,glyphs,breakPointType}]of shapedTextList.entries()){const pushPending=__name(()=>{glyphs.length!==0&&(allPages=layoutParagraph(ctx,glyphs,allPages,sectionBreakConfig,paragraphConfig,isParagraphFirstShapedText,breakPointType),isParagraphFirstShapedText=!1)},"pushPending");if(text.endsWith(core.DataStreamTreeTokenType.PAGE_BREAK)){pushPending(),allPages.push(createSkeletonPage(ctx,sectionBreakConfig,skeletonResourceReference,_getNextPageNumber(allPages[allPages.length-1]),BreakType.PAGE)),paragraphAffectSkeDrawings.clear(),paragraphInlineSkeDrawings.clear();continue}else if(text.endsWith(core.DataStreamTreeTokenType.COLUMN_BREAK)){pushPending();const lastPage=allPages[allPages.length-1],columnInfo=getLastNotFullColumnInfo(lastPage);columnInfo&&!columnInfo.isLast?setColumnFullState(columnInfo.column,!0):allPages.push(createSkeletonPage(ctx,sectionBreakConfig,skeletonResourceReference,_getNextPageNumber(lastPage),BreakType.COLUMN));continue}pushPending()}return allPages}__name(lineBreaking,"lineBreaking");var Lang=(Lang2=>(Lang2.Af="af",Lang2.As="as",Lang2.Be="be",Lang2.Bg="bg",Lang2.Bn="bn",Lang2.Ca="ca",Lang2.Cop="cop",Lang2.Cs="cs",Lang2.Cu="cu",Lang2.Cy="cy",Lang2.Da="da",Lang2.De1901="de-1901",Lang2.De1996="de-1996",Lang2.DeCh1901="de-ch-1901",Lang2.ElMonoton="el-monoton",Lang2.ElPolyton="el-polyton",Lang2.EnGb="en-gb",Lang2.EnUs="en-us",Lang2.Es="es",Lang2.Et="et",Lang2.Eu="eu",Lang2.Fi="fi",Lang2.Fr="fr",Lang2.Fur="fur",Lang2.Ga="ga",Lang2.Gl="gl",Lang2.Grc="grc",Lang2.Gu="gu",Lang2.Hi="hi",Lang2.Hr="hr",Lang2.Hsb="hsb",Lang2.Hu="hu",Lang2.Hy="hy",Lang2.Ia="ia",Lang2.Id="id",Lang2.Is="is",Lang2.It="it",Lang2.Ka="ka",Lang2.Kmr="kmr",Lang2.Kn="kn",Lang2.LaXClassic="la-x-classic",Lang2.LaXLiturgic="la-x-liturgic",Lang2.La="la",Lang2.Lt="lt",Lang2.Lv="lv",Lang2.Ml="ml",Lang2.MnCyrlXLmc="mn-cyrl-x-lmc",Lang2.MnCyrl="mn-cyrl",Lang2.Mr="mr",Lang2.MulEthi="mul-ethi",Lang2.Nb="nb",Lang2.Nl="nl",Lang2.Nn="nn",Lang2.No="no",Lang2.Oc="oc",Lang2.Or="or",Lang2.Pa="pa",Lang2.Pi="pi",Lang2.Pl="pl",Lang2.Pms="pms",Lang2.Pt="pt",Lang2.Rm="rm",Lang2.Ro="ro",Lang2.Ru="ru",Lang2.Sa="sa",Lang2.ShCyrl="sh-cyrl",Lang2.ShLatn="sh-latn",Lang2.Sk="sk",Lang2.Sl="sl",Lang2.SrCyrl="sr-cyrl",Lang2.Sv="sv",Lang2.Ta="ta",Lang2.Te="te",Lang2.Th="th",Lang2.Tk="tk",Lang2.Tr="tr",Lang2.Uk="uk",Lang2.ZhLatnPinyin="zh-latn-pinyin",Lang2.UNKNOWN="unknown",Lang2))(Lang||{});const NS=5,AL=12,HL=13,HY=16,BA=17,WJ=22,RI=28,ZWJ=31,AI=33,BK=34,CJ=35,CR=36,LF=37,NL=38,SA=39,SG=40,SP=41,XX=42,DI_BRK=0,IN_BRK=1,CI_BRK=2,CP_BRK=3,PR_BRK=4,pairTable=[[PR_BRK,PR_BRK,PR_BRK,PR_BRK,PR_BRK,PR_BRK,PR_BRK,PR_BRK,PR_BRK,PR_BRK,PR_BRK,PR_BRK,PR_BRK,PR_BRK,PR_BRK,PR_BRK,PR_BRK,PR_BRK,PR_BRK,PR_BRK,PR_BRK,CP_BRK,PR_BRK,PR_BRK,PR_BRK,PR_BRK,PR_BRK,PR_BRK,PR_BRK,PR_BRK,PR_BRK,PR_BRK,PR_BRK],[DI_BRK,PR_BRK,PR_BRK,IN_BRK,IN_BRK,PR_BRK,PR_BRK,PR_BRK,PR_BRK,IN_BRK,IN_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,IN_BRK,IN_BRK,IN_BRK,DI_BRK,DI_BRK,PR_BRK,CI_BRK,PR_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,IN_BRK,DI_BRK],[DI_BRK,PR_BRK,PR_BRK,IN_BRK,IN_BRK,PR_BRK,PR_BRK,PR_BRK,PR_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,DI_BRK,IN_BRK,IN_BRK,IN_BRK,DI_BRK,DI_BRK,PR_BRK,CI_BRK,PR_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,IN_BRK,DI_BRK],[PR_BRK,PR_BRK,PR_BRK,IN_BRK,IN_BRK,IN_BRK,PR_BRK,PR_BRK,PR_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,PR_BRK,CI_BRK,PR_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK],[IN_BRK,PR_BRK,PR_BRK,IN_BRK,IN_BRK,IN_BRK,PR_BRK,PR_BRK,PR_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,PR_BRK,CI_BRK,PR_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK],[DI_BRK,PR_BRK,PR_BRK,IN_BRK,IN_BRK,IN_BRK,PR_BRK,PR_BRK,PR_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,IN_BRK,IN_BRK,IN_BRK,DI_BRK,DI_BRK,PR_BRK,CI_BRK,PR_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,IN_BRK,DI_BRK],[DI_BRK,PR_BRK,PR_BRK,IN_BRK,IN_BRK,IN_BRK,PR_BRK,PR_BRK,PR_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,IN_BRK,IN_BRK,IN_BRK,DI_BRK,DI_BRK,PR_BRK,CI_BRK,PR_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,IN_BRK,DI_BRK],[DI_BRK,PR_BRK,PR_BRK,IN_BRK,IN_BRK,IN_BRK,PR_BRK,PR_BRK,PR_BRK,DI_BRK,DI_BRK,IN_BRK,DI_BRK,IN_BRK,DI_BRK,IN_BRK,IN_BRK,IN_BRK,DI_BRK,DI_BRK,PR_BRK,CI_BRK,PR_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,IN_BRK,DI_BRK],[DI_BRK,PR_BRK,PR_BRK,IN_BRK,IN_BRK,IN_BRK,PR_BRK,PR_BRK,PR_BRK,DI_BRK,DI_BRK,IN_BRK,IN_BRK,IN_BRK,DI_BRK,IN_BRK,IN_BRK,IN_BRK,DI_BRK,DI_BRK,PR_BRK,CI_BRK,PR_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,IN_BRK,DI_BRK],[IN_BRK,PR_BRK,PR_BRK,IN_BRK,IN_BRK,IN_BRK,PR_BRK,PR_BRK,PR_BRK,DI_BRK,DI_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,DI_BRK,DI_BRK,PR_BRK,CI_BRK,PR_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,DI_BRK,IN_BRK,IN_BRK,IN_BRK,DI_BRK],[IN_BRK,PR_BRK,PR_BRK,IN_BRK,IN_BRK,IN_BRK,PR_BRK,PR_BRK,PR_BRK,DI_BRK,DI_BRK,IN_BRK,IN_BRK,IN_BRK,DI_BRK,IN_BRK,IN_BRK,IN_BRK,DI_BRK,DI_BRK,PR_BRK,CI_BRK,PR_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,IN_BRK,DI_BRK],[IN_BRK,PR_BRK,PR_BRK,IN_BRK,IN_BRK,IN_BRK,PR_BRK,PR_BRK,PR_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,DI_BRK,IN_BRK,IN_BRK,IN_BRK,DI_BRK,DI_BRK,PR_BRK,CI_BRK,PR_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,IN_BRK,DI_BRK],[IN_BRK,PR_BRK,PR_BRK,IN_BRK,IN_BRK,IN_BRK,PR_BRK,PR_BRK,PR_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,DI_BRK,IN_BRK,IN_BRK,IN_BRK,DI_BRK,DI_BRK,PR_BRK,CI_BRK,PR_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,IN_BRK,DI_BRK],[IN_BRK,PR_BRK,PR_BRK,IN_BRK,IN_BRK,IN_BRK,PR_BRK,PR_BRK,PR_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,DI_BRK,IN_BRK,IN_BRK,IN_BRK,DI_BRK,DI_BRK,PR_BRK,CI_BRK,PR_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,IN_BRK,DI_BRK],[DI_BRK,PR_BRK,PR_BRK,IN_BRK,IN_BRK,IN_BRK,PR_BRK,PR_BRK,PR_BRK,DI_BRK,IN_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,IN_BRK,IN_BRK,IN_BRK,DI_BRK,DI_BRK,PR_BRK,CI_BRK,PR_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,IN_BRK,DI_BRK],[DI_BRK,PR_BRK,PR_BRK,IN_BRK,IN_BRK,IN_BRK,PR_BRK,PR_BRK,PR_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,IN_BRK,IN_BRK,IN_BRK,DI_BRK,DI_BRK,PR_BRK,CI_BRK,PR_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,IN_BRK,DI_BRK],[DI_BRK,PR_BRK,PR_BRK,IN_BRK,DI_BRK,IN_BRK,PR_BRK,PR_BRK,PR_BRK,DI_BRK,DI_BRK,IN_BRK,DI_BRK,DI_BRK,DI_BRK,IN_BRK,IN_BRK,IN_BRK,DI_BRK,DI_BRK,PR_BRK,CI_BRK,PR_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,IN_BRK,DI_BRK],[DI_BRK,PR_BRK,PR_BRK,IN_BRK,DI_BRK,IN_BRK,PR_BRK,PR_BRK,PR_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,IN_BRK,IN_BRK,IN_BRK,DI_BRK,DI_BRK,PR_BRK,CI_BRK,PR_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,IN_BRK,DI_BRK],[IN_BRK,PR_BRK,PR_BRK,IN_BRK,IN_BRK,IN_BRK,PR_BRK,PR_BRK,PR_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,PR_BRK,CI_BRK,PR_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,DI_BRK],[DI_BRK,PR_BRK,PR_BRK,IN_BRK,IN_BRK,IN_BRK,PR_BRK,PR_BRK,PR_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,IN_BRK,IN_BRK,IN_BRK,DI_BRK,PR_BRK,PR_BRK,CI_BRK,PR_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,IN_BRK,DI_BRK],[DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,PR_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK],[IN_BRK,PR_BRK,PR_BRK,IN_BRK,IN_BRK,IN_BRK,PR_BRK,PR_BRK,PR_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,DI_BRK,IN_BRK,IN_BRK,IN_BRK,DI_BRK,DI_BRK,PR_BRK,CI_BRK,PR_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,IN_BRK,DI_BRK],[IN_BRK,PR_BRK,PR_BRK,IN_BRK,IN_BRK,IN_BRK,PR_BRK,PR_BRK,PR_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,PR_BRK,CI_BRK,PR_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK],[DI_BRK,PR_BRK,PR_BRK,IN_BRK,IN_BRK,IN_BRK,PR_BRK,PR_BRK,PR_BRK,DI_BRK,IN_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,IN_BRK,IN_BRK,IN_BRK,DI_BRK,DI_BRK,PR_BRK,CI_BRK,PR_BRK,DI_BRK,DI_BRK,DI_BRK,IN_BRK,IN_BRK,DI_BRK,DI_BRK,DI_BRK,IN_BRK,DI_BRK],[DI_BRK,PR_BRK,PR_BRK,IN_BRK,IN_BRK,IN_BRK,PR_BRK,PR_BRK,PR_BRK,DI_BRK,IN_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,IN_BRK,IN_BRK,IN_BRK,DI_BRK,DI_BRK,PR_BRK,CI_BRK,PR_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,IN_BRK,DI_BRK,DI_BRK,DI_BRK,IN_BRK,DI_BRK],[DI_BRK,PR_BRK,PR_BRK,IN_BRK,IN_BRK,IN_BRK,PR_BRK,PR_BRK,PR_BRK,DI_BRK,IN_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,IN_BRK,IN_BRK,IN_BRK,DI_BRK,DI_BRK,PR_BRK,CI_BRK,PR_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,IN_BRK,DI_BRK],[DI_BRK,PR_BRK,PR_BRK,IN_BRK,IN_BRK,IN_BRK,PR_BRK,PR_BRK,PR_BRK,DI_BRK,IN_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,IN_BRK,IN_BRK,IN_BRK,DI_BRK,DI_BRK,PR_BRK,CI_BRK,PR_BRK,DI_BRK,DI_BRK,DI_BRK,IN_BRK,IN_BRK,DI_BRK,DI_BRK,DI_BRK,IN_BRK,DI_BRK],[DI_BRK,PR_BRK,PR_BRK,IN_BRK,IN_BRK,IN_BRK,PR_BRK,PR_BRK,PR_BRK,DI_BRK,IN_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,IN_BRK,IN_BRK,IN_BRK,DI_BRK,DI_BRK,PR_BRK,CI_BRK,PR_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,IN_BRK,DI_BRK,DI_BRK,DI_BRK,IN_BRK,DI_BRK],[DI_BRK,PR_BRK,PR_BRK,IN_BRK,IN_BRK,IN_BRK,PR_BRK,PR_BRK,PR_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,IN_BRK,IN_BRK,IN_BRK,DI_BRK,DI_BRK,PR_BRK,CI_BRK,PR_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,IN_BRK,DI_BRK,DI_BRK,IN_BRK,DI_BRK],[DI_BRK,PR_BRK,PR_BRK,IN_BRK,IN_BRK,IN_BRK,PR_BRK,PR_BRK,PR_BRK,DI_BRK,IN_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,IN_BRK,IN_BRK,IN_BRK,DI_BRK,DI_BRK,PR_BRK,CI_BRK,PR_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,IN_BRK,IN_BRK,DI_BRK],[DI_BRK,PR_BRK,PR_BRK,IN_BRK,IN_BRK,IN_BRK,PR_BRK,PR_BRK,PR_BRK,DI_BRK,IN_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,IN_BRK,IN_BRK,IN_BRK,DI_BRK,DI_BRK,PR_BRK,CI_BRK,PR_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,IN_BRK,DI_BRK],[IN_BRK,PR_BRK,PR_BRK,IN_BRK,IN_BRK,IN_BRK,PR_BRK,PR_BRK,PR_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,IN_BRK,DI_BRK,IN_BRK,IN_BRK,IN_BRK,DI_BRK,DI_BRK,PR_BRK,CI_BRK,PR_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,IN_BRK,DI_BRK],[DI_BRK,PR_BRK,PR_BRK,IN_BRK,IN_BRK,DI_BRK,PR_BRK,PR_BRK,PR_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,PR_BRK,CI_BRK,PR_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,DI_BRK,IN_BRK,DI_BRK]],_Rule=class _Rule{constructor(){__publicField(this,"_rules",new Map)}add(key,rule){this._rules.set(key,rule)}shouldBreak(codePoint,lastCodePoint,className){for(const rule of this._rules.values())if(rule(codePoint,lastCodePoint,className))return!0;return!1}};__name(_Rule,"Rule");let Rule=_Rule;const data$1=new Uint8Array([0,8,14,0,0,0,0,0,176,232,0,0,1,181,15,74,240,237,157,11,140,93,69,25,199,231,178,187,183,123,31,187,237,46,108,193,194,22,104,41,200,242,48,128,104,16,129,152,162,64,42,10,193,42,24,121,104,2,65,177,4,9,69,41,193,104,73,35,193,84,20,104,144,152,74,140,109,80,1,149,87,12,175,68,64,162,60,42,9,136,196,70,194,35,40,132,84,222,34,40,18,255,195,153,113,103,103,231,253,58,183,244,158,228,151,57,103,158,223,124,243,205,227,204,57,231,222,141,3,132,220,0,110,5,119,129,191,129,127,128,127,130,255,130,129,65,66,58,131,254,238,56,88,0,22,129,41,240,1,240,97,135,116,71,128,163,12,225,199,130,229,224,100,112,58,88,1,86,130,11,193,197,66,188,75,192,247,193,85,224,26,176,17,220,0,174,7,183,128,59,193,239,192,67,224,81,240,56,75,251,36,115,159,3,47,129,55,192,155,128,12,17,50,12,230,129,113,176,0,44,2,83,96,95,112,16,56,20,44,101,225,203,192,9,44,156,94,127,30,124,9,124,5,124,21,156,7,46,4,23,179,240,239,130,43,192,143,216,245,79,193,117,67,85,249,55,195,189,3,220,203,242,167,242,61,0,247,17,176,25,252,21,60,11,30,27,168,174,183,128,87,216,245,91,112,27,205,42,77,11,238,24,152,0,147,205,42,124,11,139,191,164,89,185,123,179,184,156,3,154,211,28,194,56,2,124,140,33,198,53,113,12,226,30,47,197,63,11,229,157,228,145,135,11,95,20,242,251,50,206,87,128,149,224,34,176,166,57,93,223,181,56,95,7,214,75,229,111,196,245,213,194,245,181,184,254,21,248,141,144,150,114,23,75,119,159,224,191,137,234,20,60,209,172,236,158,242,44,206,159,3,47,130,55,192,59,160,57,7,233,160,251,209,57,85,30,19,112,39,193,30,115,166,203,221,23,231,7,206,209,215,243,35,8,59,220,16,238,194,39,144,254,83,224,179,224,20,112,6,56,27,156,15,190,9,86,131,75,193,229,96,29,88,15,54,176,50,175,99,238,205,112,239,0,247,130,7,193,163,96,51,11,123,6,238,243,224,37,141,156,175,9,254,111,225,188,49,60,147,237,132,243,54,24,5,243,193,66,176,4,236,7,14,6,135,129,143,131,99,193,114,112,50,56,29,172,0,43,135,171,252,47,128,251,109,240,29,118,253,61,184,235,134,253,117,182,158,165,217,0,247,58,143,244,55,7,148,117,187,148,230,30,225,250,90,102,99,15,192,239,17,176,121,184,234,207,207,12,251,241,2,120,21,252,155,234,187,5,61,131,241,86,117,190,160,101,78,187,72,8,159,178,196,237,211,167,79,58,248,56,80,183,28,125,250,244,233,211,167,79,159,62,125,182,46,246,239,209,251,182,131,91,51,247,67,180,251,32,173,106,47,143,158,31,129,243,95,10,97,71,181,236,233,63,141,56,159,99,241,78,129,251,49,184,147,224,12,156,159,205,242,62,31,238,69,96,13,88,11,126,0,174,6,63,105,85,251,56,63,135,123,99,107,230,254,16,229,54,248,253,204,80,246,221,8,191,31,60,0,30,4,15,129,77,224,143,224,225,126,88,63,172,31,214,15,235,135,37,15,251,51,120,2,60,213,170,246,76,235,228,249,86,189,212,93,255,62,125,122,153,216,117,236,203,232,99,111,130,183,91,225,207,233,72,91,237,63,12,255,121,96,39,176,43,216,75,138,183,15,174,15,2,135,130,165,96,25,56,174,93,201,117,34,220,211,218,245,143,63,59,204,173,184,18,252,9,116,231,233,57,26,92,2,238,84,132,189,45,93,127,112,140,144,243,192,45,96,203,88,229,183,219,56,33,95,0,87,130,95,131,151,193,211,173,74,119,167,130,107,192,147,84,135,29,66,14,0,4,247,31,159,233,84,215,34,23,131,43,26,211,220,203,226,114,182,224,122,223,46,33,159,4,95,3,95,7,55,129,87,193,129,35,240,3,55,130,87,70,102,230,179,173,49,54,58,83,111,125,250,244,233,179,45,113,252,168,121,238,63,19,243,209,57,154,249,159,114,110,123,246,154,133,135,173,66,216,106,41,237,26,92,175,101,126,203,53,239,94,209,247,178,214,37,126,47,203,196,101,154,250,173,51,212,155,178,30,225,251,209,119,229,20,241,126,193,252,110,178,228,97,227,118,133,126,85,240,248,247,176,248,191,23,202,125,152,157,63,46,248,109,166,235,48,240,119,232,249,5,184,175,180,171,119,195,222,130,219,192,250,97,78,167,186,158,11,119,71,176,51,187,190,0,105,23,119,166,247,21,247,193,249,65,157,105,25,14,197,249,249,112,151,194,93,6,142,5,203,193,201,29,181,204,13,216,224,233,157,105,185,22,130,21,138,184,60,254,42,176,82,40,143,198,191,8,215,107,88,30,107,225,174,99,225,116,15,116,61,206,55,26,242,187,161,163,214,59,221,119,165,123,171,183,34,252,174,206,204,52,247,225,122,19,245,3,127,1,79,179,60,158,135,251,50,59,127,29,238,219,154,114,229,250,12,98,93,214,1,243,192,68,119,118,89,147,221,234,124,73,119,186,110,54,246,67,220,131,187,213,187,127,135,9,121,30,137,243,163,193,113,221,114,253,203,133,19,123,76,158,58,56,141,233,224,76,131,46,206,210,132,157,11,255,85,93,55,219,200,73,104,221,87,39,108,127,250,110,226,165,221,233,115,58,151,92,198,174,175,130,251,227,66,182,182,81,83,206,245,221,234,221,201,27,133,246,186,173,155,255,153,86,104,61,238,102,114,222,223,3,246,85,39,155,28,219,232,49,196,219,12,158,242,108,211,103,183,2,253,202,182,177,165,59,253,174,249,182,202,235,158,227,201,127,104,252,17,232,83,177,54,236,140,148,25,155,82,49,15,242,238,144,64,102,170,199,93,70,42,119,49,220,41,112,192,72,253,246,46,218,61,253,70,64,23,78,229,62,132,233,225,112,184,75,71,102,167,95,6,191,19,60,116,117,34,139,123,90,132,30,232,122,239,204,204,122,212,201,127,206,200,204,240,111,20,104,207,111,49,157,173,73,212,143,14,115,144,217,54,174,175,69,30,151,143,84,223,145,252,144,185,235,71,170,176,13,35,254,243,248,245,72,115,11,184,19,252,86,72,255,7,156,63,12,30,7,79,10,254,207,225,252,69,240,58,248,23,120,135,133,13,226,222,191,51,58,29,111,28,231,243,217,245,66,184,123,142,206,94,55,236,47,236,23,156,202,210,125,136,249,125,148,185,71,194,125,77,40,255,152,209,106,159,129,158,159,196,220,83,225,158,33,229,191,255,232,204,122,158,141,235,115,13,251,19,180,63,174,26,245,215,223,123,137,213,84,183,131,225,115,87,47,141,177,161,108,24,104,252,159,9,66,172,140,129,37,96,17,99,15,135,52,174,236,13,112,187,65,32,22,193,208,75,90,228,221,199,103,239,158,83,63,122,108,39,132,161,9,201,60,230,210,45,185,142,35,195,140,174,64,83,186,206,13,97,117,216,174,96,153,114,249,180,45,27,236,122,130,244,143,169,109,28,85,159,220,83,227,159,131,65,214,14,180,207,183,4,168,125,238,206,224,231,124,140,24,35,211,54,205,211,241,184,227,82,90,145,1,233,154,144,188,253,109,247,204,249,247,122,249,189,6,183,15,209,6,248,181,171,206,100,155,18,211,140,91,210,150,160,84,191,221,26,24,12,76,163,35,68,134,208,118,148,215,42,182,182,173,219,238,114,66,117,65,199,124,62,103,113,255,22,209,207,97,189,206,152,208,110,19,138,243,38,115,109,243,247,72,15,193,219,197,103,253,161,91,175,139,237,223,22,144,215,241,62,58,111,10,46,167,110,219,206,61,118,187,222,31,181,53,186,207,61,182,52,137,189,238,29,75,28,89,127,170,184,60,142,171,62,82,183,235,123,193,166,228,241,247,189,132,143,30,186,196,111,140,115,25,239,114,218,95,78,157,200,105,232,216,204,251,180,120,143,41,222,215,149,144,85,39,191,236,175,139,87,210,214,115,149,43,218,155,207,253,191,169,125,83,244,159,208,121,44,119,25,49,245,207,105,19,41,245,107,203,203,87,190,49,70,201,113,77,238,47,117,180,143,216,127,82,180,143,152,167,169,175,202,126,54,29,133,206,59,124,189,173,202,155,251,183,20,229,169,198,209,186,219,39,5,166,118,177,201,16,179,14,80,245,75,87,123,81,233,160,116,123,196,234,59,181,28,33,253,161,69,236,237,95,106,62,42,213,255,67,108,90,182,185,58,250,189,78,206,84,122,55,233,192,54,78,228,186,15,224,227,176,235,250,110,107,232,255,174,109,146,187,255,155,218,208,117,191,95,148,185,244,51,130,146,99,145,105,76,138,209,127,76,93,234,208,117,10,189,187,150,151,219,254,93,242,214,173,19,101,82,142,199,190,54,233,219,223,197,118,112,29,211,57,123,245,8,178,92,173,200,252,186,30,122,228,247,133,189,170,27,174,31,95,187,80,233,100,92,66,244,27,20,206,199,216,117,83,193,32,75,39,63,147,176,141,7,169,239,187,229,231,82,220,165,71,67,112,99,198,215,84,107,179,49,7,255,210,115,162,235,24,197,251,71,236,216,46,218,150,110,109,193,159,95,199,140,139,58,121,99,251,160,107,249,186,244,239,171,153,5,53,179,115,205,228,90,75,153,198,13,121,157,100,234,71,185,169,179,236,210,229,211,163,65,102,142,31,190,178,218,198,189,80,92,215,129,161,178,251,148,175,91,251,228,148,193,167,222,169,203,159,138,40,63,245,154,142,235,126,72,184,230,182,39,174,127,83,237,3,164,106,63,190,14,228,242,143,75,254,178,141,241,247,209,114,200,95,199,189,179,205,174,74,174,205,100,253,136,215,188,61,98,215,45,177,247,114,190,246,107,186,167,203,133,73,191,60,78,93,247,125,220,182,92,245,23,75,234,241,47,246,222,73,164,228,145,67,54,81,159,163,142,240,113,86,60,23,253,92,112,145,223,71,22,213,218,182,14,66,108,136,167,141,221,143,208,29,161,118,227,187,254,201,57,159,200,118,230,243,222,132,78,230,212,251,63,185,112,93,247,219,218,75,182,185,24,91,21,219,220,212,23,84,182,145,178,239,132,126,91,144,2,185,236,58,108,131,175,117,117,125,132,51,40,93,239,192,100,222,85,144,95,142,183,61,153,249,173,206,0,153,254,174,116,64,113,45,198,165,204,21,160,249,241,111,96,117,186,108,91,16,101,160,229,12,49,116,186,25,102,178,53,132,184,166,248,166,254,215,86,232,180,43,93,207,87,164,245,89,103,200,253,216,229,27,52,94,63,241,123,42,249,27,43,151,244,161,247,99,226,248,210,50,208,182,132,251,166,109,43,206,99,202,104,121,180,147,235,156,21,179,159,192,237,93,110,195,54,113,107,23,49,157,207,187,195,174,118,147,227,251,72,83,217,170,239,12,85,223,169,154,208,149,231,155,206,85,47,114,251,230,40,207,71,166,208,186,168,228,146,253,84,225,220,149,191,75,182,181,173,74,23,114,29,76,186,51,217,144,139,61,132,180,181,173,220,20,253,193,164,27,211,117,10,251,73,149,191,171,206,98,117,23,43,151,47,115,19,200,64,15,241,57,113,168,172,252,222,216,167,204,28,58,149,239,213,99,242,138,153,87,117,248,206,31,57,233,6,166,145,237,34,135,92,62,125,40,69,89,161,50,184,234,210,39,31,213,181,171,191,156,71,108,253,92,245,238,154,38,71,255,54,213,219,166,55,158,15,15,31,85,148,51,73,210,140,39,33,117,212,233,48,133,46,99,218,93,101,115,92,127,170,56,41,100,46,165,127,91,189,75,227,186,191,45,219,178,201,166,119,215,196,87,245,7,57,76,236,119,58,61,169,228,80,229,163,146,103,210,80,174,10,149,174,38,37,74,217,136,120,61,160,129,134,241,231,146,178,252,244,104,4,184,57,230,225,80,123,231,50,149,236,35,174,122,170,163,76,95,183,78,189,149,44,187,148,173,164,178,107,25,211,62,170,252,14,130,188,135,219,36,110,207,87,108,184,190,183,164,123,54,163,27,163,108,152,246,253,197,125,106,34,213,83,28,3,197,107,122,152,250,132,156,63,127,199,70,181,47,174,210,211,246,12,221,94,58,81,148,161,171,147,174,44,62,166,187,212,197,247,249,119,46,248,239,75,54,4,191,33,225,220,86,23,34,165,181,197,27,18,206,197,116,161,207,238,117,113,85,254,252,89,140,232,71,219,96,49,59,183,185,185,41,85,142,173,124,151,122,219,194,22,147,217,207,128,135,36,120,155,244,154,254,83,213,95,101,127,139,137,218,14,99,100,142,193,150,191,109,125,152,163,29,66,117,227,251,188,43,102,206,77,53,127,235,214,19,190,239,75,164,150,65,156,227,68,92,245,43,203,228,251,30,71,14,125,234,100,240,177,15,215,103,161,161,240,239,131,248,90,194,231,253,26,159,103,194,49,239,51,185,148,239,139,143,126,92,236,199,86,94,142,239,26,114,63,187,167,101,212,241,205,148,169,189,235,60,66,244,77,15,221,252,97,122,167,116,74,227,239,75,157,223,223,77,101,212,171,171,45,139,58,158,32,246,123,46,57,239,16,157,135,126,199,228,58,110,248,212,223,119,140,146,243,142,29,175,119,4,59,21,164,116,121,190,123,32,41,191,237,148,243,174,227,251,78,89,134,247,215,76,206,181,82,87,211,166,244,183,141,39,136,223,239,32,231,254,141,229,210,240,61,151,210,229,202,235,227,216,117,225,48,153,222,43,226,191,37,45,239,179,209,247,96,114,173,79,85,243,9,47,215,213,149,211,153,230,170,134,224,82,249,249,94,129,248,188,200,86,142,13,254,222,170,234,158,185,14,91,229,101,207,103,46,175,167,44,171,74,135,13,201,245,217,99,144,247,25,154,158,121,196,66,2,101,207,85,62,215,109,67,58,231,122,74,181,167,84,130,148,123,108,190,136,253,137,218,110,75,10,231,239,166,218,250,155,235,26,70,28,175,118,35,213,190,92,29,253,217,182,222,239,133,177,134,207,73,41,101,240,93,115,202,109,87,151,30,100,157,184,220,207,213,37,31,183,165,58,202,157,146,202,143,89,79,228,182,55,151,103,152,174,182,224,210,246,186,114,76,107,178,18,246,228,170,19,91,63,176,201,95,234,247,40,196,113,126,76,145,62,102,12,138,197,197,190,75,247,145,28,121,166,236,167,42,221,213,113,152,246,73,117,123,161,185,214,162,174,242,202,178,211,195,69,215,252,55,251,82,218,149,139,29,119,200,236,113,199,117,191,144,143,49,165,214,43,57,199,179,208,57,211,71,46,213,248,94,215,24,192,203,20,191,151,118,25,15,228,124,228,247,143,84,118,198,207,125,126,95,96,92,202,63,100,125,229,219,150,186,247,181,38,164,60,235,154,203,92,234,108,122,14,94,114,124,201,209,127,85,101,212,113,136,178,168,108,222,7,158,223,148,116,174,170,187,202,159,191,31,40,30,49,242,184,180,163,107,251,152,214,56,170,177,208,119,28,229,54,45,143,51,186,50,93,230,178,88,251,228,191,159,202,223,195,145,127,131,215,118,15,20,114,63,32,150,47,199,245,105,191,216,250,203,191,93,236,66,233,241,49,102,190,183,233,52,86,127,177,196,254,14,156,239,243,123,209,54,67,127,115,174,174,246,143,89,243,233,214,107,177,71,204,28,66,132,115,121,61,227,242,110,28,37,100,15,57,70,255,169,219,132,183,203,184,144,87,9,187,19,235,31,99,63,41,177,149,45,251,169,214,219,99,158,186,244,109,191,82,54,33,207,161,226,252,227,211,63,114,216,187,13,83,249,117,204,177,114,253,67,222,195,245,157,111,82,233,143,191,187,154,186,109,98,237,211,5,23,125,218,250,123,170,246,136,237,15,49,99,187,73,254,84,135,234,158,206,197,182,197,249,120,130,148,63,196,242,67,246,71,93,143,148,227,71,105,218,100,246,111,232,229,28,163,117,196,62,47,228,121,132,142,189,37,244,47,30,13,1,57,158,236,199,227,19,77,252,220,50,235,228,244,205,103,208,0,47,71,229,199,93,211,26,41,247,92,18,99,31,169,218,45,116,62,10,221,47,54,245,53,221,252,234,211,231,98,229,240,89,227,170,224,97,169,215,103,37,198,146,216,54,85,205,213,177,253,40,197,189,141,136,252,13,170,238,127,150,108,235,143,94,155,143,93,203,143,217,123,168,123,61,34,203,31,35,71,236,119,179,169,72,209,94,185,222,93,44,49,230,152,198,96,219,115,159,82,253,205,54,246,228,30,223,82,143,129,190,117,46,217,246,190,243,98,110,114,181,173,74,175,185,230,65,159,54,20,227,170,158,141,197,140,185,41,116,22,59,255,196,150,149,218,206,83,146,66,63,177,117,9,181,83,223,126,159,123,158,74,161,203,16,185,100,157,197,236,23,250,252,6,123,142,242,83,180,75,234,249,223,102,159,114,250,208,250,243,163,14,27,18,105,91,174,125,9,249,13,65,113,125,153,250,119,9,83,231,215,205,32,111,142,117,250,46,133,80,149,61,169,241,79,129,170,13,74,150,161,243,23,127,75,84,165,7,85,120,105,22,42,144,229,83,201,107,35,133,108,62,229,249,200,163,146,79,142,235,90,151,73,67,158,62,182,165,114,117,101,233,210,134,246,1,211,216,29,219,134,174,115,68,206,188,115,213,205,102,183,46,237,23,154,191,107,153,41,40,173,199,144,114,76,125,189,212,239,58,139,191,117,106,250,31,175,212,54,225,59,238,250,150,153,218,174,82,235,61,119,249,169,229,79,37,95,174,254,26,91,63,221,122,199,197,126,125,214,18,62,246,238,179,70,40,185,46,203,85,134,106,45,19,83,158,105,125,20,179,38,172,99,13,28,187,126,141,189,55,143,221,31,41,165,39,215,122,255,15]),isBigEndian=new Uint8Array(new Uint32Array([305419896]).buffer)[0]===18,swap=__name((b,n,m)=>{const i=b[n];b[n]=b[m],b[m]=i},"swap"),swap32=__name(array=>{const len=array.length;for(let i=0;i<len;i+=4)swap(array,i,i+3),swap(array,i+1,i+2)},"swap32"),swap32LE=__name(array=>{isBigEndian&&swap32(array)},"swap32LE"),TINF_OK$1=0,TINF_DATA_ERROR$1=-3;var _a4;let Tree$1=(_a4=class{constructor(){__publicField(this,"table",new Uint16Array(16));__publicField(this,"trans",new Uint16Array(288))}},__name(_a4,"Tree"),_a4);var _a5;let Data$1=(_a5=class{constructor(source,dest){__publicField(this,"source");__publicField(this,"dest");__publicField(this,"sourceIndex");__publicField(this,"tag");__publicField(this,"bitcount");__publicField(this,"destLen");__publicField(this,"ltree");__publicField(this,"dtree");this.source=source,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=dest,this.destLen=0,this.ltree=new Tree$1,this.dtree=new Tree$1}},__name(_a5,"Data"),_a5);const sltree$1=new Tree$1,sdtree$1=new Tree$1,length_bits$1=new Uint8Array(30),length_base$1=new Uint16Array(30),dist_bits$1=new Uint8Array(30),dist_base$1=new Uint16Array(30),clcidx$1=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),code_tree$1=new Tree$1,lengths$1=new Uint8Array(320);function tinf_build_bits_base$1(bits,base,delta,first){let i,sum;for(i=0;i<delta;++i)bits[i]=0;for(i=0;i<30-delta;++i)bits[i+delta]=i/delta|0;for(sum=first,i=0;i<30;++i)base[i]=sum,sum+=1<<bits[i]}__name(tinf_build_bits_base$1,"tinf_build_bits_base$1");function tinf_build_fixed_trees$1(lt,dt){let i;for(i=0;i<7;++i)lt.table[i]=0;for(lt.table[7]=24,lt.table[8]=152,lt.table[9]=112,i=0;i<24;++i)lt.trans[i]=256+i;for(i=0;i<144;++i)lt.trans[24+i]=i;for(i=0;i<8;++i)lt.trans[168+i]=280+i;for(i=0;i<112;++i)lt.trans[176+i]=144+i;for(i=0;i<5;++i)dt.table[i]=0;for(dt.table[5]=32,i=0;i<32;++i)dt.trans[i]=i}__name(tinf_build_fixed_trees$1,"tinf_build_fixed_trees$1");const offs$1=new Uint16Array(16);function tinf_build_tree$1(t,lengths2,off,num){let i,sum;for(i=0;i<16;++i)t.table[i]=0;for(i=0;i<num;++i)t.table[lengths2[off+i]]++;for(t.table[0]=0,sum=0,i=0;i<16;++i)offs$1[i]=sum,sum+=t.table[i];for(i=0;i<num;++i)lengths2[off+i]&&(t.trans[offs$1[lengths2[off+i]]++]=i)}__name(tinf_build_tree$1,"tinf_build_tree$1");function tinf_getbit$1(d){d.bitcount--||(d.tag=d.source[d.sourceIndex++],d.bitcount=7);const bit=d.tag&1;return d.tag>>>=1,bit}__name(tinf_getbit$1,"tinf_getbit$1");function tinf_read_bits$1(d,num,base){if(!num)return base;for(;d.bitcount<24;)d.tag|=d.source[d.sourceIndex++]<<d.bitcount,d.bitcount+=8;const val=d.tag&65535>>>16-num;return d.tag>>>=num,d.bitcount-=num,val+base}__name(tinf_read_bits$1,"tinf_read_bits$1");function tinf_decode_symbol$1(d,t){for(;d.bitcount<24;)d.tag|=d.source[d.sourceIndex++]<<d.bitcount,d.bitcount+=8;let sum=0,cur=0,len=0,tag=d.tag;do cur=2*cur+(tag&1),tag>>>=1,++len,sum+=t.table[len],cur-=t.table[len];while(cur>=0);return d.tag=tag,d.bitcount-=len,t.trans[sum+cur]}__name(tinf_decode_symbol$1,"tinf_decode_symbol$1");function tinf_decode_trees$1(d,lt,dt){let i,num,length;const hlit=tinf_read_bits$1(d,5,257),hdist=tinf_read_bits$1(d,5,1),hclen=tinf_read_bits$1(d,4,4);for(i=0;i<19;++i)lengths$1[i]=0;for(i=0;i<hclen;++i){const clen=tinf_read_bits$1(d,3,0);lengths$1[clcidx$1[i]]=clen}for(tinf_build_tree$1(code_tree$1,lengths$1,0,19),num=0;num<hlit+hdist;){const sym=tinf_decode_symbol$1(d,code_tree$1);switch(sym){case 16:{const prev=lengths$1[num-1];for(length=tinf_read_bits$1(d,2,3);length;--length)lengths$1[num++]=prev;break}case 17:for(length=tinf_read_bits$1(d,3,3);length;--length)lengths$1[num++]=0;break;case 18:for(length=tinf_read_bits$1(d,7,11);length;--length)lengths$1[num++]=0;break;default:lengths$1[num++]=sym;break}}tinf_build_tree$1(lt,lengths$1,0,hlit),tinf_build_tree$1(dt,lengths$1,hlit,hdist)}__name(tinf_decode_trees$1,"tinf_decode_trees$1");function tinf_inflate_block_data$1(d,lt,dt){for(;;){let sym=tinf_decode_symbol$1(d,lt);if(sym===256)return TINF_OK$1;if(sym<256)d.dest[d.destLen++]=sym;else{let i;sym-=257;const length=tinf_read_bits$1(d,length_bits$1[sym],length_base$1[sym]),dist=tinf_decode_symbol$1(d,dt),offs2=d.destLen-tinf_read_bits$1(d,dist_bits$1[dist],dist_base$1[dist]);for(i=offs2;i<offs2+length;++i)d.dest[d.destLen++]=d.dest[i]}}}__name(tinf_inflate_block_data$1,"tinf_inflate_block_data$1");function tinf_inflate_uncompressed_block$1(d){let length,invlength,i;for(;d.bitcount>8;)d.sourceIndex--,d.bitcount-=8;if(length=d.source[d.sourceIndex+1],length=256*length+d.source[d.sourceIndex],invlength=d.source[d.sourceIndex+3],invlength=256*invlength+d.source[d.sourceIndex+2],length!==(~invlength&65535))return TINF_DATA_ERROR$1;for(d.sourceIndex+=4,i=length;i;--i)d.dest[d.destLen++]=d.source[d.sourceIndex++];return d.bitcount=0,TINF_OK$1}__name(tinf_inflate_uncompressed_block$1,"tinf_inflate_uncompressed_block$1");function tinf_uncompress$1(source,dest){const d=new Data$1(source,dest);let bfinal,btype,res;do{switch(bfinal=tinf_getbit$1(d),btype=tinf_read_bits$1(d,2,0),btype){case 0:res=tinf_inflate_uncompressed_block$1(d);break;case 1:res=tinf_inflate_block_data$1(d,sltree$1,sdtree$1);break;case 2:tinf_decode_trees$1(d,d.ltree,d.dtree),res=tinf_inflate_block_data$1(d,d.ltree,d.dtree);break;default:res=TINF_DATA_ERROR$1}if(res!==TINF_OK$1)throw new Error("Data error")}while(!bfinal);return d.destLen<d.dest.length?typeof d.dest.slice=="function"?d.dest.slice(0,d.destLen):d.dest.subarray(0,d.destLen):d.dest}__name(tinf_uncompress$1,"tinf_uncompress$1");tinf_build_fixed_trees$1(sltree$1,sdtree$1);tinf_build_bits_base$1(length_bits$1,length_base$1,4,3);tinf_build_bits_base$1(dist_bits$1,dist_base$1,2,1);length_bits$1[28]=0;length_base$1[28]=258;const SHIFT_1=11,SHIFT_2=5,SHIFT_1_2=SHIFT_1-SHIFT_2,OMITTED_BMP_INDEX_1_LENGTH=65536>>SHIFT_1,INDEX_2_BLOCK_LENGTH=1<<SHIFT_1_2,INDEX_2_MASK=INDEX_2_BLOCK_LENGTH-1,INDEX_SHIFT=2,DATA_BLOCK_LENGTH=1<<SHIFT_2,DATA_MASK=DATA_BLOCK_LENGTH-1,LSCP_INDEX_2_OFFSET=65536>>SHIFT_2,LSCP_INDEX_2_LENGTH=1024>>SHIFT_2,INDEX_2_BMP_LENGTH=LSCP_INDEX_2_OFFSET+LSCP_INDEX_2_LENGTH,UTF8_2B_INDEX_2_OFFSET=INDEX_2_BMP_LENGTH,UTF8_2B_INDEX_2_LENGTH=32,INDEX_1_OFFSET=UTF8_2B_INDEX_2_OFFSET+UTF8_2B_INDEX_2_LENGTH,DATA_GRANULARITY=1<<INDEX_SHIFT,_UnicodeTrie=class _UnicodeTrie{constructor(data2){__publicField(this,"highStart");__publicField(this,"errorValue");__publicField(this,"data");const isBuffer=typeof data2.readUInt32BE=="function"&&typeof data2.slice=="function";if(isBuffer||data2 instanceof Uint8Array){let uncompressedLength;if(isBuffer)this.highStart=data2.readUInt32LE(0),this.errorValue=data2.readUInt32LE(4),uncompressedLength=data2.readUInt32LE(8),data2=data2.slice(12);else{const view=new DataView(data2.buffer);this.highStart=view.getUint32(0,!0),this.errorValue=view.getUint32(4,!0),uncompressedLength=view.getUint32(8,!0),data2=data2.subarray(12)}data2=tinf_uncompress$1(data2,new Uint8Array(uncompressedLength)),data2=tinf_uncompress$1(data2,new Uint8Array(uncompressedLength)),swap32LE(data2),this.data=new Uint32Array(data2.buffer)}else({data:this.data,highStart:this.highStart,errorValue:this.errorValue}=data2)}get(codePoint){let index2;return codePoint<0||codePoint>1114111?this.errorValue:codePoint<55296||codePoint>56319&&codePoint<=65535?(index2=(this.data[codePoint>>SHIFT_2]<<INDEX_SHIFT)+(codePoint&DATA_MASK),this.data[index2]):codePoint<=65535?(index2=(this.data[LSCP_INDEX_2_OFFSET+(codePoint-55296>>SHIFT_2)]<<INDEX_SHIFT)+(codePoint&DATA_MASK),this.data[index2]):codePoint<this.highStart?(index2=this.data[INDEX_1_OFFSET-OMITTED_BMP_INDEX_1_LENGTH+(codePoint>>SHIFT_1)],index2=this.data[index2+(codePoint>>SHIFT_2&INDEX_2_MASK)],index2=(index2<<INDEX_SHIFT)+(codePoint&DATA_MASK),this.data[index2]):this.data[this.data.length-DATA_GRANULARITY]}};__name(_UnicodeTrie,"UnicodeTrie");let UnicodeTrie=_UnicodeTrie;const classTrie=new UnicodeTrie(data$1);function mapClass(c){switch(c){case AI:return AL;case SA:case SG:case XX:return AL;case CJ:return NS;default:return c}}__name(mapClass,"mapClass");function mapFirst(c){switch(c){case LF:case NL:return BK;case SP:return WJ;default:return c}}__name(mapFirst,"mapFirst");const _LineBreaker=class _LineBreaker{constructor(content){__publicField(this,"_pos",0);__publicField(this,"_lastPos",0);__publicField(this,"_curClass",null);__publicField(this,"_codePoint",null);__publicField(this,"_lastCodePoint",null);__publicField(this,"_nextClass",null);__publicField(this,"_LB8a",!1);__publicField(this,"_LB21a",!1);__publicField(this,"_LB30a",0);__publicField(this,"_rule",new Rule);this.content=content}use(extension){return extension(this),this}addRule(key,rule){return this._rule.add(key,rule),this}nextBreakPoint(){if(this._curClass==null){const firstClass=this._nextCharClass();this._curClass=mapFirst(firstClass),this._nextClass=firstClass,this._LB8a=firstClass===ZWJ,this._LB30a=0}for(;this._pos<this.content.length;){this._lastPos=this._pos;const lastClass=this._nextClass;if(this._nextClass=this._nextCharClass(),this._curClass===BK||this._curClass===CR&&this._nextClass!==LF)return this._curClass=mapFirst(mapClass(this._nextClass)),new Break(this._lastPos,BreakPointType.Mandatory);if(this._rule.shouldBreak(this._codePoint,this._lastCodePoint,this._nextClass))return this._curClass=mapFirst(mapClass(this._nextClass)),new Break(this._lastPos);let shouldBreak=this._getSimpleBreak();if(shouldBreak===null&&(shouldBreak=this._getPairTableBreak(lastClass)),this._LB8a=this._nextClass===ZWJ,shouldBreak)return new Break(this._lastPos)}return this._lastPos<this.content.length?(this._lastPos=this.content.length,new Break(this.content.length)):null}_getNextCodePoint(){const code=this.content.charCodeAt(this._pos++),next=this.content.charCodeAt(this._pos);return code>=55296&&code<=56319&&next>=56320&&next<=57343?(this._pos++,(code-55296)*1024+(next-56320)+65536):code}_nextCharClass(){const nextCodePoint=this._getNextCodePoint(),rawClass=classTrie.get(nextCodePoint);return this._lastCodePoint=this._codePoint,this._codePoint=nextCodePoint,mapClass(rawClass)}_getSimpleBreak(){switch(this._nextClass){case SP:return!1;case BK:case LF:case NL:return this._curClass=BK,!1;case CR:return this._curClass=CR,!1}return null}_getPairTableBreak(lastClass){let shouldBreak=!1;switch(pairTable[this._curClass][this._nextClass]){case DI_BRK:shouldBreak=!0;break;case IN_BRK:shouldBreak=lastClass===SP;break;case CI_BRK:if(shouldBreak=lastClass===SP,!shouldBreak)return shouldBreak=!1,shouldBreak;break;case CP_BRK:if(lastClass!==SP)return shouldBreak;break}return this._LB8a&&(shouldBreak=!1),this._LB21a&&(this._curClass===HY||this._curClass===BA)?(shouldBreak=!1,this._LB21a=!1):this._LB21a=this._curClass===HL,this._curClass===RI?(this._LB30a++,this._LB30a===2&&this._nextClass===RI&&(shouldBreak=!0,this._LB30a=0)):this._LB30a=0,this._curClass=this._nextClass,shouldBreak}};__name(_LineBreaker,"LineBreaker");let LineBreaker=_LineBreaker;function isUpperCase(word){return word.length>0&&word===word.toUpperCase()}__name(isUpperCase,"isUpperCase");const _LineBreakerHyphenEnhancer=class _LineBreakerHyphenEnhancer{constructor(_lineBreaker,_hyphen,_lang,_doNotHyphenateCaps=!1){__publicField(this,"_curBreak",null);__publicField(this,"_nextBreak",new Break(0));__publicField(this,"_isInWord",!1);__publicField(this,"_word","");__publicField(this,"_hyphenIndex",-1);__publicField(this,"_hyphenSlice",[]);__publicField(this,"content","");this._lineBreaker=_lineBreaker,this._hyphen=_hyphen,this._lang=_lang,this._doNotHyphenateCaps=_doNotHyphenateCaps,this.content=_lineBreaker.content}nextBreakPoint(){if(this._isInWord)if(this._hyphenIndex<this._hyphenSlice.length-1){const position=getSlicePosition(this._curBreak.position,this._hyphenSlice,this._hyphenIndex);return this._hyphenIndex++,new Break(position,BreakPointType.Hyphen)}else return this._isInWord=!1,this._word="",this._hyphenSlice=[],this._hyphenIndex=-1,this._nextBreak;else{if(this._curBreak=this._nextBreak,this._nextBreak=this._lineBreaker.nextBreakPoint(),this._nextBreak==null||this._curBreak==null)return null;const word=getWord(this.content.slice(this._curBreak.position,this._nextBreak.position));return word.length&&!(isUpperCase(word)&&this._doNotHyphenateCaps)&&this._nextBreak.type!==BreakPointType.Link?(this._isInWord=!0,this._word=word,this._hyphenSlice=this._hyphen.hyphenate(this._word,this._lang),this._hyphenIndex=0,this.nextBreakPoint()):this._nextBreak}}};__name(_LineBreakerHyphenEnhancer,"LineBreakerHyphenEnhancer");let LineBreakerHyphenEnhancer=_LineBreakerHyphenEnhancer;function ofLinkCharType(char){return/[a-z]/i.test(char)?"Alphabetic":/[0-9]/.test(char)?"Digit":char==="("||char==="["?"Open":"Other"}__name(ofLinkCharType,"ofLinkCharType");function linebreakLink(link){const pieces=[];let offset=0,prevCharType="Other";for(let i=0;i<link.length;i++){const char=link[i],charType=ofLinkCharType(char);if(i>0&&prevCharType!=="Open"&&(charType==="Other"?charType==="Other":charType!==prevCharType)){const piece=link.slice(offset,i);if(piece.length<16)pieces.push(piece);else for(let j=0;j<piece.length;j++)pieces.push(piece[j]);offset=i,prevCharType=charType}}return pieces}__name(linebreakLink,"linebreakLink");const LINK_CHAR_REG_EXP=/[a-z\d!#$%&*+,-./:;=?@_~\\]/i,LINK_CHAR_NO_TRAILING_REG_EXP=/[!,.;:?']$/g;function extractLink(content,offset){let link="";for(let i=offset;i<content.length;i++){const char=content[i];if(LINK_CHAR_REG_EXP.test(char))link+=char;else break}return link.replace(LINK_CHAR_NO_TRAILING_REG_EXP,""),link}__name(extractLink,"extractLink");const _LineBreakerLinkEnhancer=class _LineBreakerLinkEnhancer{constructor(_lineBreaker){__publicField(this,"_curBreak",null);__publicField(this,"_nextBreak",new Break(0));__publicField(this,"_isInLink",!1);__publicField(this,"_link","");__publicField(this,"_index",-1);__publicField(this,"_linkSlice",[]);__publicField(this,"content","");this._lineBreaker=_lineBreaker,this.content=_lineBreaker.content}nextBreakPoint(){if(this._isInLink)if(this._index<this._linkSlice.length-1){const position=getSlicePosition(this._curBreak.position,this._linkSlice,this._index);return this._index++,new Break(position,BreakPointType.Link)}else return this._isInLink=!1,this._link="",this._linkSlice=[],this._index=-1,this._nextBreak;else{if(this._curBreak=this._nextBreak,this._nextBreak=this._lineBreaker.nextBreakPoint(),this._nextBreak==null||this._curBreak==null)return null;const word=this.content.slice(this._curBreak.position,this._nextBreak.position);if(word.length&&(word.endsWith("://")||word.startsWith("www."))){for(this._isInLink=!0,this._link=extractLink(this.content,this._curBreak.position),this._linkSlice=linebreakLink(this._link),this._index=0;this._nextBreak&&this._nextBreak.position<this._curBreak.position+this._link.length;)this._nextBreak=this._lineBreaker.nextBreakPoint();return this.nextBreakPoint()}else return this._nextBreak}}};__name(_LineBreakerLinkEnhancer,"LineBreakerLinkEnhancer");let LineBreakerLinkEnhancer=_LineBreakerLinkEnhancer;const SLASH_B_CODE_POINT=8;function customBlockLineBreakExtension(breaker){breaker.addRule("break_before_and_after_slash_b",(codePoint,lastCodePoint)=>codePoint===SLASH_B_CODE_POINT||lastCodePoint===SLASH_B_CODE_POINT)}__name(customBlockLineBreakExtension,"customBlockLineBreakExtension");const TAB_CODE_POINT=9;function tabLineBreakExtension(breaker){breaker.addRule("break_before_tab",codePoint=>codePoint===TAB_CODE_POINT)}__name(tabLineBreakExtension,"tabLineBreakExtension");function getFontInfoFromFontData(fontData){const{family,style:styleString}=fontData;let style=0,weight=400;switch(/italic/i.test(styleString)&&(style=1),!0){case/thin|hairline/i.test(styleString):{weight=100;break}case/(extra|ultra) *light/i.test(styleString):{weight=200;break}case/light/i.test(styleString):{weight=300;break}case/medium/i.test(styleString):{weight=500;break}case/(semi|demi) *bold/i.test(styleString):{weight=600;break}case/bold/i.test(styleString):{weight=700;break}case/(extra|ultra) *bold/i.test(styleString):{weight=800;break}case/black|heavy/i.test(styleString):{weight=900;break}}return{family,variant:{style,weight}}}__name(getFontInfoFromFontData,"getFontInfoFromFontData");function getFontInfoFromTextStyle(style){const{ff,bl=core.BooleanNumber.FALSE,it=core.BooleanNumber.FALSE}=style;return{family:ff!=null?ff:"Arial",variant:{style:it===core.BooleanNumber.TRUE?1:0,weight:bl===core.BooleanNumber.TRUE?700:400}}}__name(getFontInfoFromTextStyle,"getFontInfoFromTextStyle");function fontInfoDistance(a,b){let styleDistance=Number.POSITIVE_INFINITY;a.variant.style===b.variant.style?styleDistance=0:a.variant.style!==0&&b.variant.style!==0?styleDistance=1:styleDistance=2;const weightDistance=Math.abs(a.variant.weight-b.variant.weight);return[styleDistance,weightDistance]}__name(fontInfoDistance,"fontInfoDistance");function compareFontInfoDistance(a,b){return a[0]===b[0]&&a[1]===b[1]?0:a[0]===b[0]?a[1]>b[1]?1:2:a[0]>b[0]?1:2}__name(compareFontInfoDistance,"compareFontInfoDistance");async function checkLocalFontsPermission(){var _a10;return typeof window>"u"?void 0:window.navigator==null||((_a10=window.navigator)==null?void 0:_a10.permissions)==null?!1:(await window.navigator.permissions.query({name:"local-fonts"})).state==="granted"}__name(checkLocalFontsPermission,"checkLocalFontsPermission");const _FontLibrary=class _FontLibrary{constructor(){__publicField(this,"isReady",!1);__publicField(this,"_fontBook",new Map);this._loadFontsToBook()}async _loadFontsToBook(){if(!(this.isReady||!await checkLocalFontsPermission())&&"queryLocalFonts"in window)try{const availableFonts=await window.queryLocalFonts();for(const font of availableFonts){const{family,style}=font;let fontMap=this._fontBook.get(family);fontMap==null&&(fontMap=new Map,this._fontBook.set(family,fontMap));const buffer=await(await font.blob()).arrayBuffer();fontMap.set(style,{font,buffer})}this.isReady=!0}catch(err){console.error(err)}}findBestMatchFontByStyle(style){const ff=style.ff,fontMap=this._fontBook.get(ff);if(fontMap==null)return;let bestFont=null,bestDistance=[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY];for(const fontWithBuffer of fontMap.values()){const{font}=fontWithBuffer,currentFontInfo=getFontInfoFromFontData(font),targetFontInfo=getFontInfoFromTextStyle(style),distance=fontInfoDistance(currentFontInfo,targetFontInfo);(bestFont==null||compareFontInfoDistance(bestDistance,distance)===1)&&(bestFont=fontWithBuffer,bestDistance=distance)}return bestFont}getValidFontFamilies(families){return families.filter(family=>this._fontBook.has(family))}};__name(_FontLibrary,"FontLibrary");let FontLibrary=_FontLibrary;const fontLibrary=new FontLibrary;/*! https://mths.be/codepointat v0.2.0 by @mathias */String.prototype.codePointAt||function(){var defineProperty=function(){try{var object={},$defineProperty=Object.defineProperty,result=$defineProperty(object,object,object)&&$defineProperty}catch{}return result}(),codePointAt=__name(function(position){if(this==null)throw TypeError();var string=String(this),size=string.length,index2=position?Number(position):0;if(index2!=index2&&(index2=0),!(index2<0||index2>=size)){var first=string.charCodeAt(index2),second;return first>=55296&&first<=56319&&size>index2+1&&(second=string.charCodeAt(index2+1),second>=56320&&second<=57343)?(first-55296)*1024+second-56320+65536:first}},"codePointAt");defineProperty?defineProperty(String.prototype,"codePointAt",{value:codePointAt,configurable:!0,writable:!0}):String.prototype.codePointAt=codePointAt}();var TINF_OK=0,TINF_DATA_ERROR=-3;function Tree(){this.table=new Uint16Array(16),this.trans=new Uint16Array(288)}__name(Tree,"Tree");function Data(source,dest){this.source=source,this.sourceIndex=0,this.tag=0,this.bitcount=0,this.dest=dest,this.destLen=0,this.ltree=new Tree,this.dtree=new Tree}__name(Data,"Data");var sltree=new Tree,sdtree=new Tree,length_bits=new Uint8Array(30),length_base=new Uint16Array(30),dist_bits=new Uint8Array(30),dist_base=new Uint16Array(30),clcidx=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),code_tree=new Tree,lengths=new Uint8Array(320);function tinf_build_bits_base(bits,base,delta,first){var i,sum;for(i=0;i<delta;++i)bits[i]=0;for(i=0;i<30-delta;++i)bits[i+delta]=i/delta|0;for(sum=first,i=0;i<30;++i)base[i]=sum,sum+=1<<bits[i]}__name(tinf_build_bits_base,"tinf_build_bits_base");function tinf_build_fixed_trees(lt,dt){var i;for(i=0;i<7;++i)lt.table[i]=0;for(lt.table[7]=24,lt.table[8]=152,lt.table[9]=112,i=0;i<24;++i)lt.trans[i]=256+i;for(i=0;i<144;++i)lt.trans[24+i]=i;for(i=0;i<8;++i)lt.trans[168+i]=280+i;for(i=0;i<112;++i)lt.trans[176+i]=144+i;for(i=0;i<5;++i)dt.table[i]=0;for(dt.table[5]=32,i=0;i<32;++i)dt.trans[i]=i}__name(tinf_build_fixed_trees,"tinf_build_fixed_trees");var offs=new Uint16Array(16);function tinf_build_tree(t,lengths2,off,num){var i,sum;for(i=0;i<16;++i)t.table[i]=0;for(i=0;i<num;++i)t.table[lengths2[off+i]]++;for(t.table[0]=0,sum=0,i=0;i<16;++i)offs[i]=sum,sum+=t.table[i];for(i=0;i<num;++i)lengths2[off+i]&&(t.trans[offs[lengths2[off+i]]++]=i)}__name(tinf_build_tree,"tinf_build_tree");function tinf_getbit(d){d.bitcount--||(d.tag=d.source[d.sourceIndex++],d.bitcount=7);var bit=d.tag&1;return d.tag>>>=1,bit}__name(tinf_getbit,"tinf_getbit");function tinf_read_bits(d,num,base){if(!num)return base;for(;d.bitcount<24;)d.tag|=d.source[d.sourceIndex++]<<d.bitcount,d.bitcount+=8;var val=d.tag&65535>>>16-num;return d.tag>>>=num,d.bitcount-=num,val+base}__name(tinf_read_bits,"tinf_read_bits");function tinf_decode_symbol(d,t){for(;d.bitcount<24;)d.tag|=d.source[d.sourceIndex++]<<d.bitcount,d.bitcount+=8;var sum=0,cur=0,len=0,tag=d.tag;do cur=2*cur+(tag&1),tag>>>=1,++len,sum+=t.table[len],cur-=t.table[len];while(cur>=0);return d.tag=tag,d.bitcount-=len,t.trans[sum+cur]}__name(tinf_decode_symbol,"tinf_decode_symbol");function tinf_decode_trees(d,lt,dt){var hlit,hdist,hclen,i,num,length;for(hlit=tinf_read_bits(d,5,257),hdist=tinf_read_bits(d,5,1),hclen=tinf_read_bits(d,4,4),i=0;i<19;++i)lengths[i]=0;for(i=0;i<hclen;++i){var clen=tinf_read_bits(d,3,0);lengths[clcidx[i]]=clen}for(tinf_build_tree(code_tree,lengths,0,19),num=0;num<hlit+hdist;){var sym=tinf_decode_symbol(d,code_tree);switch(sym){case 16:var prev=lengths[num-1];for(length=tinf_read_bits(d,2,3);length;--length)lengths[num++]=prev;break;case 17:for(length=tinf_read_bits(d,3,3);length;--length)lengths[num++]=0;break;case 18:for(length=tinf_read_bits(d,7,11);length;--length)lengths[num++]=0;break;default:lengths[num++]=sym;break}}tinf_build_tree(lt,lengths,0,hlit),tinf_build_tree(dt,lengths,hlit,hdist)}__name(tinf_decode_trees,"tinf_decode_trees");function tinf_inflate_block_data(d,lt,dt){for(;;){var sym=tinf_decode_symbol(d,lt);if(sym===256)return TINF_OK;if(sym<256)d.dest[d.destLen++]=sym;else{var length,dist,offs2,i;for(sym-=257,length=tinf_read_bits(d,length_bits[sym],length_base[sym]),dist=tinf_decode_symbol(d,dt),offs2=d.destLen-tinf_read_bits(d,dist_bits[dist],dist_base[dist]),i=offs2;i<offs2+length;++i)d.dest[d.destLen++]=d.dest[i]}}}__name(tinf_inflate_block_data,"tinf_inflate_block_data");function tinf_inflate_uncompressed_block(d){for(var length,invlength,i;d.bitcount>8;)d.sourceIndex--,d.bitcount-=8;if(length=d.source[d.sourceIndex+1],length=256*length+d.source[d.sourceIndex],invlength=d.source[d.sourceIndex+3],invlength=256*invlength+d.source[d.sourceIndex+2],length!==(~invlength&65535))return TINF_DATA_ERROR;for(d.sourceIndex+=4,i=length;i;--i)d.dest[d.destLen++]=d.source[d.sourceIndex++];return d.bitcount=0,TINF_OK}__name(tinf_inflate_uncompressed_block,"tinf_inflate_uncompressed_block");function tinf_uncompress(source,dest){var d=new Data(source,dest),bfinal,btype,res;do{switch(bfinal=tinf_getbit(d),btype=tinf_read_bits(d,2,0),btype){case 0:res=tinf_inflate_uncompressed_block(d);break;case 1:res=tinf_inflate_block_data(d,sltree,sdtree);break;case 2:tinf_decode_trees(d,d.ltree,d.dtree),res=tinf_inflate_block_data(d,d.ltree,d.dtree);break;default:res=TINF_DATA_ERROR}if(res!==TINF_OK)throw new Error("Data error")}while(!bfinal);return d.destLen<d.dest.length?typeof d.dest.slice=="function"?d.dest.slice(0,d.destLen):d.dest.subarray(0,d.destLen):d.dest}__name(tinf_uncompress,"tinf_uncompress");tinf_build_fixed_trees(sltree,sdtree);tinf_build_bits_base(length_bits,length_base,4,3);tinf_build_bits_base(dist_bits,dist_base,2,1);length_bits[28]=0;length_base[28]=258;var tinyInflate=tinf_uncompress;function derive(v0,v1,v2,v3,t){return Math.pow(1-t,3)*v0+3*Math.pow(1-t,2)*t*v1+3*(1-t)*Math.pow(t,2)*v2+Math.pow(t,3)*v3}__name(derive,"derive");function BoundingBox(){this.x1=Number.NaN,this.y1=Number.NaN,this.x2=Number.NaN,this.y2=Number.NaN}__name(BoundingBox,"BoundingBox");BoundingBox.prototype.isEmpty=function(){return isNaN(this.x1)||isNaN(this.y1)||isNaN(this.x2)||isNaN(this.y2)};BoundingBox.prototype.addPoint=function(x,y){typeof x=="number"&&((isNaN(this.x1)||isNaN(this.x2))&&(this.x1=x,this.x2=x),x<this.x1&&(this.x1=x),x>this.x2&&(this.x2=x)),typeof y=="number"&&((isNaN(this.y1)||isNaN(this.y2))&&(this.y1=y,this.y2=y),y<this.y1&&(this.y1=y),y>this.y2&&(this.y2=y))};BoundingBox.prototype.addX=function(x){this.addPoint(x,null)};BoundingBox.prototype.addY=function(y){this.addPoint(null,y)};BoundingBox.prototype.addBezier=function(x0,y0,x1,y1,x2,y2,x,y){var p0=[x0,y0],p1=[x1,y1],p2=[x2,y2],p3=[x,y];this.addPoint(x0,y0),this.addPoint(x,y);for(var i=0;i<=1;i++){var b=6*p0[i]-12*p1[i]+6*p2[i],a=-3*p0[i]+9*p1[i]-9*p2[i]+3*p3[i],c=3*p1[i]-3*p0[i];if(a===0){if(b===0)continue;var t=-c/b;0<t&&t<1&&(i===0&&this.addX(derive(p0[i],p1[i],p2[i],p3[i],t)),i===1&&this.addY(derive(p0[i],p1[i],p2[i],p3[i],t)));continue}var b2ac=Math.pow(b,2)-4*c*a;if(!(b2ac<0)){var t1=(-b+Math.sqrt(b2ac))/(2*a);0<t1&&t1<1&&(i===0&&this.addX(derive(p0[i],p1[i],p2[i],p3[i],t1)),i===1&&this.addY(derive(p0[i],p1[i],p2[i],p3[i],t1)));var t2=(-b-Math.sqrt(b2ac))/(2*a);0<t2&&t2<1&&(i===0&&this.addX(derive(p0[i],p1[i],p2[i],p3[i],t2)),i===1&&this.addY(derive(p0[i],p1[i],p2[i],p3[i],t2)))}}};BoundingBox.prototype.addQuad=function(x0,y0,x1,y1,x,y){var cp1x=x0+.6666666666666666*(x1-x0),cp1y=y0+2/3*(y1-y0),cp2x=cp1x+1/3*(x-x0),cp2y=cp1y+1/3*(y-y0);this.addBezier(x0,y0,cp1x,cp1y,cp2x,cp2y,x,y)};function Path$1(){this.commands=[],this.fill="black",this.stroke=null,this.strokeWidth=1}__name(Path$1,"Path$1");Path$1.prototype.moveTo=function(x,y){this.commands.push({type:"M",x,y})};Path$1.prototype.lineTo=function(x,y){this.commands.push({type:"L",x,y})};Path$1.prototype.curveTo=Path$1.prototype.bezierCurveTo=function(x1,y1,x2,y2,x,y){this.commands.push({type:"C",x1,y1,x2,y2,x,y})};Path$1.prototype.quadTo=Path$1.prototype.quadraticCurveTo=function(x1,y1,x,y){this.commands.push({type:"Q",x1,y1,x,y})};Path$1.prototype.close=Path$1.prototype.closePath=function(){this.commands.push({type:"Z"})};Path$1.prototype.extend=function(pathOrCommands){if(pathOrCommands.commands)pathOrCommands=pathOrCommands.commands;else if(pathOrCommands instanceof BoundingBox){var box=pathOrCommands;this.moveTo(box.x1,box.y1),this.lineTo(box.x2,box.y1),this.lineTo(box.x2,box.y2),this.lineTo(box.x1,box.y2),this.close();return}Array.prototype.push.apply(this.commands,pathOrCommands)};Path$1.prototype.getBoundingBox=function(){for(var box=new BoundingBox,startX=0,startY=0,prevX=0,prevY=0,i=0;i<this.commands.length;i++){var cmd=this.commands[i];switch(cmd.type){case"M":box.addPoint(cmd.x,cmd.y),startX=prevX=cmd.x,startY=prevY=cmd.y;break;case"L":box.addPoint(cmd.x,cmd.y),prevX=cmd.x,prevY=cmd.y;break;case"Q":box.addQuad(prevX,prevY,cmd.x1,cmd.y1,cmd.x,cmd.y),prevX=cmd.x,prevY=cmd.y;break;case"C":box.addBezier(prevX,prevY,cmd.x1,cmd.y1,cmd.x2,cmd.y2,cmd.x,cmd.y),prevX=cmd.x,prevY=cmd.y;break;case"Z":prevX=startX,prevY=startY;break;default:throw new Error("Unexpected path command "+cmd.type)}}return box.isEmpty()&&box.addPoint(0,0),box};Path$1.prototype.draw=function(ctx){ctx.beginPath();for(var i=0;i<this.commands.length;i+=1){var cmd=this.commands[i];cmd.type==="M"?ctx.moveTo(cmd.x,cmd.y):cmd.type==="L"?ctx.lineTo(cmd.x,cmd.y):cmd.type==="C"?ctx.bezierCurveTo(cmd.x1,cmd.y1,cmd.x2,cmd.y2,cmd.x,cmd.y):cmd.type==="Q"?ctx.quadraticCurveTo(cmd.x1,cmd.y1,cmd.x,cmd.y):cmd.type==="Z"&&ctx.closePath()}this.fill&&(ctx.fillStyle=this.fill,ctx.fill()),this.stroke&&(ctx.strokeStyle=this.stroke,ctx.lineWidth=this.strokeWidth,ctx.stroke())};Path$1.prototype.toPathData=function(decimalPlaces){decimalPlaces=decimalPlaces!==void 0?decimalPlaces:2;function floatToString(v){return Math.round(v)===v?""+Math.round(v):v.toFixed(decimalPlaces)}__name(floatToString,"floatToString");function packValues(){for(var arguments$1=arguments,s="",i2=0;i2<arguments.length;i2+=1){var v=arguments$1[i2];v>=0&&i2>0&&(s+=" "),s+=floatToString(v)}return s}__name(packValues,"packValues");for(var d="",i=0;i<this.commands.length;i+=1){var cmd=this.commands[i];cmd.type==="M"?d+="M"+packValues(cmd.x,cmd.y):cmd.type==="L"?d+="L"+packValues(cmd.x,cmd.y):cmd.type==="C"?d+="C"+packValues(cmd.x1,cmd.y1,cmd.x2,cmd.y2,cmd.x,cmd.y):cmd.type==="Q"?d+="Q"+packValues(cmd.x1,cmd.y1,cmd.x,cmd.y):cmd.type==="Z"&&(d+="Z")}return d};Path$1.prototype.toSVG=function(decimalPlaces){var svg='<path d="';return svg+=this.toPathData(decimalPlaces),svg+='"',this.fill&&this.fill!=="black"&&(this.fill===null?svg+=' fill="none"':svg+=' fill="'+this.fill+'"'),this.stroke&&(svg+=' stroke="'+this.stroke+'" stroke-width="'+this.strokeWidth+'"'),svg+="/>",svg};Path$1.prototype.toDOMElement=function(decimalPlaces){var temporaryPath=this.toPathData(decimalPlaces),newPath=document.createElementNS("http://www.w3.org/2000/svg","path");return newPath.setAttribute("d",temporaryPath),newPath};function fail(message){throw new Error(message)}__name(fail,"fail");function argument(predicate,message){predicate||fail(message)}__name(argument,"argument");var check={fail,argument,assert:argument},LIMIT16=32768,LIMIT32=2147483648,decode={},encode={},sizeOf={};function constant(v){return function(){return v}}__name(constant,"constant");encode.BYTE=function(v){return check.argument(v>=0&&v<=255,"Byte value should be between 0 and 255."),[v]};sizeOf.BYTE=constant(1);encode.CHAR=function(v){return[v.charCodeAt(0)]};sizeOf.CHAR=constant(1);encode.CHARARRAY=function(v){typeof v>"u"&&(v="",console.warn("Undefined CHARARRAY encountered and treated as an empty string. This is probably caused by a missing glyph name."));for(var b=[],i=0;i<v.length;i+=1)b[i]=v.charCodeAt(i);return b};sizeOf.CHARARRAY=function(v){return typeof v>"u"?0:v.length};encode.USHORT=function(v){return[v>>8&255,v&255]};sizeOf.USHORT=constant(2);encode.SHORT=function(v){return v>=LIMIT16&&(v=-(2*LIMIT16-v)),[v>>8&255,v&255]};sizeOf.SHORT=constant(2);encode.UINT24=function(v){return[v>>16&255,v>>8&255,v&255]};sizeOf.UINT24=constant(3);encode.ULONG=function(v){return[v>>24&255,v>>16&255,v>>8&255,v&255]};sizeOf.ULONG=constant(4);encode.LONG=function(v){return v>=LIMIT32&&(v=-(2*LIMIT32-v)),[v>>24&255,v>>16&255,v>>8&255,v&255]};sizeOf.LONG=constant(4);encode.FIXED=encode.ULONG;sizeOf.FIXED=sizeOf.ULONG;encode.FWORD=encode.SHORT;sizeOf.FWORD=sizeOf.SHORT;encode.UFWORD=encode.USHORT;sizeOf.UFWORD=sizeOf.USHORT;encode.LONGDATETIME=function(v){return[0,0,0,0,v>>24&255,v>>16&255,v>>8&255,v&255]};sizeOf.LONGDATETIME=constant(8);encode.TAG=function(v){return check.argument(v.length===4,"Tag should be exactly 4 ASCII characters."),[v.charCodeAt(0),v.charCodeAt(1),v.charCodeAt(2),v.charCodeAt(3)]};sizeOf.TAG=constant(4);encode.Card8=encode.BYTE;sizeOf.Card8=sizeOf.BYTE;encode.Card16=encode.USHORT;sizeOf.Card16=sizeOf.USHORT;encode.OffSize=encode.BYTE;sizeOf.OffSize=sizeOf.BYTE;encode.SID=encode.USHORT;sizeOf.SID=sizeOf.USHORT;encode.NUMBER=function(v){return v>=-107&&v<=107?[v+139]:v>=108&&v<=1131?(v=v-108,[(v>>8)+247,v&255]):v>=-1131&&v<=-108?(v=-v-108,[(v>>8)+251,v&255]):v>=-32768&&v<=32767?encode.NUMBER16(v):encode.NUMBER32(v)};sizeOf.NUMBER=function(v){return encode.NUMBER(v).length};encode.NUMBER16=function(v){return[28,v>>8&255,v&255]};sizeOf.NUMBER16=constant(3);encode.NUMBER32=function(v){return[29,v>>24&255,v>>16&255,v>>8&255,v&255]};sizeOf.NUMBER32=constant(5);encode.REAL=function(v){var value=v.toString(),m=/\.(\d*?)(?:9{5,20}|0{5,20})\d{0,2}(?:e(.+)|$)/.exec(value);if(m){var epsilon=parseFloat("1e"+((m[2]?+m[2]:0)+m[1].length));value=(Math.round(v*epsilon)/epsilon).toString()}for(var nibbles="",i=0,ii=value.length;i<ii;i+=1){var c=value[i];c==="e"?nibbles+=value[++i]==="-"?"c":"b":c==="."?nibbles+="a":c==="-"?nibbles+="e":nibbles+=c}nibbles+=nibbles.length&1?"f":"ff";for(var out=[30],i$1=0,ii$1=nibbles.length;i$1<ii$1;i$1+=2)out.push(parseInt(nibbles.substr(i$1,2),16));return out};sizeOf.REAL=function(v){return encode.REAL(v).length};encode.NAME=encode.CHARARRAY;sizeOf.NAME=sizeOf.CHARARRAY;encode.STRING=encode.CHARARRAY;sizeOf.STRING=sizeOf.CHARARRAY;decode.UTF8=function(data2,offset,numBytes){for(var codePoints=[],numChars=numBytes,j=0;j<numChars;j++,offset+=1)codePoints[j]=data2.getUint8(offset);return String.fromCharCode.apply(null,codePoints)};decode.UTF16=function(data2,offset,numBytes){for(var codePoints=[],numChars=numBytes/2,j=0;j<numChars;j++,offset+=2)codePoints[j]=data2.getUint16(offset);return String.fromCharCode.apply(null,codePoints)};encode.UTF16=function(v){for(var b=[],i=0;i<v.length;i+=1){var codepoint=v.charCodeAt(i);b[b.length]=codepoint>>8&255,b[b.length]=codepoint&255}return b};sizeOf.UTF16=function(v){return v.length*2};var eightBitMacEncodings={"x-mac-croatian":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®Š™´¨≠ŽØ∞±≤≥∆µ∂∑∏š∫ªºΩžø¿¡¬√ƒ≈ƫȅ ÀÃÕŒœĐ—“”‘’÷◊©⁄€‹›Æ»–·‚„‰ÂćÁčÈÍÎÏÌÓÔđÒÚÛÙıˆ˜¯πË˚¸Êæˇ","x-mac-cyrillic":"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°Ґ£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµґЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю","x-mac-gaelic":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØḂ±≤≥ḃĊċḊḋḞḟĠġṀæøṁṖṗɼƒſṠ«»… ÀÃÕŒœ–—“”‘’ṡẛÿŸṪ€‹›Ŷŷṫ·Ỳỳ⁊ÂÊÁËÈÍÎÏÌÓÔ♣ÒÚÛÙıÝýŴŵẄẅẀẁẂẃ","x-mac-greek":"Ĺ²É³ÖÜ΅àâä΄¨çéèê룙î‰ôö¦€ùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩάΝ¬ΟΡ≈Τ«»… ΥΧΆΈœ–―“”‘’÷ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ","x-mac-icelandic":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüݰ¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-inuit":"ᐃᐄᐅᐆᐊᐋᐱᐲᐳᐴᐸᐹᑉᑎᑏᑐᑑᑕᑖᑦᑭᑮᑯᑰᑲᑳᒃᒋᒌᒍᒎᒐᒑ°ᒡᒥᒦ•¶ᒧ®©™ᒨᒪᒫᒻᓂᓃᓄᓅᓇᓈᓐᓯᓰᓱᓲᓴᓵᔅᓕᓖᓗᓘᓚᓛᓪᔨᔩᔪᔫᔭ… ᔮᔾᕕᕖᕗ–—“”‘’ᕘᕙᕚᕝᕆᕇᕈᕉᕋᕌᕐᕿᖀᖁᖂᖃᖄᖅᖏᖐᖑᖒᖓᖔᖕᙱᙲᙳᙴᙵᙶᖖᖠᖡᖢᖣᖤᖥᖦᕼŁł","x-mac-ce":"ÄĀāÉĄÖÜáąČäčĆć鏟ĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņѬ√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ",macintosh:"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-romanian":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ĂȘ∞±≤≥¥µ∂∑∏π∫ªºΩăș¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€‹›Țț‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-turkish":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙˆ˜¯˘˙˚¸˝˛ˇ"};decode.MACSTRING=function(dataView,offset,dataLength,encoding){var table2=eightBitMacEncodings[encoding];if(table2!==void 0){for(var result="",i=0;i<dataLength;i++){var c=dataView.getUint8(offset+i);c<=127?result+=String.fromCharCode(c):result+=table2[c&127]}return result}};var macEncodingTableCache=typeof WeakMap=="function"&&new WeakMap,macEncodingCacheKeys,getMacEncodingTable=__name(function(encoding){if(!macEncodingCacheKeys){macEncodingCacheKeys={};for(var e in eightBitMacEncodings)macEncodingCacheKeys[e]=new String(e)}var cacheKey=macEncodingCacheKeys[encoding];if(cacheKey!==void 0){if(macEncodingTableCache){var cachedTable=macEncodingTableCache.get(cacheKey);if(cachedTable!==void 0)return cachedTable}var decodingTable=eightBitMacEncodings[encoding];if(decodingTable!==void 0){for(var encodingTable={},i=0;i<decodingTable.length;i++)encodingTable[decodingTable.charCodeAt(i)]=i+128;return macEncodingTableCache&&macEncodingTableCache.set(cacheKey,encodingTable),encodingTable}}},"getMacEncodingTable");encode.MACSTRING=function(str,encoding){var table2=getMacEncodingTable(encoding);if(table2!==void 0){for(var result=[],i=0;i<str.length;i++){var c=str.charCodeAt(i);if(c>=128&&(c=table2[c],c===void 0))return;result[i]=c}return result}};sizeOf.MACSTRING=function(str,encoding){var b=encode.MACSTRING(str,encoding);return b!==void 0?b.length:0};function isByteEncodable(value){return value>=-128&&value<=127}__name(isByteEncodable,"isByteEncodable");function encodeVarDeltaRunAsZeroes(deltas,pos,result){for(var runLength=0,numDeltas=deltas.length;pos<numDeltas&&runLength<64&&deltas[pos]===0;)++pos,++runLength;return result.push(128|runLength-1),pos}__name(encodeVarDeltaRunAsZeroes,"encodeVarDeltaRunAsZeroes");function encodeVarDeltaRunAsBytes(deltas,offset,result){for(var runLength=0,numDeltas=deltas.length,pos=offset;pos<numDeltas&&runLength<64;){var value=deltas[pos];if(!isByteEncodable(value)||value===0&&pos+1<numDeltas&&deltas[pos+1]===0)break;++pos,++runLength}result.push(runLength-1);for(var i=offset;i<pos;++i)result.push(deltas[i]+256&255);return pos}__name(encodeVarDeltaRunAsBytes,"encodeVarDeltaRunAsBytes");function encodeVarDeltaRunAsWords(deltas,offset,result){for(var runLength=0,numDeltas=deltas.length,pos=offset;pos<numDeltas&&runLength<64;){var value=deltas[pos];if(value===0||isByteEncodable(value)&&pos+1<numDeltas&&isByteEncodable(deltas[pos+1]))break;++pos,++runLength}result.push(64|runLength-1);for(var i=offset;i<pos;++i){var val=deltas[i];result.push(val+65536>>8&255,val+256&255)}return pos}__name(encodeVarDeltaRunAsWords,"encodeVarDeltaRunAsWords");encode.VARDELTAS=function(deltas){for(var pos=0,result=[];pos<deltas.length;){var value=deltas[pos];value===0?pos=encodeVarDeltaRunAsZeroes(deltas,pos,result):value>=-128&&value<=127?pos=encodeVarDeltaRunAsBytes(deltas,pos,result):pos=encodeVarDeltaRunAsWords(deltas,pos,result)}return result};encode.INDEX=function(l){for(var offset=1,offsets=[offset],data2=[],i=0;i<l.length;i+=1){var v=encode.OBJECT(l[i]);Array.prototype.push.apply(data2,v),offset+=v.length,offsets.push(offset)}if(data2.length===0)return[0,0];for(var encodedOffsets=[],offSize=1+Math.floor(Math.log(offset)/Math.log(2))/8|0,offsetEncoder=[void 0,encode.BYTE,encode.USHORT,encode.UINT24,encode.ULONG][offSize],i$1=0;i$1<offsets.length;i$1+=1){var encodedOffset=offsetEncoder(offsets[i$1]);Array.prototype.push.apply(encodedOffsets,encodedOffset)}return Array.prototype.concat(encode.Card16(l.length),encode.OffSize(offSize),encodedOffsets,data2)};sizeOf.INDEX=function(v){return encode.INDEX(v).length};encode.DICT=function(m){for(var d=[],keys=Object.keys(m),length=keys.length,i=0;i<length;i+=1){var k=parseInt(keys[i],0),v=m[k];d=d.concat(encode.OPERAND(v.value,v.type)),d=d.concat(encode.OPERATOR(k))}return d};sizeOf.DICT=function(m){return encode.DICT(m).length};encode.OPERATOR=function(v){return v<1200?[v]:[12,v-1200]};encode.OPERAND=function(v,type){var d=[];if(Array.isArray(type))for(var i=0;i<type.length;i+=1)check.argument(v.length===type.length,"Not enough arguments given for type"+type),d=d.concat(encode.OPERAND(v[i],type[i]));else if(type==="SID")d=d.concat(encode.NUMBER(v));else if(type==="offset")d=d.concat(encode.NUMBER32(v));else if(type==="number")d=d.concat(encode.NUMBER(v));else if(type==="real")d=d.concat(encode.REAL(v));else throw new Error("Unknown operand type "+type);return d};encode.OP=encode.BYTE;sizeOf.OP=sizeOf.BYTE;var wmm=typeof WeakMap=="function"&&new WeakMap;encode.CHARSTRING=function(ops){if(wmm){var cachedValue=wmm.get(ops);if(cachedValue!==void 0)return cachedValue}for(var d=[],length=ops.length,i=0;i<length;i+=1){var op=ops[i];d=d.concat(encode[op.type](op.value))}return wmm&&wmm.set(ops,d),d};sizeOf.CHARSTRING=function(ops){return encode.CHARSTRING(ops).length};encode.OBJECT=function(v){var encodingFunction=encode[v.type];return check.argument(encodingFunction!==void 0,"No encoding function for type "+v.type),encodingFunction(v.value)};sizeOf.OBJECT=function(v){var sizeOfFunction=sizeOf[v.type];return check.argument(sizeOfFunction!==void 0,"No sizeOf function for type "+v.type),sizeOfFunction(v.value)};encode.TABLE=function(table2){for(var d=[],length=table2.fields.length,subtables=[],subtableOffsets=[],i=0;i<length;i+=1){var field=table2.fields[i],encodingFunction=encode[field.type];check.argument(encodingFunction!==void 0,"No encoding function for field type "+field.type+" ("+field.name+")");var value=table2[field.name];value===void 0&&(value=field.value);var bytes=encodingFunction(value);field.type==="TABLE"?(subtableOffsets.push(d.length),d=d.concat([0,0]),subtables.push(bytes)):d=d.concat(bytes)}for(var i$1=0;i$1<subtables.length;i$1+=1){var o=subtableOffsets[i$1],offset=d.length;check.argument(offset<65536,"Table "+table2.tableName+" too big."),d[o]=offset>>8,d[o+1]=offset&255,d=d.concat(subtables[i$1])}return d};sizeOf.TABLE=function(table2){for(var numBytes=0,length=table2.fields.length,i=0;i<length;i+=1){var field=table2.fields[i],sizeOfFunction=sizeOf[field.type];check.argument(sizeOfFunction!==void 0,"No sizeOf function for field type "+field.type+" ("+field.name+")");var value=table2[field.name];value===void 0&&(value=field.value),numBytes+=sizeOfFunction(value),field.type==="TABLE"&&(numBytes+=2)}return numBytes};encode.RECORD=encode.TABLE;sizeOf.RECORD=sizeOf.TABLE;encode.LITERAL=function(v){return v};sizeOf.LITERAL=function(v){return v.length};function Table(tableName,fields,options){if(fields.length&&(fields[0].name!=="coverageFormat"||fields[0].value===1))for(var i=0;i<fields.length;i+=1){var field=fields[i];this[field.name]=field.value}if(this.tableName=tableName,this.fields=fields,options)for(var optionKeys=Object.keys(options),i$1=0;i$1<optionKeys.length;i$1+=1){var k=optionKeys[i$1],v=options[k];this[k]!==void 0&&(this[k]=v)}}__name(Table,"Table");Table.prototype.encode=function(){return encode.TABLE(this)};Table.prototype.sizeOf=function(){return sizeOf.TABLE(this)};function ushortList(itemName,list,count){count===void 0&&(count=list.length);var fields=new Array(list.length+1);fields[0]={name:itemName+"Count",type:"USHORT",value:count};for(var i=0;i<list.length;i++)fields[i+1]={name:itemName+i,type:"USHORT",value:list[i]};return fields}__name(ushortList,"ushortList");function tableList(itemName,records,itemCallback){var count=records.length,fields=new Array(count+1);fields[0]={name:itemName+"Count",type:"USHORT",value:count};for(var i=0;i<count;i++)fields[i+1]={name:itemName+i,type:"TABLE",value:itemCallback(records[i],i)};return fields}__name(tableList,"tableList");function recordList(itemName,records,itemCallback){var count=records.length,fields=[];fields[0]={name:itemName+"Count",type:"USHORT",value:count};for(var i=0;i<count;i++)fields=fields.concat(itemCallback(records[i],i));return fields}__name(recordList,"recordList");function Coverage(coverageTable){coverageTable.format===1?Table.call(this,"coverageTable",[{name:"coverageFormat",type:"USHORT",value:1}].concat(ushortList("glyph",coverageTable.glyphs))):coverageTable.format===2?Table.call(this,"coverageTable",[{name:"coverageFormat",type:"USHORT",value:2}].concat(recordList("rangeRecord",coverageTable.ranges,function(RangeRecord){return[{name:"startGlyphID",type:"USHORT",value:RangeRecord.start},{name:"endGlyphID",type:"USHORT",value:RangeRecord.end},{name:"startCoverageIndex",type:"USHORT",value:RangeRecord.index}]}))):check.assert(!1,"Coverage format must be 1 or 2.")}__name(Coverage,"Coverage");Coverage.prototype=Object.create(Table.prototype);Coverage.prototype.constructor=Coverage;function ScriptList(scriptListTable){Table.call(this,"scriptListTable",recordList("scriptRecord",scriptListTable,function(scriptRecord,i){var script2=scriptRecord.script,defaultLangSys=script2.defaultLangSys;return check.assert(!!defaultLangSys,"Unable to write GSUB: script "+scriptRecord.tag+" has no default language system."),[{name:"scriptTag"+i,type:"TAG",value:scriptRecord.tag},{name:"script"+i,type:"TABLE",value:new Table("scriptTable",[{name:"defaultLangSys",type:"TABLE",value:new Table("defaultLangSys",[{name:"lookupOrder",type:"USHORT",value:0},{name:"reqFeatureIndex",type:"USHORT",value:defaultLangSys.reqFeatureIndex}].concat(ushortList("featureIndex",defaultLangSys.featureIndexes)))}].concat(recordList("langSys",script2.langSysRecords,function(langSysRecord,i2){var langSys=langSysRecord.langSys;return[{name:"langSysTag"+i2,type:"TAG",value:langSysRecord.tag},{name:"langSys"+i2,type:"TABLE",value:new Table("langSys",[{name:"lookupOrder",type:"USHORT",value:0},{name:"reqFeatureIndex",type:"USHORT",value:langSys.reqFeatureIndex}].concat(ushortList("featureIndex",langSys.featureIndexes)))}]})))}]}))}__name(ScriptList,"ScriptList");ScriptList.prototype=Object.create(Table.prototype);ScriptList.prototype.constructor=ScriptList;function FeatureList(featureListTable){Table.call(this,"featureListTable",recordList("featureRecord",featureListTable,function(featureRecord,i){var feature=featureRecord.feature;return[{name:"featureTag"+i,type:"TAG",value:featureRecord.tag},{name:"feature"+i,type:"TABLE",value:new Table("featureTable",[{name:"featureParams",type:"USHORT",value:feature.featureParams}].concat(ushortList("lookupListIndex",feature.lookupListIndexes)))}]}))}__name(FeatureList,"FeatureList");FeatureList.prototype=Object.create(Table.prototype);FeatureList.prototype.constructor=FeatureList;function LookupList(lookupListTable,subtableMakers2){Table.call(this,"lookupListTable",tableList("lookup",lookupListTable,function(lookupTable){var subtableCallback=subtableMakers2[lookupTable.lookupType];return check.assert(!!subtableCallback,"Unable to write GSUB lookup type "+lookupTable.lookupType+" tables."),new Table("lookupTable",[{name:"lookupType",type:"USHORT",value:lookupTable.lookupType},{name:"lookupFlag",type:"USHORT",value:lookupTable.lookupFlag}].concat(tableList("subtable",lookupTable.subtables,subtableCallback)))}))}__name(LookupList,"LookupList");LookupList.prototype=Object.create(Table.prototype);LookupList.prototype.constructor=LookupList;var table={Table,Record:Table,Coverage,ScriptList,FeatureList,LookupList,ushortList,tableList,recordList};function getByte(dataView,offset){return dataView.getUint8(offset)}__name(getByte,"getByte");function getUShort(dataView,offset){return dataView.getUint16(offset,!1)}__name(getUShort,"getUShort");function getShort(dataView,offset){return dataView.getInt16(offset,!1)}__name(getShort,"getShort");function getULong(dataView,offset){return dataView.getUint32(offset,!1)}__name(getULong,"getULong");function getFixed(dataView,offset){var decimal2=dataView.getInt16(offset,!1),fraction=dataView.getUint16(offset+2,!1);return decimal2+fraction/65535}__name(getFixed,"getFixed");function getTag(dataView,offset){for(var tag="",i=offset;i<offset+4;i+=1)tag+=String.fromCharCode(dataView.getInt8(i));return tag}__name(getTag,"getTag");function getOffset(dataView,offset,offSize){for(var v=0,i=0;i<offSize;i+=1)v<<=8,v+=dataView.getUint8(offset+i);return v}__name(getOffset,"getOffset");function getBytes(dataView,startOffset,endOffset){for(var bytes=[],i=startOffset;i<endOffset;i+=1)bytes.push(dataView.getUint8(i));return bytes}__name(getBytes,"getBytes");function bytesToString(bytes){for(var s="",i=0;i<bytes.length;i+=1)s+=String.fromCharCode(bytes[i]);return s}__name(bytesToString,"bytesToString");var typeOffsets={byte:1,uShort:2,short:2,uLong:4,fixed:4,longDateTime:8,tag:4};function Parser(data2,offset){this.data=data2,this.offset=offset,this.relativeOffset=0}__name(Parser,"Parser");Parser.prototype.parseByte=function(){var v=this.data.getUint8(this.offset+this.relativeOffset);return this.relativeOffset+=1,v};Parser.prototype.parseChar=function(){var v=this.data.getInt8(this.offset+this.relativeOffset);return this.relativeOffset+=1,v};Parser.prototype.parseCard8=Parser.prototype.parseByte;Parser.prototype.parseUShort=function(){var v=this.data.getUint16(this.offset+this.relativeOffset);return this.relativeOffset+=2,v};Parser.prototype.parseCard16=Parser.prototype.parseUShort;Parser.prototype.parseSID=Parser.prototype.parseUShort;Parser.prototype.parseOffset16=Parser.prototype.parseUShort;Parser.prototype.parseShort=function(){var v=this.data.getInt16(this.offset+this.relativeOffset);return this.relativeOffset+=2,v};Parser.prototype.parseF2Dot14=function(){var v=this.data.getInt16(this.offset+this.relativeOffset)/16384;return this.relativeOffset+=2,v};Parser.prototype.parseULong=function(){var v=getULong(this.data,this.offset+this.relativeOffset);return this.relativeOffset+=4,v};Parser.prototype.parseOffset32=Parser.prototype.parseULong;Parser.prototype.parseFixed=function(){var v=getFixed(this.data,this.offset+this.relativeOffset);return this.relativeOffset+=4,v};Parser.prototype.parseString=function(length){var dataView=this.data,offset=this.offset+this.relativeOffset,string="";this.relativeOffset+=length;for(var i=0;i<length;i++)string+=String.fromCharCode(dataView.getUint8(offset+i));return string};Parser.prototype.parseTag=function(){return this.parseString(4)};Parser.prototype.parseLongDateTime=function(){var v=getULong(this.data,this.offset+this.relativeOffset+4);return v-=2082844800,this.relativeOffset+=8,v};Parser.prototype.parseVersion=function(minorBase){var major=getUShort(this.data,this.offset+this.relativeOffset),minor=getUShort(this.data,this.offset+this.relativeOffset+2);return this.relativeOffset+=4,minorBase===void 0&&(minorBase=4096),major+minor/minorBase/10};Parser.prototype.skip=function(type,amount){amount===void 0&&(amount=1),this.relativeOffset+=typeOffsets[type]*amount};Parser.prototype.parseULongList=function(count){count===void 0&&(count=this.parseULong());for(var offsets=new Array(count),dataView=this.data,offset=this.offset+this.relativeOffset,i=0;i<count;i++)offsets[i]=dataView.getUint32(offset),offset+=4;return this.relativeOffset+=count*4,offsets};Parser.prototype.parseOffset16List=Parser.prototype.parseUShortList=function(count){count===void 0&&(count=this.parseUShort());for(var offsets=new Array(count),dataView=this.data,offset=this.offset+this.relativeOffset,i=0;i<count;i++)offsets[i]=dataView.getUint16(offset),offset+=2;return this.relativeOffset+=count*2,offsets};Parser.prototype.parseShortList=function(count){for(var list=new Array(count),dataView=this.data,offset=this.offset+this.relativeOffset,i=0;i<count;i++)list[i]=dataView.getInt16(offset),offset+=2;return this.relativeOffset+=count*2,list};Parser.prototype.parseByteList=function(count){for(var list=new Array(count),dataView=this.data,offset=this.offset+this.relativeOffset,i=0;i<count;i++)list[i]=dataView.getUint8(offset++);return this.relativeOffset+=count,list};Parser.prototype.parseList=function(count,itemCallback){itemCallback||(itemCallback=count,count=this.parseUShort());for(var list=new Array(count),i=0;i<count;i++)list[i]=itemCallback.call(this);return list};Parser.prototype.parseList32=function(count,itemCallback){itemCallback||(itemCallback=count,count=this.parseULong());for(var list=new Array(count),i=0;i<count;i++)list[i]=itemCallback.call(this);return list};Parser.prototype.parseRecordList=function(count,recordDescription){recordDescription||(recordDescription=count,count=this.parseUShort());for(var records=new Array(count),fields=Object.keys(recordDescription),i=0;i<count;i++){for(var rec={},j=0;j<fields.length;j++){var fieldName=fields[j],fieldType=recordDescription[fieldName];rec[fieldName]=fieldType.call(this)}records[i]=rec}return records};Parser.prototype.parseRecordList32=function(count,recordDescription){recordDescription||(recordDescription=count,count=this.parseULong());for(var records=new Array(count),fields=Object.keys(recordDescription),i=0;i<count;i++){for(var rec={},j=0;j<fields.length;j++){var fieldName=fields[j],fieldType=recordDescription[fieldName];rec[fieldName]=fieldType.call(this)}records[i]=rec}return records};Parser.prototype.parseStruct=function(description){if(typeof description=="function")return description.call(this);for(var fields=Object.keys(description),struct={},j=0;j<fields.length;j++){var fieldName=fields[j],fieldType=description[fieldName];struct[fieldName]=fieldType.call(this)}return struct};Parser.prototype.parseValueRecord=function(valueFormat){if(valueFormat===void 0&&(valueFormat=this.parseUShort()),valueFormat!==0){var valueRecord={};return valueFormat&1&&(valueRecord.xPlacement=this.parseShort()),valueFormat&2&&(valueRecord.yPlacement=this.parseShort()),valueFormat&4&&(valueRecord.xAdvance=this.parseShort()),valueFormat&8&&(valueRecord.yAdvance=this.parseShort()),valueFormat&16&&(valueRecord.xPlaDevice=void 0,this.parseShort()),valueFormat&32&&(valueRecord.yPlaDevice=void 0,this.parseShort()),valueFormat&64&&(valueRecord.xAdvDevice=void 0,this.parseShort()),valueFormat&128&&(valueRecord.yAdvDevice=void 0,this.parseShort()),valueRecord}};Parser.prototype.parseValueRecordList=function(){for(var valueFormat=this.parseUShort(),valueCount=this.parseUShort(),values=new Array(valueCount),i=0;i<valueCount;i++)values[i]=this.parseValueRecord(valueFormat);return values};Parser.prototype.parsePointer=function(description){var structOffset=this.parseOffset16();if(structOffset>0)return new Parser(this.data,this.offset+structOffset).parseStruct(description)};Parser.prototype.parsePointer32=function(description){var structOffset=this.parseOffset32();if(structOffset>0)return new Parser(this.data,this.offset+structOffset).parseStruct(description)};Parser.prototype.parseListOfLists=function(itemCallback){for(var offsets=this.parseOffset16List(),count=offsets.length,relativeOffset=this.relativeOffset,list=new Array(count),i=0;i<count;i++){var start=offsets[i];if(start===0){list[i]=void 0;continue}if(this.relativeOffset=start,itemCallback){for(var subOffsets=this.parseOffset16List(),subList=new Array(subOffsets.length),j=0;j<subOffsets.length;j++)this.relativeOffset=start+subOffsets[j],subList[j]=itemCallback.call(this);list[i]=subList}else list[i]=this.parseUShortList()}return this.relativeOffset=relativeOffset,list};Parser.prototype.parseCoverage=function(){var startOffset=this.offset+this.relativeOffset,format=this.parseUShort(),count=this.parseUShort();if(format===1)return{format:1,glyphs:this.parseUShortList(count)};if(format===2){for(var ranges=new Array(count),i=0;i<count;i++)ranges[i]={start:this.parseUShort(),end:this.parseUShort(),index:this.parseUShort()};return{format:2,ranges}}throw new Error("0x"+startOffset.toString(16)+": Coverage format must be 1 or 2.")};Parser.prototype.parseClassDef=function(){var startOffset=this.offset+this.relativeOffset,format=this.parseUShort();if(format===1)return{format:1,startGlyph:this.parseUShort(),classes:this.parseUShortList()};if(format===2)return{format:2,ranges:this.parseRecordList({start:Parser.uShort,end:Parser.uShort,classId:Parser.uShort})};throw new Error("0x"+startOffset.toString(16)+": ClassDef format must be 1 or 2.")};Parser.list=function(count,itemCallback){return function(){return this.parseList(count,itemCallback)}};Parser.list32=function(count,itemCallback){return function(){return this.parseList32(count,itemCallback)}};Parser.recordList=function(count,recordDescription){return function(){return this.parseRecordList(count,recordDescription)}};Parser.recordList32=function(count,recordDescription){return function(){return this.parseRecordList32(count,recordDescription)}};Parser.pointer=function(description){return function(){return this.parsePointer(description)}};Parser.pointer32=function(description){return function(){return this.parsePointer32(description)}};Parser.tag=Parser.prototype.parseTag;Parser.byte=Parser.prototype.parseByte;Parser.uShort=Parser.offset16=Parser.prototype.parseUShort;Parser.uShortList=Parser.prototype.parseUShortList;Parser.uLong=Parser.offset32=Parser.prototype.parseULong;Parser.uLongList=Parser.prototype.parseULongList;Parser.struct=Parser.prototype.parseStruct;Parser.coverage=Parser.prototype.parseCoverage;Parser.classDef=Parser.prototype.parseClassDef;var langSysTable={reserved:Parser.uShort,reqFeatureIndex:Parser.uShort,featureIndexes:Parser.uShortList};Parser.prototype.parseScriptList=function(){return this.parsePointer(Parser.recordList({tag:Parser.tag,script:Parser.pointer({defaultLangSys:Parser.pointer(langSysTable),langSysRecords:Parser.recordList({tag:Parser.tag,langSys:Parser.pointer(langSysTable)})})}))||[]};Parser.prototype.parseFeatureList=function(){return this.parsePointer(Parser.recordList({tag:Parser.tag,feature:Parser.pointer({featureParams:Parser.offset16,lookupListIndexes:Parser.uShortList})}))||[]};Parser.prototype.parseLookupList=function(lookupTableParsers){return this.parsePointer(Parser.list(Parser.pointer(function(){var lookupType=this.parseUShort();check.argument(1<=lookupType&&lookupType<=9,"GPOS/GSUB lookup type "+lookupType+" unknown.");var lookupFlag=this.parseUShort(),useMarkFilteringSet=lookupFlag&16;return{lookupType,lookupFlag,subtables:this.parseList(Parser.pointer(lookupTableParsers[lookupType])),markFilteringSet:useMarkFilteringSet?this.parseUShort():void 0}})))||[]};Parser.prototype.parseFeatureVariationsList=function(){return this.parsePointer32(function(){var majorVersion=this.parseUShort(),minorVersion=this.parseUShort();check.argument(majorVersion===1&&minorVersion<1,"GPOS/GSUB feature variations table unknown.");var featureVariations=this.parseRecordList32({conditionSetOffset:Parser.offset32,featureTableSubstitutionOffset:Parser.offset32});return featureVariations})||[]};var parse={getByte,getCard8:getByte,getUShort,getCard16:getUShort,getShort,getULong,getFixed,getTag,getOffset,getBytes,bytesToString,Parser};function parseCmapTableFormat12(cmap2,p){p.parseUShort(),cmap2.length=p.parseULong(),cmap2.language=p.parseULong();var groupCount;cmap2.groupCount=groupCount=p.parseULong(),cmap2.glyphIndexMap={};for(var i=0;i<groupCount;i+=1)for(var startCharCode=p.parseULong(),endCharCode=p.parseULong(),startGlyphId=p.parseULong(),c=startCharCode;c<=endCharCode;c+=1)cmap2.glyphIndexMap[c]=startGlyphId,startGlyphId++}__name(parseCmapTableFormat12,"parseCmapTableFormat12");function parseCmapTableFormat4(cmap2,p,data2,start,offset){cmap2.length=p.parseUShort(),cmap2.language=p.parseUShort();var segCount;cmap2.segCount=segCount=p.parseUShort()>>1,p.skip("uShort",3),cmap2.glyphIndexMap={};for(var endCountParser=new parse.Parser(data2,start+offset+14),startCountParser=new parse.Parser(data2,start+offset+16+segCount*2),idDeltaParser=new parse.Parser(data2,start+offset+16+segCount*4),idRangeOffsetParser=new parse.Parser(data2,start+offset+16+segCount*6),glyphIndexOffset=start+offset+16+segCount*8,i=0;i<segCount-1;i+=1)for(var glyphIndex=void 0,endCount=endCountParser.parseUShort(),startCount=startCountParser.parseUShort(),idDelta=idDeltaParser.parseShort(),idRangeOffset=idRangeOffsetParser.parseUShort(),c=startCount;c<=endCount;c+=1)idRangeOffset!==0?(glyphIndexOffset=idRangeOffsetParser.offset+idRangeOffsetParser.relativeOffset-2,glyphIndexOffset+=idRangeOffset,glyphIndexOffset+=(c-startCount)*2,glyphIndex=parse.getUShort(data2,glyphIndexOffset),glyphIndex!==0&&(glyphIndex=glyphIndex+idDelta&65535)):glyphIndex=c+idDelta&65535,cmap2.glyphIndexMap[c]=glyphIndex}__name(parseCmapTableFormat4,"parseCmapTableFormat4");function parseCmapTable(data2,start){var cmap2={};cmap2.version=parse.getUShort(data2,start),check.argument(cmap2.version===0,"cmap table version should be 0."),cmap2.numTables=parse.getUShort(data2,start+2);for(var offset=-1,i=cmap2.numTables-1;i>=0;i-=1){var platformId=parse.getUShort(data2,start+4+i*8),encodingId=parse.getUShort(data2,start+4+i*8+2);if(platformId===3&&(encodingId===0||encodingId===1||encodingId===10)||platformId===0&&(encodingId===0||encodingId===1||encodingId===2||encodingId===3||encodingId===4)){offset=parse.getULong(data2,start+4+i*8+4);break}}if(offset===-1)throw new Error("No valid cmap sub-tables found.");var p=new parse.Parser(data2,start+offset);if(cmap2.format=p.parseUShort(),cmap2.format===12)parseCmapTableFormat12(cmap2,p);else if(cmap2.format===4)parseCmapTableFormat4(cmap2,p,data2,start,offset);else throw new Error("Only format 4 and 12 cmap tables are supported (found format "+cmap2.format+").");return cmap2}__name(parseCmapTable,"parseCmapTable");function addSegment(t,code,glyphIndex){t.segments.push({end:code,start:code,delta:-(code-glyphIndex),offset:0,glyphIndex})}__name(addSegment,"addSegment");function addTerminatorSegment(t){t.segments.push({end:65535,start:65535,delta:1,offset:0})}__name(addTerminatorSegment,"addTerminatorSegment");function makeCmapTable(glyphs){var isPlan0Only=!0,i;for(i=glyphs.length-1;i>0;i-=1){var g=glyphs.get(i);if(g.unicode>65535){console.log("Adding CMAP format 12 (needed!)"),isPlan0Only=!1;break}}var cmapTable=[{name:"version",type:"USHORT",value:0},{name:"numTables",type:"USHORT",value:isPlan0Only?1:2},{name:"platformID",type:"USHORT",value:3},{name:"encodingID",type:"USHORT",value:1},{name:"offset",type:"ULONG",value:isPlan0Only?12:20}];isPlan0Only||(cmapTable=cmapTable.concat([{name:"cmap12PlatformID",type:"USHORT",value:3},{name:"cmap12EncodingID",type:"USHORT",value:10},{name:"cmap12Offset",type:"ULONG",value:0}])),cmapTable=cmapTable.concat([{name:"format",type:"USHORT",value:4},{name:"cmap4Length",type:"USHORT",value:0},{name:"language",type:"USHORT",value:0},{name:"segCountX2",type:"USHORT",value:0},{name:"searchRange",type:"USHORT",value:0},{name:"entrySelector",type:"USHORT",value:0},{name:"rangeShift",type:"USHORT",value:0}]);var t=new table.Table("cmap",cmapTable);for(t.segments=[],i=0;i<glyphs.length;i+=1){for(var glyph=glyphs.get(i),j=0;j<glyph.unicodes.length;j+=1)addSegment(t,glyph.unicodes[j],i);t.segments=t.segments.sort(function(a,b){return a.start-b.start})}addTerminatorSegment(t);var segCount=t.segments.length,segCountToRemove=0,endCounts=[],startCounts=[],idDeltas=[],idRangeOffsets=[],glyphIds=[],cmap12Groups=[];for(i=0;i<segCount;i+=1){var segment=t.segments[i];segment.end<=65535&&segment.start<=65535?(endCounts=endCounts.concat({name:"end_"+i,type:"USHORT",value:segment.end}),startCounts=startCounts.concat({name:"start_"+i,type:"USHORT",value:segment.start}),idDeltas=idDeltas.concat({name:"idDelta_"+i,type:"SHORT",value:segment.delta}),idRangeOffsets=idRangeOffsets.concat({name:"idRangeOffset_"+i,type:"USHORT",value:segment.offset}),segment.glyphId!==void 0&&(glyphIds=glyphIds.concat({name:"glyph_"+i,type:"USHORT",value:segment.glyphId}))):segCountToRemove+=1,!isPlan0Only&&segment.glyphIndex!==void 0&&(cmap12Groups=cmap12Groups.concat({name:"cmap12Start_"+i,type:"ULONG",value:segment.start}),cmap12Groups=cmap12Groups.concat({name:"cmap12End_"+i,type:"ULONG",value:segment.end}),cmap12Groups=cmap12Groups.concat({name:"cmap12Glyph_"+i,type:"ULONG",value:segment.glyphIndex}))}if(t.segCountX2=(segCount-segCountToRemove)*2,t.searchRange=Math.pow(2,Math.floor(Math.log(segCount-segCountToRemove)/Math.log(2)))*2,t.entrySelector=Math.log(t.searchRange/2)/Math.log(2),t.rangeShift=t.segCountX2-t.searchRange,t.fields=t.fields.concat(endCounts),t.fields.push({name:"reservedPad",type:"USHORT",value:0}),t.fields=t.fields.concat(startCounts),t.fields=t.fields.concat(idDeltas),t.fields=t.fields.concat(idRangeOffsets),t.fields=t.fields.concat(glyphIds),t.cmap4Length=14+endCounts.length*2+2+startCounts.length*2+idDeltas.length*2+idRangeOffsets.length*2+glyphIds.length*2,!isPlan0Only){var cmap12Length=16+cmap12Groups.length*4;t.cmap12Offset=12+2*2+4+t.cmap4Length,t.fields=t.fields.concat([{name:"cmap12Format",type:"USHORT",value:12},{name:"cmap12Reserved",type:"USHORT",value:0},{name:"cmap12Length",type:"ULONG",value:cmap12Length},{name:"cmap12Language",type:"ULONG",value:0},{name:"cmap12nGroups",type:"ULONG",value:cmap12Groups.length/3}]),t.fields=t.fields.concat(cmap12Groups)}return t}__name(makeCmapTable,"makeCmapTable");var cmap={parse:parseCmapTable,make:makeCmapTable},cffStandardStrings=[".notdef","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","endash","dagger","daggerdbl","periodcentered","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","questiondown","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","ring","cedilla","hungarumlaut","ogonek","caron","emdash","AE","ordfeminine","Lslash","Oslash","OE","ordmasculine","ae","dotlessi","lslash","oslash","oe","germandbls","onesuperior","logicalnot","mu","trademark","Eth","onehalf","plusminus","Thorn","onequarter","divide","brokenbar","degree","thorn","threequarters","twosuperior","registered","minus","eth","multiply","threesuperior","copyright","Aacute","Acircumflex","Adieresis","Agrave","Aring","Atilde","Ccedilla","Eacute","Ecircumflex","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Ntilde","Oacute","Ocircumflex","Odieresis","Ograve","Otilde","Scaron","Uacute","Ucircumflex","Udieresis","Ugrave","Yacute","Ydieresis","Zcaron","aacute","acircumflex","adieresis","agrave","aring","atilde","ccedilla","eacute","ecircumflex","edieresis","egrave","iacute","icircumflex","idieresis","igrave","ntilde","oacute","ocircumflex","odieresis","ograve","otilde","scaron","uacute","ucircumflex","udieresis","ugrave","yacute","ydieresis","zcaron","exclamsmall","Hungarumlautsmall","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","266 ff","onedotenleader","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","commasuperior","threequartersemdash","periodsuperior","questionsmall","asuperior","bsuperior","centsuperior","dsuperior","esuperior","isuperior","lsuperior","msuperior","nsuperior","osuperior","rsuperior","ssuperior","tsuperior","ff","ffi","ffl","parenleftinferior","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","exclamdownsmall","centoldstyle","Lslashsmall","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","Dotaccentsmall","Macronsmall","figuredash","hypheninferior","Ogoneksmall","Ringsmall","Cedillasmall","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","zerosuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall","001.000","001.001","001.002","001.003","Black","Bold","Book","Light","Medium","Regular","Roman","Semibold"],cffStandardEncoding=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quoteright","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","quoteleft","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdown","cent","sterling","fraction","yen","florin","section","currency","quotesingle","quotedblleft","guillemotleft","guilsinglleft","guilsinglright","fi","fl","","endash","dagger","daggerdbl","periodcentered","","paragraph","bullet","quotesinglbase","quotedblbase","quotedblright","guillemotright","ellipsis","perthousand","","questiondown","","grave","acute","circumflex","tilde","macron","breve","dotaccent","dieresis","","ring","cedilla","","hungarumlaut","ogonek","caron","emdash","","","","","","","","","","","","","","","","","AE","","ordfeminine","","","","","Lslash","Oslash","OE","ordmasculine","","","","","","ae","","","","dotlessi","","","lslash","oslash","oe","germandbls"],cffExpertEncoding=["","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","space","exclamsmall","Hungarumlautsmall","","dollaroldstyle","dollarsuperior","ampersandsmall","Acutesmall","parenleftsuperior","parenrightsuperior","twodotenleader","onedotenleader","comma","hyphen","period","fraction","zerooldstyle","oneoldstyle","twooldstyle","threeoldstyle","fouroldstyle","fiveoldstyle","sixoldstyle","sevenoldstyle","eightoldstyle","nineoldstyle","colon","semicolon","commasuperior","threequartersemdash","periodsuperior","questionsmall","","asuperior","bsuperior","centsuperior","dsuperior","esuperior","","","isuperior","","","lsuperior","msuperior","nsuperior","osuperior","","","rsuperior","ssuperior","tsuperior","","ff","fi","fl","ffi","ffl","parenleftinferior","","parenrightinferior","Circumflexsmall","hyphensuperior","Gravesmall","Asmall","Bsmall","Csmall","Dsmall","Esmall","Fsmall","Gsmall","Hsmall","Ismall","Jsmall","Ksmall","Lsmall","Msmall","Nsmall","Osmall","Psmall","Qsmall","Rsmall","Ssmall","Tsmall","Usmall","Vsmall","Wsmall","Xsmall","Ysmall","Zsmall","colonmonetary","onefitted","rupiah","Tildesmall","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","exclamdownsmall","centoldstyle","Lslashsmall","","","Scaronsmall","Zcaronsmall","Dieresissmall","Brevesmall","Caronsmall","","Dotaccentsmall","","","Macronsmall","","","figuredash","hypheninferior","","","Ogoneksmall","Ringsmall","Cedillasmall","","","","onequarter","onehalf","threequarters","questiondownsmall","oneeighth","threeeighths","fiveeighths","seveneighths","onethird","twothirds","","","zerosuperior","onesuperior","twosuperior","threesuperior","foursuperior","fivesuperior","sixsuperior","sevensuperior","eightsuperior","ninesuperior","zeroinferior","oneinferior","twoinferior","threeinferior","fourinferior","fiveinferior","sixinferior","seveninferior","eightinferior","nineinferior","centinferior","dollarinferior","periodinferior","commainferior","Agravesmall","Aacutesmall","Acircumflexsmall","Atildesmall","Adieresissmall","Aringsmall","AEsmall","Ccedillasmall","Egravesmall","Eacutesmall","Ecircumflexsmall","Edieresissmall","Igravesmall","Iacutesmall","Icircumflexsmall","Idieresissmall","Ethsmall","Ntildesmall","Ogravesmall","Oacutesmall","Ocircumflexsmall","Otildesmall","Odieresissmall","OEsmall","Oslashsmall","Ugravesmall","Uacutesmall","Ucircumflexsmall","Udieresissmall","Yacutesmall","Thornsmall","Ydieresissmall"],standardNames=[".notdef",".null","nonmarkingreturn","space","exclam","quotedbl","numbersign","dollar","percent","ampersand","quotesingle","parenleft","parenright","asterisk","plus","comma","hyphen","period","slash","zero","one","two","three","four","five","six","seven","eight","nine","colon","semicolon","less","equal","greater","question","at","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","bracketleft","backslash","bracketright","asciicircum","underscore","grave","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","braceleft","bar","braceright","asciitilde","Adieresis","Aring","Ccedilla","Eacute","Ntilde","Odieresis","Udieresis","aacute","agrave","acircumflex","adieresis","atilde","aring","ccedilla","eacute","egrave","ecircumflex","edieresis","iacute","igrave","icircumflex","idieresis","ntilde","oacute","ograve","ocircumflex","odieresis","otilde","uacute","ugrave","ucircumflex","udieresis","dagger","degree","cent","sterling","section","bullet","paragraph","germandbls","registered","copyright","trademark","acute","dieresis","notequal","AE","Oslash","infinity","plusminus","lessequal","greaterequal","yen","mu","partialdiff","summation","product","pi","integral","ordfeminine","ordmasculine","Omega","ae","oslash","questiondown","exclamdown","logicalnot","radical","florin","approxequal","Delta","guillemotleft","guillemotright","ellipsis","nonbreakingspace","Agrave","Atilde","Otilde","OE","oe","endash","emdash","quotedblleft","quotedblright","quoteleft","quoteright","divide","lozenge","ydieresis","Ydieresis","fraction","currency","guilsinglleft","guilsinglright","fi","fl","daggerdbl","periodcentered","quotesinglbase","quotedblbase","perthousand","Acircumflex","Ecircumflex","Aacute","Edieresis","Egrave","Iacute","Icircumflex","Idieresis","Igrave","Oacute","Ocircumflex","apple","Ograve","Uacute","Ucircumflex","Ugrave","dotlessi","circumflex","tilde","macron","breve","dotaccent","ring","cedilla","hungarumlaut","ogonek","caron","Lslash","lslash","Scaron","scaron","Zcaron","zcaron","brokenbar","Eth","eth","Yacute","yacute","Thorn","thorn","minus","multiply","onesuperior","twosuperior","threesuperior","onehalf","onequarter","threequarters","franc","Gbreve","gbreve","Idotaccent","Scedilla","scedilla","Cacute","cacute","Ccaron","ccaron","dcroat"];function DefaultEncoding(font){this.font=font}__name(DefaultEncoding,"DefaultEncoding");DefaultEncoding.prototype.charToGlyphIndex=function(c){var code=c.codePointAt(0),glyphs=this.font.glyphs;if(glyphs){for(var i=0;i<glyphs.length;i+=1)for(var glyph=glyphs.get(i),j=0;j<glyph.unicodes.length;j+=1)if(glyph.unicodes[j]===code)return i}return null};function CmapEncoding(cmap2){this.cmap=cmap2}__name(CmapEncoding,"CmapEncoding");CmapEncoding.prototype.charToGlyphIndex=function(c){return this.cmap.glyphIndexMap[c.codePointAt(0)]||0};function CffEncoding(encoding,charset2){this.encoding=encoding,this.charset=charset2}__name(CffEncoding,"CffEncoding");CffEncoding.prototype.charToGlyphIndex=function(s){var code=s.codePointAt(0),charName=this.encoding[code];return this.charset.indexOf(charName)};function GlyphNames(post2){switch(post2.version){case 1:this.names=standardNames.slice();break;case 2:this.names=new Array(post2.numberOfGlyphs);for(var i=0;i<post2.numberOfGlyphs;i++)post2.glyphNameIndex[i]<standardNames.length?this.names[i]=standardNames[post2.glyphNameIndex[i]]:this.names[i]=post2.names[post2.glyphNameIndex[i]-standardNames.length];break;case 2.5:this.names=new Array(post2.numberOfGlyphs);for(var i$1=0;i$1<post2.numberOfGlyphs;i$1++)this.names[i$1]=standardNames[i$1+post2.glyphNameIndex[i$1]];break;case 3:this.names=[];break;default:this.names=[];break}}__name(GlyphNames,"GlyphNames");GlyphNames.prototype.nameToGlyphIndex=function(name){return this.names.indexOf(name)};GlyphNames.prototype.glyphIndexToName=function(gid){return this.names[gid]};function addGlyphNamesAll(font){for(var glyph,glyphIndexMap=font.tables.cmap.glyphIndexMap,charCodes=Object.keys(glyphIndexMap),i=0;i<charCodes.length;i+=1){var c=charCodes[i],glyphIndex=glyphIndexMap[c];glyph=font.glyphs.get(glyphIndex),glyph.addUnicode(parseInt(c))}for(var i$1=0;i$1<font.glyphs.length;i$1+=1)glyph=font.glyphs.get(i$1),font.cffEncoding?font.isCIDFont?glyph.name="gid"+i$1:glyph.name=font.cffEncoding.charset[i$1]:font.glyphNames.names&&(glyph.name=font.glyphNames.glyphIndexToName(i$1))}__name(addGlyphNamesAll,"addGlyphNamesAll");function addGlyphNamesToUnicodeMap(font){font._IndexToUnicodeMap={};for(var glyphIndexMap=font.tables.cmap.glyphIndexMap,charCodes=Object.keys(glyphIndexMap),i=0;i<charCodes.length;i+=1){var c=charCodes[i],glyphIndex=glyphIndexMap[c];font._IndexToUnicodeMap[glyphIndex]===void 0?font._IndexToUnicodeMap[glyphIndex]={unicodes:[parseInt(c)]}:font._IndexToUnicodeMap[glyphIndex].unicodes.push(parseInt(c))}}__name(addGlyphNamesToUnicodeMap,"addGlyphNamesToUnicodeMap");function addGlyphNames(font,opt){opt.lowMemory?addGlyphNamesToUnicodeMap(font):addGlyphNamesAll(font)}__name(addGlyphNames,"addGlyphNames");function line(ctx,x1,y1,x2,y2){ctx.beginPath(),ctx.moveTo(x1,y1),ctx.lineTo(x2,y2),ctx.stroke()}__name(line,"line");var draw={line};function getPathDefinition(glyph,path){var _path=path||new Path$1;return{configurable:!0,get:__name(function(){return typeof _path=="function"&&(_path=_path()),_path},"get"),set:__name(function(p){_path=p},"set")}}__name(getPathDefinition,"getPathDefinition");function Glyph(options){this.bindConstructorValues(options)}__name(Glyph,"Glyph");Glyph.prototype.bindConstructorValues=function(options){this.index=options.index||0,this.name=options.name||null,this.unicode=options.unicode||void 0,this.unicodes=options.unicodes||options.unicode!==void 0?[options.unicode]:[],"xMin"in options&&(this.xMin=options.xMin),"yMin"in options&&(this.yMin=options.yMin),"xMax"in options&&(this.xMax=options.xMax),"yMax"in options&&(this.yMax=options.yMax),"advanceWidth"in options&&(this.advanceWidth=options.advanceWidth),Object.defineProperty(this,"path",getPathDefinition(this,options.path))};Glyph.prototype.addUnicode=function(unicode2){this.unicodes.length===0&&(this.unicode=unicode2),this.unicodes.push(unicode2)};Glyph.prototype.getBoundingBox=function(){return this.path.getBoundingBox()};Glyph.prototype.getPath=function(x,y,fontSize,options,font){x=x!==void 0?x:0,y=y!==void 0?y:0,fontSize=fontSize!==void 0?fontSize:72;var commands,hPoints;options||(options={});var xScale=options.xScale,yScale=options.yScale;if(options.hinting&&font&&font.hinting&&(hPoints=this.path&&font.hinting.exec(this,fontSize)),hPoints)commands=font.hinting.getCommands(hPoints),x=Math.round(x),y=Math.round(y),xScale=yScale=1;else{commands=this.path.commands;var scale=1/(this.path.unitsPerEm||1e3)*fontSize;xScale===void 0&&(xScale=scale),yScale===void 0&&(yScale=scale)}for(var p=new Path$1,i=0;i<commands.length;i+=1){var cmd=commands[i];cmd.type==="M"?p.moveTo(x+cmd.x*xScale,y+-cmd.y*yScale):cmd.type==="L"?p.lineTo(x+cmd.x*xScale,y+-cmd.y*yScale):cmd.type==="Q"?p.quadraticCurveTo(x+cmd.x1*xScale,y+-cmd.y1*yScale,x+cmd.x*xScale,y+-cmd.y*yScale):cmd.type==="C"?p.curveTo(x+cmd.x1*xScale,y+-cmd.y1*yScale,x+cmd.x2*xScale,y+-cmd.y2*yScale,x+cmd.x*xScale,y+-cmd.y*yScale):cmd.type==="Z"&&p.closePath()}return p};Glyph.prototype.getContours=function(){if(this.points===void 0)return[];for(var contours=[],currentContour=[],i=0;i<this.points.length;i+=1){var pt=this.points[i];currentContour.push(pt),pt.lastPointOfContour&&(contours.push(currentContour),currentContour=[])}return check.argument(currentContour.length===0,"There are still points left in the current contour."),contours};Glyph.prototype.getMetrics=function(){for(var commands=this.path.commands,xCoords=[],yCoords=[],i=0;i<commands.length;i+=1){var cmd=commands[i];cmd.type!=="Z"&&(xCoords.push(cmd.x),yCoords.push(cmd.y)),(cmd.type==="Q"||cmd.type==="C")&&(xCoords.push(cmd.x1),yCoords.push(cmd.y1)),cmd.type==="C"&&(xCoords.push(cmd.x2),yCoords.push(cmd.y2))}var metrics={xMin:Math.min.apply(null,xCoords),yMin:Math.min.apply(null,yCoords),xMax:Math.max.apply(null,xCoords),yMax:Math.max.apply(null,yCoords),leftSideBearing:this.leftSideBearing};return isFinite(metrics.xMin)||(metrics.xMin=0),isFinite(metrics.xMax)||(metrics.xMax=this.advanceWidth),isFinite(metrics.yMin)||(metrics.yMin=0),isFinite(metrics.yMax)||(metrics.yMax=0),metrics.rightSideBearing=this.advanceWidth-metrics.leftSideBearing-(metrics.xMax-metrics.xMin),metrics};Glyph.prototype.draw=function(ctx,x,y,fontSize,options){this.getPath(x,y,fontSize,options).draw(ctx)};Glyph.prototype.drawPoints=function(ctx,x,y,fontSize){function drawCircles(l,x2,y2,scale2){ctx.beginPath();for(var j=0;j<l.length;j+=1)ctx.moveTo(x2+l[j].x*scale2,y2+l[j].y*scale2),ctx.arc(x2+l[j].x*scale2,y2+l[j].y*scale2,2,0,Math.PI*2,!1);ctx.closePath(),ctx.fill()}__name(drawCircles,"drawCircles"),x=x!==void 0?x:0,y=y!==void 0?y:0,fontSize=fontSize!==void 0?fontSize:24;for(var scale=1/this.path.unitsPerEm*fontSize,blueCircles=[],redCircles=[],path=this.path,i=0;i<path.commands.length;i+=1){var cmd=path.commands[i];cmd.x!==void 0&&blueCircles.push({x:cmd.x,y:-cmd.y}),cmd.x1!==void 0&&redCircles.push({x:cmd.x1,y:-cmd.y1}),cmd.x2!==void 0&&redCircles.push({x:cmd.x2,y:-cmd.y2})}ctx.fillStyle="blue",drawCircles(blueCircles,x,y,scale),ctx.fillStyle="red",drawCircles(redCircles,x,y,scale)};Glyph.prototype.drawMetrics=function(ctx,x,y,fontSize){var scale;x=x!==void 0?x:0,y=y!==void 0?y:0,fontSize=fontSize!==void 0?fontSize:24,scale=1/this.path.unitsPerEm*fontSize,ctx.lineWidth=1,ctx.strokeStyle="black",draw.line(ctx,x,-1e4,x,1e4),draw.line(ctx,-1e4,y,1e4,y);var xMin=this.xMin||0,yMin=this.yMin||0,xMax=this.xMax||0,yMax=this.yMax||0,advanceWidth=this.advanceWidth||0;ctx.strokeStyle="blue",draw.line(ctx,x+xMin*scale,-1e4,x+xMin*scale,1e4),draw.line(ctx,x+xMax*scale,-1e4,x+xMax*scale,1e4),draw.line(ctx,-1e4,y+-yMin*scale,1e4,y+-yMin*scale),draw.line(ctx,-1e4,y+-yMax*scale,1e4,y+-yMax*scale),ctx.strokeStyle="green",draw.line(ctx,x+advanceWidth*scale,-1e4,x+advanceWidth*scale,1e4)};function defineDependentProperty(glyph,externalName,internalName){Object.defineProperty(glyph,externalName,{get:__name(function(){return glyph.path,glyph[internalName]},"get"),set:__name(function(newValue){glyph[internalName]=newValue},"set"),enumerable:!0,configurable:!0})}__name(defineDependentProperty,"defineDependentProperty");function GlyphSet(font,glyphs){if(this.font=font,this.glyphs={},Array.isArray(glyphs))for(var i=0;i<glyphs.length;i++){var glyph=glyphs[i];glyph.path.unitsPerEm=font.unitsPerEm,this.glyphs[i]=glyph}this.length=glyphs&&glyphs.length||0}__name(GlyphSet,"GlyphSet");GlyphSet.prototype.get=function(index2){if(this.glyphs[index2]===void 0){this.font._push(index2),typeof this.glyphs[index2]=="function"&&(this.glyphs[index2]=this.glyphs[index2]());var glyph=this.glyphs[index2],unicodeObj=this.font._IndexToUnicodeMap[index2];if(unicodeObj)for(var j=0;j<unicodeObj.unicodes.length;j++)glyph.addUnicode(unicodeObj.unicodes[j]);this.font.cffEncoding?this.font.isCIDFont?glyph.name="gid"+index2:glyph.name=this.font.cffEncoding.charset[index2]:this.font.glyphNames.names&&(glyph.name=this.font.glyphNames.glyphIndexToName(index2)),this.glyphs[index2].advanceWidth=this.font._hmtxTableData[index2].advanceWidth,this.glyphs[index2].leftSideBearing=this.font._hmtxTableData[index2].leftSideBearing}else typeof this.glyphs[index2]=="function"&&(this.glyphs[index2]=this.glyphs[index2]());return this.glyphs[index2]};GlyphSet.prototype.push=function(index2,loader){this.glyphs[index2]=loader,this.length++};function glyphLoader(font,index2){return new Glyph({index:index2,font})}__name(glyphLoader,"glyphLoader");function ttfGlyphLoader(font,index2,parseGlyph2,data2,position,buildPath2){return function(){var glyph=new Glyph({index:index2,font});return glyph.path=function(){parseGlyph2(glyph,data2,position);var path=buildPath2(font.glyphs,glyph);return path.unitsPerEm=font.unitsPerEm,path},defineDependentProperty(glyph,"xMin","_xMin"),defineDependentProperty(glyph,"xMax","_xMax"),defineDependentProperty(glyph,"yMin","_yMin"),defineDependentProperty(glyph,"yMax","_yMax"),glyph}}__name(ttfGlyphLoader,"ttfGlyphLoader");function cffGlyphLoader(font,index2,parseCFFCharstring2,charstring){return function(){var glyph=new Glyph({index:index2,font});return glyph.path=function(){var path=parseCFFCharstring2(font,glyph,charstring);return path.unitsPerEm=font.unitsPerEm,path},glyph}}__name(cffGlyphLoader,"cffGlyphLoader");var glyphset={GlyphSet,glyphLoader,ttfGlyphLoader,cffGlyphLoader};function equals(a,b){if(a===b)return!0;if(Array.isArray(a)&&Array.isArray(b)){if(a.length!==b.length)return!1;for(var i=0;i<a.length;i+=1)if(!equals(a[i],b[i]))return!1;return!0}else return!1}__name(equals,"equals");function calcCFFSubroutineBias(subrs){var bias;return subrs.length<1240?bias=107:subrs.length<33900?bias=1131:bias=32768,bias}__name(calcCFFSubroutineBias,"calcCFFSubroutineBias");function parseCFFIndex(data2,start,conversionFn){var offsets=[],objects=[],count=parse.getCard16(data2,start),objectOffset,endOffset;if(count!==0){var offsetSize=parse.getByte(data2,start+2);objectOffset=start+(count+1)*offsetSize+2;for(var pos=start+3,i=0;i<count+1;i+=1)offsets.push(parse.getOffset(data2,pos,offsetSize)),pos+=offsetSize;endOffset=objectOffset+offsets[count]}else endOffset=start+2;for(var i$1=0;i$1<offsets.length-1;i$1+=1){var value=parse.getBytes(data2,objectOffset+offsets[i$1],objectOffset+offsets[i$1+1]);conversionFn&&(value=conversionFn(value)),objects.push(value)}return{objects,startOffset:start,endOffset}}__name(parseCFFIndex,"parseCFFIndex");function parseCFFIndexLowMemory(data2,start){var offsets=[],count=parse.getCard16(data2,start),objectOffset,endOffset;if(count!==0){var offsetSize=parse.getByte(data2,start+2);objectOffset=start+(count+1)*offsetSize+2;for(var pos=start+3,i=0;i<count+1;i+=1)offsets.push(parse.getOffset(data2,pos,offsetSize)),pos+=offsetSize;endOffset=objectOffset+offsets[count]}else endOffset=start+2;return{offsets,startOffset:start,endOffset}}__name(parseCFFIndexLowMemory,"parseCFFIndexLowMemory");function getCffIndexObject(i,offsets,data2,start,conversionFn){var count=parse.getCard16(data2,start),objectOffset=0;if(count!==0){var offsetSize=parse.getByte(data2,start+2);objectOffset=start+(count+1)*offsetSize+2}var value=parse.getBytes(data2,objectOffset+offsets[i],objectOffset+offsets[i+1]);return value}__name(getCffIndexObject,"getCffIndexObject");function parseFloatOperand(parser){for(var s="",eof=15,lookup=["0","1","2","3","4","5","6","7","8","9",".","E","E-",null,"-"];;){var b=parser.parseByte(),n1=b>>4,n2=b&15;if(n1===eof||(s+=lookup[n1],n2===eof))break;s+=lookup[n2]}return parseFloat(s)}__name(parseFloatOperand,"parseFloatOperand");function parseOperand(parser,b0){var b1,b2,b3,b4;if(b0===28)return b1=parser.parseByte(),b2=parser.parseByte(),b1<<8|b2;if(b0===29)return b1=parser.parseByte(),b2=parser.parseByte(),b3=parser.parseByte(),b4=parser.parseByte(),b1<<24|b2<<16|b3<<8|b4;if(b0===30)return parseFloatOperand(parser);if(b0>=32&&b0<=246)return b0-139;if(b0>=247&&b0<=250)return b1=parser.parseByte(),(b0-247)*256+b1+108;if(b0>=251&&b0<=254)return b1=parser.parseByte(),-(b0-251)*256-b1-108;throw new Error("Invalid b0 "+b0)}__name(parseOperand,"parseOperand");function entriesToObject(entries){for(var o={},i=0;i<entries.length;i+=1){var key=entries[i][0],values=entries[i][1],value=void 0;if(values.length===1?value=values[0]:value=values,o.hasOwnProperty(key)&&!isNaN(o[key]))throw new Error("Object "+o+" already has key "+key);o[key]=value}return o}__name(entriesToObject,"entriesToObject");function parseCFFDict(data2,start,size){start=start!==void 0?start:0;var parser=new parse.Parser(data2,start),entries=[],operands=[];for(size=size!==void 0?size:data2.length;parser.relativeOffset<size;){var op=parser.parseByte();op<=21?(op===12&&(op=1200+parser.parseByte()),entries.push([op,operands]),operands=[]):operands.push(parseOperand(parser,op))}return entriesToObject(entries)}__name(parseCFFDict,"parseCFFDict");function getCFFString(strings,index2){return index2<=390?index2=cffStandardStrings[index2]:index2=strings[index2-391],index2}__name(getCFFString,"getCFFString");function interpretDict(dict,meta2,strings){for(var newDict={},value,i=0;i<meta2.length;i+=1){var m=meta2[i];if(Array.isArray(m.type)){var values=[];values.length=m.type.length;for(var j=0;j<m.type.length;j++)value=dict[m.op]!==void 0?dict[m.op][j]:void 0,value===void 0&&(value=m.value!==void 0&&m.value[j]!==void 0?m.value[j]:null),m.type[j]==="SID"&&(value=getCFFString(strings,value)),values[j]=value;newDict[m.name]=values}else value=dict[m.op],value===void 0&&(value=m.value!==void 0?m.value:null),m.type==="SID"&&(value=getCFFString(strings,value)),newDict[m.name]=value}return newDict}__name(interpretDict,"interpretDict");function parseCFFHeader(data2,start){var header={};return header.formatMajor=parse.getCard8(data2,start),header.formatMinor=parse.getCard8(data2,start+1),header.size=parse.getCard8(data2,start+2),header.offsetSize=parse.getCard8(data2,start+3),header.startOffset=start,header.endOffset=start+4,header}__name(parseCFFHeader,"parseCFFHeader");var TOP_DICT_META=[{name:"version",op:0,type:"SID"},{name:"notice",op:1,type:"SID"},{name:"copyright",op:1200,type:"SID"},{name:"fullName",op:2,type:"SID"},{name:"familyName",op:3,type:"SID"},{name:"weight",op:4,type:"SID"},{name:"isFixedPitch",op:1201,type:"number",value:0},{name:"italicAngle",op:1202,type:"number",value:0},{name:"underlinePosition",op:1203,type:"number",value:-100},{name:"underlineThickness",op:1204,type:"number",value:50},{name:"paintType",op:1205,type:"number",value:0},{name:"charstringType",op:1206,type:"number",value:2},{name:"fontMatrix",op:1207,type:["real","real","real","real","real","real"],value:[.001,0,0,.001,0,0]},{name:"uniqueId",op:13,type:"number"},{name:"fontBBox",op:5,type:["number","number","number","number"],value:[0,0,0,0]},{name:"strokeWidth",op:1208,type:"number",value:0},{name:"xuid",op:14,type:[],value:null},{name:"charset",op:15,type:"offset",value:0},{name:"encoding",op:16,type:"offset",value:0},{name:"charStrings",op:17,type:"offset",value:0},{name:"private",op:18,type:["number","offset"],value:[0,0]},{name:"ros",op:1230,type:["SID","SID","number"]},{name:"cidFontVersion",op:1231,type:"number",value:0},{name:"cidFontRevision",op:1232,type:"number",value:0},{name:"cidFontType",op:1233,type:"number",value:0},{name:"cidCount",op:1234,type:"number",value:8720},{name:"uidBase",op:1235,type:"number"},{name:"fdArray",op:1236,type:"offset"},{name:"fdSelect",op:1237,type:"offset"},{name:"fontName",op:1238,type:"SID"}],PRIVATE_DICT_META=[{name:"subrs",op:19,type:"offset",value:0},{name:"defaultWidthX",op:20,type:"number",value:0},{name:"nominalWidthX",op:21,type:"number",value:0}];function parseCFFTopDict(data2,strings){var dict=parseCFFDict(data2,0,data2.byteLength);return interpretDict(dict,TOP_DICT_META,strings)}__name(parseCFFTopDict,"parseCFFTopDict");function parseCFFPrivateDict(data2,start,size,strings){var dict=parseCFFDict(data2,start,size);return interpretDict(dict,PRIVATE_DICT_META,strings)}__name(parseCFFPrivateDict,"parseCFFPrivateDict");function gatherCFFTopDicts(data2,start,cffIndex,strings){for(var topDictArray=[],iTopDict=0;iTopDict<cffIndex.length;iTopDict+=1){var topDictData=new DataView(new Uint8Array(cffIndex[iTopDict]).buffer),topDict=parseCFFTopDict(topDictData,strings);topDict._subrs=[],topDict._subrsBias=0,topDict._defaultWidthX=0,topDict._nominalWidthX=0;var privateSize=topDict.private[0],privateOffset=topDict.private[1];if(privateSize!==0&&privateOffset!==0){var privateDict=parseCFFPrivateDict(data2,privateOffset+start,privateSize,strings);if(topDict._defaultWidthX=privateDict.defaultWidthX,topDict._nominalWidthX=privateDict.nominalWidthX,privateDict.subrs!==0){var subrOffset=privateOffset+privateDict.subrs,subrIndex=parseCFFIndex(data2,subrOffset+start);topDict._subrs=subrIndex.objects,topDict._subrsBias=calcCFFSubroutineBias(topDict._subrs)}topDict._privateDict=privateDict}topDictArray.push(topDict)}return topDictArray}__name(gatherCFFTopDicts,"gatherCFFTopDicts");function parseCFFCharset(data2,start,nGlyphs,strings){var sid,count,parser=new parse.Parser(data2,start);nGlyphs-=1;var charset2=[".notdef"],format=parser.parseCard8();if(format===0)for(var i=0;i<nGlyphs;i+=1)sid=parser.parseSID(),charset2.push(getCFFString(strings,sid));else if(format===1)for(;charset2.length<=nGlyphs;){sid=parser.parseSID(),count=parser.parseCard8();for(var i$1=0;i$1<=count;i$1+=1)charset2.push(getCFFString(strings,sid)),sid+=1}else if(format===2)for(;charset2.length<=nGlyphs;){sid=parser.parseSID(),count=parser.parseCard16();for(var i$2=0;i$2<=count;i$2+=1)charset2.push(getCFFString(strings,sid)),sid+=1}else throw new Error("Unknown charset format "+format);return charset2}__name(parseCFFCharset,"parseCFFCharset");function parseCFFEncoding(data2,start,charset2){var code,enc={},parser=new parse.Parser(data2,start),format=parser.parseCard8();if(format===0)for(var nCodes=parser.parseCard8(),i=0;i<nCodes;i+=1)code=parser.parseCard8(),enc[code]=i;else if(format===1){var nRanges=parser.parseCard8();code=1;for(var i$1=0;i$1<nRanges;i$1+=1)for(var first=parser.parseCard8(),nLeft=parser.parseCard8(),j=first;j<=first+nLeft;j+=1)enc[j]=code,code+=1}else throw new Error("Unknown encoding format "+format);return new CffEncoding(enc,charset2)}__name(parseCFFEncoding,"parseCFFEncoding");function parseCFFCharstring(font,glyph,code){var c1x,c1y,c2x,c2y,p=new Path$1,stack=[],nStems=0,haveWidth=!1,open=!1,x=0,y=0,subrs,subrsBias,defaultWidthX,nominalWidthX;if(font.isCIDFont){var fdIndex=font.tables.cff.topDict._fdSelect[glyph.index],fdDict=font.tables.cff.topDict._fdArray[fdIndex];subrs=fdDict._subrs,subrsBias=fdDict._subrsBias,defaultWidthX=fdDict._defaultWidthX,nominalWidthX=fdDict._nominalWidthX}else subrs=font.tables.cff.topDict._subrs,subrsBias=font.tables.cff.topDict._subrsBias,defaultWidthX=font.tables.cff.topDict._defaultWidthX,nominalWidthX=font.tables.cff.topDict._nominalWidthX;var width=defaultWidthX;function newContour(x2,y2){open&&p.closePath(),p.moveTo(x2,y2),open=!0}__name(newContour,"newContour");function parseStems(){var hasWidthArg;hasWidthArg=stack.length%2!==0,hasWidthArg&&!haveWidth&&(width=stack.shift()+nominalWidthX),nStems+=stack.length>>1,stack.length=0,haveWidth=!0}__name(parseStems,"parseStems");function parse2(code2){for(var b1,b2,b3,b4,codeIndex,subrCode,jpx,jpy,c3x,c3y,c4x,c4y,i=0;i<code2.length;){var v=code2[i];switch(i+=1,v){case 1:parseStems();break;case 3:parseStems();break;case 4:stack.length>1&&!haveWidth&&(width=stack.shift()+nominalWidthX,haveWidth=!0),y+=stack.pop(),newContour(x,y);break;case 5:for(;stack.length>0;)x+=stack.shift(),y+=stack.shift(),p.lineTo(x,y);break;case 6:for(;stack.length>0&&(x+=stack.shift(),p.lineTo(x,y),stack.length!==0);)y+=stack.shift(),p.lineTo(x,y);break;case 7:for(;stack.length>0&&(y+=stack.shift(),p.lineTo(x,y),stack.length!==0);)x+=stack.shift(),p.lineTo(x,y);break;case 8:for(;stack.length>0;)c1x=x+stack.shift(),c1y=y+stack.shift(),c2x=c1x+stack.shift(),c2y=c1y+stack.shift(),x=c2x+stack.shift(),y=c2y+stack.shift(),p.curveTo(c1x,c1y,c2x,c2y,x,y);break;case 10:codeIndex=stack.pop()+subrsBias,subrCode=subrs[codeIndex],subrCode&&parse2(subrCode);break;case 11:return;case 12:switch(v=code2[i],i+=1,v){case 35:c1x=x+stack.shift(),c1y=y+stack.shift(),c2x=c1x+stack.shift(),c2y=c1y+stack.shift(),jpx=c2x+stack.shift(),jpy=c2y+stack.shift(),c3x=jpx+stack.shift(),c3y=jpy+stack.shift(),c4x=c3x+stack.shift(),c4y=c3y+stack.shift(),x=c4x+stack.shift(),y=c4y+stack.shift(),stack.shift(),p.curveTo(c1x,c1y,c2x,c2y,jpx,jpy),p.curveTo(c3x,c3y,c4x,c4y,x,y);break;case 34:c1x=x+stack.shift(),c1y=y,c2x=c1x+stack.shift(),c2y=c1y+stack.shift(),jpx=c2x+stack.shift(),jpy=c2y,c3x=jpx+stack.shift(),c3y=c2y,c4x=c3x+stack.shift(),c4y=y,x=c4x+stack.shift(),p.curveTo(c1x,c1y,c2x,c2y,jpx,jpy),p.curveTo(c3x,c3y,c4x,c4y,x,y);break;case 36:c1x=x+stack.shift(),c1y=y+stack.shift(),c2x=c1x+stack.shift(),c2y=c1y+stack.shift(),jpx=c2x+stack.shift(),jpy=c2y,c3x=jpx+stack.shift(),c3y=c2y,c4x=c3x+stack.shift(),c4y=c3y+stack.shift(),x=c4x+stack.shift(),p.curveTo(c1x,c1y,c2x,c2y,jpx,jpy),p.curveTo(c3x,c3y,c4x,c4y,x,y);break;case 37:c1x=x+stack.shift(),c1y=y+stack.shift(),c2x=c1x+stack.shift(),c2y=c1y+stack.shift(),jpx=c2x+stack.shift(),jpy=c2y+stack.shift(),c3x=jpx+stack.shift(),c3y=jpy+stack.shift(),c4x=c3x+stack.shift(),c4y=c3y+stack.shift(),Math.abs(c4x-x)>Math.abs(c4y-y)?x=c4x+stack.shift():y=c4y+stack.shift(),p.curveTo(c1x,c1y,c2x,c2y,jpx,jpy),p.curveTo(c3x,c3y,c4x,c4y,x,y);break;default:console.log("Glyph "+glyph.index+": unknown operator 1200"+v),stack.length=0}break;case 14:stack.length>0&&!haveWidth&&(width=stack.shift()+nominalWidthX,haveWidth=!0),open&&(p.closePath(),open=!1);break;case 18:parseStems();break;case 19:case 20:parseStems(),i+=nStems+7>>3;break;case 21:stack.length>2&&!haveWidth&&(width=stack.shift()+nominalWidthX,haveWidth=!0),y+=stack.pop(),x+=stack.pop(),newContour(x,y);break;case 22:stack.length>1&&!haveWidth&&(width=stack.shift()+nominalWidthX,haveWidth=!0),x+=stack.pop(),newContour(x,y);break;case 23:parseStems();break;case 24:for(;stack.length>2;)c1x=x+stack.shift(),c1y=y+stack.shift(),c2x=c1x+stack.shift(),c2y=c1y+stack.shift(),x=c2x+stack.shift(),y=c2y+stack.shift(),p.curveTo(c1x,c1y,c2x,c2y,x,y);x+=stack.shift(),y+=stack.shift(),p.lineTo(x,y);break;case 25:for(;stack.length>6;)x+=stack.shift(),y+=stack.shift(),p.lineTo(x,y);c1x=x+stack.shift(),c1y=y+stack.shift(),c2x=c1x+stack.shift(),c2y=c1y+stack.shift(),x=c2x+stack.shift(),y=c2y+stack.shift(),p.curveTo(c1x,c1y,c2x,c2y,x,y);break;case 26:for(stack.length%2&&(x+=stack.shift());stack.length>0;)c1x=x,c1y=y+stack.shift(),c2x=c1x+stack.shift(),c2y=c1y+stack.shift(),x=c2x,y=c2y+stack.shift(),p.curveTo(c1x,c1y,c2x,c2y,x,y);break;case 27:for(stack.length%2&&(y+=stack.shift());stack.length>0;)c1x=x+stack.shift(),c1y=y,c2x=c1x+stack.shift(),c2y=c1y+stack.shift(),x=c2x+stack.shift(),y=c2y,p.curveTo(c1x,c1y,c2x,c2y,x,y);break;case 28:b1=code2[i],b2=code2[i+1],stack.push((b1<<24|b2<<16)>>16),i+=2;break;case 29:codeIndex=stack.pop()+font.gsubrsBias,subrCode=font.gsubrs[codeIndex],subrCode&&parse2(subrCode);break;case 30:for(;stack.length>0&&(c1x=x,c1y=y+stack.shift(),c2x=c1x+stack.shift(),c2y=c1y+stack.shift(),x=c2x+stack.shift(),y=c2y+(stack.length===1?stack.shift():0),p.curveTo(c1x,c1y,c2x,c2y,x,y),stack.length!==0);)c1x=x+stack.shift(),c1y=y,c2x=c1x+stack.shift(),c2y=c1y+stack.shift(),y=c2y+stack.shift(),x=c2x+(stack.length===1?stack.shift():0),p.curveTo(c1x,c1y,c2x,c2y,x,y);break;case 31:for(;stack.length>0&&(c1x=x+stack.shift(),c1y=y,c2x=c1x+stack.shift(),c2y=c1y+stack.shift(),y=c2y+stack.shift(),x=c2x+(stack.length===1?stack.shift():0),p.curveTo(c1x,c1y,c2x,c2y,x,y),stack.length!==0);)c1x=x,c1y=y+stack.shift(),c2x=c1x+stack.shift(),c2y=c1y+stack.shift(),x=c2x+stack.shift(),y=c2y+(stack.length===1?stack.shift():0),p.curveTo(c1x,c1y,c2x,c2y,x,y);break;default:v<32?console.log("Glyph "+glyph.index+": unknown operator "+v):v<247?stack.push(v-139):v<251?(b1=code2[i],i+=1,stack.push((v-247)*256+b1+108)):v<255?(b1=code2[i],i+=1,stack.push(-(v-251)*256-b1-108)):(b1=code2[i],b2=code2[i+1],b3=code2[i+2],b4=code2[i+3],i+=4,stack.push((b1<<24|b2<<16|b3<<8|b4)/65536))}}}return __name(parse2,"parse"),parse2(code),glyph.advanceWidth=width,p}__name(parseCFFCharstring,"parseCFFCharstring");function parseCFFFDSelect(data2,start,nGlyphs,fdArrayCount){var fdSelect=[],fdIndex,parser=new parse.Parser(data2,start),format=parser.parseCard8();if(format===0)for(var iGid=0;iGid<nGlyphs;iGid++){if(fdIndex=parser.parseCard8(),fdIndex>=fdArrayCount)throw new Error("CFF table CID Font FDSelect has bad FD index value "+fdIndex+" (FD count "+fdArrayCount+")");fdSelect.push(fdIndex)}else if(format===3){var nRanges=parser.parseCard16(),first=parser.parseCard16();if(first!==0)throw new Error("CFF Table CID Font FDSelect format 3 range has bad initial GID "+first);for(var next,iRange=0;iRange<nRanges;iRange++){if(fdIndex=parser.parseCard8(),next=parser.parseCard16(),fdIndex>=fdArrayCount)throw new Error("CFF table CID Font FDSelect has bad FD index value "+fdIndex+" (FD count "+fdArrayCount+")");if(next>nGlyphs)throw new Error("CFF Table CID Font FDSelect format 3 range has bad GID "+next);for(;first<next;first++)fdSelect.push(fdIndex);first=next}if(next!==nGlyphs)throw new Error("CFF Table CID Font FDSelect format 3 range has bad final GID "+next)}else throw new Error("CFF Table CID Font FDSelect table has unsupported format "+format);return fdSelect}__name(parseCFFFDSelect,"parseCFFFDSelect");function parseCFFTable(data2,start,font,opt){font.tables.cff={};var header=parseCFFHeader(data2,start),nameIndex=parseCFFIndex(data2,header.endOffset,parse.bytesToString),topDictIndex=parseCFFIndex(data2,nameIndex.endOffset),stringIndex=parseCFFIndex(data2,topDictIndex.endOffset,parse.bytesToString),globalSubrIndex=parseCFFIndex(data2,stringIndex.endOffset);font.gsubrs=globalSubrIndex.objects,font.gsubrsBias=calcCFFSubroutineBias(font.gsubrs);var topDictArray=gatherCFFTopDicts(data2,start,topDictIndex.objects,stringIndex.objects);if(topDictArray.length!==1)throw new Error("CFF table has too many fonts in 'FontSet' - count of fonts NameIndex.length = "+topDictArray.length);var topDict=topDictArray[0];if(font.tables.cff.topDict=topDict,topDict._privateDict&&(font.defaultWidthX=topDict._privateDict.defaultWidthX,font.nominalWidthX=topDict._privateDict.nominalWidthX),topDict.ros[0]!==void 0&&topDict.ros[1]!==void 0&&(font.isCIDFont=!0),font.isCIDFont){var fdArrayOffset=topDict.fdArray,fdSelectOffset=topDict.fdSelect;if(fdArrayOffset===0||fdSelectOffset===0)throw new Error("Font is marked as a CID font, but FDArray and/or FDSelect information is missing");fdArrayOffset+=start;var fdArrayIndex=parseCFFIndex(data2,fdArrayOffset),fdArray=gatherCFFTopDicts(data2,start,fdArrayIndex.objects,stringIndex.objects);topDict._fdArray=fdArray,fdSelectOffset+=start,topDict._fdSelect=parseCFFFDSelect(data2,fdSelectOffset,font.numGlyphs,fdArray.length)}var privateDictOffset=start+topDict.private[1],privateDict=parseCFFPrivateDict(data2,privateDictOffset,topDict.private[0],stringIndex.objects);if(font.defaultWidthX=privateDict.defaultWidthX,font.nominalWidthX=privateDict.nominalWidthX,privateDict.subrs!==0){var subrOffset=privateDictOffset+privateDict.subrs,subrIndex=parseCFFIndex(data2,subrOffset);font.subrs=subrIndex.objects,font.subrsBias=calcCFFSubroutineBias(font.subrs)}else font.subrs=[],font.subrsBias=0;var charStringsIndex;opt.lowMemory?(charStringsIndex=parseCFFIndexLowMemory(data2,start+topDict.charStrings),font.nGlyphs=charStringsIndex.offsets.length):(charStringsIndex=parseCFFIndex(data2,start+topDict.charStrings),font.nGlyphs=charStringsIndex.objects.length);var charset2=parseCFFCharset(data2,start+topDict.charset,font.nGlyphs,stringIndex.objects);if(topDict.encoding===0?font.cffEncoding=new CffEncoding(cffStandardEncoding,charset2):topDict.encoding===1?font.cffEncoding=new CffEncoding(cffExpertEncoding,charset2):font.cffEncoding=parseCFFEncoding(data2,start+topDict.encoding,charset2),font.encoding=font.encoding||font.cffEncoding,font.glyphs=new glyphset.GlyphSet(font),opt.lowMemory)font._push=function(i2){var charString2=getCffIndexObject(i2,charStringsIndex.offsets,data2,start+topDict.charStrings);font.glyphs.push(i2,glyphset.cffGlyphLoader(font,i2,parseCFFCharstring,charString2))};else for(var i=0;i<font.nGlyphs;i+=1){var charString=charStringsIndex.objects[i];font.glyphs.push(i,glyphset.cffGlyphLoader(font,i,parseCFFCharstring,charString))}}__name(parseCFFTable,"parseCFFTable");function encodeString(s,strings){var sid,i=cffStandardStrings.indexOf(s);return i>=0&&(sid=i),i=strings.indexOf(s),i>=0?sid=i+cffStandardStrings.length:(sid=cffStandardStrings.length+strings.length,strings.push(s)),sid}__name(encodeString,"encodeString");function makeHeader(){return new table.Record("Header",[{name:"major",type:"Card8",value:1},{name:"minor",type:"Card8",value:0},{name:"hdrSize",type:"Card8",value:4},{name:"major",type:"Card8",value:1}])}__name(makeHeader,"makeHeader");function makeNameIndex(fontNames){var t=new table.Record("Name INDEX",[{name:"names",type:"INDEX",value:[]}]);t.names=[];for(var i=0;i<fontNames.length;i+=1)t.names.push({name:"name_"+i,type:"NAME",value:fontNames[i]});return t}__name(makeNameIndex,"makeNameIndex");function makeDict(meta2,attrs,strings){for(var m={},i=0;i<meta2.length;i+=1){var entry=meta2[i],value=attrs[entry.name];value!==void 0&&!equals(value,entry.value)&&(entry.type==="SID"&&(value=encodeString(value,strings)),m[entry.op]={name:entry.name,type:entry.type,value})}return m}__name(makeDict,"makeDict");function makeTopDict(attrs,strings){var t=new table.Record("Top DICT",[{name:"dict",type:"DICT",value:{}}]);return t.dict=makeDict(TOP_DICT_META,attrs,strings),t}__name(makeTopDict,"makeTopDict");function makeTopDictIndex(topDict){var t=new table.Record("Top DICT INDEX",[{name:"topDicts",type:"INDEX",value:[]}]);return t.topDicts=[{name:"topDict_0",type:"TABLE",value:topDict}],t}__name(makeTopDictIndex,"makeTopDictIndex");function makeStringIndex(strings){var t=new table.Record("String INDEX",[{name:"strings",type:"INDEX",value:[]}]);t.strings=[];for(var i=0;i<strings.length;i+=1)t.strings.push({name:"string_"+i,type:"STRING",value:strings[i]});return t}__name(makeStringIndex,"makeStringIndex");function makeGlobalSubrIndex(){return new table.Record("Global Subr INDEX",[{name:"subrs",type:"INDEX",value:[]}])}__name(makeGlobalSubrIndex,"makeGlobalSubrIndex");function makeCharsets(glyphNames,strings){for(var t=new table.Record("Charsets",[{name:"format",type:"Card8",value:0}]),i=0;i<glyphNames.length;i+=1){var glyphName=glyphNames[i],glyphSID=encodeString(glyphName,strings);t.fields.push({name:"glyph_"+i,type:"SID",value:glyphSID})}return t}__name(makeCharsets,"makeCharsets");function glyphToOps(glyph){var ops=[],path=glyph.path;ops.push({name:"width",type:"NUMBER",value:glyph.advanceWidth});for(var x=0,y=0,i=0;i<path.commands.length;i+=1){var dx=void 0,dy=void 0,cmd=path.commands[i];if(cmd.type==="Q"){var _13=.3333333333333333,_23=2/3;cmd={type:"C",x:cmd.x,y:cmd.y,x1:Math.round(_13*x+_23*cmd.x1),y1:Math.round(_13*y+_23*cmd.y1),x2:Math.round(_13*cmd.x+_23*cmd.x1),y2:Math.round(_13*cmd.y+_23*cmd.y1)}}if(cmd.type==="M")dx=Math.round(cmd.x-x),dy=Math.round(cmd.y-y),ops.push({name:"dx",type:"NUMBER",value:dx}),ops.push({name:"dy",type:"NUMBER",value:dy}),ops.push({name:"rmoveto",type:"OP",value:21}),x=Math.round(cmd.x),y=Math.round(cmd.y);else if(cmd.type==="L")dx=Math.round(cmd.x-x),dy=Math.round(cmd.y-y),ops.push({name:"dx",type:"NUMBER",value:dx}),ops.push({name:"dy",type:"NUMBER",value:dy}),ops.push({name:"rlineto",type:"OP",value:5}),x=Math.round(cmd.x),y=Math.round(cmd.y);else if(cmd.type==="C"){var dx1=Math.round(cmd.x1-x),dy1=Math.round(cmd.y1-y),dx2=Math.round(cmd.x2-cmd.x1),dy2=Math.round(cmd.y2-cmd.y1);dx=Math.round(cmd.x-cmd.x2),dy=Math.round(cmd.y-cmd.y2),ops.push({name:"dx1",type:"NUMBER",value:dx1}),ops.push({name:"dy1",type:"NUMBER",value:dy1}),ops.push({name:"dx2",type:"NUMBER",value:dx2}),ops.push({name:"dy2",type:"NUMBER",value:dy2}),ops.push({name:"dx",type:"NUMBER",value:dx}),ops.push({name:"dy",type:"NUMBER",value:dy}),ops.push({name:"rrcurveto",type:"OP",value:8}),x=Math.round(cmd.x),y=Math.round(cmd.y)}}return ops.push({name:"endchar",type:"OP",value:14}),ops}__name(glyphToOps,"glyphToOps");function makeCharStringsIndex(glyphs){for(var t=new table.Record("CharStrings INDEX",[{name:"charStrings",type:"INDEX",value:[]}]),i=0;i<glyphs.length;i+=1){var glyph=glyphs.get(i),ops=glyphToOps(glyph);t.charStrings.push({name:glyph.name,type:"CHARSTRING",value:ops})}return t}__name(makeCharStringsIndex,"makeCharStringsIndex");function makePrivateDict(attrs,strings){var t=new table.Record("Private DICT",[{name:"dict",type:"DICT",value:{}}]);return t.dict=makeDict(PRIVATE_DICT_META,attrs,strings),t}__name(makePrivateDict,"makePrivateDict");function makeCFFTable(glyphs,options){for(var t=new table.Table("CFF ",[{name:"header",type:"RECORD"},{name:"nameIndex",type:"RECORD"},{name:"topDictIndex",type:"RECORD"},{name:"stringIndex",type:"RECORD"},{name:"globalSubrIndex",type:"RECORD"},{name:"charsets",type:"RECORD"},{name:"charStringsIndex",type:"RECORD"},{name:"privateDict",type:"RECORD"}]),fontScale=1/options.unitsPerEm,attrs={version:options.version,fullName:options.fullName,familyName:options.familyName,weight:options.weightName,fontBBox:options.fontBBox||[0,0,0,0],fontMatrix:[fontScale,0,0,fontScale,0,0],charset:999,encoding:0,charStrings:999,private:[0,999]},privateAttrs={},glyphNames=[],glyph,i=1;i<glyphs.length;i+=1)glyph=glyphs.get(i),glyphNames.push(glyph.name);var strings=[];t.header=makeHeader(),t.nameIndex=makeNameIndex([options.postScriptName]);var topDict=makeTopDict(attrs,strings);t.topDictIndex=makeTopDictIndex(topDict),t.globalSubrIndex=makeGlobalSubrIndex(),t.charsets=makeCharsets(glyphNames,strings),t.charStringsIndex=makeCharStringsIndex(glyphs),t.privateDict=makePrivateDict(privateAttrs,strings),t.stringIndex=makeStringIndex(strings);var startOffset=t.header.sizeOf()+t.nameIndex.sizeOf()+t.topDictIndex.sizeOf()+t.stringIndex.sizeOf()+t.globalSubrIndex.sizeOf();return attrs.charset=startOffset,attrs.encoding=0,attrs.charStrings=attrs.charset+t.charsets.sizeOf(),attrs.private[1]=attrs.charStrings+t.charStringsIndex.sizeOf(),topDict=makeTopDict(attrs,strings),t.topDictIndex=makeTopDictIndex(topDict),t}__name(makeCFFTable,"makeCFFTable");var cff={parse:parseCFFTable,make:makeCFFTable};function parseHeadTable(data2,start){var head2={},p=new parse.Parser(data2,start);return head2.version=p.parseVersion(),head2.fontRevision=Math.round(p.parseFixed()*1e3)/1e3,head2.checkSumAdjustment=p.parseULong(),head2.magicNumber=p.parseULong(),check.argument(head2.magicNumber===1594834165,"Font header has wrong magic number."),head2.flags=p.parseUShort(),head2.unitsPerEm=p.parseUShort(),head2.created=p.parseLongDateTime(),head2.modified=p.parseLongDateTime(),head2.xMin=p.parseShort(),head2.yMin=p.parseShort(),head2.xMax=p.parseShort(),head2.yMax=p.parseShort(),head2.macStyle=p.parseUShort(),head2.lowestRecPPEM=p.parseUShort(),head2.fontDirectionHint=p.parseShort(),head2.indexToLocFormat=p.parseShort(),head2.glyphDataFormat=p.parseShort(),head2}__name(parseHeadTable,"parseHeadTable");function makeHeadTable(options){var timestamp=Math.round(new Date().getTime()/1e3)+2082844800,createdTimestamp=timestamp;return options.createdTimestamp&&(createdTimestamp=options.createdTimestamp+2082844800),new table.Table("head",[{name:"version",type:"FIXED",value:65536},{name:"fontRevision",type:"FIXED",value:65536},{name:"checkSumAdjustment",type:"ULONG",value:0},{name:"magicNumber",type:"ULONG",value:1594834165},{name:"flags",type:"USHORT",value:0},{name:"unitsPerEm",type:"USHORT",value:1e3},{name:"created",type:"LONGDATETIME",value:createdTimestamp},{name:"modified",type:"LONGDATETIME",value:timestamp},{name:"xMin",type:"SHORT",value:0},{name:"yMin",type:"SHORT",value:0},{name:"xMax",type:"SHORT",value:0},{name:"yMax",type:"SHORT",value:0},{name:"macStyle",type:"USHORT",value:0},{name:"lowestRecPPEM",type:"USHORT",value:0},{name:"fontDirectionHint",type:"SHORT",value:2},{name:"indexToLocFormat",type:"SHORT",value:0},{name:"glyphDataFormat",type:"SHORT",value:0}],options)}__name(makeHeadTable,"makeHeadTable");var head={parse:parseHeadTable,make:makeHeadTable};function parseHheaTable(data2,start){var hhea2={},p=new parse.Parser(data2,start);return hhea2.version=p.parseVersion(),hhea2.ascender=p.parseShort(),hhea2.descender=p.parseShort(),hhea2.lineGap=p.parseShort(),hhea2.advanceWidthMax=p.parseUShort(),hhea2.minLeftSideBearing=p.parseShort(),hhea2.minRightSideBearing=p.parseShort(),hhea2.xMaxExtent=p.parseShort(),hhea2.caretSlopeRise=p.parseShort(),hhea2.caretSlopeRun=p.parseShort(),hhea2.caretOffset=p.parseShort(),p.relativeOffset+=8,hhea2.metricDataFormat=p.parseShort(),hhea2.numberOfHMetrics=p.parseUShort(),hhea2}__name(parseHheaTable,"parseHheaTable");function makeHheaTable(options){return new table.Table("hhea",[{name:"version",type:"FIXED",value:65536},{name:"ascender",type:"FWORD",value:0},{name:"descender",type:"FWORD",value:0},{name:"lineGap",type:"FWORD",value:0},{name:"advanceWidthMax",type:"UFWORD",value:0},{name:"minLeftSideBearing",type:"FWORD",value:0},{name:"minRightSideBearing",type:"FWORD",value:0},{name:"xMaxExtent",type:"FWORD",value:0},{name:"caretSlopeRise",type:"SHORT",value:1},{name:"caretSlopeRun",type:"SHORT",value:0},{name:"caretOffset",type:"SHORT",value:0},{name:"reserved1",type:"SHORT",value:0},{name:"reserved2",type:"SHORT",value:0},{name:"reserved3",type:"SHORT",value:0},{name:"reserved4",type:"SHORT",value:0},{name:"metricDataFormat",type:"SHORT",value:0},{name:"numberOfHMetrics",type:"USHORT",value:0}],options)}__name(makeHheaTable,"makeHheaTable");var hhea={parse:parseHheaTable,make:makeHheaTable};function parseHmtxTableAll(data2,start,numMetrics,numGlyphs,glyphs){for(var advanceWidth,leftSideBearing,p=new parse.Parser(data2,start),i=0;i<numGlyphs;i+=1){i<numMetrics&&(advanceWidth=p.parseUShort(),leftSideBearing=p.parseShort());var glyph=glyphs.get(i);glyph.advanceWidth=advanceWidth,glyph.leftSideBearing=leftSideBearing}}__name(parseHmtxTableAll,"parseHmtxTableAll");function parseHmtxTableOnLowMemory(font,data2,start,numMetrics,numGlyphs){font._hmtxTableData={};for(var advanceWidth,leftSideBearing,p=new parse.Parser(data2,start),i=0;i<numGlyphs;i+=1)i<numMetrics&&(advanceWidth=p.parseUShort(),leftSideBearing=p.parseShort()),font._hmtxTableData[i]={advanceWidth,leftSideBearing}}__name(parseHmtxTableOnLowMemory,"parseHmtxTableOnLowMemory");function parseHmtxTable(font,data2,start,numMetrics,numGlyphs,glyphs,opt){opt.lowMemory?parseHmtxTableOnLowMemory(font,data2,start,numMetrics,numGlyphs):parseHmtxTableAll(data2,start,numMetrics,numGlyphs,glyphs)}__name(parseHmtxTable,"parseHmtxTable");function makeHmtxTable(glyphs){for(var t=new table.Table("hmtx",[]),i=0;i<glyphs.length;i+=1){var glyph=glyphs.get(i),advanceWidth=glyph.advanceWidth||0,leftSideBearing=glyph.leftSideBearing||0;t.fields.push({name:"advanceWidth_"+i,type:"USHORT",value:advanceWidth}),t.fields.push({name:"leftSideBearing_"+i,type:"SHORT",value:leftSideBearing})}return t}__name(makeHmtxTable,"makeHmtxTable");var hmtx={parse:parseHmtxTable,make:makeHmtxTable};function makeLtagTable(tags){for(var result=new table.Table("ltag",[{name:"version",type:"ULONG",value:1},{name:"flags",type:"ULONG",value:0},{name:"numTags",type:"ULONG",value:tags.length}]),stringPool="",stringPoolOffset=12+tags.length*4,i=0;i<tags.length;++i){var pos=stringPool.indexOf(tags[i]);pos<0&&(pos=stringPool.length,stringPool+=tags[i]),result.fields.push({name:"offset "+i,type:"USHORT",value:stringPoolOffset+pos}),result.fields.push({name:"length "+i,type:"USHORT",value:tags[i].length})}return result.fields.push({name:"stringPool",type:"CHARARRAY",value:stringPool}),result}__name(makeLtagTable,"makeLtagTable");function parseLtagTable(data2,start){var p=new parse.Parser(data2,start),tableVersion=p.parseULong();check.argument(tableVersion===1,"Unsupported ltag table version."),p.skip("uLong",1);for(var numTags=p.parseULong(),tags=[],i=0;i<numTags;i++){for(var tag="",offset=start+p.parseUShort(),length=p.parseUShort(),j=offset;j<offset+length;++j)tag+=String.fromCharCode(data2.getInt8(j));tags.push(tag)}return tags}__name(parseLtagTable,"parseLtagTable");var ltag={make:makeLtagTable,parse:parseLtagTable};function parseMaxpTable(data2,start){var maxp2={},p=new parse.Parser(data2,start);return maxp2.version=p.parseVersion(),maxp2.numGlyphs=p.parseUShort(),maxp2.version===1&&(maxp2.maxPoints=p.parseUShort(),maxp2.maxContours=p.parseUShort(),maxp2.maxCompositePoints=p.parseUShort(),maxp2.maxCompositeContours=p.parseUShort(),maxp2.maxZones=p.parseUShort(),maxp2.maxTwilightPoints=p.parseUShort(),maxp2.maxStorage=p.parseUShort(),maxp2.maxFunctionDefs=p.parseUShort(),maxp2.maxInstructionDefs=p.parseUShort(),maxp2.maxStackElements=p.parseUShort(),maxp2.maxSizeOfInstructions=p.parseUShort(),maxp2.maxComponentElements=p.parseUShort(),maxp2.maxComponentDepth=p.parseUShort()),maxp2}__name(parseMaxpTable,"parseMaxpTable");function makeMaxpTable(numGlyphs){return new table.Table("maxp",[{name:"version",type:"FIXED",value:20480},{name:"numGlyphs",type:"USHORT",value:numGlyphs}])}__name(makeMaxpTable,"makeMaxpTable");var maxp={parse:parseMaxpTable,make:makeMaxpTable},nameTableNames=["copyright","fontFamily","fontSubfamily","uniqueID","fullName","version","postScriptName","trademark","manufacturer","designer","description","manufacturerURL","designerURL","license","licenseURL","reserved","preferredFamily","preferredSubfamily","compatibleFullName","sampleText","postScriptFindFontName","wwsFamily","wwsSubfamily"],macLanguages={0:"en",1:"fr",2:"de",3:"it",4:"nl",5:"sv",6:"es",7:"da",8:"pt",9:"no",10:"he",11:"ja",12:"ar",13:"fi",14:"el",15:"is",16:"mt",17:"tr",18:"hr",19:"zh-Hant",20:"ur",21:"hi",22:"th",23:"ko",24:"lt",25:"pl",26:"hu",27:"es",28:"lv",29:"se",30:"fo",31:"fa",32:"ru",33:"zh",34:"nl-BE",35:"ga",36:"sq",37:"ro",38:"cz",39:"sk",40:"si",41:"yi",42:"sr",43:"mk",44:"bg",45:"uk",46:"be",47:"uz",48:"kk",49:"az-Cyrl",50:"az-Arab",51:"hy",52:"ka",53:"mo",54:"ky",55:"tg",56:"tk",57:"mn-CN",58:"mn",59:"ps",60:"ks",61:"ku",62:"sd",63:"bo",64:"ne",65:"sa",66:"mr",67:"bn",68:"as",69:"gu",70:"pa",71:"or",72:"ml",73:"kn",74:"ta",75:"te",76:"si",77:"my",78:"km",79:"lo",80:"vi",81:"id",82:"tl",83:"ms",84:"ms-Arab",85:"am",86:"ti",87:"om",88:"so",89:"sw",90:"rw",91:"rn",92:"ny",93:"mg",94:"eo",128:"cy",129:"eu",130:"ca",131:"la",132:"qu",133:"gn",134:"ay",135:"tt",136:"ug",137:"dz",138:"jv",139:"su",140:"gl",141:"af",142:"br",143:"iu",144:"gd",145:"gv",146:"ga",147:"to",148:"el-polyton",149:"kl",150:"az",151:"nn"},macLanguageToScript={0:0,1:0,2:0,3:0,4:0,5:0,6:0,7:0,8:0,9:0,10:5,11:1,12:4,13:0,14:6,15:0,16:0,17:0,18:0,19:2,20:4,21:9,22:21,23:3,24:29,25:29,26:29,27:29,28:29,29:0,30:0,31:4,32:7,33:25,34:0,35:0,36:0,37:0,38:29,39:29,40:0,41:5,42:7,43:7,44:7,45:7,46:7,47:7,48:7,49:7,50:4,51:24,52:23,53:7,54:7,55:7,56:7,57:27,58:7,59:4,60:4,61:4,62:4,63:26,64:9,65:9,66:9,67:13,68:13,69:11,70:10,71:12,72:17,73:16,74:14,75:15,76:18,77:19,78:20,79:22,80:30,81:0,82:0,83:0,84:4,85:28,86:28,87:28,88:0,89:0,90:0,91:0,92:0,93:0,94:0,128:0,129:0,130:0,131:0,132:0,133:0,134:0,135:7,136:4,137:26,138:0,139:0,140:0,141:0,142:0,143:28,144:0,145:0,146:0,147:0,148:6,149:0,150:0,151:0},windowsLanguages={1078:"af",1052:"sq",1156:"gsw",1118:"am",5121:"ar-DZ",15361:"ar-BH",3073:"ar",2049:"ar-IQ",11265:"ar-JO",13313:"ar-KW",12289:"ar-LB",4097:"ar-LY",6145:"ary",8193:"ar-OM",16385:"ar-QA",1025:"ar-SA",10241:"ar-SY",7169:"aeb",14337:"ar-AE",9217:"ar-YE",1067:"hy",1101:"as",2092:"az-Cyrl",1068:"az",1133:"ba",1069:"eu",1059:"be",2117:"bn",1093:"bn-IN",8218:"bs-Cyrl",5146:"bs",1150:"br",1026:"bg",1027:"ca",3076:"zh-HK",5124:"zh-MO",2052:"zh",4100:"zh-SG",1028:"zh-TW",1155:"co",1050:"hr",4122:"hr-BA",1029:"cs",1030:"da",1164:"prs",1125:"dv",2067:"nl-BE",1043:"nl",3081:"en-AU",10249:"en-BZ",4105:"en-CA",9225:"en-029",16393:"en-IN",6153:"en-IE",8201:"en-JM",17417:"en-MY",5129:"en-NZ",13321:"en-PH",18441:"en-SG",7177:"en-ZA",11273:"en-TT",2057:"en-GB",1033:"en",12297:"en-ZW",1061:"et",1080:"fo",1124:"fil",1035:"fi",2060:"fr-BE",3084:"fr-CA",1036:"fr",5132:"fr-LU",6156:"fr-MC",4108:"fr-CH",1122:"fy",1110:"gl",1079:"ka",3079:"de-AT",1031:"de",5127:"de-LI",4103:"de-LU",2055:"de-CH",1032:"el",1135:"kl",1095:"gu",1128:"ha",1037:"he",1081:"hi",1038:"hu",1039:"is",1136:"ig",1057:"id",1117:"iu",2141:"iu-Latn",2108:"ga",1076:"xh",1077:"zu",1040:"it",2064:"it-CH",1041:"ja",1099:"kn",1087:"kk",1107:"km",1158:"quc",1159:"rw",1089:"sw",1111:"kok",1042:"ko",1088:"ky",1108:"lo",1062:"lv",1063:"lt",2094:"dsb",1134:"lb",1071:"mk",2110:"ms-BN",1086:"ms",1100:"ml",1082:"mt",1153:"mi",1146:"arn",1102:"mr",1148:"moh",1104:"mn",2128:"mn-CN",1121:"ne",1044:"nb",2068:"nn",1154:"oc",1096:"or",1123:"ps",1045:"pl",1046:"pt",2070:"pt-PT",1094:"pa",1131:"qu-BO",2155:"qu-EC",3179:"qu",1048:"ro",1047:"rm",1049:"ru",9275:"smn",4155:"smj-NO",5179:"smj",3131:"se-FI",1083:"se",2107:"se-SE",8251:"sms",6203:"sma-NO",7227:"sms",1103:"sa",7194:"sr-Cyrl-BA",3098:"sr",6170:"sr-Latn-BA",2074:"sr-Latn",1132:"nso",1074:"tn",1115:"si",1051:"sk",1060:"sl",11274:"es-AR",16394:"es-BO",13322:"es-CL",9226:"es-CO",5130:"es-CR",7178:"es-DO",12298:"es-EC",17418:"es-SV",4106:"es-GT",18442:"es-HN",2058:"es-MX",19466:"es-NI",6154:"es-PA",15370:"es-PY",10250:"es-PE",20490:"es-PR",3082:"es",1034:"es",21514:"es-US",14346:"es-UY",8202:"es-VE",2077:"sv-FI",1053:"sv",1114:"syr",1064:"tg",2143:"tzm",1097:"ta",1092:"tt",1098:"te",1054:"th",1105:"bo",1055:"tr",1090:"tk",1152:"ug",1058:"uk",1070:"hsb",1056:"ur",2115:"uz-Cyrl",1091:"uz",1066:"vi",1106:"cy",1160:"wo",1157:"sah",1144:"ii",1130:"yo"};function getLanguageCode(platformID,languageID,ltag2){switch(platformID){case 0:if(languageID===65535)return"und";if(ltag2)return ltag2[languageID];break;case 1:return macLanguages[languageID];case 3:return windowsLanguages[languageID]}}__name(getLanguageCode,"getLanguageCode");var utf16="utf-16",macScriptEncodings={0:"macintosh",1:"x-mac-japanese",2:"x-mac-chinesetrad",3:"x-mac-korean",6:"x-mac-greek",7:"x-mac-cyrillic",9:"x-mac-devanagai",10:"x-mac-gurmukhi",11:"x-mac-gujarati",12:"x-mac-oriya",13:"x-mac-bengali",14:"x-mac-tamil",15:"x-mac-telugu",16:"x-mac-kannada",17:"x-mac-malayalam",18:"x-mac-sinhalese",19:"x-mac-burmese",20:"x-mac-khmer",21:"x-mac-thai",22:"x-mac-lao",23:"x-mac-georgian",24:"x-mac-armenian",25:"x-mac-chinesesimp",26:"x-mac-tibetan",27:"x-mac-mongolian",28:"x-mac-ethiopic",29:"x-mac-ce",30:"x-mac-vietnamese",31:"x-mac-extarabic"},macLanguageEncodings={15:"x-mac-icelandic",17:"x-mac-turkish",18:"x-mac-croatian",24:"x-mac-ce",25:"x-mac-ce",26:"x-mac-ce",27:"x-mac-ce",28:"x-mac-ce",30:"x-mac-icelandic",37:"x-mac-romanian",38:"x-mac-ce",39:"x-mac-ce",40:"x-mac-ce",143:"x-mac-inuit",146:"x-mac-gaelic"};function getEncoding(platformID,encodingID,languageID){switch(platformID){case 0:return utf16;case 1:return macLanguageEncodings[languageID]||macScriptEncodings[encodingID];case 3:if(encodingID===1||encodingID===10)return utf16;break}}__name(getEncoding,"getEncoding");function parseNameTable(data2,start,ltag2){for(var name={},p=new parse.Parser(data2,start),format=p.parseUShort(),count=p.parseUShort(),stringOffset=p.offset+p.parseUShort(),i=0;i<count;i++){var platformID=p.parseUShort(),encodingID=p.parseUShort(),languageID=p.parseUShort(),nameID=p.parseUShort(),property=nameTableNames[nameID]||nameID,byteLength=p.parseUShort(),offset=p.parseUShort(),language=getLanguageCode(platformID,languageID,ltag2),encoding=getEncoding(platformID,encodingID,languageID);if(encoding!==void 0&&language!==void 0){var text=void 0;if(encoding===utf16?text=decode.UTF16(data2,stringOffset+offset,byteLength):text=decode.MACSTRING(data2,stringOffset+offset,byteLength,encoding),text){var translations=name[property];translations===void 0&&(translations=name[property]={}),translations[language]=text}}}return format===1&&p.parseUShort(),name}__name(parseNameTable,"parseNameTable");function reverseDict(dict){var result={};for(var key in dict)result[dict[key]]=parseInt(key);return result}__name(reverseDict,"reverseDict");function makeNameRecord(platformID,encodingID,languageID,nameID,length,offset){return new table.Record("NameRecord",[{name:"platformID",type:"USHORT",value:platformID},{name:"encodingID",type:"USHORT",value:encodingID},{name:"languageID",type:"USHORT",value:languageID},{name:"nameID",type:"USHORT",value:nameID},{name:"length",type:"USHORT",value:length},{name:"offset",type:"USHORT",value:offset}])}__name(makeNameRecord,"makeNameRecord");function findSubArray(needle,haystack){var needleLength=needle.length,limit=haystack.length-needleLength+1;loop:for(var pos=0;pos<limit;pos++)for(;pos<limit;pos++){for(var k=0;k<needleLength;k++)if(haystack[pos+k]!==needle[k])continue loop;return pos}return-1}__name(findSubArray,"findSubArray");function addStringToPool(s,pool){var offset=findSubArray(s,pool);if(offset<0){offset=pool.length;for(var i=0,len=s.length;i<len;++i)pool.push(s[i])}return offset}__name(addStringToPool,"addStringToPool");function makeNameTable(names,ltag2){var nameID,nameIDs=[],namesWithNumericKeys={},nameTableIds=reverseDict(nameTableNames);for(var key in names){var id=nameTableIds[key];if(id===void 0&&(id=key),nameID=parseInt(id),isNaN(nameID))throw new Error('Name table entry "'+key+'" does not exist, see nameTableNames for complete list.');namesWithNumericKeys[nameID]=names[key],nameIDs.push(nameID)}for(var macLanguageIds=reverseDict(macLanguages),windowsLanguageIds=reverseDict(windowsLanguages),nameRecords=[],stringPool=[],i=0;i<nameIDs.length;i++){nameID=nameIDs[i];var translations=namesWithNumericKeys[nameID];for(var lang in translations){var text=translations[lang],macPlatform=1,macLanguage=macLanguageIds[lang],macScript=macLanguageToScript[macLanguage],macEncoding=getEncoding(macPlatform,macScript,macLanguage),macName=encode.MACSTRING(text,macEncoding);macName===void 0&&(macPlatform=0,macLanguage=ltag2.indexOf(lang),macLanguage<0&&(macLanguage=ltag2.length,ltag2.push(lang)),macScript=4,macName=encode.UTF16(text));var macNameOffset=addStringToPool(macName,stringPool);nameRecords.push(makeNameRecord(macPlatform,macScript,macLanguage,nameID,macName.length,macNameOffset));var winLanguage=windowsLanguageIds[lang];if(winLanguage!==void 0){var winName=encode.UTF16(text),winNameOffset=addStringToPool(winName,stringPool);nameRecords.push(makeNameRecord(3,1,winLanguage,nameID,winName.length,winNameOffset))}}}nameRecords.sort(function(a,b){return a.platformID-b.platformID||a.encodingID-b.encodingID||a.languageID-b.languageID||a.nameID-b.nameID});for(var t=new table.Table("name",[{name:"format",type:"USHORT",value:0},{name:"count",type:"USHORT",value:nameRecords.length},{name:"stringOffset",type:"USHORT",value:6+nameRecords.length*12}]),r=0;r<nameRecords.length;r++)t.fields.push({name:"record_"+r,type:"RECORD",value:nameRecords[r]});return t.fields.push({name:"strings",type:"LITERAL",value:stringPool}),t}__name(makeNameTable,"makeNameTable");var _name={parse:parseNameTable,make:makeNameTable},unicodeRanges=[{begin:0,end:127},{begin:128,end:255},{begin:256,end:383},{begin:384,end:591},{begin:592,end:687},{begin:688,end:767},{begin:768,end:879},{begin:880,end:1023},{begin:11392,end:11519},{begin:1024,end:1279},{begin:1328,end:1423},{begin:1424,end:1535},{begin:42240,end:42559},{begin:1536,end:1791},{begin:1984,end:2047},{begin:2304,end:2431},{begin:2432,end:2559},{begin:2560,end:2687},{begin:2688,end:2815},{begin:2816,end:2943},{begin:2944,end:3071},{begin:3072,end:3199},{begin:3200,end:3327},{begin:3328,end:3455},{begin:3584,end:3711},{begin:3712,end:3839},{begin:4256,end:4351},{begin:6912,end:7039},{begin:4352,end:4607},{begin:7680,end:7935},{begin:7936,end:8191},{begin:8192,end:8303},{begin:8304,end:8351},{begin:8352,end:8399},{begin:8400,end:8447},{begin:8448,end:8527},{begin:8528,end:8591},{begin:8592,end:8703},{begin:8704,end:8959},{begin:8960,end:9215},{begin:9216,end:9279},{begin:9280,end:9311},{begin:9312,end:9471},{begin:9472,end:9599},{begin:9600,end:9631},{begin:9632,end:9727},{begin:9728,end:9983},{begin:9984,end:10175},{begin:12288,end:12351},{begin:12352,end:12447},{begin:12448,end:12543},{begin:12544,end:12591},{begin:12592,end:12687},{begin:43072,end:43135},{begin:12800,end:13055},{begin:13056,end:13311},{begin:44032,end:55215},{begin:55296,end:57343},{begin:67840,end:67871},{begin:19968,end:40959},{begin:57344,end:63743},{begin:12736,end:12783},{begin:64256,end:64335},{begin:64336,end:65023},{begin:65056,end:65071},{begin:65040,end:65055},{begin:65104,end:65135},{begin:65136,end:65279},{begin:65280,end:65519},{begin:65520,end:65535},{begin:3840,end:4095},{begin:1792,end:1871},{begin:1920,end:1983},{begin:3456,end:3583},{begin:4096,end:4255},{begin:4608,end:4991},{begin:5024,end:5119},{begin:5120,end:5759},{begin:5760,end:5791},{begin:5792,end:5887},{begin:6016,end:6143},{begin:6144,end:6319},{begin:10240,end:10495},{begin:40960,end:42127},{begin:5888,end:5919},{begin:66304,end:66351},{begin:66352,end:66383},{begin:66560,end:66639},{begin:118784,end:119039},{begin:119808,end:120831},{begin:1044480,end:1048573},{begin:65024,end:65039},{begin:917504,end:917631},{begin:6400,end:6479},{begin:6480,end:6527},{begin:6528,end:6623},{begin:6656,end:6687},{begin:11264,end:11359},{begin:11568,end:11647},{begin:19904,end:19967},{begin:43008,end:43055},{begin:65536,end:65663},{begin:65856,end:65935},{begin:66432,end:66463},{begin:66464,end:66527},{begin:66640,end:66687},{begin:66688,end:66735},{begin:67584,end:67647},{begin:68096,end:68191},{begin:119552,end:119647},{begin:73728,end:74751},{begin:119648,end:119679},{begin:7040,end:7103},{begin:7168,end:7247},{begin:7248,end:7295},{begin:43136,end:43231},{begin:43264,end:43311},{begin:43312,end:43359},{begin:43520,end:43615},{begin:65936,end:65999},{begin:66e3,end:66047},{begin:66208,end:66271},{begin:127024,end:127135}];function getUnicodeRange(unicode2){for(var i=0;i<unicodeRanges.length;i+=1){var range=unicodeRanges[i];if(unicode2>=range.begin&&unicode2<range.end)return i}return-1}__name(getUnicodeRange,"getUnicodeRange");function parseOS2Table(data2,start){var os22={},p=new parse.Parser(data2,start);os22.version=p.parseUShort(),os22.xAvgCharWidth=p.parseShort(),os22.usWeightClass=p.parseUShort(),os22.usWidthClass=p.parseUShort(),os22.fsType=p.parseUShort(),os22.ySubscriptXSize=p.parseShort(),os22.ySubscriptYSize=p.parseShort(),os22.ySubscriptXOffset=p.parseShort(),os22.ySubscriptYOffset=p.parseShort(),os22.ySuperscriptXSize=p.parseShort(),os22.ySuperscriptYSize=p.parseShort(),os22.ySuperscriptXOffset=p.parseShort(),os22.ySuperscriptYOffset=p.parseShort(),os22.yStrikeoutSize=p.parseShort(),os22.yStrikeoutPosition=p.parseShort(),os22.sFamilyClass=p.parseShort(),os22.panose=[];for(var i=0;i<10;i++)os22.panose[i]=p.parseByte();return os22.ulUnicodeRange1=p.parseULong(),os22.ulUnicodeRange2=p.parseULong(),os22.ulUnicodeRange3=p.parseULong(),os22.ulUnicodeRange4=p.parseULong(),os22.achVendID=String.fromCharCode(p.parseByte(),p.parseByte(),p.parseByte(),p.parseByte()),os22.fsSelection=p.parseUShort(),os22.usFirstCharIndex=p.parseUShort(),os22.usLastCharIndex=p.parseUShort(),os22.sTypoAscender=p.parseShort(),os22.sTypoDescender=p.parseShort(),os22.sTypoLineGap=p.parseShort(),os22.usWinAscent=p.parseUShort(),os22.usWinDescent=p.parseUShort(),os22.version>=1&&(os22.ulCodePageRange1=p.parseULong(),os22.ulCodePageRange2=p.parseULong()),os22.version>=2&&(os22.sxHeight=p.parseShort(),os22.sCapHeight=p.parseShort(),os22.usDefaultChar=p.parseUShort(),os22.usBreakChar=p.parseUShort(),os22.usMaxContent=p.parseUShort()),os22}__name(parseOS2Table,"parseOS2Table");function makeOS2Table(options){return new table.Table("OS/2",[{name:"version",type:"USHORT",value:3},{name:"xAvgCharWidth",type:"SHORT",value:0},{name:"usWeightClass",type:"USHORT",value:0},{name:"usWidthClass",type:"USHORT",value:0},{name:"fsType",type:"USHORT",value:0},{name:"ySubscriptXSize",type:"SHORT",value:650},{name:"ySubscriptYSize",type:"SHORT",value:699},{name:"ySubscriptXOffset",type:"SHORT",value:0},{name:"ySubscriptYOffset",type:"SHORT",value:140},{name:"ySuperscriptXSize",type:"SHORT",value:650},{name:"ySuperscriptYSize",type:"SHORT",value:699},{name:"ySuperscriptXOffset",type:"SHORT",value:0},{name:"ySuperscriptYOffset",type:"SHORT",value:479},{name:"yStrikeoutSize",type:"SHORT",value:49},{name:"yStrikeoutPosition",type:"SHORT",value:258},{name:"sFamilyClass",type:"SHORT",value:0},{name:"bFamilyType",type:"BYTE",value:0},{name:"bSerifStyle",type:"BYTE",value:0},{name:"bWeight",type:"BYTE",value:0},{name:"bProportion",type:"BYTE",value:0},{name:"bContrast",type:"BYTE",value:0},{name:"bStrokeVariation",type:"BYTE",value:0},{name:"bArmStyle",type:"BYTE",value:0},{name:"bLetterform",type:"BYTE",value:0},{name:"bMidline",type:"BYTE",value:0},{name:"bXHeight",type:"BYTE",value:0},{name:"ulUnicodeRange1",type:"ULONG",value:0},{name:"ulUnicodeRange2",type:"ULONG",value:0},{name:"ulUnicodeRange3",type:"ULONG",value:0},{name:"ulUnicodeRange4",type:"ULONG",value:0},{name:"achVendID",type:"CHARARRAY",value:"XXXX"},{name:"fsSelection",type:"USHORT",value:0},{name:"usFirstCharIndex",type:"USHORT",value:0},{name:"usLastCharIndex",type:"USHORT",value:0},{name:"sTypoAscender",type:"SHORT",value:0},{name:"sTypoDescender",type:"SHORT",value:0},{name:"sTypoLineGap",type:"SHORT",value:0},{name:"usWinAscent",type:"USHORT",value:0},{name:"usWinDescent",type:"USHORT",value:0},{name:"ulCodePageRange1",type:"ULONG",value:0},{name:"ulCodePageRange2",type:"ULONG",value:0},{name:"sxHeight",type:"SHORT",value:0},{name:"sCapHeight",type:"SHORT",value:0},{name:"usDefaultChar",type:"USHORT",value:0},{name:"usBreakChar",type:"USHORT",value:0},{name:"usMaxContext",type:"USHORT",value:0}],options)}__name(makeOS2Table,"makeOS2Table");var os2={parse:parseOS2Table,make:makeOS2Table,unicodeRanges,getUnicodeRange};function parsePostTable(data2,start){var post2={},p=new parse.Parser(data2,start);switch(post2.version=p.parseVersion(),post2.italicAngle=p.parseFixed(),post2.underlinePosition=p.parseShort(),post2.underlineThickness=p.parseShort(),post2.isFixedPitch=p.parseULong(),post2.minMemType42=p.parseULong(),post2.maxMemType42=p.parseULong(),post2.minMemType1=p.parseULong(),post2.maxMemType1=p.parseULong(),post2.version){case 1:post2.names=standardNames.slice();break;case 2:post2.numberOfGlyphs=p.parseUShort(),post2.glyphNameIndex=new Array(post2.numberOfGlyphs);for(var i=0;i<post2.numberOfGlyphs;i++)post2.glyphNameIndex[i]=p.parseUShort();post2.names=[];for(var i$1=0;i$1<post2.numberOfGlyphs;i$1++)if(post2.glyphNameIndex[i$1]>=standardNames.length){var nameLength=p.parseChar();post2.names.push(p.parseString(nameLength))}break;case 2.5:post2.numberOfGlyphs=p.parseUShort(),post2.offset=new Array(post2.numberOfGlyphs);for(var i$2=0;i$2<post2.numberOfGlyphs;i$2++)post2.offset[i$2]=p.parseChar();break}return post2}__name(parsePostTable,"parsePostTable");function makePostTable(){return new table.Table("post",[{name:"version",type:"FIXED",value:196608},{name:"italicAngle",type:"FIXED",value:0},{name:"underlinePosition",type:"FWORD",value:0},{name:"underlineThickness",type:"FWORD",value:0},{name:"isFixedPitch",type:"ULONG",value:0},{name:"minMemType42",type:"ULONG",value:0},{name:"maxMemType42",type:"ULONG",value:0},{name:"minMemType1",type:"ULONG",value:0},{name:"maxMemType1",type:"ULONG",value:0}])}__name(makePostTable,"makePostTable");var post={parse:parsePostTable,make:makePostTable},subtableParsers=new Array(9);subtableParsers[1]=__name(function(){var start=this.offset+this.relativeOffset,substFormat=this.parseUShort();if(substFormat===1)return{substFormat:1,coverage:this.parsePointer(Parser.coverage),deltaGlyphId:this.parseUShort()};if(substFormat===2)return{substFormat:2,coverage:this.parsePointer(Parser.coverage),substitute:this.parseOffset16List()};check.assert(!1,"0x"+start.toString(16)+": lookup type 1 format must be 1 or 2.")},"parseLookup1");subtableParsers[2]=__name(function(){var substFormat=this.parseUShort();return check.argument(substFormat===1,"GSUB Multiple Substitution Subtable identifier-format must be 1"),{substFormat,coverage:this.parsePointer(Parser.coverage),sequences:this.parseListOfLists()}},"parseLookup2");subtableParsers[3]=__name(function(){var substFormat=this.parseUShort();return check.argument(substFormat===1,"GSUB Alternate Substitution Subtable identifier-format must be 1"),{substFormat,coverage:this.parsePointer(Parser.coverage),alternateSets:this.parseListOfLists()}},"parseLookup3");subtableParsers[4]=__name(function(){var substFormat=this.parseUShort();return check.argument(substFormat===1,"GSUB ligature table identifier-format must be 1"),{substFormat,coverage:this.parsePointer(Parser.coverage),ligatureSets:this.parseListOfLists(function(){return{ligGlyph:this.parseUShort(),components:this.parseUShortList(this.parseUShort()-1)}})}},"parseLookup4");var lookupRecordDesc={sequenceIndex:Parser.uShort,lookupListIndex:Parser.uShort};subtableParsers[5]=__name(function(){var start=this.offset+this.relativeOffset,substFormat=this.parseUShort();if(substFormat===1)return{substFormat,coverage:this.parsePointer(Parser.coverage),ruleSets:this.parseListOfLists(function(){var glyphCount2=this.parseUShort(),substCount2=this.parseUShort();return{input:this.parseUShortList(glyphCount2-1),lookupRecords:this.parseRecordList(substCount2,lookupRecordDesc)}})};if(substFormat===2)return{substFormat,coverage:this.parsePointer(Parser.coverage),classDef:this.parsePointer(Parser.classDef),classSets:this.parseListOfLists(function(){var glyphCount2=this.parseUShort(),substCount2=this.parseUShort();return{classes:this.parseUShortList(glyphCount2-1),lookupRecords:this.parseRecordList(substCount2,lookupRecordDesc)}})};if(substFormat===3){var glyphCount=this.parseUShort(),substCount=this.parseUShort();return{substFormat,coverages:this.parseList(glyphCount,Parser.pointer(Parser.coverage)),lookupRecords:this.parseRecordList(substCount,lookupRecordDesc)}}check.assert(!1,"0x"+start.toString(16)+": lookup type 5 format must be 1, 2 or 3.")},"parseLookup5");subtableParsers[6]=__name(function(){var start=this.offset+this.relativeOffset,substFormat=this.parseUShort();if(substFormat===1)return{substFormat:1,coverage:this.parsePointer(Parser.coverage),chainRuleSets:this.parseListOfLists(function(){return{backtrack:this.parseUShortList(),input:this.parseUShortList(this.parseShort()-1),lookahead:this.parseUShortList(),lookupRecords:this.parseRecordList(lookupRecordDesc)}})};if(substFormat===2)return{substFormat:2,coverage:this.parsePointer(Parser.coverage),backtrackClassDef:this.parsePointer(Parser.classDef),inputClassDef:this.parsePointer(Parser.classDef),lookaheadClassDef:this.parsePointer(Parser.classDef),chainClassSet:this.parseListOfLists(function(){return{backtrack:this.parseUShortList(),input:this.parseUShortList(this.parseShort()-1),lookahead:this.parseUShortList(),lookupRecords:this.parseRecordList(lookupRecordDesc)}})};if(substFormat===3)return{substFormat:3,backtrackCoverage:this.parseList(Parser.pointer(Parser.coverage)),inputCoverage:this.parseList(Parser.pointer(Parser.coverage)),lookaheadCoverage:this.parseList(Parser.pointer(Parser.coverage)),lookupRecords:this.parseRecordList(lookupRecordDesc)};check.assert(!1,"0x"+start.toString(16)+": lookup type 6 format must be 1, 2 or 3.")},"parseLookup6");subtableParsers[7]=__name(function(){var substFormat=this.parseUShort();check.argument(substFormat===1,"GSUB Extension Substitution subtable identifier-format must be 1");var extensionLookupType=this.parseUShort(),extensionParser=new Parser(this.data,this.offset+this.parseULong());return{substFormat:1,lookupType:extensionLookupType,extension:subtableParsers[extensionLookupType].call(extensionParser)}},"parseLookup7");subtableParsers[8]=__name(function(){var substFormat=this.parseUShort();return check.argument(substFormat===1,"GSUB Reverse Chaining Contextual Single Substitution Subtable identifier-format must be 1"),{substFormat,coverage:this.parsePointer(Parser.coverage),backtrackCoverage:this.parseList(Parser.pointer(Parser.coverage)),lookaheadCoverage:this.parseList(Parser.pointer(Parser.coverage)),substitutes:this.parseUShortList()}},"parseLookup8");function parseGsubTable(data2,start){start=start||0;var p=new Parser(data2,start),tableVersion=p.parseVersion(1);return check.argument(tableVersion===1||tableVersion===1.1,"Unsupported GSUB table version."),tableVersion===1?{version:tableVersion,scripts:p.parseScriptList(),features:p.parseFeatureList(),lookups:p.parseLookupList(subtableParsers)}:{version:tableVersion,scripts:p.parseScriptList(),features:p.parseFeatureList(),lookups:p.parseLookupList(subtableParsers),variations:p.parseFeatureVariationsList()}}__name(parseGsubTable,"parseGsubTable");var subtableMakers=new Array(9);subtableMakers[1]=__name(function(subtable){return subtable.substFormat===1?new table.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new table.Coverage(subtable.coverage)},{name:"deltaGlyphID",type:"USHORT",value:subtable.deltaGlyphId}]):new table.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:2},{name:"coverage",type:"TABLE",value:new table.Coverage(subtable.coverage)}].concat(table.ushortList("substitute",subtable.substitute)))},"makeLookup1");subtableMakers[2]=__name(function(subtable){return check.assert(subtable.substFormat===1,"Lookup type 2 substFormat must be 1."),new table.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new table.Coverage(subtable.coverage)}].concat(table.tableList("seqSet",subtable.sequences,function(sequenceSet){return new table.Table("sequenceSetTable",table.ushortList("sequence",sequenceSet))})))},"makeLookup2");subtableMakers[3]=__name(function(subtable){return check.assert(subtable.substFormat===1,"Lookup type 3 substFormat must be 1."),new table.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new table.Coverage(subtable.coverage)}].concat(table.tableList("altSet",subtable.alternateSets,function(alternateSet){return new table.Table("alternateSetTable",table.ushortList("alternate",alternateSet))})))},"makeLookup3");subtableMakers[4]=__name(function(subtable){return check.assert(subtable.substFormat===1,"Lookup type 4 substFormat must be 1."),new table.Table("substitutionTable",[{name:"substFormat",type:"USHORT",value:1},{name:"coverage",type:"TABLE",value:new table.Coverage(subtable.coverage)}].concat(table.tableList("ligSet",subtable.ligatureSets,function(ligatureSet){return new table.Table("ligatureSetTable",table.tableList("ligature",ligatureSet,function(ligature){return new table.Table("ligatureTable",[{name:"ligGlyph",type:"USHORT",value:ligature.ligGlyph}].concat(table.ushortList("component",ligature.components,ligature.components.length+1)))}))})))},"makeLookup4");subtableMakers[6]=__name(function(subtable){if(subtable.substFormat===1){var returnTable=new table.Table("chainContextTable",[{name:"substFormat",type:"USHORT",value:subtable.substFormat},{name:"coverage",type:"TABLE",value:new table.Coverage(subtable.coverage)}].concat(table.tableList("chainRuleSet",subtable.chainRuleSets,function(chainRuleSet){return new table.Table("chainRuleSetTable",table.tableList("chainRule",chainRuleSet,function(chainRule){var tableData2=table.ushortList("backtrackGlyph",chainRule.backtrack,chainRule.backtrack.length).concat(table.ushortList("inputGlyph",chainRule.input,chainRule.input.length+1)).concat(table.ushortList("lookaheadGlyph",chainRule.lookahead,chainRule.lookahead.length)).concat(table.ushortList("substitution",[],chainRule.lookupRecords.length));return chainRule.lookupRecords.forEach(function(record,i){tableData2=tableData2.concat({name:"sequenceIndex"+i,type:"USHORT",value:record.sequenceIndex}).concat({name:"lookupListIndex"+i,type:"USHORT",value:record.lookupListIndex})}),new table.Table("chainRuleTable",tableData2)}))})));return returnTable}else if(subtable.substFormat===2)check.assert(!1,"lookup type 6 format 2 is not yet supported.");else if(subtable.substFormat===3){var tableData=[{name:"substFormat",type:"USHORT",value:subtable.substFormat}];tableData.push({name:"backtrackGlyphCount",type:"USHORT",value:subtable.backtrackCoverage.length}),subtable.backtrackCoverage.forEach(function(coverage,i){tableData.push({name:"backtrackCoverage"+i,type:"TABLE",value:new table.Coverage(coverage)})}),tableData.push({name:"inputGlyphCount",type:"USHORT",value:subtable.inputCoverage.length}),subtable.inputCoverage.forEach(function(coverage,i){tableData.push({name:"inputCoverage"+i,type:"TABLE",value:new table.Coverage(coverage)})}),tableData.push({name:"lookaheadGlyphCount",type:"USHORT",value:subtable.lookaheadCoverage.length}),subtable.lookaheadCoverage.forEach(function(coverage,i){tableData.push({name:"lookaheadCoverage"+i,type:"TABLE",value:new table.Coverage(coverage)})}),tableData.push({name:"substitutionCount",type:"USHORT",value:subtable.lookupRecords.length}),subtable.lookupRecords.forEach(function(record,i){tableData=tableData.concat({name:"sequenceIndex"+i,type:"USHORT",value:record.sequenceIndex}).concat({name:"lookupListIndex"+i,type:"USHORT",value:record.lookupListIndex})});var returnTable$1=new table.Table("chainContextTable",tableData);return returnTable$1}check.assert(!1,"lookup type 6 format must be 1, 2 or 3.")},"makeLookup6");function makeGsubTable(gsub2){return new table.Table("GSUB",[{name:"version",type:"ULONG",value:65536},{name:"scripts",type:"TABLE",value:new table.ScriptList(gsub2.scripts)},{name:"features",type:"TABLE",value:new table.FeatureList(gsub2.features)},{name:"lookups",type:"TABLE",value:new table.LookupList(gsub2.lookups,subtableMakers)}])}__name(makeGsubTable,"makeGsubTable");var gsub={parse:parseGsubTable,make:makeGsubTable};function parseMetaTable(data2,start){var p=new parse.Parser(data2,start),tableVersion=p.parseULong();check.argument(tableVersion===1,"Unsupported META table version."),p.parseULong(),p.parseULong();for(var numDataMaps=p.parseULong(),tags={},i=0;i<numDataMaps;i++){var tag=p.parseTag(),dataOffset=p.parseULong(),dataLength=p.parseULong(),text=decode.UTF8(data2,start+dataOffset,dataLength);tags[tag]=text}return tags}__name(parseMetaTable,"parseMetaTable");function makeMetaTable(tags){var numTags=Object.keys(tags).length,stringPool="",stringPoolOffset=16+numTags*12,result=new table.Table("meta",[{name:"version",type:"ULONG",value:1},{name:"flags",type:"ULONG",value:0},{name:"offset",type:"ULONG",value:stringPoolOffset},{name:"numTags",type:"ULONG",value:numTags}]);for(var tag in tags){var pos=stringPool.length;stringPool+=tags[tag],result.fields.push({name:"tag "+tag,type:"TAG",value:tag}),result.fields.push({name:"offset "+tag,type:"ULONG",value:stringPoolOffset+pos}),result.fields.push({name:"length "+tag,type:"ULONG",value:tags[tag].length})}return result.fields.push({name:"stringPool",type:"CHARARRAY",value:stringPool}),result}__name(makeMetaTable,"makeMetaTable");var meta={parse:parseMetaTable,make:makeMetaTable};function log2(v){return Math.log(v)/Math.log(2)|0}__name(log2,"log2");function computeCheckSum(bytes){for(;bytes.length%4!==0;)bytes.push(0);for(var sum=0,i=0;i<bytes.length;i+=4)sum+=(bytes[i]<<24)+(bytes[i+1]<<16)+(bytes[i+2]<<8)+bytes[i+3];return sum%=Math.pow(2,32),sum}__name(computeCheckSum,"computeCheckSum");function makeTableRecord(tag,checkSum,offset,length){return new table.Record("Table Record",[{name:"tag",type:"TAG",value:tag!==void 0?tag:""},{name:"checkSum",type:"ULONG",value:checkSum!==void 0?checkSum:0},{name:"offset",type:"ULONG",value:offset!==void 0?offset:0},{name:"length",type:"ULONG",value:length!==void 0?length:0}])}__name(makeTableRecord,"makeTableRecord");function makeSfntTable(tables){var sfnt2=new table.Table("sfnt",[{name:"version",type:"TAG",value:"OTTO"},{name:"numTables",type:"USHORT",value:0},{name:"searchRange",type:"USHORT",value:0},{name:"entrySelector",type:"USHORT",value:0},{name:"rangeShift",type:"USHORT",value:0}]);sfnt2.tables=tables,sfnt2.numTables=tables.length;var highestPowerOf2=Math.pow(2,log2(sfnt2.numTables));sfnt2.searchRange=16*highestPowerOf2,sfnt2.entrySelector=log2(highestPowerOf2),sfnt2.rangeShift=sfnt2.numTables*16-sfnt2.searchRange;for(var recordFields=[],tableFields=[],offset=sfnt2.sizeOf()+makeTableRecord().sizeOf()*sfnt2.numTables;offset%4!==0;)offset+=1,tableFields.push({name:"padding",type:"BYTE",value:0});for(var i=0;i<tables.length;i+=1){var t=tables[i];check.argument(t.tableName.length===4,"Table name"+t.tableName+" is invalid.");var tableLength=t.sizeOf(),tableRecord=makeTableRecord(t.tableName,computeCheckSum(t.encode()),offset,tableLength);for(recordFields.push({name:tableRecord.tag+" Table Record",type:"RECORD",value:tableRecord}),tableFields.push({name:t.tableName+" table",type:"RECORD",value:t}),offset+=tableLength,check.argument(!isNaN(offset),"Something went wrong calculating the offset.");offset%4!==0;)offset+=1,tableFields.push({name:"padding",type:"BYTE",value:0})}return recordFields.sort(function(r1,r2){return r1.value.tag>r2.value.tag?1:-1}),sfnt2.fields=sfnt2.fields.concat(recordFields),sfnt2.fields=sfnt2.fields.concat(tableFields),sfnt2}__name(makeSfntTable,"makeSfntTable");function metricsForChar(font,chars,notFoundMetrics){for(var i=0;i<chars.length;i+=1){var glyphIndex=font.charToGlyphIndex(chars[i]);if(glyphIndex>0){var glyph=font.glyphs.get(glyphIndex);return glyph.getMetrics()}}return notFoundMetrics}__name(metricsForChar,"metricsForChar");function average(vs){for(var sum=0,i=0;i<vs.length;i+=1)sum+=vs[i];return sum/vs.length}__name(average,"average");function fontToSfntTable(font){for(var xMins=[],yMins=[],xMaxs=[],yMaxs=[],advanceWidths=[],leftSideBearings=[],rightSideBearings=[],firstCharIndex,lastCharIndex=0,ulUnicodeRange1=0,ulUnicodeRange2=0,ulUnicodeRange3=0,ulUnicodeRange4=0,i=0;i<font.glyphs.length;i+=1){var glyph=font.glyphs.get(i),unicode2=glyph.unicode|0;if(isNaN(glyph.advanceWidth))throw new Error("Glyph "+glyph.name+" ("+i+"): advanceWidth is not a number.");(firstCharIndex>unicode2||firstCharIndex===void 0)&&unicode2>0&&(firstCharIndex=unicode2),lastCharIndex<unicode2&&(lastCharIndex=unicode2);var position=os2.getUnicodeRange(unicode2);if(position<32)ulUnicodeRange1|=1<<position;else if(position<64)ulUnicodeRange2|=1<<position-32;else if(position<96)ulUnicodeRange3|=1<<position-64;else if(position<123)ulUnicodeRange4|=1<<position-96;else throw new Error("Unicode ranges bits > 123 are reserved for internal usage");if(glyph.name!==".notdef"){var metrics=glyph.getMetrics();xMins.push(metrics.xMin),yMins.push(metrics.yMin),xMaxs.push(metrics.xMax),yMaxs.push(metrics.yMax),leftSideBearings.push(metrics.leftSideBearing),rightSideBearings.push(metrics.rightSideBearing),advanceWidths.push(glyph.advanceWidth)}}var globals={xMin:Math.min.apply(null,xMins),yMin:Math.min.apply(null,yMins),xMax:Math.max.apply(null,xMaxs),yMax:Math.max.apply(null,yMaxs),advanceWidthMax:Math.max.apply(null,advanceWidths),advanceWidthAvg:average(advanceWidths),minLeftSideBearing:Math.min.apply(null,leftSideBearings),maxLeftSideBearing:Math.max.apply(null,leftSideBearings),minRightSideBearing:Math.min.apply(null,rightSideBearings)};globals.ascender=font.ascender,globals.descender=font.descender;var headTable=head.make({flags:3,unitsPerEm:font.unitsPerEm,xMin:globals.xMin,yMin:globals.yMin,xMax:globals.xMax,yMax:globals.yMax,lowestRecPPEM:3,createdTimestamp:font.createdTimestamp}),hheaTable=hhea.make({ascender:globals.ascender,descender:globals.descender,advanceWidthMax:globals.advanceWidthMax,minLeftSideBearing:globals.minLeftSideBearing,minRightSideBearing:globals.minRightSideBearing,xMaxExtent:globals.maxLeftSideBearing+(globals.xMax-globals.xMin),numberOfHMetrics:font.glyphs.length}),maxpTable=maxp.make(font.glyphs.length),os2Table=os2.make(Object.assign({xAvgCharWidth:Math.round(globals.advanceWidthAvg),usFirstCharIndex:firstCharIndex,usLastCharIndex:lastCharIndex,ulUnicodeRange1,ulUnicodeRange2,ulUnicodeRange3,ulUnicodeRange4,sTypoAscender:globals.ascender,sTypoDescender:globals.descender,sTypoLineGap:0,usWinAscent:globals.yMax,usWinDescent:Math.abs(globals.yMin),ulCodePageRange1:1,sxHeight:metricsForChar(font,"xyvw",{yMax:Math.round(globals.ascender/2)}).yMax,sCapHeight:metricsForChar(font,"HIKLEFJMNTZBDPRAGOQSUVWXY",globals).yMax,usDefaultChar:font.hasChar(" ")?32:0,usBreakChar:font.hasChar(" ")?32:0},font.tables.os2)),hmtxTable=hmtx.make(font.glyphs),cmapTable=cmap.make(font.glyphs),englishFamilyName=font.getEnglishName("fontFamily"),englishStyleName=font.getEnglishName("fontSubfamily"),englishFullName=englishFamilyName+" "+englishStyleName,postScriptName=font.getEnglishName("postScriptName");postScriptName||(postScriptName=englishFamilyName.replace(/\s/g,"")+"-"+englishStyleName);var names={};for(var n in font.names)names[n]=font.names[n];names.uniqueID||(names.uniqueID={en:font.getEnglishName("manufacturer")+":"+englishFullName}),names.postScriptName||(names.postScriptName={en:postScriptName}),names.preferredFamily||(names.preferredFamily=font.names.fontFamily),names.preferredSubfamily||(names.preferredSubfamily=font.names.fontSubfamily);var languageTags=[],nameTable=_name.make(names,languageTags),ltagTable=languageTags.length>0?ltag.make(languageTags):void 0,postTable=post.make(),cffTable=cff.make(font.glyphs,{version:font.getEnglishName("version"),fullName:englishFullName,familyName:englishFamilyName,weightName:englishStyleName,postScriptName,unitsPerEm:font.unitsPerEm,fontBBox:[0,globals.yMin,globals.ascender,globals.advanceWidthMax]}),metaTable=font.metas&&Object.keys(font.metas).length>0?meta.make(font.metas):void 0,tables=[headTable,hheaTable,maxpTable,os2Table,nameTable,cmapTable,postTable,cffTable,hmtxTable];ltagTable&&tables.push(ltagTable),font.tables.gsub&&tables.push(gsub.make(font.tables.gsub)),metaTable&&tables.push(metaTable);for(var sfntTable=makeSfntTable(tables),bytes=sfntTable.encode(),checkSum=computeCheckSum(bytes),tableFields=sfntTable.fields,checkSumAdjusted=!1,i$1=0;i$1<tableFields.length;i$1+=1)if(tableFields[i$1].name==="head table"){tableFields[i$1].value.checkSumAdjustment=2981146554-checkSum,checkSumAdjusted=!0;break}if(!checkSumAdjusted)throw new Error("Could not find head table with checkSum to adjust.");return sfntTable}__name(fontToSfntTable,"fontToSfntTable");var sfnt={make:makeSfntTable,fontToTable:fontToSfntTable,computeCheckSum};function searchTag(arr,tag){for(var imin=0,imax=arr.length-1;imin<=imax;){var imid=imin+imax>>>1,val=arr[imid].tag;if(val===tag)return imid;val<tag?imin=imid+1:imax=imid-1}return-imin-1}__name(searchTag,"searchTag");function binSearch(arr,value){for(var imin=0,imax=arr.length-1;imin<=imax;){var imid=imin+imax>>>1,val=arr[imid];if(val===value)return imid;val<value?imin=imid+1:imax=imid-1}return-imin-1}__name(binSearch,"binSearch");function searchRange(ranges,value){for(var range,imin=0,imax=ranges.length-1;imin<=imax;){var imid=imin+imax>>>1;range=ranges[imid];var start=range.start;if(start===value)return range;start<value?imin=imid+1:imax=imid-1}if(imin>0)return range=ranges[imin-1],value>range.end?0:range}__name(searchRange,"searchRange");function Layout(font,tableName){this.font=font,this.tableName=tableName}__name(Layout,"Layout");Layout.prototype={searchTag,binSearch,getTable:__name(function(create){var layout=this.font.tables[this.tableName];return!layout&&create&&(layout=this.font.tables[this.tableName]=this.createDefaultTable()),layout},"getTable"),getScriptNames:__name(function(){var layout=this.getTable();return layout?layout.scripts.map(function(script2){return script2.tag}):[]},"getScriptNames"),getDefaultScriptName:__name(function(){var layout=this.getTable();if(layout){for(var hasLatn=!1,i=0;i<layout.scripts.length;i++){var name=layout.scripts[i].tag;if(name==="DFLT")return name;name==="latn"&&(hasLatn=!0)}if(hasLatn)return"latn"}},"getDefaultScriptName"),getScriptTable:__name(function(script2,create){var layout=this.getTable(create);if(layout){script2=script2||"DFLT";var scripts=layout.scripts,pos=searchTag(layout.scripts,script2);if(pos>=0)return scripts[pos].script;if(create){var scr={tag:script2,script:{defaultLangSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]},langSysRecords:[]}};return scripts.splice(-1-pos,0,scr),scr.script}}},"getScriptTable"),getLangSysTable:__name(function(script2,language,create){var scriptTable=this.getScriptTable(script2,create);if(scriptTable){if(!language||language==="dflt"||language==="DFLT")return scriptTable.defaultLangSys;var pos=searchTag(scriptTable.langSysRecords,language);if(pos>=0)return scriptTable.langSysRecords[pos].langSys;if(create){var langSysRecord={tag:language,langSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]}};return scriptTable.langSysRecords.splice(-1-pos,0,langSysRecord),langSysRecord.langSys}}},"getLangSysTable"),getFeatureTable:__name(function(script2,language,feature,create){var langSysTable2=this.getLangSysTable(script2,language,create);if(langSysTable2){for(var featureRecord,featIndexes=langSysTable2.featureIndexes,allFeatures=this.font.tables[this.tableName].features,i=0;i<featIndexes.length;i++)if(featureRecord=allFeatures[featIndexes[i]],featureRecord.tag===feature)return featureRecord.feature;if(create){var index2=allFeatures.length;return check.assert(index2===0||feature>=allFeatures[index2-1].tag,"Features must be added in alphabetical order."),featureRecord={tag:feature,feature:{params:0,lookupListIndexes:[]}},allFeatures.push(featureRecord),featIndexes.push(index2),featureRecord.feature}}},"getFeatureTable"),getLookupTables:__name(function(script2,language,feature,lookupType,create){var featureTable=this.getFeatureTable(script2,language,feature,create),tables=[];if(featureTable){for(var lookupTable,lookupListIndexes=featureTable.lookupListIndexes,allLookups=this.font.tables[this.tableName].lookups,i=0;i<lookupListIndexes.length;i++)lookupTable=allLookups[lookupListIndexes[i]],lookupTable.lookupType===lookupType&&tables.push(lookupTable);if(tables.length===0&&create){lookupTable={lookupType,lookupFlag:0,subtables:[],markFilteringSet:void 0};var index2=allLookups.length;return allLookups.push(lookupTable),lookupListIndexes.push(index2),[lookupTable]}}return tables},"getLookupTables"),getGlyphClass:__name(function(classDefTable,glyphIndex){switch(classDefTable.format){case 1:return classDefTable.startGlyph<=glyphIndex&&glyphIndex<classDefTable.startGlyph+classDefTable.classes.length?classDefTable.classes[glyphIndex-classDefTable.startGlyph]:0;case 2:var range=searchRange(classDefTable.ranges,glyphIndex);return range?range.classId:0}},"getGlyphClass"),getCoverageIndex:__name(function(coverageTable,glyphIndex){switch(coverageTable.format){case 1:var index2=binSearch(coverageTable.glyphs,glyphIndex);return index2>=0?index2:-1;case 2:var range=searchRange(coverageTable.ranges,glyphIndex);return range?range.index+glyphIndex-range.start:-1}},"getCoverageIndex"),expandCoverage:__name(function(coverageTable){if(coverageTable.format===1)return coverageTable.glyphs;for(var glyphs=[],ranges=coverageTable.ranges,i=0;i<ranges.length;i++)for(var range=ranges[i],start=range.start,end=range.end,j=start;j<=end;j++)glyphs.push(j);return glyphs},"expandCoverage")};function Position(font){Layout.call(this,font,"gpos")}__name(Position,"Position");Position.prototype=Layout.prototype;Position.prototype.init=function(){var script2=this.getDefaultScriptName();this.defaultKerningTables=this.getKerningTables(script2)};Position.prototype.getKerningValue=function(kerningLookups,leftIndex,rightIndex){for(var i=0;i<kerningLookups.length;i++)for(var subtables=kerningLookups[i].subtables,j=0;j<subtables.length;j++){var subtable=subtables[j],covIndex=this.getCoverageIndex(subtable.coverage,leftIndex);if(!(covIndex<0))switch(subtable.posFormat){case 1:for(var pairSet=subtable.pairSets[covIndex],k=0;k<pairSet.length;k++){var pair=pairSet[k];if(pair.secondGlyph===rightIndex)return pair.value1&&pair.value1.xAdvance||0}break;case 2:var class1=this.getGlyphClass(subtable.classDef1,leftIndex),class2=this.getGlyphClass(subtable.classDef2,rightIndex),pair$1=subtable.classRecords[class1][class2];return pair$1.value1&&pair$1.value1.xAdvance||0}}return 0};Position.prototype.getKerningTables=function(script2,language){if(this.font.tables.gpos)return this.getLookupTables(script2,language,"kern",2)};function Substitution(font){Layout.call(this,font,"gsub")}__name(Substitution,"Substitution");function arraysEqual(ar1,ar2){var n=ar1.length;if(n!==ar2.length)return!1;for(var i=0;i<n;i++)if(ar1[i]!==ar2[i])return!1;return!0}__name(arraysEqual,"arraysEqual");function getSubstFormat(lookupTable,format,defaultSubtable){for(var subtables=lookupTable.subtables,i=0;i<subtables.length;i++){var subtable=subtables[i];if(subtable.substFormat===format)return subtable}if(defaultSubtable)return subtables.push(defaultSubtable),defaultSubtable}__name(getSubstFormat,"getSubstFormat");Substitution.prototype=Layout.prototype;Substitution.prototype.createDefaultTable=function(){return{version:1,scripts:[{tag:"DFLT",script:{defaultLangSys:{reserved:0,reqFeatureIndex:65535,featureIndexes:[]},langSysRecords:[]}}],features:[],lookups:[]}};Substitution.prototype.getSingle=function(feature,script2,language){for(var substitutions=[],lookupTables=this.getLookupTables(script2,language,feature,1),idx=0;idx<lookupTables.length;idx++)for(var subtables=lookupTables[idx].subtables,i=0;i<subtables.length;i++){var subtable=subtables[i],glyphs=this.expandCoverage(subtable.coverage),j=void 0;if(subtable.substFormat===1){var delta=subtable.deltaGlyphId;for(j=0;j<glyphs.length;j++){var glyph=glyphs[j];substitutions.push({sub:glyph,by:glyph+delta})}}else{var substitute=subtable.substitute;for(j=0;j<glyphs.length;j++)substitutions.push({sub:glyphs[j],by:substitute[j]})}}return substitutions};Substitution.prototype.getMultiple=function(feature,script2,language){for(var substitutions=[],lookupTables=this.getLookupTables(script2,language,feature,2),idx=0;idx<lookupTables.length;idx++)for(var subtables=lookupTables[idx].subtables,i=0;i<subtables.length;i++){var subtable=subtables[i],glyphs=this.expandCoverage(subtable.coverage),j=void 0;for(j=0;j<glyphs.length;j++){var glyph=glyphs[j],replacements=subtable.sequences[j];substitutions.push({sub:glyph,by:replacements})}}return substitutions};Substitution.prototype.getAlternates=function(feature,script2,language){for(var alternates=[],lookupTables=this.getLookupTables(script2,language,feature,3),idx=0;idx<lookupTables.length;idx++)for(var subtables=lookupTables[idx].subtables,i=0;i<subtables.length;i++)for(var subtable=subtables[i],glyphs=this.expandCoverage(subtable.coverage),alternateSets=subtable.alternateSets,j=0;j<glyphs.length;j++)alternates.push({sub:glyphs[j],by:alternateSets[j]});return alternates};Substitution.prototype.getLigatures=function(feature,script2,language){for(var ligatures=[],lookupTables=this.getLookupTables(script2,language,feature,4),idx=0;idx<lookupTables.length;idx++)for(var subtables=lookupTables[idx].subtables,i=0;i<subtables.length;i++)for(var subtable=subtables[i],glyphs=this.expandCoverage(subtable.coverage),ligatureSets=subtable.ligatureSets,j=0;j<glyphs.length;j++)for(var startGlyph=glyphs[j],ligSet=ligatureSets[j],k=0;k<ligSet.length;k++){var lig=ligSet[k];ligatures.push({sub:[startGlyph].concat(lig.components),by:lig.ligGlyph})}return ligatures};Substitution.prototype.addSingle=function(feature,substitution,script2,language){var lookupTable=this.getLookupTables(script2,language,feature,1,!0)[0],subtable=getSubstFormat(lookupTable,2,{substFormat:2,coverage:{format:1,glyphs:[]},substitute:[]});check.assert(subtable.coverage.format===1,"Single: unable to modify coverage table format "+subtable.coverage.format);var coverageGlyph=substitution.sub,pos=this.binSearch(subtable.coverage.glyphs,coverageGlyph);pos<0&&(pos=-1-pos,subtable.coverage.glyphs.splice(pos,0,coverageGlyph),subtable.substitute.splice(pos,0,0)),subtable.substitute[pos]=substitution.by};Substitution.prototype.addMultiple=function(feature,substitution,script2,language){check.assert(substitution.by instanceof Array&&substitution.by.length>1,'Multiple: "by" must be an array of two or more ids');var lookupTable=this.getLookupTables(script2,language,feature,2,!0)[0],subtable=getSubstFormat(lookupTable,1,{substFormat:1,coverage:{format:1,glyphs:[]},sequences:[]});check.assert(subtable.coverage.format===1,"Multiple: unable to modify coverage table format "+subtable.coverage.format);var coverageGlyph=substitution.sub,pos=this.binSearch(subtable.coverage.glyphs,coverageGlyph);pos<0&&(pos=-1-pos,subtable.coverage.glyphs.splice(pos,0,coverageGlyph),subtable.sequences.splice(pos,0,0)),subtable.sequences[pos]=substitution.by};Substitution.prototype.addAlternate=function(feature,substitution,script2,language){var lookupTable=this.getLookupTables(script2,language,feature,3,!0)[0],subtable=getSubstFormat(lookupTable,1,{substFormat:1,coverage:{format:1,glyphs:[]},alternateSets:[]});check.assert(subtable.coverage.format===1,"Alternate: unable to modify coverage table format "+subtable.coverage.format);var coverageGlyph=substitution.sub,pos=this.binSearch(subtable.coverage.glyphs,coverageGlyph);pos<0&&(pos=-1-pos,subtable.coverage.glyphs.splice(pos,0,coverageGlyph),subtable.alternateSets.splice(pos,0,0)),subtable.alternateSets[pos]=substitution.by};Substitution.prototype.addLigature=function(feature,ligature,script2,language){var lookupTable=this.getLookupTables(script2,language,feature,4,!0)[0],subtable=lookupTable.subtables[0];subtable||(subtable={substFormat:1,coverage:{format:1,glyphs:[]},ligatureSets:[]},lookupTable.subtables[0]=subtable),check.assert(subtable.coverage.format===1,"Ligature: unable to modify coverage table format "+subtable.coverage.format);var coverageGlyph=ligature.sub[0],ligComponents=ligature.sub.slice(1),ligatureTable={ligGlyph:ligature.by,components:ligComponents},pos=this.binSearch(subtable.coverage.glyphs,coverageGlyph);if(pos>=0){for(var ligatureSet=subtable.ligatureSets[pos],i=0;i<ligatureSet.length;i++)if(arraysEqual(ligatureSet[i].components,ligComponents))return;ligatureSet.push(ligatureTable)}else pos=-1-pos,subtable.coverage.glyphs.splice(pos,0,coverageGlyph),subtable.ligatureSets.splice(pos,0,[ligatureTable])};Substitution.prototype.getFeature=function(feature,script2,language){if(/ss\d\d/.test(feature))return this.getSingle(feature,script2,language);switch(feature){case"aalt":case"salt":return this.getSingle(feature,script2,language).concat(this.getAlternates(feature,script2,language));case"dlig":case"liga":case"rlig":return this.getLigatures(feature,script2,language);case"ccmp":return this.getMultiple(feature,script2,language).concat(this.getLigatures(feature,script2,language));case"stch":return this.getMultiple(feature,script2,language)}};Substitution.prototype.add=function(feature,sub,script2,language){if(/ss\d\d/.test(feature))return this.addSingle(feature,sub,script2,language);switch(feature){case"aalt":case"salt":return typeof sub.by=="number"?this.addSingle(feature,sub,script2,language):this.addAlternate(feature,sub,script2,language);case"dlig":case"liga":case"rlig":return this.addLigature(feature,sub,script2,language);case"ccmp":return sub.by instanceof Array?this.addMultiple(feature,sub,script2,language):this.addLigature(feature,sub,script2,language)}};function isBrowser(){return typeof window<"u"}__name(isBrowser,"isBrowser");function arrayBufferToNodeBuffer(ab){for(var buffer=new Buffer(ab.byteLength),view=new Uint8Array(ab),i=0;i<buffer.length;++i)buffer[i]=view[i];return buffer}__name(arrayBufferToNodeBuffer,"arrayBufferToNodeBuffer");function checkArgument(expression,message){if(!expression)throw message}__name(checkArgument,"checkArgument");function parseGlyphCoordinate(p,flag,previousValue,shortVectorBitMask,sameBitMask){var v;return(flag&shortVectorBitMask)>0?(v=p.parseByte(),flag&sameBitMask||(v=-v),v=previousValue+v):(flag&sameBitMask)>0?v=previousValue:v=previousValue+p.parseShort(),v}__name(parseGlyphCoordinate,"parseGlyphCoordinate");function parseGlyph(glyph,data2,start){var p=new parse.Parser(data2,start);glyph.numberOfContours=p.parseShort(),glyph._xMin=p.parseShort(),glyph._yMin=p.parseShort(),glyph._xMax=p.parseShort(),glyph._yMax=p.parseShort();var flags,flag;if(glyph.numberOfContours>0){for(var endPointIndices=glyph.endPointIndices=[],i=0;i<glyph.numberOfContours;i+=1)endPointIndices.push(p.parseUShort());glyph.instructionLength=p.parseUShort(),glyph.instructions=[];for(var i$1=0;i$1<glyph.instructionLength;i$1+=1)glyph.instructions.push(p.parseByte());var numberOfCoordinates=endPointIndices[endPointIndices.length-1]+1;flags=[];for(var i$2=0;i$2<numberOfCoordinates;i$2+=1)if(flag=p.parseByte(),flags.push(flag),(flag&8)>0)for(var repeatCount=p.parseByte(),j=0;j<repeatCount;j+=1)flags.push(flag),i$2+=1;if(check.argument(flags.length===numberOfCoordinates,"Bad flags."),endPointIndices.length>0){var points=[],point;if(numberOfCoordinates>0){for(var i$3=0;i$3<numberOfCoordinates;i$3+=1)flag=flags[i$3],point={},point.onCurve=!!(flag&1),point.lastPointOfContour=endPointIndices.indexOf(i$3)>=0,points.push(point);for(var px=0,i$4=0;i$4<numberOfCoordinates;i$4+=1)flag=flags[i$4],point=points[i$4],point.x=parseGlyphCoordinate(p,flag,px,2,16),px=point.x;for(var py=0,i$5=0;i$5<numberOfCoordinates;i$5+=1)flag=flags[i$5],point=points[i$5],point.y=parseGlyphCoordinate(p,flag,py,4,32),py=point.y}glyph.points=points}else glyph.points=[]}else if(glyph.numberOfContours===0)glyph.points=[];else{glyph.isComposite=!0,glyph.points=[],glyph.components=[];for(var moreComponents=!0;moreComponents;){flags=p.parseUShort();var component={glyphIndex:p.parseUShort(),xScale:1,scale01:0,scale10:0,yScale:1,dx:0,dy:0};(flags&1)>0?(flags&2)>0?(component.dx=p.parseShort(),component.dy=p.parseShort()):component.matchedPoints=[p.parseUShort(),p.parseUShort()]:(flags&2)>0?(component.dx=p.parseChar(),component.dy=p.parseChar()):component.matchedPoints=[p.parseByte(),p.parseByte()],(flags&8)>0?component.xScale=component.yScale=p.parseF2Dot14():(flags&64)>0?(component.xScale=p.parseF2Dot14(),component.yScale=p.parseF2Dot14()):(flags&128)>0&&(component.xScale=p.parseF2Dot14(),component.scale01=p.parseF2Dot14(),component.scale10=p.parseF2Dot14(),component.yScale=p.parseF2Dot14()),glyph.components.push(component),moreComponents=!!(flags&32)}if(flags&256){glyph.instructionLength=p.parseUShort(),glyph.instructions=[];for(var i$6=0;i$6<glyph.instructionLength;i$6+=1)glyph.instructions.push(p.parseByte())}}}__name(parseGlyph,"parseGlyph");function transformPoints(points,transform){for(var newPoints=[],i=0;i<points.length;i+=1){var pt=points[i],newPt={x:transform.xScale*pt.x+transform.scale01*pt.y+transform.dx,y:transform.scale10*pt.x+transform.yScale*pt.y+transform.dy,onCurve:pt.onCurve,lastPointOfContour:pt.lastPointOfContour};newPoints.push(newPt)}return newPoints}__name(transformPoints,"transformPoints");function getContours(points){for(var contours=[],currentContour=[],i=0;i<points.length;i+=1){var pt=points[i];currentContour.push(pt),pt.lastPointOfContour&&(contours.push(currentContour),currentContour=[])}return check.argument(currentContour.length===0,"There are still points left in the current contour."),contours}__name(getContours,"getContours");function getPath(points){var p=new Path$1;if(!points)return p;for(var contours=getContours(points),contourIndex=0;contourIndex<contours.length;++contourIndex){var contour=contours[contourIndex],prev=null,curr=contour[contour.length-1],next=contour[0];if(curr.onCurve)p.moveTo(curr.x,curr.y);else if(next.onCurve)p.moveTo(next.x,next.y);else{var start={x:(curr.x+next.x)*.5,y:(curr.y+next.y)*.5};p.moveTo(start.x,start.y)}for(var i=0;i<contour.length;++i)if(prev=curr,curr=next,next=contour[(i+1)%contour.length],curr.onCurve)p.lineTo(curr.x,curr.y);else{var next2=next;prev.onCurve||((curr.x+prev.x)*.5,(curr.y+prev.y)*.5),next.onCurve||(next2={x:(curr.x+next.x)*.5,y:(curr.y+next.y)*.5}),p.quadraticCurveTo(curr.x,curr.y,next2.x,next2.y)}p.closePath()}return p}__name(getPath,"getPath");function buildPath(glyphs,glyph){if(glyph.isComposite)for(var j=0;j<glyph.components.length;j+=1){var component=glyph.components[j],componentGlyph=glyphs.get(component.glyphIndex);if(componentGlyph.getPath(),componentGlyph.points){var transformedPoints=void 0;if(component.matchedPoints===void 0)transformedPoints=transformPoints(componentGlyph.points,component);else{if(component.matchedPoints[0]>glyph.points.length-1||component.matchedPoints[1]>componentGlyph.points.length-1)throw Error("Matched points out of range in "+glyph.name);var firstPt=glyph.points[component.matchedPoints[0]],secondPt=componentGlyph.points[component.matchedPoints[1]],transform={xScale:component.xScale,scale01:component.scale01,scale10:component.scale10,yScale:component.yScale,dx:0,dy:0};secondPt=transformPoints([secondPt],transform)[0],transform.dx=firstPt.x-secondPt.x,transform.dy=firstPt.y-secondPt.y,transformedPoints=transformPoints(componentGlyph.points,transform)}glyph.points=glyph.points.concat(transformedPoints)}}return getPath(glyph.points)}__name(buildPath,"buildPath");function parseGlyfTableAll(data2,start,loca2,font){for(var glyphs=new glyphset.GlyphSet(font),i=0;i<loca2.length-1;i+=1){var offset=loca2[i],nextOffset=loca2[i+1];offset!==nextOffset?glyphs.push(i,glyphset.ttfGlyphLoader(font,i,parseGlyph,data2,start+offset,buildPath)):glyphs.push(i,glyphset.glyphLoader(font,i))}return glyphs}__name(parseGlyfTableAll,"parseGlyfTableAll");function parseGlyfTableOnLowMemory(data2,start,loca2,font){var glyphs=new glyphset.GlyphSet(font);return font._push=function(i){var offset=loca2[i],nextOffset=loca2[i+1];offset!==nextOffset?glyphs.push(i,glyphset.ttfGlyphLoader(font,i,parseGlyph,data2,start+offset,buildPath)):glyphs.push(i,glyphset.glyphLoader(font,i))},glyphs}__name(parseGlyfTableOnLowMemory,"parseGlyfTableOnLowMemory");function parseGlyfTable(data2,start,loca2,font,opt){return opt.lowMemory?parseGlyfTableOnLowMemory(data2,start,loca2,font):parseGlyfTableAll(data2,start,loca2,font)}__name(parseGlyfTable,"parseGlyfTable");var glyf={getPath,parse:parseGlyfTable},instructionTable,exec,execGlyph,execComponent;function Hinting(font){this.font=font,this.getCommands=function(hPoints){return glyf.getPath(hPoints).commands},this._fpgmState=this._prepState=void 0,this._errorState=0}__name(Hinting,"Hinting");function roundOff(v){return v}__name(roundOff,"roundOff");function roundToGrid(v){return Math.sign(v)*Math.round(Math.abs(v))}__name(roundToGrid,"roundToGrid");function roundToDoubleGrid(v){return Math.sign(v)*Math.round(Math.abs(v*2))/2}__name(roundToDoubleGrid,"roundToDoubleGrid");function roundToHalfGrid(v){return Math.sign(v)*(Math.round(Math.abs(v)+.5)-.5)}__name(roundToHalfGrid,"roundToHalfGrid");function roundUpToGrid(v){return Math.sign(v)*Math.ceil(Math.abs(v))}__name(roundUpToGrid,"roundUpToGrid");function roundDownToGrid(v){return Math.sign(v)*Math.floor(Math.abs(v))}__name(roundDownToGrid,"roundDownToGrid");var roundSuper=__name(function(v){var period=this.srPeriod,phase=this.srPhase,threshold=this.srThreshold,sign=1;return v<0&&(v=-v,sign=-1),v+=threshold-phase,v=Math.trunc(v/period)*period,v+=phase,v<0?phase*sign:v*sign},"roundSuper"),xUnitVector={x:1,y:0,axis:"x",distance:__name(function(p1,p2,o1,o2){return(o1?p1.xo:p1.x)-(o2?p2.xo:p2.x)},"distance"),interpolate:__name(function(p,rp1,rp2,pv){var do1,do2,doa1,doa2,dm1,dm2,dt;if(!pv||pv===this){if(do1=p.xo-rp1.xo,do2=p.xo-rp2.xo,dm1=rp1.x-rp1.xo,dm2=rp2.x-rp2.xo,doa1=Math.abs(do1),doa2=Math.abs(do2),dt=doa1+doa2,dt===0){p.x=p.xo+(dm1+dm2)/2;return}p.x=p.xo+(dm1*doa2+dm2*doa1)/dt;return}if(do1=pv.distance(p,rp1,!0,!0),do2=pv.distance(p,rp2,!0,!0),dm1=pv.distance(rp1,rp1,!1,!0),dm2=pv.distance(rp2,rp2,!1,!0),doa1=Math.abs(do1),doa2=Math.abs(do2),dt=doa1+doa2,dt===0){xUnitVector.setRelative(p,p,(dm1+dm2)/2,pv,!0);return}xUnitVector.setRelative(p,p,(dm1*doa2+dm2*doa1)/dt,pv,!0)},"interpolate"),normalSlope:Number.NEGATIVE_INFINITY,setRelative:__name(function(p,rp,d,pv,org){if(!pv||pv===this){p.x=(org?rp.xo:rp.x)+d;return}var rpx=org?rp.xo:rp.x,rpy=org?rp.yo:rp.y,rpdx=rpx+d*pv.x,rpdy=rpy+d*pv.y;p.x=rpdx+(p.y-rpdy)/pv.normalSlope},"setRelative"),slope:0,touch:__name(function(p){p.xTouched=!0},"touch"),touched:__name(function(p){return p.xTouched},"touched"),untouch:__name(function(p){p.xTouched=!1},"untouch")},yUnitVector={x:0,y:1,axis:"y",distance:__name(function(p1,p2,o1,o2){return(o1?p1.yo:p1.y)-(o2?p2.yo:p2.y)},"distance"),interpolate:__name(function(p,rp1,rp2,pv){var do1,do2,doa1,doa2,dm1,dm2,dt;if(!pv||pv===this){if(do1=p.yo-rp1.yo,do2=p.yo-rp2.yo,dm1=rp1.y-rp1.yo,dm2=rp2.y-rp2.yo,doa1=Math.abs(do1),doa2=Math.abs(do2),dt=doa1+doa2,dt===0){p.y=p.yo+(dm1+dm2)/2;return}p.y=p.yo+(dm1*doa2+dm2*doa1)/dt;return}if(do1=pv.distance(p,rp1,!0,!0),do2=pv.distance(p,rp2,!0,!0),dm1=pv.distance(rp1,rp1,!1,!0),dm2=pv.distance(rp2,rp2,!1,!0),doa1=Math.abs(do1),doa2=Math.abs(do2),dt=doa1+doa2,dt===0){yUnitVector.setRelative(p,p,(dm1+dm2)/2,pv,!0);return}yUnitVector.setRelative(p,p,(dm1*doa2+dm2*doa1)/dt,pv,!0)},"interpolate"),normalSlope:0,setRelative:__name(function(p,rp,d,pv,org){if(!pv||pv===this){p.y=(org?rp.yo:rp.y)+d;return}var rpx=org?rp.xo:rp.x,rpy=org?rp.yo:rp.y,rpdx=rpx+d*pv.x,rpdy=rpy+d*pv.y;p.y=rpdy+pv.normalSlope*(p.x-rpdx)},"setRelative"),slope:Number.POSITIVE_INFINITY,touch:__name(function(p){p.yTouched=!0},"touch"),touched:__name(function(p){return p.yTouched},"touched"),untouch:__name(function(p){p.yTouched=!1},"untouch")};Object.freeze(xUnitVector);Object.freeze(yUnitVector);function UnitVector(x,y){this.x=x,this.y=y,this.axis=void 0,this.slope=y/x,this.normalSlope=-x/y,Object.freeze(this)}__name(UnitVector,"UnitVector");UnitVector.prototype.distance=function(p1,p2,o1,o2){return this.x*xUnitVector.distance(p1,p2,o1,o2)+this.y*yUnitVector.distance(p1,p2,o1,o2)};UnitVector.prototype.interpolate=function(p,rp1,rp2,pv){var dm1,dm2,do1,do2,doa1,doa2,dt;if(do1=pv.distance(p,rp1,!0,!0),do2=pv.distance(p,rp2,!0,!0),dm1=pv.distance(rp1,rp1,!1,!0),dm2=pv.distance(rp2,rp2,!1,!0),doa1=Math.abs(do1),doa2=Math.abs(do2),dt=doa1+doa2,dt===0){this.setRelative(p,p,(dm1+dm2)/2,pv,!0);return}this.setRelative(p,p,(dm1*doa2+dm2*doa1)/dt,pv,!0)};UnitVector.prototype.setRelative=function(p,rp,d,pv,org){pv=pv||this;var rpx=org?rp.xo:rp.x,rpy=org?rp.yo:rp.y,rpdx=rpx+d*pv.x,rpdy=rpy+d*pv.y,pvns=pv.normalSlope,fvs=this.slope,px=p.x,py=p.y;p.x=(fvs*px-pvns*rpdx+rpdy-py)/(fvs-pvns),p.y=fvs*(p.x-px)+py};UnitVector.prototype.touch=function(p){p.xTouched=!0,p.yTouched=!0};function getUnitVector(x,y){var d=Math.sqrt(x*x+y*y);return x/=d,y/=d,x===1&&y===0?xUnitVector:x===0&&y===1?yUnitVector:new UnitVector(x,y)}__name(getUnitVector,"getUnitVector");function HPoint(x,y,lastPointOfContour,onCurve){this.x=this.xo=Math.round(x*64)/64,this.y=this.yo=Math.round(y*64)/64,this.lastPointOfContour=lastPointOfContour,this.onCurve=onCurve,this.prevPointOnContour=void 0,this.nextPointOnContour=void 0,this.xTouched=!1,this.yTouched=!1,Object.preventExtensions(this)}__name(HPoint,"HPoint");HPoint.prototype.nextTouched=function(v){for(var p=this.nextPointOnContour;!v.touched(p)&&p!==this;)p=p.nextPointOnContour;return p};HPoint.prototype.prevTouched=function(v){for(var p=this.prevPointOnContour;!v.touched(p)&&p!==this;)p=p.prevPointOnContour;return p};var HPZero=Object.freeze(new HPoint(0,0)),defaultState={cvCutIn:17/16,deltaBase:9,deltaShift:.125,loop:1,minDis:1,autoFlip:!0};function State(env,prog){switch(this.env=env,this.stack=[],this.prog=prog,env){case"glyf":this.zp0=this.zp1=this.zp2=1,this.rp0=this.rp1=this.rp2=0;case"prep":this.fv=this.pv=this.dpv=xUnitVector,this.round=roundToGrid}}__name(State,"State");Hinting.prototype.exec=function(glyph,ppem){if(typeof ppem!="number")throw new Error("Point size is not a number!");if(!(this._errorState>2)){var font=this.font,prepState=this._prepState;if(!prepState||prepState.ppem!==ppem){var fpgmState=this._fpgmState;if(!fpgmState){State.prototype=defaultState,fpgmState=this._fpgmState=new State("fpgm",font.tables.fpgm),fpgmState.funcs=[],fpgmState.font=font,exports.DEBUG&&(console.log("---EXEC FPGM---"),fpgmState.step=-1);try{exec(fpgmState)}catch(e){console.log("Hinting error in FPGM:"+e),this._errorState=3;return}}State.prototype=fpgmState,prepState=this._prepState=new State("prep",font.tables.prep),prepState.ppem=ppem;var oCvt=font.tables.cvt;if(oCvt)for(var cvt=prepState.cvt=new Array(oCvt.length),scale=ppem/font.unitsPerEm,c=0;c<oCvt.length;c++)cvt[c]=oCvt[c]*scale;else prepState.cvt=[];exports.DEBUG&&(console.log("---EXEC PREP---"),prepState.step=-1);try{exec(prepState)}catch(e){this._errorState<2&&console.log("Hinting error in PREP:"+e),this._errorState=2}}if(!(this._errorState>1))try{return execGlyph(glyph,prepState)}catch(e){this._errorState<1&&(console.log("Hinting error:"+e),console.log("Note: further hinting errors are silenced")),this._errorState=1;return}}};execGlyph=__name(function(glyph,prepState){var xScale=prepState.ppem/prepState.font.unitsPerEm,yScale=xScale,components=glyph.components,contours,gZone,state;if(State.prototype=prepState,!components)state=new State("glyf",glyph.instructions),exports.DEBUG&&(console.log("---EXEC GLYPH---"),state.step=-1),execComponent(glyph,state,xScale,yScale),gZone=state.gZone;else{var font=prepState.font;gZone=[],contours=[];for(var i=0;i<components.length;i++){var c=components[i],cg=font.glyphs.get(c.glyphIndex);state=new State("glyf",cg.instructions),exports.DEBUG&&(console.log("---EXEC COMP "+i+"---"),state.step=-1),execComponent(cg,state,xScale,yScale);for(var dx=Math.round(c.dx*xScale),dy=Math.round(c.dy*yScale),gz=state.gZone,cc=state.contours,pi=0;pi<gz.length;pi++){var p=gz[pi];p.xTouched=p.yTouched=!1,p.xo=p.x=p.x+dx,p.yo=p.y=p.y+dy}var gLen=gZone.length;gZone.push.apply(gZone,gz);for(var j=0;j<cc.length;j++)contours.push(cc[j]+gLen)}glyph.instructions&&!state.inhibitGridFit&&(state=new State("glyf",glyph.instructions),state.gZone=state.z0=state.z1=state.z2=gZone,state.contours=contours,gZone.push(new HPoint(0,0),new HPoint(Math.round(glyph.advanceWidth*xScale),0)),exports.DEBUG&&(console.log("---EXEC COMPOSITE---"),state.step=-1),exec(state),gZone.length-=2)}return gZone},"execGlyph");execComponent=__name(function(glyph,state,xScale,yScale){for(var points=glyph.points||[],pLen=points.length,gZone=state.gZone=state.z0=state.z1=state.z2=[],contours=state.contours=[],cp,i=0;i<pLen;i++)cp=points[i],gZone[i]=new HPoint(cp.x*xScale,cp.y*yScale,cp.lastPointOfContour,cp.onCurve);for(var sp,np,i$1=0;i$1<pLen;i$1++)cp=gZone[i$1],sp||(sp=cp,contours.push(i$1)),cp.lastPointOfContour?(cp.nextPointOnContour=sp,sp.prevPointOnContour=cp,sp=void 0):(np=gZone[i$1+1],cp.nextPointOnContour=np,np.prevPointOnContour=cp);if(!state.inhibitGridFit){if(exports.DEBUG){console.log("PROCESSING GLYPH",state.stack);for(var i$2=0;i$2<pLen;i$2++)console.log(i$2,gZone[i$2].x,gZone[i$2].y)}if(gZone.push(new HPoint(0,0),new HPoint(Math.round(glyph.advanceWidth*xScale),0)),exec(state),gZone.length-=2,exports.DEBUG){console.log("FINISHED GLYPH",state.stack);for(var i$3=0;i$3<pLen;i$3++)console.log(i$3,gZone[i$3].x,gZone[i$3].y)}}},"execComponent");exec=__name(function(state){var prog=state.prog;if(prog){var pLen=prog.length,ins;for(state.ip=0;state.ip<pLen;state.ip++){if(exports.DEBUG&&state.step++,ins=instructionTable[prog[state.ip]],!ins)throw new Error("unknown instruction: 0x"+Number(prog[state.ip]).toString(16));ins(state)}}},"exec");function initTZone(state){for(var tZone=state.tZone=new Array(state.gZone.length),i=0;i<tZone.length;i++)tZone[i]=new HPoint(0,0)}__name(initTZone,"initTZone");function skip(state,handleElse){var prog=state.prog,ip=state.ip,nesting=1,ins;do if(ins=prog[++ip],ins===88)nesting++;else if(ins===89)nesting--;else if(ins===64)ip+=prog[ip+1]+1;else if(ins===65)ip+=2*prog[ip+1]+1;else if(ins>=176&&ins<=183)ip+=ins-176+1;else if(ins>=184&&ins<=191)ip+=(ins-184+1)*2;else if(handleElse&&nesting===1&&ins===27)break;while(nesting>0);state.ip=ip}__name(skip,"skip");function SVTCA(v,state){exports.DEBUG&&console.log(state.step,"SVTCA["+v.axis+"]"),state.fv=state.pv=state.dpv=v}__name(SVTCA,"SVTCA");function SPVTCA(v,state){exports.DEBUG&&console.log(state.step,"SPVTCA["+v.axis+"]"),state.pv=state.dpv=v}__name(SPVTCA,"SPVTCA");function SFVTCA(v,state){exports.DEBUG&&console.log(state.step,"SFVTCA["+v.axis+"]"),state.fv=v}__name(SFVTCA,"SFVTCA");function SPVTL(a,state){var stack=state.stack,p2i=stack.pop(),p1i=stack.pop(),p2=state.z2[p2i],p1=state.z1[p1i];exports.DEBUG&&console.log("SPVTL["+a+"]",p2i,p1i);var dx,dy;a?(dx=p2.y-p1.y,dy=p1.x-p2.x):(dx=p1.x-p2.x,dy=p1.y-p2.y),state.pv=state.dpv=getUnitVector(dx,dy)}__name(SPVTL,"SPVTL");function SFVTL(a,state){var stack=state.stack,p2i=stack.pop(),p1i=stack.pop(),p2=state.z2[p2i],p1=state.z1[p1i];exports.DEBUG&&console.log("SFVTL["+a+"]",p2i,p1i);var dx,dy;a?(dx=p2.y-p1.y,dy=p1.x-p2.x):(dx=p1.x-p2.x,dy=p1.y-p2.y),state.fv=getUnitVector(dx,dy)}__name(SFVTL,"SFVTL");function SPVFS(state){var stack=state.stack,y=stack.pop(),x=stack.pop();exports.DEBUG&&console.log(state.step,"SPVFS[]",y,x),state.pv=state.dpv=getUnitVector(x,y)}__name(SPVFS,"SPVFS");function SFVFS(state){var stack=state.stack,y=stack.pop(),x=stack.pop();exports.DEBUG&&console.log(state.step,"SPVFS[]",y,x),state.fv=getUnitVector(x,y)}__name(SFVFS,"SFVFS");function GPV(state){var stack=state.stack,pv=state.pv;exports.DEBUG&&console.log(state.step,"GPV[]"),stack.push(pv.x*16384),stack.push(pv.y*16384)}__name(GPV,"GPV");function GFV(state){var stack=state.stack,fv=state.fv;exports.DEBUG&&console.log(state.step,"GFV[]"),stack.push(fv.x*16384),stack.push(fv.y*16384)}__name(GFV,"GFV");function SFVTPV(state){state.fv=state.pv,exports.DEBUG&&console.log(state.step,"SFVTPV[]")}__name(SFVTPV,"SFVTPV");function ISECT(state){var stack=state.stack,pa0i=stack.pop(),pa1i=stack.pop(),pb0i=stack.pop(),pb1i=stack.pop(),pi=stack.pop(),z0=state.z0,z1=state.z1,pa0=z0[pa0i],pa1=z0[pa1i],pb0=z1[pb0i],pb1=z1[pb1i],p=state.z2[pi];exports.DEBUG&&console.log("ISECT[], ",pa0i,pa1i,pb0i,pb1i,pi);var x1=pa0.x,y1=pa0.y,x2=pa1.x,y2=pa1.y,x3=pb0.x,y3=pb0.y,x4=pb1.x,y4=pb1.y,div=(x1-x2)*(y3-y4)-(y1-y2)*(x3-x4),f1=x1*y2-y1*x2,f2=x3*y4-y3*x4;p.x=(f1*(x3-x4)-f2*(x1-x2))/div,p.y=(f1*(y3-y4)-f2*(y1-y2))/div}__name(ISECT,"ISECT");function SRP0(state){state.rp0=state.stack.pop(),exports.DEBUG&&console.log(state.step,"SRP0[]",state.rp0)}__name(SRP0,"SRP0");function SRP1(state){state.rp1=state.stack.pop(),exports.DEBUG&&console.log(state.step,"SRP1[]",state.rp1)}__name(SRP1,"SRP1");function SRP2(state){state.rp2=state.stack.pop(),exports.DEBUG&&console.log(state.step,"SRP2[]",state.rp2)}__name(SRP2,"SRP2");function SZP0(state){var n=state.stack.pop();switch(exports.DEBUG&&console.log(state.step,"SZP0[]",n),state.zp0=n,n){case 0:state.tZone||initTZone(state),state.z0=state.tZone;break;case 1:state.z0=state.gZone;break;default:throw new Error("Invalid zone pointer")}}__name(SZP0,"SZP0");function SZP1(state){var n=state.stack.pop();switch(exports.DEBUG&&console.log(state.step,"SZP1[]",n),state.zp1=n,n){case 0:state.tZone||initTZone(state),state.z1=state.tZone;break;case 1:state.z1=state.gZone;break;default:throw new Error("Invalid zone pointer")}}__name(SZP1,"SZP1");function SZP2(state){var n=state.stack.pop();switch(exports.DEBUG&&console.log(state.step,"SZP2[]",n),state.zp2=n,n){case 0:state.tZone||initTZone(state),state.z2=state.tZone;break;case 1:state.z2=state.gZone;break;default:throw new Error("Invalid zone pointer")}}__name(SZP2,"SZP2");function SZPS(state){var n=state.stack.pop();switch(exports.DEBUG&&console.log(state.step,"SZPS[]",n),state.zp0=state.zp1=state.zp2=n,n){case 0:state.tZone||initTZone(state),state.z0=state.z1=state.z2=state.tZone;break;case 1:state.z0=state.z1=state.z2=state.gZone;break;default:throw new Error("Invalid zone pointer")}}__name(SZPS,"SZPS");function SLOOP(state){state.loop=state.stack.pop(),exports.DEBUG&&console.log(state.step,"SLOOP[]",state.loop)}__name(SLOOP,"SLOOP");function RTG(state){exports.DEBUG&&console.log(state.step,"RTG[]"),state.round=roundToGrid}__name(RTG,"RTG");function RTHG(state){exports.DEBUG&&console.log(state.step,"RTHG[]"),state.round=roundToHalfGrid}__name(RTHG,"RTHG");function SMD(state){var d=state.stack.pop();exports.DEBUG&&console.log(state.step,"SMD[]",d),state.minDis=d/64}__name(SMD,"SMD");function ELSE(state){exports.DEBUG&&console.log(state.step,"ELSE[]"),skip(state,!1)}__name(ELSE,"ELSE");function JMPR(state){var o=state.stack.pop();exports.DEBUG&&console.log(state.step,"JMPR[]",o),state.ip+=o-1}__name(JMPR,"JMPR");function SCVTCI(state){var n=state.stack.pop();exports.DEBUG&&console.log(state.step,"SCVTCI[]",n),state.cvCutIn=n/64}__name(SCVTCI,"SCVTCI");function DUP(state){var stack=state.stack;exports.DEBUG&&console.log(state.step,"DUP[]"),stack.push(stack[stack.length-1])}__name(DUP,"DUP");function POP(state){exports.DEBUG&&console.log(state.step,"POP[]"),state.stack.pop()}__name(POP,"POP");function CLEAR(state){exports.DEBUG&&console.log(state.step,"CLEAR[]"),state.stack.length=0}__name(CLEAR,"CLEAR");function SWAP(state){var stack=state.stack,a=stack.pop(),b=stack.pop();exports.DEBUG&&console.log(state.step,"SWAP[]"),stack.push(a),stack.push(b)}__name(SWAP,"SWAP");function DEPTH(state){var stack=state.stack;exports.DEBUG&&console.log(state.step,"DEPTH[]"),stack.push(stack.length)}__name(DEPTH,"DEPTH");function LOOPCALL(state){var stack=state.stack,fn=stack.pop(),c=stack.pop();exports.DEBUG&&console.log(state.step,"LOOPCALL[]",fn,c);var cip=state.ip,cprog=state.prog;state.prog=state.funcs[fn];for(var i=0;i<c;i++)exec(state),exports.DEBUG&&console.log(++state.step,i+1<c?"next loopcall":"done loopcall",i);state.ip=cip,state.prog=cprog}__name(LOOPCALL,"LOOPCALL");function CALL(state){var fn=state.stack.pop();exports.DEBUG&&console.log(state.step,"CALL[]",fn);var cip=state.ip,cprog=state.prog;state.prog=state.funcs[fn],exec(state),state.ip=cip,state.prog=cprog,exports.DEBUG&&console.log(++state.step,"returning from",fn)}__name(CALL,"CALL");function CINDEX(state){var stack=state.stack,k=stack.pop();exports.DEBUG&&console.log(state.step,"CINDEX[]",k),stack.push(stack[stack.length-k])}__name(CINDEX,"CINDEX");function MINDEX(state){var stack=state.stack,k=stack.pop();exports.DEBUG&&console.log(state.step,"MINDEX[]",k),stack.push(stack.splice(stack.length-k,1)[0])}__name(MINDEX,"MINDEX");function FDEF(state){if(state.env!=="fpgm")throw new Error("FDEF not allowed here");var stack=state.stack,prog=state.prog,ip=state.ip,fn=stack.pop(),ipBegin=ip;for(exports.DEBUG&&console.log(state.step,"FDEF[]",fn);prog[++ip]!==45;);state.ip=ip,state.funcs[fn]=prog.slice(ipBegin+1,ip)}__name(FDEF,"FDEF");function MDAP(round,state){var pi=state.stack.pop(),p=state.z0[pi],fv=state.fv,pv=state.pv;exports.DEBUG&&console.log(state.step,"MDAP["+round+"]",pi);var d=pv.distance(p,HPZero);round&&(d=state.round(d)),fv.setRelative(p,HPZero,d,pv),fv.touch(p),state.rp0=state.rp1=pi}__name(MDAP,"MDAP");function IUP(v,state){var z2=state.z2,pLen=z2.length-2,cp,pp,np;exports.DEBUG&&console.log(state.step,"IUP["+v.axis+"]");for(var i=0;i<pLen;i++)cp=z2[i],!v.touched(cp)&&(pp=cp.prevTouched(v),pp!==cp&&(np=cp.nextTouched(v),pp===np&&v.setRelative(cp,cp,v.distance(pp,pp,!1,!0),v,!0),v.interpolate(cp,pp,np,v)))}__name(IUP,"IUP");function SHP(a,state){for(var stack=state.stack,rpi=a?state.rp1:state.rp2,rp=(a?state.z0:state.z1)[rpi],fv=state.fv,pv=state.pv,loop=state.loop,z2=state.z2;loop--;){var pi=stack.pop(),p=z2[pi],d=pv.distance(rp,rp,!1,!0);fv.setRelative(p,p,d,pv),fv.touch(p),exports.DEBUG&&console.log(state.step,(state.loop>1?"loop "+(state.loop-loop)+": ":"")+"SHP["+(a?"rp1":"rp2")+"]",pi)}state.loop=1}__name(SHP,"SHP");function SHC(a,state){var stack=state.stack,rpi=a?state.rp1:state.rp2,rp=(a?state.z0:state.z1)[rpi],fv=state.fv,pv=state.pv,ci=stack.pop(),sp=state.z2[state.contours[ci]],p=sp;exports.DEBUG&&console.log(state.step,"SHC["+a+"]",ci);var d=pv.distance(rp,rp,!1,!0);do p!==rp&&fv.setRelative(p,p,d,pv),p=p.nextPointOnContour;while(p!==sp)}__name(SHC,"SHC");function SHZ(a,state){var stack=state.stack,rpi=a?state.rp1:state.rp2,rp=(a?state.z0:state.z1)[rpi],fv=state.fv,pv=state.pv,e=stack.pop();exports.DEBUG&&console.log(state.step,"SHZ["+a+"]",e);var z;switch(e){case 0:z=state.tZone;break;case 1:z=state.gZone;break;default:throw new Error("Invalid zone")}for(var p,d=pv.distance(rp,rp,!1,!0),pLen=z.length-2,i=0;i<pLen;i++)p=z[i],fv.setRelative(p,p,d,pv)}__name(SHZ,"SHZ");function SHPIX(state){for(var stack=state.stack,loop=state.loop,fv=state.fv,d=stack.pop()/64,z2=state.z2;loop--;){var pi=stack.pop(),p=z2[pi];exports.DEBUG&&console.log(state.step,(state.loop>1?"loop "+(state.loop-loop)+": ":"")+"SHPIX[]",pi,d),fv.setRelative(p,p,d),fv.touch(p)}state.loop=1}__name(SHPIX,"SHPIX");function IP(state){for(var stack=state.stack,rp1i=state.rp1,rp2i=state.rp2,loop=state.loop,rp1=state.z0[rp1i],rp2=state.z1[rp2i],fv=state.fv,pv=state.dpv,z2=state.z2;loop--;){var pi=stack.pop(),p=z2[pi];exports.DEBUG&&console.log(state.step,(state.loop>1?"loop "+(state.loop-loop)+": ":"")+"IP[]",pi,rp1i,"<->",rp2i),fv.interpolate(p,rp1,rp2,pv),fv.touch(p)}state.loop=1}__name(IP,"IP");function MSIRP(a,state){var stack=state.stack,d=stack.pop()/64,pi=stack.pop(),p=state.z1[pi],rp0=state.z0[state.rp0],fv=state.fv,pv=state.pv;fv.setRelative(p,rp0,d,pv),fv.touch(p),exports.DEBUG&&console.log(state.step,"MSIRP["+a+"]",d,pi),state.rp1=state.rp0,state.rp2=pi,a&&(state.rp0=pi)}__name(MSIRP,"MSIRP");function ALIGNRP(state){for(var stack=state.stack,rp0i=state.rp0,rp0=state.z0[rp0i],loop=state.loop,fv=state.fv,pv=state.pv,z1=state.z1;loop--;){var pi=stack.pop(),p=z1[pi];exports.DEBUG&&console.log(state.step,(state.loop>1?"loop "+(state.loop-loop)+": ":"")+"ALIGNRP[]",pi),fv.setRelative(p,rp0,0,pv),fv.touch(p)}state.loop=1}__name(ALIGNRP,"ALIGNRP");function RTDG(state){exports.DEBUG&&console.log(state.step,"RTDG[]"),state.round=roundToDoubleGrid}__name(RTDG,"RTDG");function MIAP(round,state){var stack=state.stack,n=stack.pop(),pi=stack.pop(),p=state.z0[pi],fv=state.fv,pv=state.pv,cv=state.cvt[n];exports.DEBUG&&console.log(state.step,"MIAP["+round+"]",n,"(",cv,")",pi);var d=pv.distance(p,HPZero);round&&(Math.abs(d-cv)<state.cvCutIn&&(d=cv),d=state.round(d)),fv.setRelative(p,HPZero,d,pv),state.zp0===0&&(p.xo=p.x,p.yo=p.y),fv.touch(p),state.rp0=state.rp1=pi}__name(MIAP,"MIAP");function NPUSHB(state){var prog=state.prog,ip=state.ip,stack=state.stack,n=prog[++ip];exports.DEBUG&&console.log(state.step,"NPUSHB[]",n);for(var i=0;i<n;i++)stack.push(prog[++ip]);state.ip=ip}__name(NPUSHB,"NPUSHB");function NPUSHW(state){var ip=state.ip,prog=state.prog,stack=state.stack,n=prog[++ip];exports.DEBUG&&console.log(state.step,"NPUSHW[]",n);for(var i=0;i<n;i++){var w=prog[++ip]<<8|prog[++ip];w&32768&&(w=-((w^65535)+1)),stack.push(w)}state.ip=ip}__name(NPUSHW,"NPUSHW");function WS(state){var stack=state.stack,store=state.store;store||(store=state.store=[]);var v=stack.pop(),l=stack.pop();exports.DEBUG&&console.log(state.step,"WS",v,l),store[l]=v}__name(WS,"WS");function RS(state){var stack=state.stack,store=state.store,l=stack.pop();exports.DEBUG&&console.log(state.step,"RS",l);var v=store&&store[l]||0;stack.push(v)}__name(RS,"RS");function WCVTP(state){var stack=state.stack,v=stack.pop(),l=stack.pop();exports.DEBUG&&console.log(state.step,"WCVTP",v,l),state.cvt[l]=v/64}__name(WCVTP,"WCVTP");function RCVT(state){var stack=state.stack,cvte=stack.pop();exports.DEBUG&&console.log(state.step,"RCVT",cvte),stack.push(state.cvt[cvte]*64)}__name(RCVT,"RCVT");function GC(a,state){var stack=state.stack,pi=stack.pop(),p=state.z2[pi];exports.DEBUG&&console.log(state.step,"GC["+a+"]",pi),stack.push(state.dpv.distance(p,HPZero,a,!1)*64)}__name(GC,"GC");function MD(a,state){var stack=state.stack,pi2=stack.pop(),pi1=stack.pop(),p2=state.z1[pi2],p1=state.z0[pi1],d=state.dpv.distance(p1,p2,a,a);exports.DEBUG&&console.log(state.step,"MD["+a+"]",pi2,pi1,"->",d),state.stack.push(Math.round(d*64))}__name(MD,"MD");function MPPEM(state){exports.DEBUG&&console.log(state.step,"MPPEM[]"),state.stack.push(state.ppem)}__name(MPPEM,"MPPEM");function FLIPON(state){exports.DEBUG&&console.log(state.step,"FLIPON[]"),state.autoFlip=!0}__name(FLIPON,"FLIPON");function LT(state){var stack=state.stack,e2=stack.pop(),e1=stack.pop();exports.DEBUG&&console.log(state.step,"LT[]",e2,e1),stack.push(e1<e2?1:0)}__name(LT,"LT");function LTEQ(state){var stack=state.stack,e2=stack.pop(),e1=stack.pop();exports.DEBUG&&console.log(state.step,"LTEQ[]",e2,e1),stack.push(e1<=e2?1:0)}__name(LTEQ,"LTEQ");function GT(state){var stack=state.stack,e2=stack.pop(),e1=stack.pop();exports.DEBUG&&console.log(state.step,"GT[]",e2,e1),stack.push(e1>e2?1:0)}__name(GT,"GT");function GTEQ(state){var stack=state.stack,e2=stack.pop(),e1=stack.pop();exports.DEBUG&&console.log(state.step,"GTEQ[]",e2,e1),stack.push(e1>=e2?1:0)}__name(GTEQ,"GTEQ");function EQ(state){var stack=state.stack,e2=stack.pop(),e1=stack.pop();exports.DEBUG&&console.log(state.step,"EQ[]",e2,e1),stack.push(e2===e1?1:0)}__name(EQ,"EQ");function NEQ(state){var stack=state.stack,e2=stack.pop(),e1=stack.pop();exports.DEBUG&&console.log(state.step,"NEQ[]",e2,e1),stack.push(e2!==e1?1:0)}__name(NEQ,"NEQ");function ODD(state){var stack=state.stack,n=stack.pop();exports.DEBUG&&console.log(state.step,"ODD[]",n),stack.push(Math.trunc(n)%2?1:0)}__name(ODD,"ODD");function EVEN(state){var stack=state.stack,n=stack.pop();exports.DEBUG&&console.log(state.step,"EVEN[]",n),stack.push(Math.trunc(n)%2?0:1)}__name(EVEN,"EVEN");function IF(state){var test=state.stack.pop();exports.DEBUG&&console.log(state.step,"IF[]",test),test||(skip(state,!0),exports.DEBUG&&console.log(state.step,"EIF[]"))}__name(IF,"IF");function EIF(state){exports.DEBUG&&console.log(state.step,"EIF[]")}__name(EIF,"EIF");function AND(state){var stack=state.stack,e2=stack.pop(),e1=stack.pop();exports.DEBUG&&console.log(state.step,"AND[]",e2,e1),stack.push(e2&&e1?1:0)}__name(AND,"AND");function OR(state){var stack=state.stack,e2=stack.pop(),e1=stack.pop();exports.DEBUG&&console.log(state.step,"OR[]",e2,e1),stack.push(e2||e1?1:0)}__name(OR,"OR");function NOT(state){var stack=state.stack,e=stack.pop();exports.DEBUG&&console.log(state.step,"NOT[]",e),stack.push(e?0:1)}__name(NOT,"NOT");function DELTAP123(b,state){var stack=state.stack,n=stack.pop(),fv=state.fv,pv=state.pv,ppem=state.ppem,base=state.deltaBase+(b-1)*16,ds=state.deltaShift,z0=state.z0;exports.DEBUG&&console.log(state.step,"DELTAP["+b+"]",n,stack);for(var i=0;i<n;i++){var pi=stack.pop(),arg=stack.pop(),appem=base+((arg&240)>>4);if(appem===ppem){var mag=(arg&15)-8;mag>=0&&mag++,exports.DEBUG&&console.log(state.step,"DELTAPFIX",pi,"by",mag*ds);var p=z0[pi];fv.setRelative(p,p,mag*ds,pv)}}}__name(DELTAP123,"DELTAP123");function SDB(state){var stack=state.stack,n=stack.pop();exports.DEBUG&&console.log(state.step,"SDB[]",n),state.deltaBase=n}__name(SDB,"SDB");function SDS(state){var stack=state.stack,n=stack.pop();exports.DEBUG&&console.log(state.step,"SDS[]",n),state.deltaShift=Math.pow(.5,n)}__name(SDS,"SDS");function ADD(state){var stack=state.stack,n2=stack.pop(),n1=stack.pop();exports.DEBUG&&console.log(state.step,"ADD[]",n2,n1),stack.push(n1+n2)}__name(ADD,"ADD");function SUB(state){var stack=state.stack,n2=stack.pop(),n1=stack.pop();exports.DEBUG&&console.log(state.step,"SUB[]",n2,n1),stack.push(n1-n2)}__name(SUB,"SUB");function DIV(state){var stack=state.stack,n2=stack.pop(),n1=stack.pop();exports.DEBUG&&console.log(state.step,"DIV[]",n2,n1),stack.push(n1*64/n2)}__name(DIV,"DIV");function MUL(state){var stack=state.stack,n2=stack.pop(),n1=stack.pop();exports.DEBUG&&console.log(state.step,"MUL[]",n2,n1),stack.push(n1*n2/64)}__name(MUL,"MUL");function ABS(state){var stack=state.stack,n=stack.pop();exports.DEBUG&&console.log(state.step,"ABS[]",n),stack.push(Math.abs(n))}__name(ABS,"ABS");function NEG(state){var stack=state.stack,n=stack.pop();exports.DEBUG&&console.log(state.step,"NEG[]",n),stack.push(-n)}__name(NEG,"NEG");function FLOOR(state){var stack=state.stack,n=stack.pop();exports.DEBUG&&console.log(state.step,"FLOOR[]",n),stack.push(Math.floor(n/64)*64)}__name(FLOOR,"FLOOR");function CEILING(state){var stack=state.stack,n=stack.pop();exports.DEBUG&&console.log(state.step,"CEILING[]",n),stack.push(Math.ceil(n/64)*64)}__name(CEILING,"CEILING");function ROUND(dt,state){var stack=state.stack,n=stack.pop();exports.DEBUG&&console.log(state.step,"ROUND[]"),stack.push(state.round(n/64)*64)}__name(ROUND,"ROUND");function WCVTF(state){var stack=state.stack,v=stack.pop(),l=stack.pop();exports.DEBUG&&console.log(state.step,"WCVTF[]",v,l),state.cvt[l]=v*state.ppem/state.font.unitsPerEm}__name(WCVTF,"WCVTF");function DELTAC123(b,state){var stack=state.stack,n=stack.pop(),ppem=state.ppem,base=state.deltaBase+(b-1)*16,ds=state.deltaShift;exports.DEBUG&&console.log(state.step,"DELTAC["+b+"]",n,stack);for(var i=0;i<n;i++){var c=stack.pop(),arg=stack.pop(),appem=base+((arg&240)>>4);if(appem===ppem){var mag=(arg&15)-8;mag>=0&&mag++;var delta=mag*ds;exports.DEBUG&&console.log(state.step,"DELTACFIX",c,"by",delta),state.cvt[c]+=delta}}}__name(DELTAC123,"DELTAC123");function SROUND(state){var n=state.stack.pop();exports.DEBUG&&console.log(state.step,"SROUND[]",n),state.round=roundSuper;var period;switch(n&192){case 0:period=.5;break;case 64:period=1;break;case 128:period=2;break;default:throw new Error("invalid SROUND value")}switch(state.srPeriod=period,n&48){case 0:state.srPhase=0;break;case 16:state.srPhase=.25*period;break;case 32:state.srPhase=.5*period;break;case 48:state.srPhase=.75*period;break;default:throw new Error("invalid SROUND value")}n&=15,n===0?state.srThreshold=0:state.srThreshold=(n/8-.5)*period}__name(SROUND,"SROUND");function S45ROUND(state){var n=state.stack.pop();exports.DEBUG&&console.log(state.step,"S45ROUND[]",n),state.round=roundSuper;var period;switch(n&192){case 0:period=Math.sqrt(2)/2;break;case 64:period=Math.sqrt(2);break;case 128:period=2*Math.sqrt(2);break;default:throw new Error("invalid S45ROUND value")}switch(state.srPeriod=period,n&48){case 0:state.srPhase=0;break;case 16:state.srPhase=.25*period;break;case 32:state.srPhase=.5*period;break;case 48:state.srPhase=.75*period;break;default:throw new Error("invalid S45ROUND value")}n&=15,n===0?state.srThreshold=0:state.srThreshold=(n/8-.5)*period}__name(S45ROUND,"S45ROUND");function ROFF(state){exports.DEBUG&&console.log(state.step,"ROFF[]"),state.round=roundOff}__name(ROFF,"ROFF");function RUTG(state){exports.DEBUG&&console.log(state.step,"RUTG[]"),state.round=roundUpToGrid}__name(RUTG,"RUTG");function RDTG(state){exports.DEBUG&&console.log(state.step,"RDTG[]"),state.round=roundDownToGrid}__name(RDTG,"RDTG");function SCANCTRL(state){var n=state.stack.pop();exports.DEBUG&&console.log(state.step,"SCANCTRL[]",n)}__name(SCANCTRL,"SCANCTRL");function SDPVTL(a,state){var stack=state.stack,p2i=stack.pop(),p1i=stack.pop(),p2=state.z2[p2i],p1=state.z1[p1i];exports.DEBUG&&console.log(state.step,"SDPVTL["+a+"]",p2i,p1i);var dx,dy;a?(dx=p2.y-p1.y,dy=p1.x-p2.x):(dx=p1.x-p2.x,dy=p1.y-p2.y),state.dpv=getUnitVector(dx,dy)}__name(SDPVTL,"SDPVTL");function GETINFO(state){var stack=state.stack,sel=stack.pop(),r=0;exports.DEBUG&&console.log(state.step,"GETINFO[]",sel),sel&1&&(r=35),sel&32&&(r|=4096),stack.push(r)}__name(GETINFO,"GETINFO");function ROLL(state){var stack=state.stack,a=stack.pop(),b=stack.pop(),c=stack.pop();exports.DEBUG&&console.log(state.step,"ROLL[]"),stack.push(b),stack.push(a),stack.push(c)}__name(ROLL,"ROLL");function MAX(state){var stack=state.stack,e2=stack.pop(),e1=stack.pop();exports.DEBUG&&console.log(state.step,"MAX[]",e2,e1),stack.push(Math.max(e1,e2))}__name(MAX,"MAX");function MIN(state){var stack=state.stack,e2=stack.pop(),e1=stack.pop();exports.DEBUG&&console.log(state.step,"MIN[]",e2,e1),stack.push(Math.min(e1,e2))}__name(MIN,"MIN");function SCANTYPE(state){var n=state.stack.pop();exports.DEBUG&&console.log(state.step,"SCANTYPE[]",n)}__name(SCANTYPE,"SCANTYPE");function INSTCTRL(state){var s=state.stack.pop(),v=state.stack.pop();switch(exports.DEBUG&&console.log(state.step,"INSTCTRL[]",s,v),s){case 1:state.inhibitGridFit=!!v;return;case 2:state.ignoreCvt=!!v;return;default:throw new Error("invalid INSTCTRL[] selector")}}__name(INSTCTRL,"INSTCTRL");function PUSHB(n,state){var stack=state.stack,prog=state.prog,ip=state.ip;exports.DEBUG&&console.log(state.step,"PUSHB["+n+"]");for(var i=0;i<n;i++)stack.push(prog[++ip]);state.ip=ip}__name(PUSHB,"PUSHB");function PUSHW(n,state){var ip=state.ip,prog=state.prog,stack=state.stack;exports.DEBUG&&console.log(state.ip,"PUSHW["+n+"]");for(var i=0;i<n;i++){var w=prog[++ip]<<8|prog[++ip];w&32768&&(w=-((w^65535)+1)),stack.push(w)}state.ip=ip}__name(PUSHW,"PUSHW");function MDRP_MIRP(indirect,setRp0,keepD,ro,dt,state){var stack=state.stack,cvte=indirect&&stack.pop(),pi=stack.pop(),rp0i=state.rp0,rp=state.z0[rp0i],p=state.z1[pi],md=state.minDis,fv=state.fv,pv=state.dpv,od,d,sign,cv;d=od=pv.distance(p,rp,!0,!0),sign=d>=0?1:-1,d=Math.abs(d),indirect&&(cv=state.cvt[cvte],ro&&Math.abs(d-cv)<state.cvCutIn&&(d=cv)),keepD&&d<md&&(d=md),ro&&(d=state.round(d)),fv.setRelative(p,rp,sign*d,pv),fv.touch(p),exports.DEBUG&&console.log(state.step,(indirect?"MIRP[":"MDRP[")+(setRp0?"M":"m")+(keepD?">":"_")+(ro?"R":"_")+(dt===0?"Gr":dt===1?"Bl":dt===2?"Wh":"")+"]",indirect?cvte+"("+state.cvt[cvte]+","+cv+")":"",pi,"(d =",od,"->",sign*d,")"),state.rp1=state.rp0,state.rp2=pi,setRp0&&(state.rp0=pi)}__name(MDRP_MIRP,"MDRP_MIRP");instructionTable=[SVTCA.bind(void 0,yUnitVector),SVTCA.bind(void 0,xUnitVector),SPVTCA.bind(void 0,yUnitVector),SPVTCA.bind(void 0,xUnitVector),SFVTCA.bind(void 0,yUnitVector),SFVTCA.bind(void 0,xUnitVector),SPVTL.bind(void 0,0),SPVTL.bind(void 0,1),SFVTL.bind(void 0,0),SFVTL.bind(void 0,1),SPVFS,SFVFS,GPV,GFV,SFVTPV,ISECT,SRP0,SRP1,SRP2,SZP0,SZP1,SZP2,SZPS,SLOOP,RTG,RTHG,SMD,ELSE,JMPR,SCVTCI,void 0,void 0,DUP,POP,CLEAR,SWAP,DEPTH,CINDEX,MINDEX,void 0,void 0,void 0,LOOPCALL,CALL,FDEF,void 0,MDAP.bind(void 0,0),MDAP.bind(void 0,1),IUP.bind(void 0,yUnitVector),IUP.bind(void 0,xUnitVector),SHP.bind(void 0,0),SHP.bind(void 0,1),SHC.bind(void 0,0),SHC.bind(void 0,1),SHZ.bind(void 0,0),SHZ.bind(void 0,1),SHPIX,IP,MSIRP.bind(void 0,0),MSIRP.bind(void 0,1),ALIGNRP,RTDG,MIAP.bind(void 0,0),MIAP.bind(void 0,1),NPUSHB,NPUSHW,WS,RS,WCVTP,RCVT,GC.bind(void 0,0),GC.bind(void 0,1),void 0,MD.bind(void 0,0),MD.bind(void 0,1),MPPEM,void 0,FLIPON,void 0,void 0,LT,LTEQ,GT,GTEQ,EQ,NEQ,ODD,EVEN,IF,EIF,AND,OR,NOT,DELTAP123.bind(void 0,1),SDB,SDS,ADD,SUB,DIV,MUL,ABS,NEG,FLOOR,CEILING,ROUND.bind(void 0,0),ROUND.bind(void 0,1),ROUND.bind(void 0,2),ROUND.bind(void 0,3),void 0,void 0,void 0,void 0,WCVTF,DELTAP123.bind(void 0,2),DELTAP123.bind(void 0,3),DELTAC123.bind(void 0,1),DELTAC123.bind(void 0,2),DELTAC123.bind(void 0,3),SROUND,S45ROUND,void 0,void 0,ROFF,void 0,RUTG,RDTG,POP,POP,void 0,void 0,void 0,void 0,void 0,SCANCTRL,SDPVTL.bind(void 0,0),SDPVTL.bind(void 0,1),GETINFO,void 0,ROLL,MAX,MIN,SCANTYPE,INSTCTRL,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,void 0,PUSHB.bind(void 0,1),PUSHB.bind(void 0,2),PUSHB.bind(void 0,3),PUSHB.bind(void 0,4),PUSHB.bind(void 0,5),PUSHB.bind(void 0,6),PUSHB.bind(void 0,7),PUSHB.bind(void 0,8),PUSHW.bind(void 0,1),PUSHW.bind(void 0,2),PUSHW.bind(void 0,3),PUSHW.bind(void 0,4),PUSHW.bind(void 0,5),PUSHW.bind(void 0,6),PUSHW.bind(void 0,7),PUSHW.bind(void 0,8),MDRP_MIRP.bind(void 0,0,0,0,0,0),MDRP_MIRP.bind(void 0,0,0,0,0,1),MDRP_MIRP.bind(void 0,0,0,0,0,2),MDRP_MIRP.bind(void 0,0,0,0,0,3),MDRP_MIRP.bind(void 0,0,0,0,1,0),MDRP_MIRP.bind(void 0,0,0,0,1,1),MDRP_MIRP.bind(void 0,0,0,0,1,2),MDRP_MIRP.bind(void 0,0,0,0,1,3),MDRP_MIRP.bind(void 0,0,0,1,0,0),MDRP_MIRP.bind(void 0,0,0,1,0,1),MDRP_MIRP.bind(void 0,0,0,1,0,2),MDRP_MIRP.bind(void 0,0,0,1,0,3),MDRP_MIRP.bind(void 0,0,0,1,1,0),MDRP_MIRP.bind(void 0,0,0,1,1,1),MDRP_MIRP.bind(void 0,0,0,1,1,2),MDRP_MIRP.bind(void 0,0,0,1,1,3),MDRP_MIRP.bind(void 0,0,1,0,0,0),MDRP_MIRP.bind(void 0,0,1,0,0,1),MDRP_MIRP.bind(void 0,0,1,0,0,2),MDRP_MIRP.bind(void 0,0,1,0,0,3),MDRP_MIRP.bind(void 0,0,1,0,1,0),MDRP_MIRP.bind(void 0,0,1,0,1,1),MDRP_MIRP.bind(void 0,0,1,0,1,2),MDRP_MIRP.bind(void 0,0,1,0,1,3),MDRP_MIRP.bind(void 0,0,1,1,0,0),MDRP_MIRP.bind(void 0,0,1,1,0,1),MDRP_MIRP.bind(void 0,0,1,1,0,2),MDRP_MIRP.bind(void 0,0,1,1,0,3),MDRP_MIRP.bind(void 0,0,1,1,1,0),MDRP_MIRP.bind(void 0,0,1,1,1,1),MDRP_MIRP.bind(void 0,0,1,1,1,2),MDRP_MIRP.bind(void 0,0,1,1,1,3),MDRP_MIRP.bind(void 0,1,0,0,0,0),MDRP_MIRP.bind(void 0,1,0,0,0,1),MDRP_MIRP.bind(void 0,1,0,0,0,2),MDRP_MIRP.bind(void 0,1,0,0,0,3),MDRP_MIRP.bind(void 0,1,0,0,1,0),MDRP_MIRP.bind(void 0,1,0,0,1,1),MDRP_MIRP.bind(void 0,1,0,0,1,2),MDRP_MIRP.bind(void 0,1,0,0,1,3),MDRP_MIRP.bind(void 0,1,0,1,0,0),MDRP_MIRP.bind(void 0,1,0,1,0,1),MDRP_MIRP.bind(void 0,1,0,1,0,2),MDRP_MIRP.bind(void 0,1,0,1,0,3),MDRP_MIRP.bind(void 0,1,0,1,1,0),MDRP_MIRP.bind(void 0,1,0,1,1,1),MDRP_MIRP.bind(void 0,1,0,1,1,2),MDRP_MIRP.bind(void 0,1,0,1,1,3),MDRP_MIRP.bind(void 0,1,1,0,0,0),MDRP_MIRP.bind(void 0,1,1,0,0,1),MDRP_MIRP.bind(void 0,1,1,0,0,2),MDRP_MIRP.bind(void 0,1,1,0,0,3),MDRP_MIRP.bind(void 0,1,1,0,1,0),MDRP_MIRP.bind(void 0,1,1,0,1,1),MDRP_MIRP.bind(void 0,1,1,0,1,2),MDRP_MIRP.bind(void 0,1,1,0,1,3),MDRP_MIRP.bind(void 0,1,1,1,0,0),MDRP_MIRP.bind(void 0,1,1,1,0,1),MDRP_MIRP.bind(void 0,1,1,1,0,2),MDRP_MIRP.bind(void 0,1,1,1,0,3),MDRP_MIRP.bind(void 0,1,1,1,1,0),MDRP_MIRP.bind(void 0,1,1,1,1,1),MDRP_MIRP.bind(void 0,1,1,1,1,2),MDRP_MIRP.bind(void 0,1,1,1,1,3)];function Token(char){this.char=char,this.state={},this.activeState=null}__name(Token,"Token");function ContextRange(startIndex,endOffset,contextName){this.contextName=contextName,this.startIndex=startIndex,this.endOffset=endOffset}__name(ContextRange,"ContextRange");function ContextChecker(contextName,checkStart,checkEnd){this.contextName=contextName,this.openRange=null,this.ranges=[],this.checkStart=checkStart,this.checkEnd=checkEnd}__name(ContextChecker,"ContextChecker");function ContextParams(context,currentIndex){this.context=context,this.index=currentIndex,this.length=context.length,this.current=context[currentIndex],this.backtrack=context.slice(0,currentIndex),this.lookahead=context.slice(currentIndex+1)}__name(ContextParams,"ContextParams");function Event(eventId){this.eventId=eventId,this.subscribers=[]}__name(Event,"Event");function initializeCoreEvents(events){var this$1$1=this,coreEvents=["start","end","next","newToken","contextStart","contextEnd","insertToken","removeToken","removeRange","replaceToken","replaceRange","composeRUD","updateContextsRanges"];coreEvents.forEach(function(eventId){Object.defineProperty(this$1$1.events,eventId,{value:new Event(eventId)})}),events&&coreEvents.forEach(function(eventId){var event=events[eventId];typeof event=="function"&&this$1$1.events[eventId].subscribe(event)});var requiresContextUpdate=["insertToken","removeToken","removeRange","replaceToken","replaceRange","composeRUD"];requiresContextUpdate.forEach(function(eventId){this$1$1.events[eventId].subscribe(this$1$1.updateContextsRanges)})}__name(initializeCoreEvents,"initializeCoreEvents");function Tokenizer(events){this.tokens=[],this.registeredContexts={},this.contextCheckers=[],this.events={},this.registeredModifiers=[],initializeCoreEvents.call(this,events)}__name(Tokenizer,"Tokenizer");Token.prototype.setState=function(key,value){return this.state[key]=value,this.activeState={key,value:this.state[key]},this.activeState};Token.prototype.getState=function(stateId){return this.state[stateId]||null};Tokenizer.prototype.inboundIndex=function(index2){return index2>=0&&index2<this.tokens.length};Tokenizer.prototype.composeRUD=function(RUDs){var this$1$1=this,silent=!0,state=RUDs.map(function(RUD){return this$1$1[RUD[0]].apply(this$1$1,RUD.slice(1).concat(silent))}),hasFAILObject=__name(function(obj){return typeof obj=="object"&&obj.hasOwnProperty("FAIL")},"hasFAILObject");if(state.every(hasFAILObject))return{FAIL:"composeRUD: one or more operations hasn't completed successfully",report:state.filter(hasFAILObject)};this.dispatch("composeRUD",[state.filter(function(op){return!hasFAILObject(op)})])};Tokenizer.prototype.replaceRange=function(startIndex,offset,tokens,silent){offset=offset!==null?offset:this.tokens.length;var isTokenType=tokens.every(function(token){return token instanceof Token});if(!isNaN(startIndex)&&this.inboundIndex(startIndex)&&isTokenType){var replaced=this.tokens.splice.apply(this.tokens,[startIndex,offset].concat(tokens));return silent||this.dispatch("replaceToken",[startIndex,offset,tokens]),[replaced,tokens]}else return{FAIL:"replaceRange: invalid tokens or startIndex."}};Tokenizer.prototype.replaceToken=function(index2,token,silent){if(!isNaN(index2)&&this.inboundIndex(index2)&&token instanceof Token){var replaced=this.tokens.splice(index2,1,token);return silent||this.dispatch("replaceToken",[index2,token]),[replaced[0],token]}else return{FAIL:"replaceToken: invalid token or index."}};Tokenizer.prototype.removeRange=function(startIndex,offset,silent){offset=isNaN(offset)?this.tokens.length:offset;var tokens=this.tokens.splice(startIndex,offset);return silent||this.dispatch("removeRange",[tokens,startIndex,offset]),tokens};Tokenizer.prototype.removeToken=function(index2,silent){if(!isNaN(index2)&&this.inboundIndex(index2)){var token=this.tokens.splice(index2,1);return silent||this.dispatch("removeToken",[token,index2]),token}else return{FAIL:"removeToken: invalid token index."}};Tokenizer.prototype.insertToken=function(tokens,index2,silent){var tokenType=tokens.every(function(token){return token instanceof Token});return tokenType?(this.tokens.splice.apply(this.tokens,[index2,0].concat(tokens)),silent||this.dispatch("insertToken",[tokens,index2]),tokens):{FAIL:"insertToken: invalid token(s)."}};Tokenizer.prototype.registerModifier=function(modifierId,condition,modifier){this.events.newToken.subscribe(function(token,contextParams){var conditionParams=[token,contextParams],canApplyModifier=condition===null||condition.apply(this,conditionParams)===!0,modifierParams=[token,contextParams];if(canApplyModifier){var newStateValue=modifier.apply(this,modifierParams);token.setState(modifierId,newStateValue)}}),this.registeredModifiers.push(modifierId)};Event.prototype.subscribe=function(eventHandler){return typeof eventHandler=="function"?this.subscribers.push(eventHandler)-1:{FAIL:"invalid '"+this.eventId+"' event handler"}};Event.prototype.unsubscribe=function(subsId){this.subscribers.splice(subsId,1)};ContextParams.prototype.setCurrentIndex=function(index2){this.index=index2,this.current=this.context[index2],this.backtrack=this.context.slice(0,index2),this.lookahead=this.context.slice(index2+1)};ContextParams.prototype.get=function(offset){switch(!0){case offset===0:return this.current;case(offset<0&&Math.abs(offset)<=this.backtrack.length):return this.backtrack.slice(offset)[0];case(offset>0&&offset<=this.lookahead.length):return this.lookahead[offset-1];default:return null}};Tokenizer.prototype.rangeToText=function(range){if(range instanceof ContextRange)return this.getRangeTokens(range).map(function(token){return token.char}).join("")};Tokenizer.prototype.getText=function(){return this.tokens.map(function(token){return token.char}).join("")};Tokenizer.prototype.getContext=function(contextName){var context=this.registeredContexts[contextName];return context||null};Tokenizer.prototype.on=function(eventName,eventHandler){var event=this.events[eventName];return event?event.subscribe(eventHandler):null};Tokenizer.prototype.dispatch=function(eventName,args){var this$1$1=this,event=this.events[eventName];event instanceof Event&&event.subscribers.forEach(function(subscriber){subscriber.apply(this$1$1,args||[])})};Tokenizer.prototype.registerContextChecker=function(contextName,contextStartCheck,contextEndCheck){if(this.getContext(contextName))return{FAIL:"context name '"+contextName+"' is already registered."};if(typeof contextStartCheck!="function")return{FAIL:"missing context start check."};if(typeof contextEndCheck!="function")return{FAIL:"missing context end check."};var contextCheckers=new ContextChecker(contextName,contextStartCheck,contextEndCheck);return this.registeredContexts[contextName]=contextCheckers,this.contextCheckers.push(contextCheckers),contextCheckers};Tokenizer.prototype.getRangeTokens=function(range){var endIndex=range.startIndex+range.endOffset;return[].concat(this.tokens.slice(range.startIndex,endIndex))};Tokenizer.prototype.getContextRanges=function(contextName){var context=this.getContext(contextName);return context?context.ranges:{FAIL:"context checker '"+contextName+"' is not registered."}};Tokenizer.prototype.resetContextsRanges=function(){var registeredContexts=this.registeredContexts;for(var contextName in registeredContexts)if(registeredContexts.hasOwnProperty(contextName)){var context=registeredContexts[contextName];context.ranges=[]}};Tokenizer.prototype.updateContextsRanges=function(){this.resetContextsRanges();for(var chars=this.tokens.map(function(token){return token.char}),i=0;i<chars.length;i++){var contextParams=new ContextParams(chars,i);this.runContextCheck(contextParams)}this.dispatch("updateContextsRanges",[this.registeredContexts])};Tokenizer.prototype.setEndOffset=function(offset,contextName){var startIndex=this.getContext(contextName).openRange.startIndex,range=new ContextRange(startIndex,offset,contextName),ranges=this.getContext(contextName).ranges;return range.rangeId=contextName+"."+ranges.length,ranges.push(range),this.getContext(contextName).openRange=null,range};Tokenizer.prototype.runContextCheck=function(contextParams){var this$1$1=this,index2=contextParams.index;this.contextCheckers.forEach(function(contextChecker){var contextName=contextChecker.contextName,openRange=this$1$1.getContext(contextName).openRange;if(!openRange&&contextChecker.checkStart(contextParams)&&(openRange=new ContextRange(index2,null,contextName),this$1$1.getContext(contextName).openRange=openRange,this$1$1.dispatch("contextStart",[contextName,index2])),openRange&&contextChecker.checkEnd(contextParams)){var offset=index2-openRange.startIndex+1,range=this$1$1.setEndOffset(offset,contextName);this$1$1.dispatch("contextEnd",[contextName,range])}})};Tokenizer.prototype.tokenize=function(text){this.tokens=[],this.resetContextsRanges();var chars=Array.from(text);this.dispatch("start");for(var i=0;i<chars.length;i++){var char=chars[i],contextParams=new ContextParams(chars,i);this.dispatch("next",[contextParams]),this.runContextCheck(contextParams);var token=new Token(char);this.tokens.push(token),this.dispatch("newToken",[token,contextParams])}return this.dispatch("end",[this.tokens]),this.tokens};function isArabicChar(c){return/[\u0600-\u065F\u066A-\u06D2\u06FA-\u06FF]/.test(c)}__name(isArabicChar,"isArabicChar");function isIsolatedArabicChar(char){return/[\u0630\u0690\u0621\u0631\u0661\u0671\u0622\u0632\u0672\u0692\u06C2\u0623\u0673\u0693\u06C3\u0624\u0694\u06C4\u0625\u0675\u0695\u06C5\u06E5\u0676\u0696\u06C6\u0627\u0677\u0697\u06C7\u0648\u0688\u0698\u06C8\u0689\u0699\u06C9\u068A\u06CA\u066B\u068B\u06CB\u068C\u068D\u06CD\u06FD\u068E\u06EE\u06FE\u062F\u068F\u06CF\u06EF]/.test(char)}__name(isIsolatedArabicChar,"isIsolatedArabicChar");function isTashkeelArabicChar(char){return/[\u0600-\u0605\u060C-\u060E\u0610-\u061B\u061E\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED]/.test(char)}__name(isTashkeelArabicChar,"isTashkeelArabicChar");function isLatinChar(c){return/[A-z]/.test(c)}__name(isLatinChar,"isLatinChar");function isWhiteSpace(c){return/\s/.test(c)}__name(isWhiteSpace,"isWhiteSpace");function FeatureQuery(font){this.font=font,this.features={}}__name(FeatureQuery,"FeatureQuery");function SubstitutionAction(action){this.id=action.id,this.tag=action.tag,this.substitution=action.substitution}__name(SubstitutionAction,"SubstitutionAction");function lookupCoverage(glyphIndex,coverage){if(!glyphIndex)return-1;switch(coverage.format){case 1:return coverage.glyphs.indexOf(glyphIndex);case 2:for(var ranges=coverage.ranges,i=0;i<ranges.length;i++){var range=ranges[i];if(glyphIndex>=range.start&&glyphIndex<=range.end){var offset=glyphIndex-range.start;return range.index+offset}}break;default:return-1}return-1}__name(lookupCoverage,"lookupCoverage");function singleSubstitutionFormat1(glyphIndex,subtable){var substituteIndex=lookupCoverage(glyphIndex,subtable.coverage);return substituteIndex===-1?null:glyphIndex+subtable.deltaGlyphId}__name(singleSubstitutionFormat1,"singleSubstitutionFormat1");function singleSubstitutionFormat2(glyphIndex,subtable){var substituteIndex=lookupCoverage(glyphIndex,subtable.coverage);return substituteIndex===-1?null:subtable.substitute[substituteIndex]}__name(singleSubstitutionFormat2,"singleSubstitutionFormat2");function lookupCoverageList(coverageList,contextParams){for(var lookupList=[],i=0;i<coverageList.length;i++){var coverage=coverageList[i],glyphIndex=contextParams.current;glyphIndex=Array.isArray(glyphIndex)?glyphIndex[0]:glyphIndex;var lookupIndex=lookupCoverage(glyphIndex,coverage);lookupIndex!==-1&&lookupList.push(lookupIndex)}return lookupList.length!==coverageList.length?-1:lookupList}__name(lookupCoverageList,"lookupCoverageList");function chainingSubstitutionFormat3(contextParams,subtable){var lookupsCount=subtable.inputCoverage.length+subtable.lookaheadCoverage.length+subtable.backtrackCoverage.length;if(contextParams.context.length<lookupsCount)return[];var inputLookups=lookupCoverageList(subtable.inputCoverage,contextParams);if(inputLookups===-1)return[];var lookaheadOffset=subtable.inputCoverage.length-1;if(contextParams.lookahead.length<subtable.lookaheadCoverage.length)return[];for(var lookaheadContext=contextParams.lookahead.slice(lookaheadOffset);lookaheadContext.length&&isTashkeelArabicChar(lookaheadContext[0].char);)lookaheadContext.shift();var lookaheadParams=new ContextParams(lookaheadContext,0),lookaheadLookups=lookupCoverageList(subtable.lookaheadCoverage,lookaheadParams),backtrackContext=[].concat(contextParams.backtrack);for(backtrackContext.reverse();backtrackContext.length&&isTashkeelArabicChar(backtrackContext[0].char);)backtrackContext.shift();if(backtrackContext.length<subtable.backtrackCoverage.length)return[];var backtrackParams=new ContextParams(backtrackContext,0),backtrackLookups=lookupCoverageList(subtable.backtrackCoverage,backtrackParams),contextRulesMatch=inputLookups.length===subtable.inputCoverage.length&&lookaheadLookups.length===subtable.lookaheadCoverage.length&&backtrackLookups.length===subtable.backtrackCoverage.length,substitutions=[];if(contextRulesMatch)for(var i=0;i<subtable.lookupRecords.length;i++)for(var lookupRecord=subtable.lookupRecords[i],lookupListIndex=lookupRecord.lookupListIndex,lookupTable=this.getLookupByIndex(lookupListIndex),s=0;s<lookupTable.subtables.length;s++){var subtable$1=lookupTable.subtables[s],lookup=this.getLookupMethod(lookupTable,subtable$1),substitutionType=this.getSubstitutionType(lookupTable,subtable$1);if(substitutionType==="12")for(var n=0;n<inputLookups.length;n++){var glyphIndex=contextParams.get(n),substitution=lookup(glyphIndex);substitution&&substitutions.push(substitution)}}return substitutions}__name(chainingSubstitutionFormat3,"chainingSubstitutionFormat3");function ligatureSubstitutionFormat1(contextParams,subtable){var glyphIndex=contextParams.current,ligSetIndex=lookupCoverage(glyphIndex,subtable.coverage);if(ligSetIndex===-1)return null;for(var ligature,ligatureSet=subtable.ligatureSets[ligSetIndex],s=0;s<ligatureSet.length;s++){ligature=ligatureSet[s];for(var l=0;l<ligature.components.length;l++){var lookaheadItem=contextParams.lookahead[l],component=ligature.components[l];if(lookaheadItem!==component)break;if(l===ligature.components.length-1)return ligature}}return null}__name(ligatureSubstitutionFormat1,"ligatureSubstitutionFormat1");function decompositionSubstitutionFormat1(glyphIndex,subtable){var substituteIndex=lookupCoverage(glyphIndex,subtable.coverage);return substituteIndex===-1?null:subtable.sequences[substituteIndex]}__name(decompositionSubstitutionFormat1,"decompositionSubstitutionFormat1");FeatureQuery.prototype.getDefaultScriptFeaturesIndexes=function(){for(var scripts=this.font.tables.gsub.scripts,s=0;s<scripts.length;s++){var script2=scripts[s];if(script2.tag==="DFLT")return script2.script.defaultLangSys.featureIndexes}return[]};FeatureQuery.prototype.getScriptFeaturesIndexes=function(scriptTag){var tables=this.font.tables;if(!tables.gsub)return[];if(!scriptTag)return this.getDefaultScriptFeaturesIndexes();for(var scripts=this.font.tables.gsub.scripts,i=0;i<scripts.length;i++){var script2=scripts[i];if(script2.tag===scriptTag&&script2.script.defaultLangSys)return script2.script.defaultLangSys.featureIndexes;var langSysRecords=script2.langSysRecords;if(langSysRecords)for(var j=0;j<langSysRecords.length;j++){var langSysRecord=langSysRecords[j];if(langSysRecord.tag===scriptTag){var langSys=langSysRecord.langSys;return langSys.featureIndexes}}}return this.getDefaultScriptFeaturesIndexes()};FeatureQuery.prototype.mapTagsToFeatures=function(features,scriptTag){for(var tags={},i=0;i<features.length;i++){var tag=features[i].tag,feature=features[i].feature;tags[tag]=feature}this.features[scriptTag].tags=tags};FeatureQuery.prototype.getScriptFeatures=function(scriptTag){var features=this.features[scriptTag];if(this.features.hasOwnProperty(scriptTag))return features;var featuresIndexes=this.getScriptFeaturesIndexes(scriptTag);if(!featuresIndexes)return null;var gsub2=this.font.tables.gsub;return features=featuresIndexes.map(function(index2){return gsub2.features[index2]}),this.features[scriptTag]=features,this.mapTagsToFeatures(features,scriptTag),features};FeatureQuery.prototype.getSubstitutionType=function(lookupTable,subtable){var lookupType=lookupTable.lookupType.toString(),substFormat=subtable.substFormat.toString();return lookupType+substFormat};FeatureQuery.prototype.getLookupMethod=function(lookupTable,subtable){var this$1$1=this,substitutionType=this.getSubstitutionType(lookupTable,subtable);switch(substitutionType){case"11":return function(glyphIndex){return singleSubstitutionFormat1.apply(this$1$1,[glyphIndex,subtable])};case"12":return function(glyphIndex){return singleSubstitutionFormat2.apply(this$1$1,[glyphIndex,subtable])};case"63":return function(contextParams){return chainingSubstitutionFormat3.apply(this$1$1,[contextParams,subtable])};case"41":return function(contextParams){return ligatureSubstitutionFormat1.apply(this$1$1,[contextParams,subtable])};case"21":return function(glyphIndex){return decompositionSubstitutionFormat1.apply(this$1$1,[glyphIndex,subtable])};default:throw new Error("lookupType: "+lookupTable.lookupType+" - substFormat: "+subtable.substFormat+" is not yet supported")}};FeatureQuery.prototype.lookupFeature=function(query){var contextParams=query.contextParams,currentIndex=contextParams.index,feature=this.getFeature({tag:query.tag,script:query.script});if(!feature)return new Error("font '"+this.font.names.fullName.en+"' doesn't support feature '"+query.tag+"' for script '"+query.script+"'.");for(var lookups=this.getFeatureLookups(feature),substitutions=[].concat(contextParams.context),l=0;l<lookups.length;l++)for(var lookupTable=lookups[l],subtables=this.getLookupSubtables(lookupTable),s=0;s<subtables.length;s++){var subtable=subtables[s],substType=this.getSubstitutionType(lookupTable,subtable),lookup=this.getLookupMethod(lookupTable,subtable),substitution=void 0;switch(substType){case"11":substitution=lookup(contextParams.current),substitution&&substitutions.splice(currentIndex,1,new SubstitutionAction({id:11,tag:query.tag,substitution}));break;case"12":substitution=lookup(contextParams.current),substitution&&substitutions.splice(currentIndex,1,new SubstitutionAction({id:12,tag:query.tag,substitution}));break;case"63":substitution=lookup(contextParams),Array.isArray(substitution)&&substitution.length&&substitutions.splice(currentIndex,1,new SubstitutionAction({id:63,tag:query.tag,substitution}));break;case"41":substitution=lookup(contextParams),substitution&&substitutions.splice(currentIndex,1,new SubstitutionAction({id:41,tag:query.tag,substitution}));break;case"21":substitution=lookup(contextParams.current),substitution&&substitutions.splice(currentIndex,1,new SubstitutionAction({id:21,tag:query.tag,substitution}));break}contextParams=new ContextParams(substitutions,currentIndex),!(Array.isArray(substitution)&&!substitution.length)&&(substitution=null)}return substitutions.length?substitutions:null};FeatureQuery.prototype.supports=function(query){if(!query.script)return!1;this.getScriptFeatures(query.script);var supportedScript=this.features.hasOwnProperty(query.script);if(!query.tag)return supportedScript;var supportedFeature=this.features[query.script].some(function(feature){return feature.tag===query.tag});return supportedScript&&supportedFeature};FeatureQuery.prototype.getLookupSubtables=function(lookupTable){return lookupTable.subtables||null};FeatureQuery.prototype.getLookupByIndex=function(index2){var lookups=this.font.tables.gsub.lookups;return lookups[index2]||null};FeatureQuery.prototype.getFeatureLookups=function(feature){return feature.lookupListIndexes.map(this.getLookupByIndex.bind(this))};FeatureQuery.prototype.getFeature=__name(function(query){if(!this.font)return{FAIL:"No font was found"};this.features.hasOwnProperty(query.script)||this.getScriptFeatures(query.script);var scriptFeatures=this.features[query.script];return scriptFeatures?scriptFeatures.tags[query.tag]?this.features[query.script].tags[query.tag]:null:{FAIL:"No feature for script "+query.script}},"getFeature");function arabicWordStartCheck(contextParams){var char=contextParams.current,prevChar=contextParams.get(-1);return prevChar===null&&isArabicChar(char)||!isArabicChar(prevChar)&&isArabicChar(char)}__name(arabicWordStartCheck,"arabicWordStartCheck");function arabicWordEndCheck(contextParams){var nextChar=contextParams.get(1);return nextChar===null||!isArabicChar(nextChar)}__name(arabicWordEndCheck,"arabicWordEndCheck");var arabicWordCheck={startCheck:arabicWordStartCheck,endCheck:arabicWordEndCheck};function arabicSentenceStartCheck(contextParams){var char=contextParams.current,prevChar=contextParams.get(-1);return(isArabicChar(char)||isTashkeelArabicChar(char))&&!isArabicChar(prevChar)}__name(arabicSentenceStartCheck,"arabicSentenceStartCheck");function arabicSentenceEndCheck(contextParams){var nextChar=contextParams.get(1);switch(!0){case nextChar===null:return!0;case(!isArabicChar(nextChar)&&!isTashkeelArabicChar(nextChar)):var nextIsWhitespace=isWhiteSpace(nextChar);if(!nextIsWhitespace)return!0;if(nextIsWhitespace){var arabicCharAhead=!1;if(arabicCharAhead=contextParams.lookahead.some(function(c){return isArabicChar(c)||isTashkeelArabicChar(c)}),!arabicCharAhead)return!0}break;default:return!1}}__name(arabicSentenceEndCheck,"arabicSentenceEndCheck");var arabicSentenceCheck={startCheck:arabicSentenceStartCheck,endCheck:arabicSentenceEndCheck};function singleSubstitutionFormat1$1(action,tokens,index2){tokens[index2].setState(action.tag,action.substitution)}__name(singleSubstitutionFormat1$1,"singleSubstitutionFormat1$1");function singleSubstitutionFormat2$1(action,tokens,index2){tokens[index2].setState(action.tag,action.substitution)}__name(singleSubstitutionFormat2$1,"singleSubstitutionFormat2$1");function chainingSubstitutionFormat3$1(action,tokens,index2){action.substitution.forEach(function(subst,offset){var token=tokens[index2+offset];token.setState(action.tag,subst)})}__name(chainingSubstitutionFormat3$1,"chainingSubstitutionFormat3$1");function ligatureSubstitutionFormat1$1(action,tokens,index2){var token=tokens[index2];token.setState(action.tag,action.substitution.ligGlyph);for(var compsCount=action.substitution.components.length,i=0;i<compsCount;i++)token=tokens[index2+i+1],token.setState("deleted",!0)}__name(ligatureSubstitutionFormat1$1,"ligatureSubstitutionFormat1$1");var SUBSTITUTIONS={11:singleSubstitutionFormat1$1,12:singleSubstitutionFormat2$1,63:chainingSubstitutionFormat3$1,41:ligatureSubstitutionFormat1$1};function applySubstitution(action,tokens,index2){action instanceof SubstitutionAction&&SUBSTITUTIONS[action.id]&&SUBSTITUTIONS[action.id](action,tokens,index2)}__name(applySubstitution,"applySubstitution");function willConnectPrev(charContextParams){for(var backtrack=[].concat(charContextParams.backtrack),i=backtrack.length-1;i>=0;i--){var prevChar=backtrack[i],isolated=isIsolatedArabicChar(prevChar),tashkeel=isTashkeelArabicChar(prevChar);if(!isolated&&!tashkeel)return!0;if(isolated)return!1}return!1}__name(willConnectPrev,"willConnectPrev");function willConnectNext(charContextParams){if(isIsolatedArabicChar(charContextParams.current))return!1;for(var i=0;i<charContextParams.lookahead.length;i++){var nextChar=charContextParams.lookahead[i],tashkeel=isTashkeelArabicChar(nextChar);if(!tashkeel)return!0}return!1}__name(willConnectNext,"willConnectNext");function arabicPresentationForms(range){var this$1$1=this,script2="arab",tags=this.featuresTags[script2],tokens=this.tokenizer.getRangeTokens(range);if(tokens.length!==1){var contextParams=new ContextParams(tokens.map(function(token){return token.getState("glyphIndex")}),0),charContextParams=new ContextParams(tokens.map(function(token){return token.char}),0);tokens.forEach(function(token,index2){if(!isTashkeelArabicChar(token.char)){contextParams.setCurrentIndex(index2),charContextParams.setCurrentIndex(index2);var CONNECT=0;willConnectPrev(charContextParams)&&(CONNECT|=1),willConnectNext(charContextParams)&&(CONNECT|=2);var tag;switch(CONNECT){case 1:tag="fina";break;case 2:tag="init";break;case 3:tag="medi";break}if(tags.indexOf(tag)!==-1){var substitutions=this$1$1.query.lookupFeature({tag,script:script2,contextParams});if(substitutions instanceof Error)return console.info(substitutions.message);substitutions.forEach(function(action,index3){action instanceof SubstitutionAction&&(applySubstitution(action,tokens,index3),contextParams.context[index3]=action.substitution)})}}})}}__name(arabicPresentationForms,"arabicPresentationForms");function getContextParams(tokens,index2){var context=tokens.map(function(token){return token.activeState.value});return new ContextParams(context,0)}__name(getContextParams,"getContextParams");function arabicRequiredLigatures(range){var this$1$1=this,script2="arab",tokens=this.tokenizer.getRangeTokens(range),contextParams=getContextParams(tokens);contextParams.context.forEach(function(glyphIndex,index2){contextParams.setCurrentIndex(index2);var substitutions=this$1$1.query.lookupFeature({tag:"rlig",script:script2,contextParams});substitutions.length&&(substitutions.forEach(function(action){return applySubstitution(action,tokens,index2)}),contextParams=getContextParams(tokens))})}__name(arabicRequiredLigatures,"arabicRequiredLigatures");function latinWordStartCheck(contextParams){var char=contextParams.current,prevChar=contextParams.get(-1);return prevChar===null&&isLatinChar(char)||!isLatinChar(prevChar)&&isLatinChar(char)}__name(latinWordStartCheck,"latinWordStartCheck");function latinWordEndCheck(contextParams){var nextChar=contextParams.get(1);return nextChar===null||!isLatinChar(nextChar)}__name(latinWordEndCheck,"latinWordEndCheck");var latinWordCheck={startCheck:latinWordStartCheck,endCheck:latinWordEndCheck};function getContextParams$1(tokens,index2){var context=tokens.map(function(token){return token.activeState.value});return new ContextParams(context,0)}__name(getContextParams$1,"getContextParams$1");function latinLigature(range){var this$1$1=this,script2="latn",tokens=this.tokenizer.getRangeTokens(range),contextParams=getContextParams$1(tokens);contextParams.context.forEach(function(glyphIndex,index2){contextParams.setCurrentIndex(index2);var substitutions=this$1$1.query.lookupFeature({tag:"liga",script:script2,contextParams});substitutions.length&&(substitutions.forEach(function(action){return applySubstitution(action,tokens,index2)}),contextParams=getContextParams$1(tokens))})}__name(latinLigature,"latinLigature");function Bidi(baseDir){this.baseDir=baseDir||"ltr",this.tokenizer=new Tokenizer,this.featuresTags={}}__name(Bidi,"Bidi");Bidi.prototype.setText=function(text){this.text=text};Bidi.prototype.contextChecks={latinWordCheck,arabicWordCheck,arabicSentenceCheck};function registerContextChecker(checkId){var check2=this.contextChecks[checkId+"Check"];return this.tokenizer.registerContextChecker(checkId,check2.startCheck,check2.endCheck)}__name(registerContextChecker,"registerContextChecker");function tokenizeText(){return registerContextChecker.call(this,"latinWord"),registerContextChecker.call(this,"arabicWord"),registerContextChecker.call(this,"arabicSentence"),this.tokenizer.tokenize(this.text)}__name(tokenizeText,"tokenizeText");function reverseArabicSentences(){var this$1$1=this,ranges=this.tokenizer.getContextRanges("arabicSentence");ranges.forEach(function(range){var rangeTokens=this$1$1.tokenizer.getRangeTokens(range);this$1$1.tokenizer.replaceRange(range.startIndex,range.endOffset,rangeTokens.reverse())})}__name(reverseArabicSentences,"reverseArabicSentences");Bidi.prototype.registerFeatures=function(script2,tags){var this$1$1=this,supportedTags=tags.filter(function(tag){return this$1$1.query.supports({script:script2,tag})});this.featuresTags.hasOwnProperty(script2)?this.featuresTags[script2]=this.featuresTags[script2].concat(supportedTags):this.featuresTags[script2]=supportedTags};Bidi.prototype.applyFeatures=function(font,features){if(!font)throw new Error("No valid font was provided to apply features");this.query||(this.query=new FeatureQuery(font));for(var f=0;f<features.length;f++){var feature=features[f];this.query.supports({script:feature.script})&&this.registerFeatures(feature.script,feature.tags)}};Bidi.prototype.registerModifier=function(modifierId,condition,modifier){this.tokenizer.registerModifier(modifierId,condition,modifier)};function checkGlyphIndexStatus(){if(this.tokenizer.registeredModifiers.indexOf("glyphIndex")===-1)throw new Error("glyphIndex modifier is required to apply arabic presentation features.")}__name(checkGlyphIndexStatus,"checkGlyphIndexStatus");function applyArabicPresentationForms(){var this$1$1=this,script2="arab";if(this.featuresTags.hasOwnProperty(script2)){checkGlyphIndexStatus.call(this);var ranges=this.tokenizer.getContextRanges("arabicWord");ranges.forEach(function(range){arabicPresentationForms.call(this$1$1,range)})}}__name(applyArabicPresentationForms,"applyArabicPresentationForms");function applyArabicRequireLigatures(){var this$1$1=this,script2="arab";if(this.featuresTags.hasOwnProperty(script2)){var tags=this.featuresTags[script2];if(tags.indexOf("rlig")!==-1){checkGlyphIndexStatus.call(this);var ranges=this.tokenizer.getContextRanges("arabicWord");ranges.forEach(function(range){arabicRequiredLigatures.call(this$1$1,range)})}}}__name(applyArabicRequireLigatures,"applyArabicRequireLigatures");function applyLatinLigatures(){var this$1$1=this,script2="latn";if(this.featuresTags.hasOwnProperty(script2)){var tags=this.featuresTags[script2];if(tags.indexOf("liga")!==-1){checkGlyphIndexStatus.call(this);var ranges=this.tokenizer.getContextRanges("latinWord");ranges.forEach(function(range){latinLigature.call(this$1$1,range)})}}}__name(applyLatinLigatures,"applyLatinLigatures");Bidi.prototype.checkContextReady=function(contextId){return!!this.tokenizer.getContext(contextId)};Bidi.prototype.applyFeaturesToContexts=function(){this.checkContextReady("arabicWord")&&(applyArabicPresentationForms.call(this),applyArabicRequireLigatures.call(this)),this.checkContextReady("latinWord")&&applyLatinLigatures.call(this),this.checkContextReady("arabicSentence")&&reverseArabicSentences.call(this)};Bidi.prototype.processText=function(text){(!this.text||this.text!==text)&&(this.setText(text),tokenizeText.call(this),this.applyFeaturesToContexts())};Bidi.prototype.getBidiText=function(text){return this.processText(text),this.tokenizer.getText()};Bidi.prototype.getTextGlyphs=function(text){this.processText(text);for(var indexes=[],i=0;i<this.tokenizer.tokens.length;i++){var token=this.tokenizer.tokens[i];if(!token.state.deleted){var index2=token.activeState.value;indexes.push(Array.isArray(index2)?index2[0]:index2)}}return indexes};function Font$1(options){options=options||{},options.tables=options.tables||{},options.empty||(checkArgument(options.familyName,"When creating a new Font object, familyName is required."),checkArgument(options.styleName,"When creating a new Font object, styleName is required."),checkArgument(options.unitsPerEm,"When creating a new Font object, unitsPerEm is required."),checkArgument(options.ascender,"When creating a new Font object, ascender is required."),checkArgument(options.descender<=0,"When creating a new Font object, negative descender value is required."),this.names={fontFamily:{en:options.familyName||" "},fontSubfamily:{en:options.styleName||" "},fullName:{en:options.fullName||options.familyName+" "+options.styleName},postScriptName:{en:options.postScriptName||(options.familyName+options.styleName).replace(/\s/g,"")},designer:{en:options.designer||" "},designerURL:{en:options.designerURL||" "},manufacturer:{en:options.manufacturer||" "},manufacturerURL:{en:options.manufacturerURL||" "},license:{en:options.license||" "},licenseURL:{en:options.licenseURL||" "},version:{en:options.version||"Version 0.1"},description:{en:options.description||" "},copyright:{en:options.copyright||" "},trademark:{en:options.trademark||" "}},this.unitsPerEm=options.unitsPerEm||1e3,this.ascender=options.ascender,this.descender=options.descender,this.createdTimestamp=options.createdTimestamp,this.tables=Object.assign(options.tables,{os2:Object.assign({usWeightClass:options.weightClass||this.usWeightClasses.MEDIUM,usWidthClass:options.widthClass||this.usWidthClasses.MEDIUM,fsSelection:options.fsSelection||this.fsSelectionValues.REGULAR},options.tables.os2)})),this.supported=!0,this.glyphs=new glyphset.GlyphSet(this,options.glyphs||[]),this.encoding=new DefaultEncoding(this),this.position=new Position(this),this.substitution=new Substitution(this),this.tables=this.tables||{},this._push=null,this._hmtxTableData={},Object.defineProperty(this,"hinting",{get:__name(function(){if(this._hinting)return this._hinting;if(this.outlinesFormat==="truetype")return this._hinting=new Hinting(this)},"get")})}__name(Font$1,"Font$1");Font$1.prototype.hasChar=function(c){return this.encoding.charToGlyphIndex(c)!==null};Font$1.prototype.charToGlyphIndex=function(s){return this.encoding.charToGlyphIndex(s)};Font$1.prototype.charToGlyph=function(c){var glyphIndex=this.charToGlyphIndex(c),glyph=this.glyphs.get(glyphIndex);return glyph||(glyph=this.glyphs.get(0)),glyph};Font$1.prototype.updateFeatures=function(options){return this.defaultRenderOptions.features.map(function(feature){return feature.script==="latn"?{script:"latn",tags:feature.tags.filter(function(tag){return options[tag]})}:feature})};Font$1.prototype.stringToGlyphs=function(s,options){var this$1$1=this,bidi=new Bidi,charToGlyphIndexMod=__name(function(token){return this$1$1.charToGlyphIndex(token.char)},"charToGlyphIndexMod");bidi.registerModifier("glyphIndex",null,charToGlyphIndexMod);var features=options?this.updateFeatures(options.features):this.defaultRenderOptions.features;bidi.applyFeatures(this,features);for(var indexes=bidi.getTextGlyphs(s),length=indexes.length,glyphs=new Array(length),notdef=this.glyphs.get(0),i=0;i<length;i+=1)glyphs[i]=this.glyphs.get(indexes[i])||notdef;return glyphs};Font$1.prototype.nameToGlyphIndex=function(name){return this.glyphNames.nameToGlyphIndex(name)};Font$1.prototype.nameToGlyph=function(name){var glyphIndex=this.nameToGlyphIndex(name),glyph=this.glyphs.get(glyphIndex);return glyph||(glyph=this.glyphs.get(0)),glyph};Font$1.prototype.glyphIndexToName=function(gid){return this.glyphNames.glyphIndexToName?this.glyphNames.glyphIndexToName(gid):""};Font$1.prototype.getKerningValue=function(leftGlyph,rightGlyph){leftGlyph=leftGlyph.index||leftGlyph,rightGlyph=rightGlyph.index||rightGlyph;var gposKerning=this.position.defaultKerningTables;return gposKerning?this.position.getKerningValue(gposKerning,leftGlyph,rightGlyph):this.kerningPairs[leftGlyph+","+rightGlyph]||0};Font$1.prototype.defaultRenderOptions={kerning:!0,features:[{script:"arab",tags:["init","medi","fina","rlig"]},{script:"latn",tags:["liga","rlig"]}]};Font$1.prototype.forEachGlyph=function(text,x,y,fontSize,options,callback){x=x!==void 0?x:0,y=y!==void 0?y:0,fontSize=fontSize!==void 0?fontSize:72,options=Object.assign({},this.defaultRenderOptions,options);var fontScale=1/this.unitsPerEm*fontSize,glyphs=this.stringToGlyphs(text,options),kerningLookups;if(options.kerning){var script2=options.script||this.position.getDefaultScriptName();kerningLookups=this.position.getKerningTables(script2,options.language)}for(var i=0;i<glyphs.length;i+=1){var glyph=glyphs[i];if(callback.call(this,glyph,x,y,fontSize,options),glyph.advanceWidth&&(x+=glyph.advanceWidth*fontScale),options.kerning&&i<glyphs.length-1){var kerningValue=kerningLookups?this.position.getKerningValue(kerningLookups,glyph.index,glyphs[i+1].index):this.getKerningValue(glyph,glyphs[i+1]);x+=kerningValue*fontScale}options.letterSpacing?x+=options.letterSpacing*fontSize:options.tracking&&(x+=options.tracking/1e3*fontSize)}return x};Font$1.prototype.getPath=function(text,x,y,fontSize,options){var fullPath=new Path$1;return this.forEachGlyph(text,x,y,fontSize,options,function(glyph,gX,gY,gFontSize){var glyphPath=glyph.getPath(gX,gY,gFontSize,options,this);fullPath.extend(glyphPath)}),fullPath};Font$1.prototype.getPaths=function(text,x,y,fontSize,options){var glyphPaths=[];return this.forEachGlyph(text,x,y,fontSize,options,function(glyph,gX,gY,gFontSize){var glyphPath=glyph.getPath(gX,gY,gFontSize,options,this);glyphPaths.push(glyphPath)}),glyphPaths};Font$1.prototype.getAdvanceWidth=function(text,fontSize,options){return this.forEachGlyph(text,0,0,fontSize,options,function(){})};Font$1.prototype.draw=function(ctx,text,x,y,fontSize,options){this.getPath(text,x,y,fontSize,options).draw(ctx)};Font$1.prototype.drawPoints=function(ctx,text,x,y,fontSize,options){this.forEachGlyph(text,x,y,fontSize,options,function(glyph,gX,gY,gFontSize){glyph.drawPoints(ctx,gX,gY,gFontSize)})};Font$1.prototype.drawMetrics=function(ctx,text,x,y,fontSize,options){this.forEachGlyph(text,x,y,fontSize,options,function(glyph,gX,gY,gFontSize){glyph.drawMetrics(ctx,gX,gY,gFontSize)})};Font$1.prototype.getEnglishName=function(name){var translations=this.names[name];if(translations)return translations.en};Font$1.prototype.validate=function(){var _this=this;function assert(predicate,message){}__name(assert,"assert");function assertNamePresent(name){var englishName=_this.getEnglishName(name);englishName&&englishName.trim().length>0}__name(assertNamePresent,"assertNamePresent"),assertNamePresent("fontFamily"),assertNamePresent("weightName"),assertNamePresent("manufacturer"),assertNamePresent("copyright"),assertNamePresent("version"),this.unitsPerEm>0};Font$1.prototype.toTables=function(){return sfnt.fontToTable(this)};Font$1.prototype.toBuffer=function(){return console.warn("Font.toBuffer is deprecated. Use Font.toArrayBuffer instead."),this.toArrayBuffer()};Font$1.prototype.toArrayBuffer=function(){for(var sfntTable=this.toTables(),bytes=sfntTable.encode(),buffer=new ArrayBuffer(bytes.length),intArray=new Uint8Array(buffer),i=0;i<bytes.length;i++)intArray[i]=bytes[i];return buffer};Font$1.prototype.download=function(fileName){var familyName=this.getEnglishName("fontFamily"),styleName=this.getEnglishName("fontSubfamily");fileName=fileName||familyName.replace(/\s/g,"")+"-"+styleName+".otf";var arrayBuffer=this.toArrayBuffer();if(isBrowser())if(window.URL=window.URL||window.webkitURL,window.URL){var dataView=new DataView(arrayBuffer),blob=new Blob([dataView],{type:"font/opentype"}),link=document.createElement("a");link.href=window.URL.createObjectURL(blob),link.download=fileName;var event=document.createEvent("MouseEvents");event.initEvent("click",!0,!1),link.dispatchEvent(event)}else console.warn("Font file could not be downloaded. Try using a different browser.");else{var fs=require("fs"),buffer=arrayBufferToNodeBuffer(arrayBuffer);fs.writeFileSync(fileName,buffer)}};Font$1.prototype.fsSelectionValues={ITALIC:1,UNDERSCORE:2,NEGATIVE:4,OUTLINED:8,STRIKEOUT:16,BOLD:32,REGULAR:64,USER_TYPO_METRICS:128,WWS:256,OBLIQUE:512};Font$1.prototype.usWidthClasses={ULTRA_CONDENSED:1,EXTRA_CONDENSED:2,CONDENSED:3,SEMI_CONDENSED:4,MEDIUM:5,SEMI_EXPANDED:6,EXPANDED:7,EXTRA_EXPANDED:8,ULTRA_EXPANDED:9};Font$1.prototype.usWeightClasses={THIN:100,EXTRA_LIGHT:200,LIGHT:300,NORMAL:400,MEDIUM:500,SEMI_BOLD:600,BOLD:700,EXTRA_BOLD:800,BLACK:900};function addName(name,names){var nameString=JSON.stringify(name),nameID=256;for(var nameKey in names){var n=parseInt(nameKey);if(!(!n||n<256)){if(JSON.stringify(names[nameKey])===nameString)return n;nameID<=n&&(nameID=n+1)}}return names[nameID]=name,nameID}__name(addName,"addName");function makeFvarAxis(n,axis,names){var nameID=addName(axis.name,names);return[{name:"tag_"+n,type:"TAG",value:axis.tag},{name:"minValue_"+n,type:"FIXED",value:axis.minValue<<16},{name:"defaultValue_"+n,type:"FIXED",value:axis.defaultValue<<16},{name:"maxValue_"+n,type:"FIXED",value:axis.maxValue<<16},{name:"flags_"+n,type:"USHORT",value:0},{name:"nameID_"+n,type:"USHORT",value:nameID}]}__name(makeFvarAxis,"makeFvarAxis");function parseFvarAxis(data2,start,names){var axis={},p=new parse.Parser(data2,start);return axis.tag=p.parseTag(),axis.minValue=p.parseFixed(),axis.defaultValue=p.parseFixed(),axis.maxValue=p.parseFixed(),p.skip("uShort",1),axis.name=names[p.parseUShort()]||{},axis}__name(parseFvarAxis,"parseFvarAxis");function makeFvarInstance(n,inst,axes,names){for(var nameID=addName(inst.name,names),fields=[{name:"nameID_"+n,type:"USHORT",value:nameID},{name:"flags_"+n,type:"USHORT",value:0}],i=0;i<axes.length;++i){var axisTag=axes[i].tag;fields.push({name:"axis_"+n+" "+axisTag,type:"FIXED",value:inst.coordinates[axisTag]<<16})}return fields}__name(makeFvarInstance,"makeFvarInstance");function parseFvarInstance(data2,start,axes,names){var inst={},p=new parse.Parser(data2,start);inst.name=names[p.parseUShort()]||{},p.skip("uShort",1),inst.coordinates={};for(var i=0;i<axes.length;++i)inst.coordinates[axes[i].tag]=p.parseFixed();return inst}__name(parseFvarInstance,"parseFvarInstance");function makeFvarTable(fvar2,names){var result=new table.Table("fvar",[{name:"version",type:"ULONG",value:65536},{name:"offsetToData",type:"USHORT",value:0},{name:"countSizePairs",type:"USHORT",value:2},{name:"axisCount",type:"USHORT",value:fvar2.axes.length},{name:"axisSize",type:"USHORT",value:20},{name:"instanceCount",type:"USHORT",value:fvar2.instances.length},{name:"instanceSize",type:"USHORT",value:4+fvar2.axes.length*4}]);result.offsetToData=result.sizeOf();for(var i=0;i<fvar2.axes.length;i++)result.fields=result.fields.concat(makeFvarAxis(i,fvar2.axes[i],names));for(var j=0;j<fvar2.instances.length;j++)result.fields=result.fields.concat(makeFvarInstance(j,fvar2.instances[j],fvar2.axes,names));return result}__name(makeFvarTable,"makeFvarTable");function parseFvarTable(data2,start,names){var p=new parse.Parser(data2,start),tableVersion=p.parseULong();check.argument(tableVersion===65536,"Unsupported fvar table version.");var offsetToData=p.parseOffset16();p.skip("uShort",1);for(var axisCount=p.parseUShort(),axisSize=p.parseUShort(),instanceCount=p.parseUShort(),instanceSize=p.parseUShort(),axes=[],i=0;i<axisCount;i++)axes.push(parseFvarAxis(data2,start+offsetToData+i*axisSize,names));for(var instances=[],instanceStart=start+offsetToData+axisCount*axisSize,j=0;j<instanceCount;j++)instances.push(parseFvarInstance(data2,instanceStart+j*instanceSize,axes,names));return{axes,instances}}__name(parseFvarTable,"parseFvarTable");var fvar={make:makeFvarTable,parse:parseFvarTable},attachList=__name(function(){return{coverage:this.parsePointer(Parser.coverage),attachPoints:this.parseList(Parser.pointer(Parser.uShortList))}},"attachList"),caretValue=__name(function(){var format=this.parseUShort();if(check.argument(format===1||format===2||format===3,"Unsupported CaretValue table version."),format===1)return{coordinate:this.parseShort()};if(format===2)return{pointindex:this.parseShort()};if(format===3)return{coordinate:this.parseShort()}},"caretValue"),ligGlyph=__name(function(){return this.parseList(Parser.pointer(caretValue))},"ligGlyph"),ligCaretList=__name(function(){return{coverage:this.parsePointer(Parser.coverage),ligGlyphs:this.parseList(Parser.pointer(ligGlyph))}},"ligCaretList"),markGlyphSets=__name(function(){return this.parseUShort(),this.parseList(Parser.pointer(Parser.coverage))},"markGlyphSets");function parseGDEFTable(data2,start){start=start||0;var p=new Parser(data2,start),tableVersion=p.parseVersion(1);check.argument(tableVersion===1||tableVersion===1.2||tableVersion===1.3,"Unsupported GDEF table version.");var gdef2={version:tableVersion,classDef:p.parsePointer(Parser.classDef),attachList:p.parsePointer(attachList),ligCaretList:p.parsePointer(ligCaretList),markAttachClassDef:p.parsePointer(Parser.classDef)};return tableVersion>=1.2&&(gdef2.markGlyphSets=p.parsePointer(markGlyphSets)),gdef2}__name(parseGDEFTable,"parseGDEFTable");var gdef={parse:parseGDEFTable},subtableParsers$1=new Array(10);subtableParsers$1[1]=__name(function(){var start=this.offset+this.relativeOffset,posformat=this.parseUShort();if(posformat===1)return{posFormat:1,coverage:this.parsePointer(Parser.coverage),value:this.parseValueRecord()};if(posformat===2)return{posFormat:2,coverage:this.parsePointer(Parser.coverage),values:this.parseValueRecordList()};check.assert(!1,"0x"+start.toString(16)+": GPOS lookup type 1 format must be 1 or 2.")},"parseLookup1");subtableParsers$1[2]=__name(function(){var start=this.offset+this.relativeOffset,posFormat=this.parseUShort();check.assert(posFormat===1||posFormat===2,"0x"+start.toString(16)+": GPOS lookup type 2 format must be 1 or 2.");var coverage=this.parsePointer(Parser.coverage),valueFormat1=this.parseUShort(),valueFormat2=this.parseUShort();if(posFormat===1)return{posFormat,coverage,valueFormat1,valueFormat2,pairSets:this.parseList(Parser.pointer(Parser.list(function(){return{secondGlyph:this.parseUShort(),value1:this.parseValueRecord(valueFormat1),value2:this.parseValueRecord(valueFormat2)}})))};if(posFormat===2){var classDef1=this.parsePointer(Parser.classDef),classDef2=this.parsePointer(Parser.classDef),class1Count=this.parseUShort(),class2Count=this.parseUShort();return{posFormat,coverage,valueFormat1,valueFormat2,classDef1,classDef2,class1Count,class2Count,classRecords:this.parseList(class1Count,Parser.list(class2Count,function(){return{value1:this.parseValueRecord(valueFormat1),value2:this.parseValueRecord(valueFormat2)}}))}}},"parseLookup2");subtableParsers$1[3]=__name(function(){return{error:"GPOS Lookup 3 not supported"}},"parseLookup3");subtableParsers$1[4]=__name(function(){return{error:"GPOS Lookup 4 not supported"}},"parseLookup4");subtableParsers$1[5]=__name(function(){return{error:"GPOS Lookup 5 not supported"}},"parseLookup5");subtableParsers$1[6]=__name(function(){return{error:"GPOS Lookup 6 not supported"}},"parseLookup6");subtableParsers$1[7]=__name(function(){return{error:"GPOS Lookup 7 not supported"}},"parseLookup7");subtableParsers$1[8]=__name(function(){return{error:"GPOS Lookup 8 not supported"}},"parseLookup8");subtableParsers$1[9]=__name(function(){return{error:"GPOS Lookup 9 not supported"}},"parseLookup9");function parseGposTable(data2,start){start=start||0;var p=new Parser(data2,start),tableVersion=p.parseVersion(1);return check.argument(tableVersion===1||tableVersion===1.1,"Unsupported GPOS table version "+tableVersion),tableVersion===1?{version:tableVersion,scripts:p.parseScriptList(),features:p.parseFeatureList(),lookups:p.parseLookupList(subtableParsers$1)}:{version:tableVersion,scripts:p.parseScriptList(),features:p.parseFeatureList(),lookups:p.parseLookupList(subtableParsers$1),variations:p.parseFeatureVariationsList()}}__name(parseGposTable,"parseGposTable");var subtableMakers$1=new Array(10);function makeGposTable(gpos2){return new table.Table("GPOS",[{name:"version",type:"ULONG",value:65536},{name:"scripts",type:"TABLE",value:new table.ScriptList(gpos2.scripts)},{name:"features",type:"TABLE",value:new table.FeatureList(gpos2.features)},{name:"lookups",type:"TABLE",value:new table.LookupList(gpos2.lookups,subtableMakers$1)}])}__name(makeGposTable,"makeGposTable");var gpos={parse:parseGposTable,make:makeGposTable};function parseWindowsKernTable(p){var pairs={};p.skip("uShort");var subtableVersion=p.parseUShort();check.argument(subtableVersion===0,"Unsupported kern sub-table version."),p.skip("uShort",2);var nPairs=p.parseUShort();p.skip("uShort",3);for(var i=0;i<nPairs;i+=1){var leftIndex=p.parseUShort(),rightIndex=p.parseUShort(),value=p.parseShort();pairs[leftIndex+","+rightIndex]=value}return pairs}__name(parseWindowsKernTable,"parseWindowsKernTable");function parseMacKernTable(p){var pairs={};p.skip("uShort");var nTables=p.parseULong();nTables>1&&console.warn("Only the first kern subtable is supported."),p.skip("uLong");var coverage=p.parseUShort(),subtableVersion=coverage&255;if(p.skip("uShort"),subtableVersion===0){var nPairs=p.parseUShort();p.skip("uShort",3);for(var i=0;i<nPairs;i+=1){var leftIndex=p.parseUShort(),rightIndex=p.parseUShort(),value=p.parseShort();pairs[leftIndex+","+rightIndex]=value}}return pairs}__name(parseMacKernTable,"parseMacKernTable");function parseKernTable(data2,start){var p=new parse.Parser(data2,start),tableVersion=p.parseUShort();if(tableVersion===0)return parseWindowsKernTable(p);if(tableVersion===1)return parseMacKernTable(p);throw new Error("Unsupported kern table version ("+tableVersion+").")}__name(parseKernTable,"parseKernTable");var kern={parse:parseKernTable};function parseLocaTable(data2,start,numGlyphs,shortVersion){for(var p=new parse.Parser(data2,start),parseFn=shortVersion?p.parseUShort:p.parseULong,glyphOffsets=[],i=0;i<numGlyphs+1;i+=1){var glyphOffset=parseFn.call(p);shortVersion&&(glyphOffset*=2),glyphOffsets.push(glyphOffset)}return glyphOffsets}__name(parseLocaTable,"parseLocaTable");var loca={parse:parseLocaTable};function parseOpenTypeTableEntries(data2,numTables){for(var tableEntries=[],p=12,i=0;i<numTables;i+=1){var tag=parse.getTag(data2,p),checksum=parse.getULong(data2,p+4),offset=parse.getULong(data2,p+8),length=parse.getULong(data2,p+12);tableEntries.push({tag,checksum,offset,length,compression:!1}),p+=16}return tableEntries}__name(parseOpenTypeTableEntries,"parseOpenTypeTableEntries");function parseWOFFTableEntries(data2,numTables){for(var tableEntries=[],p=44,i=0;i<numTables;i+=1){var tag=parse.getTag(data2,p),offset=parse.getULong(data2,p+4),compLength=parse.getULong(data2,p+8),origLength=parse.getULong(data2,p+12),compression=void 0;compLength<origLength?compression="WOFF":compression=!1,tableEntries.push({tag,offset,compression,compressedLength:compLength,length:origLength}),p+=20}return tableEntries}__name(parseWOFFTableEntries,"parseWOFFTableEntries");function uncompressTable(data2,tableEntry){if(tableEntry.compression==="WOFF"){var inBuffer=new Uint8Array(data2.buffer,tableEntry.offset+2,tableEntry.compressedLength-2),outBuffer=new Uint8Array(tableEntry.length);if(tinyInflate(inBuffer,outBuffer),outBuffer.byteLength!==tableEntry.length)throw new Error("Decompression error: "+tableEntry.tag+" decompressed length doesn't match recorded length");var view=new DataView(outBuffer.buffer,0);return{data:view,offset:0}}else return{data:data2,offset:tableEntry.offset}}__name(uncompressTable,"uncompressTable");function parseBuffer(buffer,opt){opt=opt==null?{}:opt;var indexToLocFormat,ltagTable,font=new Font$1({empty:!0}),data2=new DataView(buffer,0),numTables,tableEntries=[],signature=parse.getTag(data2,0);if(signature==="\0\0\0"||signature==="true"||signature==="typ1")font.outlinesFormat="truetype",numTables=parse.getUShort(data2,4),tableEntries=parseOpenTypeTableEntries(data2,numTables);else if(signature==="OTTO")font.outlinesFormat="cff",numTables=parse.getUShort(data2,4),tableEntries=parseOpenTypeTableEntries(data2,numTables);else if(signature==="wOFF"){var flavor=parse.getTag(data2,4);if(flavor==="\0\0\0")font.outlinesFormat="truetype";else if(flavor==="OTTO")font.outlinesFormat="cff";else throw new Error("Unsupported OpenType flavor "+signature);numTables=parse.getUShort(data2,12),tableEntries=parseWOFFTableEntries(data2,numTables)}else throw new Error("Unsupported OpenType signature "+signature);for(var cffTableEntry,fvarTableEntry,glyfTableEntry,gdefTableEntry,gposTableEntry,gsubTableEntry,hmtxTableEntry,kernTableEntry,locaTableEntry,nameTableEntry,metaTableEntry,p,i=0;i<numTables;i+=1){var tableEntry=tableEntries[i],table2=void 0;switch(tableEntry.tag){case"cmap":table2=uncompressTable(data2,tableEntry),font.tables.cmap=cmap.parse(table2.data,table2.offset),font.encoding=new CmapEncoding(font.tables.cmap);break;case"cvt ":table2=uncompressTable(data2,tableEntry),p=new parse.Parser(table2.data,table2.offset),font.tables.cvt=p.parseShortList(tableEntry.length/2);break;case"fvar":fvarTableEntry=tableEntry;break;case"fpgm":table2=uncompressTable(data2,tableEntry),p=new parse.Parser(table2.data,table2.offset),font.tables.fpgm=p.parseByteList(tableEntry.length);break;case"head":table2=uncompressTable(data2,tableEntry),font.tables.head=head.parse(table2.data,table2.offset),font.unitsPerEm=font.tables.head.unitsPerEm,indexToLocFormat=font.tables.head.indexToLocFormat;break;case"hhea":table2=uncompressTable(data2,tableEntry),font.tables.hhea=hhea.parse(table2.data,table2.offset),font.ascender=font.tables.hhea.ascender,font.descender=font.tables.hhea.descender,font.numberOfHMetrics=font.tables.hhea.numberOfHMetrics;break;case"hmtx":hmtxTableEntry=tableEntry;break;case"ltag":table2=uncompressTable(data2,tableEntry),ltagTable=ltag.parse(table2.data,table2.offset);break;case"maxp":table2=uncompressTable(data2,tableEntry),font.tables.maxp=maxp.parse(table2.data,table2.offset),font.numGlyphs=font.tables.maxp.numGlyphs;break;case"name":nameTableEntry=tableEntry;break;case"OS/2":table2=uncompressTable(data2,tableEntry),font.tables.os2=os2.parse(table2.data,table2.offset);break;case"post":table2=uncompressTable(data2,tableEntry),font.tables.post=post.parse(table2.data,table2.offset),font.glyphNames=new GlyphNames(font.tables.post);break;case"prep":table2=uncompressTable(data2,tableEntry),p=new parse.Parser(table2.data,table2.offset),font.tables.prep=p.parseByteList(tableEntry.length);break;case"glyf":glyfTableEntry=tableEntry;break;case"loca":locaTableEntry=tableEntry;break;case"CFF ":cffTableEntry=tableEntry;break;case"kern":kernTableEntry=tableEntry;break;case"GDEF":gdefTableEntry=tableEntry;break;case"GPOS":gposTableEntry=tableEntry;break;case"GSUB":gsubTableEntry=tableEntry;break;case"meta":metaTableEntry=tableEntry;break}}var nameTable=uncompressTable(data2,nameTableEntry);if(font.tables.name=_name.parse(nameTable.data,nameTable.offset,ltagTable),font.names=font.tables.name,glyfTableEntry&&locaTableEntry){var shortVersion=indexToLocFormat===0,locaTable=uncompressTable(data2,locaTableEntry),locaOffsets=loca.parse(locaTable.data,locaTable.offset,font.numGlyphs,shortVersion),glyfTable=uncompressTable(data2,glyfTableEntry);font.glyphs=glyf.parse(glyfTable.data,glyfTable.offset,locaOffsets,font,opt)}else if(cffTableEntry){var cffTable=uncompressTable(data2,cffTableEntry);cff.parse(cffTable.data,cffTable.offset,font,opt)}else throw new Error("Font doesn't contain TrueType or CFF outlines.");var hmtxTable=uncompressTable(data2,hmtxTableEntry);if(hmtx.parse(font,hmtxTable.data,hmtxTable.offset,font.numberOfHMetrics,font.numGlyphs,font.glyphs,opt),addGlyphNames(font,opt),kernTableEntry){var kernTable=uncompressTable(data2,kernTableEntry);font.kerningPairs=kern.parse(kernTable.data,kernTable.offset)}else font.kerningPairs={};if(gdefTableEntry){var gdefTable=uncompressTable(data2,gdefTableEntry);font.tables.gdef=gdef.parse(gdefTable.data,gdefTable.offset)}if(gposTableEntry){var gposTable=uncompressTable(data2,gposTableEntry);font.tables.gpos=gpos.parse(gposTable.data,gposTable.offset),font.position.init()}if(gsubTableEntry){var gsubTable=uncompressTable(data2,gsubTableEntry);font.tables.gsub=gsub.parse(gsubTable.data,gsubTable.offset)}if(fvarTableEntry){var fvarTable=uncompressTable(data2,fvarTableEntry);font.tables.fvar=fvar.parse(fvarTable.data,fvarTable.offset,font.names)}if(metaTableEntry){var metaTable=uncompressTable(data2,metaTableEntry);font.tables.meta=meta.parse(metaTable.data,metaTable.offset),font.metas=font.tables.meta}return font}__name(parseBuffer,"parseBuffer");function prepareParagraphBody(body,paragraphIndex){const{dataStream,paragraphs=[],textRuns=[]}=body;let last=0;for(let i=0;i<paragraphs.length;i++){const paragraph=paragraphs[i],{startIndex}=paragraph;if(startIndex===paragraphIndex)break;last=startIndex+1}const textRunChunks=[];for(const textRun of textRuns){const{st,ed}=textRun;st>=last&&st<=paragraphIndex?textRunChunks.push({...textRun,st:st-last,ed:Math.min(ed,paragraphIndex)-last}):ed>=last&&ed<=paragraphIndex&&textRunChunks.push({...textRun,st:Math.max(st,last)-last,ed:ed-last})}return{dataStream:dataStream.substring(last,paragraphIndex+1),textRuns:textRunChunks}}__name(prepareParagraphBody,"prepareParagraphBody");function prepareTextChunks(body){const{dataStream,textRuns=[]}=body;let offset=0;const chunks=[];for(const textRun of textRuns){const{st,ed,ts={}}=textRun;st!==offset&&chunks.push({content:dataStream.substring(offset,st)}),chunks.push({content:dataStream.substring(st,ed),style:ts}),offset=ed}return offset!==dataStream.length&&chunks.push({content:dataStream.substring(offset)}),chunks}__name(prepareTextChunks,"prepareTextChunks");const fontCache=new Map,glyphCache=new Map;function shapeChunk(content,charPosition,used,families,style){var _a10,_b,_c,_d;let fi=0,fontFamily=families[fi];for(;used.has(fontFamily);)fi++,fontFamily=families[fi];if(!fontFamily)return[{char:content,start:charPosition,end:charPosition+content.length,glyph:null,font:null,kerning:0,boundingBox:null}];used.add(fontFamily);const{font:fontInfo,buffer:fontBuffer}=fontLibrary.findBestMatchFontByStyle({ff:fontFamily,bl:(_a10=style.bl)!=null?_a10:core.BooleanNumber.FALSE,it:(_b=style.it)!=null?_b:core.BooleanNumber.FALSE});let font=fontCache.get(fontInfo.fullName);font||(font=parseBuffer(fontBuffer),fontCache.set(fontInfo.fullName,font));const results=[],glyphs=font.stringToGlyphs(content),chars=(_c=content.match(/[\s\S]/gu))!=null?_c:[];let gi=0,startIndex=0;for(;gi<glyphs.length;){const glyph=glyphs[gi];if(glyph.index!==0)results.push({char:chars[gi],start:startIndex+charPosition,end:startIndex+charPosition+chars[gi].length,glyph,font,kerning:0,boundingBox:glyph.getBoundingBox()});else{const start=startIndex,emojiMatch=content.substring(start).match(EMOJI_REG);if(emojiMatch){let acc=0;do acc+=chars[gi].length,startIndex+=chars[gi].length,gi++;while(acc<emojiMatch[0].length);results.push(...shapeChunk(content.slice(start,start+emojiMatch[0].length),charPosition+start,used,families,style));continue}else{let nextGlyph=glyphs[gi+1],nextChar=chars[gi+1];for(;(nextGlyph==null?void 0:nextGlyph.index)===0&&!EMOJI_REG.test(nextChar);)startIndex+=chars[gi].length,gi++,nextGlyph=glyphs[gi+1],nextChar=chars[gi+1];results.push(...shapeChunk(content.slice(start,startIndex+chars[gi].length),charPosition+start,used,families,style))}}startIndex+=(_d=chars[gi])==null?void 0:_d.length,gi++}return used.delete(fontFamily),results}__name(shapeChunk,"shapeChunk");function kerningAdjustment(glyphs){if(glyphs.length<2)return;let lastFont=glyphs[0].font,lastGlyph=glyphs[0].glyph;for(let i=1;i<glyphs.length;i++){const{font,glyph}=glyphs[i];if(lastFont!==font||font==null||lastGlyph==null||glyph==null){lastFont=font,lastGlyph=glyph;continue}const kerning=font.getKerningValue(lastGlyph,glyph);kerning!==0&&(glyphs[i].kerning=kerning),lastFont=font,lastGlyph=glyph}}__name(kerningAdjustment,"kerningAdjustment");function textShape(body){var _a10;if(!fontLibrary.isReady)return[];const key=JSON.stringify(body);if(glyphCache.has(key))return glyphCache.get(key);const chunks=prepareTextChunks(body),glyphs=[];let charPosition=0;for(const chunk of chunks){const{content,style={}}=chunk;let fontFamilies=DEFAULT_FONTFACE_PLANE.split(",").map(family=>family.trim().replace(/["']/g,""));fontFamilies.unshift((_a10=style.ff)!=null?_a10:"Arial"),fontFamilies=fontLibrary.getValidFontFamilies(fontFamilies),glyphs.push(...shapeChunk(content,charPosition,new Set,fontFamilies,style)),charPosition+=content.length}return kerningAdjustment(glyphs),glyphCache.set(key,glyphs),glyphs}__name(textShape,"textShape");function otherHandler(index2,charArray,viewModel,paragraphNode,sectionBreakConfig,paragraph){var _a10;const glyphGroup=[];let step=0,src=charArray;for(;src.length;){const char=(_a10=src.match(/^[\s\S]/gu))==null?void 0:_a10[0];if(char==null||hasSpace(char)||startWithEmoji(charArray.substring(step)))break;const config=getFontCreateConfig(index2+step,viewModel,paragraphNode,sectionBreakConfig,paragraph),glyph=createSkeletonLetterGlyph(char,config);glyphGroup.push(glyph),src=src.substring(char.length),step+=char.length}return{step,glyphGroup}}__name(otherHandler,"otherHandler");function ArabicHandler(index2,charArray,viewModel,paragraphNode,sectionBreakConfig,paragraph){const config=getFontCreateConfig(index2,viewModel,paragraphNode,sectionBreakConfig,paragraph),glyph=[];let step=0;for(let i=0;i<charArray.length;i++){const newChar=charArray[i];if(hasArabic(newChar))glyph.unshift(newChar),step++;else break}return{step,glyphGroup:[createSkeletonLetterGlyph(glyph.join(""),config)]}}__name(ArabicHandler,"ArabicHandler");function emojiHandler(index2,charArray,viewModel,paragraphNode,sectionBreakConfig,paragraph){const config=getFontCreateConfig(index2,viewModel,paragraphNode,sectionBreakConfig,paragraph),match=charArray.match(EMOJI_REG);return{step:match[0].length,glyphGroup:[createSkeletonLetterGlyph(match[0],config)]}}__name(emojiHandler,"emojiHandler");function TibetanHandler(index2,charArray,viewModel,paragraphNode,sectionBreakConfig,paragraph){const config=getFontCreateConfig(index2,viewModel,paragraphNode,sectionBreakConfig,paragraph),glyph=[];let step=0;for(let i=0;i<charArray.length;i++){const newChar=charArray[i];if(hasTibetan(newChar))glyph.push(newChar),step++;else break}return{step,glyphGroup:[createSkeletonWordGlyph(glyph.join(""),config)]}}__name(TibetanHandler,"TibetanHandler");function punctuationSpaceAdjustment(shapedGlyphs){const len=shapedGlyphs.length;for(let i=0;i<len-1;i++){const curGlyph=shapedGlyphs[i],nextGlyph=shapedGlyphs[i+1],{width,content}=curGlyph,delta=width/2;if(hasCJKPunctuation(content)&&hasCJKPunctuation(nextGlyph.content)&&curGlyph.adjustability.shrinkability[1]+nextGlyph.adjustability.shrinkability[0]>=delta){const leftDelta=Math.min(curGlyph.adjustability.shrinkability[1],delta);glyphShrinkRight(curGlyph,leftDelta),glyphShrinkLeft(nextGlyph,delta-leftDelta)}}}__name(punctuationSpaceAdjustment,"punctuationSpaceAdjustment");function addCJKLatinSpacing(shapedTextList){const shapedGlyphs=shapedTextList.flatMap(shapedText=>shapedText.glyphs);let prevGlyph=null;const len=shapedGlyphs.length,LATIN_REG=/[a-z\d]/i;for(let i=0;i<len;i++){const curGlyph=shapedGlyphs[i],nextGlyph=i<len-1?shapedGlyphs[i+1]:null,{width}=curGlyph;hasCJKText(curGlyph.content)&&nextGlyph&&LATIN_REG.test(nextGlyph.content)&&(curGlyph.width+=width/4,curGlyph.adjustability.shrinkability[1]+=width/8),hasCJKText(curGlyph.content)&&prevGlyph&&LATIN_REG.test(prevGlyph.content)&&(curGlyph.width+=width/4,curGlyph.xOffset+=width/4,curGlyph.adjustability.shrinkability[0]+=width/8),prevGlyph=curGlyph}}__name(addCJKLatinSpacing,"addCJKLatinSpacing");function hyphenConfig(paragraphStyle,sectionBreakConfig){const{suppressHyphenation=core.BooleanNumber.FALSE}=paragraphStyle,{autoHyphenation=core.BooleanNumber.FALSE}=sectionBreakConfig;return suppressHyphenation===core.BooleanNumber.FALSE&&autoHyphenation===core.BooleanNumber.TRUE}__name(hyphenConfig,"hyphenConfig");function shaping(ctx,content,viewModel,paragraphNode,sectionBreakConfig,useOpenType=!1){var _a10;const{gridType=core.GridType.LINES,charSpace=0,defaultTabStop=10.5,drawings={}}=sectionBreakConfig,shapedTextList=[];let breaker=new LineBreaker(content);const{endIndex}=paragraphNode,paragraph=viewModel.getParagraph(endIndex)||{startIndex:0},{paragraphStyle={}}=paragraph,{snapToGrid=core.BooleanNumber.TRUE}=paragraphStyle;let last=0,bk,lastGlyphIndex=0;const{hyphen,languageDetector}=ctx,paragraphBody=prepareParagraphBody(viewModel.getBody(),endIndex);let glyphInfos=[];useOpenType&&(glyphInfos=textShape(paragraphBody)),tabLineBreakExtension(breaker),customBlockLineBreakExtension(breaker),breaker=new LineBreakerLinkEnhancer(breaker);const lang=languageDetector.detect(content),needHyphen=hyphenConfig(paragraphStyle,sectionBreakConfig),doNotHyphenateCaps=sectionBreakConfig.doNotHyphenateCaps===core.BooleanNumber.TRUE;for(lang!==Lang.UNKNOWN&&needHyphen&&(hyphen.hasPattern(lang)?breaker=new LineBreakerHyphenEnhancer(breaker,hyphen,lang,doNotHyphenateCaps):hyphen.loadPattern(lang));bk=breaker.nextBreakPoint();){const word=content.slice(last,bk.position),shapedGlyphs=[];if(fontLibrary.isReady&&useOpenType){const glyphInfosInWord=[];let i=0;for(i=lastGlyphIndex;i<glyphInfos.length;i++){const glyphInfo=glyphInfos[i],{end}=glyphInfo;if(end>bk.position)break;glyphInfosInWord.push(glyphInfo)}lastGlyphIndex=i;for(const glyphInfo of glyphInfosInWord){const{start,char}=glyphInfo,config=getFontCreateConfig(start,viewModel,paragraphNode,sectionBreakConfig,paragraph);if(char===core.DataStreamTreeTokenType.TAB){const charSpaceApply=getCharSpaceApply(charSpace,defaultTabStop,gridType,snapToGrid),newSpan=createSkeletonTabGlyph(config,charSpaceApply);shapedGlyphs.push(newSpan)}else if(startWithEmoji(char)){const newSpan=createSkeletonLetterGlyph(char,config);shapedGlyphs.push(newSpan)}else{const newSpan=createSkeletonLetterGlyph(char,config,void 0,glyphInfo);shapedGlyphs.push(newSpan)}}}else{let src=word,i=last;for(;src.length>0;){const char=(_a10=src.match(/^[\s\S]/gu))==null?void 0:_a10[0];if(char==null)break;if(char===core.DataStreamTreeTokenType.CUSTOM_BLOCK){const config=getFontCreateConfig(i,viewModel,paragraphNode,sectionBreakConfig,paragraph);let newGlyph=null;const customBlock=viewModel.getCustomBlockWithoutSetCurrentIndex(paragraphNode.startIndex+i);if(customBlock!=null){const{blockId}=customBlock,drawingOrigin=drawings[blockId];if(drawingOrigin.layoutType===core.PositionedObjectLayoutType.INLINE){const{angle}=drawingOrigin.docTransform,{width=0,height=0}=drawingOrigin.docTransform.size,boundingBox=getBoundingBox(angle,0,width,0,height);newGlyph=createSkeletonCustomBlockGlyph(config,boundingBox.width,boundingBox.height,drawingOrigin.drawingId)}else newGlyph=createSkeletonCustomBlockGlyph(config,0,0,drawingOrigin.drawingId)}newGlyph==null&&(newGlyph=createSkeletonLetterGlyph(char,config)),shapedGlyphs.push(newGlyph),i+=char.length,src=src.substring(char.length)}else if(/\s/.test(char)||hasCJK(char)){const config=getFontCreateConfig(i,viewModel,paragraphNode,sectionBreakConfig,paragraph);let newGlyph=null;if(char===core.DataStreamTreeTokenType.TAB){const charSpaceApply=getCharSpaceApply(charSpace,defaultTabStop,gridType,snapToGrid);newGlyph=createSkeletonTabGlyph(config,charSpaceApply)}else newGlyph=createSkeletonLetterGlyph(char,config);shapedGlyphs.push(newGlyph),i+=char.length,src=src.substring(char.length)}else if(startWithEmoji(src)){const{step,glyphGroup}=emojiHandler(i,src,viewModel,paragraphNode,sectionBreakConfig,paragraph);shapedGlyphs.push(...glyphGroup),i+=step,src=src.substring(step)}else if(hasArabic(char)){const{step,glyphGroup}=ArabicHandler(i,src,viewModel,paragraphNode,sectionBreakConfig,paragraph);shapedGlyphs.push(...glyphGroup),i+=step,src=src.substring(step)}else if(hasTibetan(char)){const{step,glyphGroup}=TibetanHandler(i,src,viewModel,paragraphNode,sectionBreakConfig,paragraph);shapedGlyphs.push(...glyphGroup),i+=step,src=src.substring(step)}else{const{step,glyphGroup}=otherHandler(i,src,viewModel,paragraphNode,sectionBreakConfig,paragraph);shapedGlyphs.push(...glyphGroup),i+=step,src=src.substring(step)}}}punctuationSpaceAdjustment(shapedGlyphs);const shapedGlyphsList=[[]];for(let i=0;i<shapedGlyphs.length;i++){const lastList=shapedGlyphsList[shapedGlyphsList.length-1],glyph=shapedGlyphs[i];glyph.streamType===core.DataStreamTreeTokenType.CUSTOM_BLOCK&&glyph.width!==0?(lastList.length===0&&shapedGlyphsList.pop(),shapedGlyphsList.push([glyph])):lastList.push(glyph)}const lastShapedGlyphs=shapedGlyphsList[shapedGlyphsList.length-1];for(const shapedGlyphs2 of shapedGlyphsList){const word2=shapedGlyphs2.map(g=>g.content).join("");shapedTextList.push({text:word2,glyphs:shapedGlyphs2,breakPointType:shapedGlyphs2===lastShapedGlyphs?bk.type:BreakPointType.Normal})}last=bk.position}return addCJKLatinSpacing(shapedTextList),shapedTextList}__name(shaping,"shaping");function dealWidthParagraph(ctx,viewModel,paragraphNode,curPage,sectionBreakConfig){clearFontCreateConfigCache();const{content="",children}=paragraphNode;let tableSkeleton=null;children.length===1&&children[0].nodeType===core.DataStreamTreeNodeType.TABLE&&(tableSkeleton=createTableSkeleton(ctx,curPage,viewModel,children[0],sectionBreakConfig));const shapedTextList=shaping(ctx,content,viewModel,paragraphNode,sectionBreakConfig),allPages=lineBreaking(ctx,viewModel,shapedTextList,curPage,paragraphNode,sectionBreakConfig,tableSkeleton);return lineAdjustment(allPages,viewModel,paragraphNode,sectionBreakConfig),allPages}__name(dealWidthParagraph,"dealWidthParagraph");function dealWithSection(ctx,viewModel,sectionNode,curPage,sectionBreakConfig,layoutAnchor){const allCurrentSkeletonPages=[],renderedBlockIdMap=new Map;let paragraphStartIndex=0;if(layoutAnchor!=null){const{startIndex,endIndex}=sectionNode;if(layoutAnchor>=startIndex&&layoutAnchor<=endIndex){for(let pi=0;pi<sectionNode.children.length;pi++)if(sectionNode.children[pi].endIndex===layoutAnchor){paragraphStartIndex=pi;break}}}for(let i=paragraphStartIndex;i<sectionNode.children.length;i++){const paragraphNode=sectionNode.children[i];let skeletonPages=[],currentPageCache=curPage;if(allCurrentSkeletonPages.length>0&&(currentPageCache=allCurrentSkeletonPages[allCurrentSkeletonPages.length-1]),paragraphNode.nodeType===core.DataStreamTreeNodeType.PARAGRAPH?(ctx.paragraphsOpenNewPage.has(paragraphNode.endIndex)&&(currentPageCache=createSkeletonPage(ctx,sectionBreakConfig,ctx.skeletonResourceReference,currentPageCache.pageNumber+1)),skeletonPages=dealWidthParagraph(ctx,viewModel,paragraphNode,currentPageCache,sectionBreakConfig)):(paragraphNode.nodeType,core.DataStreamTreeNodeType.TABLE),skeletonPages.length===0&&(skeletonPages=dealWithBlockError()),_pushPage(allCurrentSkeletonPages,skeletonPages),ctx.isDirty)break}const{segmentId}=curPage;return ctx.isDirty&&ctx.layoutStartPointer[segmentId]!=null&&_rollbackPages(ctx.layoutStartPointer[segmentId],allCurrentSkeletonPages),{pages:allCurrentSkeletonPages,renderedBlockIdMap}}__name(dealWithSection,"dealWithSection");function _rollbackPages(paragraphIndex,allCurrentSkeletonPages){let findFirstDirtyLine=!1;for(let pageIndex=0;pageIndex<allCurrentSkeletonPages.length;pageIndex++){const page=allCurrentSkeletonPages[pageIndex];for(let sectionIndex=0;sectionIndex<page.sections.length;sectionIndex++){const section=page.sections[sectionIndex];for(let columnIndex=0;columnIndex<section.columns.length;columnIndex++){const column=section.columns[columnIndex];for(let lineIndex=0;lineIndex<column.lines.length;lineIndex++)if(column.lines[lineIndex].paragraphIndex===paragraphIndex){findFirstDirtyLine=!0,column.lines.splice(lineIndex);break}if(findFirstDirtyLine){let columnSplitIndex=column.lines.length?columnIndex+1:columnIndex;columnSplitIndex=Math.max(columnSplitIndex,1);const preColumnIndex=columnSplitIndex-1;preColumnIndex>=0&&(section.columns[preColumnIndex].isFull=!1),section.columns.splice(columnSplitIndex);break}}if(findFirstDirtyLine){const sectionSplitIndex=sectionIndex+1;page.sections.splice(sectionSplitIndex);break}}if(findFirstDirtyLine){const pageSplitIndex=pageIndex+1;allCurrentSkeletonPages.splice(Math.max(pageSplitIndex,1));break}}}__name(_rollbackPages,"_rollbackPages");function _pushPage(allCurrentSkeletonPages,blockSkeletonPages){const lastIndex=allCurrentSkeletonPages.length-1,lastOldPage=allCurrentSkeletonPages[lastIndex],firstNewPage=blockSkeletonPages[0];lastOldPage===firstNewPage&&blockSkeletonPages.splice(0,1),allCurrentSkeletonPages.push(...blockSkeletonPages)}__name(_pushPage,"_pushPage");const __variableDynamicImportRuntimeHelper=__name((glob,path,segs)=>{const v=glob[path];return v?typeof v=="function"?v():Promise.resolve(v):new Promise((_2,reject)=>{(typeof queueMicrotask=="function"?queueMicrotask:setTimeout)(reject.bind(null,new Error("Unknown variable dynamic import: "+path+(path.split("/").length!==segs?". Note that variables only represent file names one level deep.":""))))})},"__variableDynamicImportRuntimeHelper"),EnUs=["0004,004,001,003,005,0005,00005,000005,0002,002,0000005,0003,00003,00505,00034,0001,00055,00004,4,05,0055,04,42,03,02,2,404,3,044,01,0505,55,5,045,041,0033,000004,22,00504,5504,0042,1,21,41,402,405,4004,43,23,000054,303,3005,022,5004,000003,252,45,25,2004,000505,054,403,401,3002,0025,144,432,00054,34,12,234,0022,014,0304,012,143,503,0403,101,052,414,212,011,043,00002,0041,0024,05005,03003,00102,0404,04303,01004,0034,025,0044,00404,00025,0103,042,0205,412,104,54,344,433,5005,253,055,0402,3004,0043,204,505,454,0000004,00303,04004,552,201,4005,0255,52,444,14,44,02004,033,05004,00045,00013,0021,0405,00044,0054,50055,000303,00001,304,0204,11,301,232,122,00305,504,000043,0104,00052,000045,50004,0023,00033,00032,00202,5003,202,0401,0000505,214,102,032,000161,004101,00501,00301,0036,0052,00023,006101,006,00401,000521,0014,0063,00012,000501,000006,000604,000601,005001,005005,0010305,00006,003012,003005,0003011,0061,013,000021,000022,000105,00211,00062,00051,000112,006013,000011,0200306,1021,0050001,003003,2102,305,000015,01030005,000035,001011,00021,16330001,0234,030006,5020001,000001,00016,0031,021,21431,002305,0350014,0000012,000063,00101,106,105,00435,00063,0300061,00041,100306,003602,023,0503,0010011,10003,1005,30011,00031,0001001,0000061,0030003,30305,001201,0301,5000101,500101,00015,000401,000065,000016,0000402,0500002,000205,030201,500301,00014,5001,000002,00030011,01034,0300006,030213,00400304,050001,05003,000311,0634,00061,0006,00000604,00050013,00213,0030001,100003,000033,30002,00003632,0003004,050003,0000021,006303,0000006,00005005,30451,03001,00231,00056,00011,6,001001,00500001,03005,503005,0000010001,1002,003001,001065,300001,32011,32,0000003,0213001,0500053,021005,10001,0000011,0001041,0020016,100032,50011,0606,5002,3001,03002,0015001,0102,00003001,000000033,0000001,300101,300015,0101003,00000101,0100501,0101,0010033,00000362,000014,0005001,031",'{".":[{"a":[{"c":[{"h":0}],"d":[{"d":[{"e":[{"r":1}]}]}],"f":[{"t":2}],"l":[{"t":3}],"m":[{"a":[{"t":4}]}],"n":[{"c":4,"g":0,"i":[{"m":5}],"t":[{"e":3,"i":[{"s":6}]},0]}],"r":[{"s":4,"t":[{"i":[{"e":1}],"y":1}]}],"s":[{"c":3,"p":2,"s":2,"t":[{"e":[{"r":7}]}]}],"t":[{"o":[{"m":6}]}],"u":[{"d":2}],"v":[{"i":1}],"w":[{"n":0}]}],"b":[{"a":[{"g":1,"n":[{"a":4}],"s":[{"e":0}]}],"e":[{"r":[{"a":4},0],"s":[{"m":3,"t":[{"o":4}]}]}],"r":[{"i":8}],"u":[{"t":[{"t":[{"i":0}]}]}]}],"c":[{"a":[{"m":[{"p":[{"e":0}]}],"n":[{"c":5}],"p":[{"a":[{"b":6}]}],"r":[{"o":[{"l":5}]}],"t":1}],"e":[{"l":[{"a":1}]}],"h":[{"i":[{"l":[{"l":[{"i":7}]}]}]},1],"i":[{"t":[{"r":5}]},9],"o":[{"e":3,"r":[{"n":[{"e":[{"r":5}]}]},1],"n":[{"g":[{"r":5}]}]}]}],"d":[{"e":[{"m":[{"o":[{"i":1}]}],"o":3,"r":[{"a":3,"i":[{"v":[{"a":4}]},3]}],"s":[{"c":0}]}],"i":[{"c":[{"t":[{"i":[{"o":10}]}]}]}],"o":[{"t":1}],"u":[{"c":1,"m":[{"b":6}]}],"r":[{"i":[{"v":67}]}]}],"e":[{"a":[{"r":[{"t":[{"h":7}]}],"s":[{"i":11}]}],"b":1,"e":[{"r":0}],"g":9,"l":[{"d":4,"e":[{"m":3}]}],"n":[{"a":[{"m":12}],"g":3,"s":3}],"q":[{"u":[{"i":[{"t":13}]}]}],"r":[{"r":[{"i":1}]}],"s":3,"u":[{"l":[{"e":[{"r":1}]}]},3],"y":[{"e":5}],"t":[{"h":[{"y":[{"l":162}]}]}],"v":[{"e":[{"r":[{"s":[{"i":[{"b":158}]}]}]}]},9]}],"f":[{"e":[{"s":11}],"o":[{"r":[{"m":[{"e":[{"r":5}]}]}]}]}],"g":[{"a":[{"s":[{"o":[{"m":163}]}]},9],"e":[{"n":[{"t":14}],"o":[{"g":4,"m":[{"e":1}],"t":164}]},9],"i":[{"a":4,"b":1}],"o":[{"r":1}]}],"h":[{"a":[{"n":[{"d":[{"i":6}],"k":5}]}],"e":[{"r":[{"o":[{"i":6,"e":3}]}],"s":11,"t":11,"m":[{"o":165}],"p":[{"a":166}]},9],"i":[{"b":3,"e":[{"r":3}]}],"o":[{"n":[{"e":[{"y":5}],"o":11}],"v":5}]}],"i":[{"d":[{"l":1,"o":[{"l":12}]}],"m":[{"m":3,"p":[{"i":[{"n":4}]}]}],"n":[{"c":[{"i":3}],"e":8,"k":9,"s":3,"u":[{"t":167}]},2],"r":[{"r":4}],"s":[{"i":1}]}],"j":[{"u":[{"r":3}]}],"l":[{"a":[{"c":[{"y":1}],"m":1,"t":[{"e":[{"r":5}],"h":6}]}],"e":[{"g":[{"e":5}],"n":0,"p":5,"v":15,"i":[{"c":[{"e":[{"s":170}]}]}]},9],"i":[{"g":[{"a":5},1],"n":9,"o":3,"t":1}]}],"m":[{"a":[{"g":[{"a":16}],"l":[{"o":5}],"n":[{"a":5}],"r":[{"t":[{"i":5}]}]}],"e":[{"r":[{"c":11}],"t":[{"e":[{"r":4}],"a":[{"l":[{"a":0}]}]}],"g":[{"a":[{"l":171}]}]},9],"i":[{"s":[{"t":[{"i":6}],"e":[{"r":[{"s":173}]}]},15],"m":[{"i":[{"c":172}]}]}],"o":[{"n":[{"e":11}],"r":[{"o":3}]}],"u":[{"t":[{"a":[{"b":6},4]}]}]}],"n":[{"i":[{"c":1}],"e":[{"o":[{"f":174}]}],"o":[{"e":[{"t":[{"h":15}]}],"n":[{"e":[{"m":175}]}]}]}],"o":[{"d":[{"d":5},9],"f":[{"t":[{"e":4}]}],"r":[{"a":[{"t":[{"o":4}]}],"c":3,"d":2,"t":3}],"s":[{"t":[{"l":1}]},3],"t":[{"h":11}],"u":[{"t":11}]}],"p":[{"e":[{"d":[{"a":[{"l":5}]}],"t":[{"e":4,"i":[{"t":4}]}]}],"i":[{"e":1,"o":[{"n":5}],"t":9}],"r":[{"e":[{"m":11,"a":[{"m":15}]}]}],"o":[{"l":[{"y":[{"s":137}]}],"s":[{"t":[{"a":[{"m":137}]}]}]}]}],"r":[{"a":[{"c":1,"n":[{"t":0}],"t":[{"i":[{"o":[{"n":[{"a":7}]}]}]}],"v":[{"e":[{"n":[{"o":176}]}]}]}],"e":[{"e":[{"c":173},8],"m":[{"i":[{"t":4}]}],"s":[{"t":[{"a":[{"t":4}]}]},8]}],"i":[{"g":1,"t":[{"u":5}]}],"o":[{"q":1,"s":[{"t":5}],"w":[{"d":5}]}],"u":[{"d":1}]}],"s":[{"c":[{"i":[{"e":11}]}],"e":[{"l":[{"f":6,"l":6}],"n":9,"r":[{"i":[{"e":4}]}],"m":[{"i":[{"c":0,"d":177,"p":36,"r":36,"s":178,"v":36},6]}]}],"h":9,"i":[{"n":[{"g":17}]},9],"t":[{"a":[{"b":[{"l":5}]}]},1],"y":9,"p":[{"h":[{"i":[{"n":179}]}],"i":[{"n":[{"o":137}]}]}]}],"t":[{"a":[{"p":[{"e":[{"s":[{"t":[{"r":180}]}]}]}]},1],"e":[{"n":[{"a":[{"n":5}]}],"l":[{"e":[{"g":[{"r":3}]}]}]},1],"h":9,"i":[{"l":0,"m":[{"o":16}],"n":[{"g":17,"k":5}]},9],"o":[{"n":[{"a":0}],"p":[{"i":5,"o":[{"g":170}]},1],"u":[{"s":5}],"q":9}],"r":[{"i":[{"b":[{"u":[{"t":6}]}]}]}]}],"u":[{"n":[{"a":[{"t":[{"t":144}]},2],"c":[{"e":3}],"d":[{"e":[{"r":7}]}],"e":[{"r":[{"r":181}]},2],"k":4,"o":4,"u":3}],"p":3,"r":[{"e":11}],"s":[{"a":4}]}],"v":[{"e":[{"n":[{"d":[{"e":0}]}],"r":[{"a":4}]}],"i":[{"c":[{"a":[{"r":151}]}]}]}],"w":[{"i":[{"l":[{"i":5}]}],"e":[{"b":[{"l":131}]}]}],"y":[{"e":1}],"k":[{"i":[{"l":[{"n":[{"i":168}]}]}],"o":[{"r":[{"t":[{"e":169}]}]}]}]}],"a":[{"b":[{".":18,"a":[{"l":19,"n":19}],"e":[{"r":[{"d":4}]},8],"i":[{"a":5,"t":[{"a":[{"b":13}]}]}],"l":[{"a":[{"t":4}]}],"o":[{"l":[{"i":[{"z":20,"c":19}]}]}],"r":[{"o":[{"g":4}]},18],"u":[{"l":3}]}],"c":[{"a":[{"r":[{"d":4,"o":4},21],"b":[{"l":24}]}],"e":[{"o":[{"u":19}],"r":2}],"h":[{"e":[{"t":19}]}],"i":[{"e":23,"n":2,"o":23},22],"r":[{"o":[{"b":4}]}],"t":[{"i":[{"f":5}]}],"u":[{"l":3,"m":1}]}],"d":[{"d":[{"i":[{"n":1}]}],"e":[{"r":[{".":4}]}],"i":[{"a":23,"c":[{"a":3}],"e":[{"r":0}],"o":23,"t":23,"u":19},25],"l":[{"e":1}],"o":[{"w":3}],"r":[{"a":[{"n":4}]}],"s":[{"u":1}],"u":[{"c":23,"m":4},18]},24],"e":[{"r":[{"i":[{"e":17}]},1]}],"f":[{"f":[{"i":[{"s":[{"h":170}]}]},0]},24],"g":[{"a":[{"b":21,"n":0}],"e":[{"l":[{"l":4}],"o":0,"u":18}],"i":2,"l":26,"n":2,"o":[{"g":27,"n":[{"i":3}]},24],"u":[{"e":[{"r":19}],"l":4}],"y":21}],"h":[{"a":23,"e":23,"l":1,"o":23}],"i":[{"a":19,"c":[{".":23}],"l":[{"y":4}],"n":[{"i":[{"n":5}],"o":5},28],"t":[{"e":[{"n":5}]}]},9],"j":29,"k":[{"e":[{"n":2}]}],"l":[{"a":[{"b":4,"d":3,"r":21}],"d":[{"i":18}],"e":[{"n":[{"d":3,"t":[{"i":21}]}],"o":30},25],"i":[{"a":[{".":1}],"e":0},2],"l":[{"e":[{"v":4}],"i":[{"c":18}]}],"m":18,"o":[{"g":[{".":19}]}],"y":[{".":21,"s":[{"t":31},18],"t":32,"z":27}]}],"m":[{"a":[{"b":4,"g":3,"r":[{"a":5}],"s":[{"c":4}],"t":[{"i":[{"s":21}],"o":33}]},18],"e":[{"r":[{"a":4}],"n":[{"t":[{"a":[{"b":182}]}]}]}],"i":[{"c":3,"f":4,"l":[{"y":4}],"n":[{"o":0},2]}],"o":[{"n":19,"r":[{"i":6}]},24],"p":[{"e":[{"n":5}]}]}],"n":[{"a":[{"g":[{"e":3}],"l":[{"y":[{"s":183},27]}],"r":[{"c":3,"i":17},23],"t":[{"i":23}]}],"d":[{"e":[{"s":17}],"i":[{"s":3}],"l":2,"o":[{"w":1}]},18],"e":[{"e":19,"n":23,"s":[{"t":[{".":4}]}],"u":23}],"g":[{"i":[{"e":5}],"l":2},25],"i":[{"c":34,"e":[{"s":23}],"f":35,"m":[{"e":1,"i":19}],"n":[{"e":19}],"o":3,"p":23,"s":[{"h":3}],"t":3,"u":23}],"k":[{"l":[{"i":1}]}],"n":[{"i":[{"z":32}]}],"o":[{"t":[{"h":7},4],"a":[{"c":148}]},0],"s":[{"a":9,"c":[{"o":1}],"n":1,"p":[{"o":11},9],"t":1,"u":[{"r":1}],"g":[{"r":5}],"v":11}],"t":[{"a":[{"l":36}],"i":[{"e":1,"d":137,"n":184,"r":[{"e":137}]}],"o":18,"r":9,"w":1}],"u":[{"a":3,"l":3,"r":19}]},24],"o":18,"p":[{"a":[{"r":17,"t":4}],"e":[{"r":[{"o":4}],"a":[{"b":[{"l":[{"e":132}]}]}]}],"h":[{"e":[{"r":23}],"i":18}],"i":[{"l":[{"l":[{"a":[{"r":4},21]}]}],"n":3,"t":[{"a":3,"u":23}]}],"l":24,"o":[{"c":6,"l":[{"a":4}],"r":[{"i":6}],"s":[{"t":12}]}],"s":[{"e":[{"s":5}]}],"u":23}],"q":[{"u":[{"e":6}]}],"r":[{"a":[{"c":[{"t":3}],"d":[{"e":19,"i":[{"s":4}]}],"l":3,"m":[{"e":[{"t":[{"e":19}]}]}],"n":[{"g":17}],"p":11,"t":[{"i":[{"o":19,"v":4}]},1],"u":19,"v":38,"w":17}],"b":[{"a":[{"l":36}]}],"c":[{"h":[{"a":[{"n":1}],"e":[{"t":185}]}]}],"d":[{"i":[{"n":[{"e":4}]}],"r":1}],"e":[{"a":[{"s":4}],"e":23,"n":[{"t":3}],"s":[{"s":19}]}],"f":[{"i":1,"l":1}],"i":[{"a":[{"l":4,"n":3}],"e":[{"t":23}],"m":1,"n":[{"a":[{"t":4}]}],"o":3,"z":9},2],"m":[{"i":9}],"o":[{"d":20,"n":[{"i":19}],"o":23}],"p":9,"q":3,"r":[{"e":17,"a":[{"n":[{"g":[{"e":9}]}]}]}],"s":[{"a":1,"h":9}]},37],"s":[{".":18,"a":[{"b":1,"n":[{"t":3}]}],"h":[{"i":17}],"i":[{"a":[{".":19}],"b":23,"c":23,"t":39}],"k":[{"i":11}],"l":1,"o":[{"c":21}],"p":[{"h":4}],"s":[{"h":1}],"t":[{"e":[{"n":3}],"r":2}],"u":[{"r":[{"a":6}]}],"y":[{"m":[{"p":[{"t":[{"o":[{"t":4}]}]}]}]}]}],"t":[{"a":[{"b":[{"l":3}],"c":4,"l":[{"o":3}],"p":4},24],"e":[{"c":[{"h":4},5],"g":[{"o":3}],"n":[{".":3}],"r":[{"a":3,"n":[{"a":19},6]}],"s":[{"t":3}],"v":4}],"h":[{"e":[{"m":5,"n":19,"r":[{"o":[{"s":186}]}]}],"o":[{"m":5},1]},18],"i":[{".":18,"a":19,"b":20,"c":2,"f":3,"o":[{"n":[{"a":[{"r":7}]}]}],"t":[{"u":3}]}],"o":[{"g":21,"m":[{"i":[{"z":4}]},24],"p":21,"s":21}],"r":[{"o":[{"p":4}]},29],"s":[{"k":1}],"t":[{"a":[{"g":1}],"e":[{"s":[{".":170}]},4],"h":1}],"u":[{"a":4,"e":4,"l":3,"r":[{"a":3}]},24],"y":24}],"u":[{"b":1,"g":[{"h":[{"t":[{"l":17}]},12],"u":3}],"l":[{"i":[{"f":13}]},40],"n":[{"d":5}],"r":3,"s":[{"i":[{"b":4}]}],"t":[{"e":[{"n":5}],"h":2}]}],"v":[{"a":[{"g":3,"n":19},24],"e":[{"n":[{"o":0}],"r":[{"a":3,"n":4,"y":4}]}],"i":[{"e":[{"r":0}],"g":3,"o":[{"u":3}]},2],"o":[{"c":4,"r":29}]}],"w":[{"a":[{"y":27}],"i":3,"l":[{"y":1}],"s":0}],"x":[{"i":[{"c":1,"d":1}]}],"y":[{"a":[{"l":4}],"e":0,"s":0}],"z":[{"i":[{"e":[{"r":0}]}],"z":[{"i":5}]}]}],"b":[{"a":[{".":32,"d":[{"g":[{"e":[{"r":5}]}]}],"g":[{"e":1}],"l":[{"a":15}],"n":[{"d":[{"a":[{"g":5}]}],"e":0,"i":11}],"r":[{"b":[{"i":7}],"i":[{"a":17}],"o":[{"n":[{"i":[{"e":187}]}]}]}],"s":[{"s":[{"i":0}]}],"t":[{"h":[{"y":2}]},41],"z":1,"c":[{"k":[{"e":[{"r":[{".":84}]}]}]}]}],"b":[{"e":[{"r":23},24],"i":[{"n":[{"a":0}],"t":0}]},42],"d":43,"e":[{".":18,"a":[{"k":17,"t":12}],"d":[{"a":3,"e":3,"i":3},44],"g":[{"i":3,"u":4}],"l":[{"i":2,"o":3},41],"m":45,"n":[{"i":[{"g":4}],"u":4}],"s":[{"p":3,"t":[{"r":4}]},46],"t":[{"i":[{"z":5}],"r":4,"w":3},27],"w":3,"y":[{"o":4}],"v":[{"i":[{"e":9}]}]}],"f":25,"h":47,"i":[{"b":9,"d":[{"i":[{"f":167}]},1],"e":[{"n":4,"r":1},27],"f":48,"l":[{"i":[{"z":3}],"l":[{"a":[{"b":8}]}]},41],"n":[{"a":[{"r":49}],"d":0,"e":[{"t":4}]}],"o":[{"g":[{"r":3}],"u":4,"m":5,"r":[{"b":2,"h":15}]}],"t":[{"i":[{"o":50,"v":[{"e":188}]}],"r":3,"u":[{"a":51}],"z":19},9]}],"j":29,"k":1,"l":[{"a":[{"t":[{"h":7}],"n":[{"d":189}]}],"e":[{".":21,"n":17,"s":[{"p":32}]}],"i":[{"s":23,"n":[{"d":189}]}],"o":[{"n":[{"d":190}]},21],"u":[{"n":[{"t":17}]}]},52],"m":43,"n":[{"e":[{"g":5}]},47],"o":[{"d":[{"i":11},27],"e":1,"l":[{"i":[{"c":11}]}],"m":[{"b":[{"i":0}]}],"n":[{"a":[{"t":5},0]}],"o":27,"r":[{".":32,"a":43,"d":5,"e":32,"i":32,"n":[{"o":191}]}],"s":53,"t":[{"a":19,"h":6,"o":1,"u":[{"l":192}]}],"u":[{"n":[{"d":54}]}]}],"p":18,"r":[{"i":[{"t":18}],"o":[{"t":[{"h":54}]}],"u":[{"s":[{"q":17}]}]}],"s":[{"o":[{"r":17}]},55],"t":[{"l":1,"o":21,"r":23},25],"u":[{"f":[{"f":[{"e":[{"r":0}]}]}],"g":[{"a":1}],"l":[{"i":3}],"m":[{"i":17}],"n":[{"t":[{"i":17}]},1],"r":[{"e":3}],"s":[{"i":[{"e":[{"r":193,"s":193},5]}],"s":[{"e":17,"i":[{"n":[{"g":17}]}]}],"t":32}],"t":[{"a":18,"i":[{"o":27}],"o":19,"e":[{"d":[{".":8}]}],"t":[{"e":[{"d":0}]}]}]}],"v":29,"w":56,"y":[{".":32,"s":0}]}],"c":[{"a":[{"b":[{"i":[{"n":11}],"l":2}],"c":[{"h":17}],"d":[{"e":[{"n":4,"m":194}]}],"g":46,"h":57,"l":[{"a":[{"t":3}],"l":[{"a":0,"i":[{"n":6}]}],"o":18}],"n":[{"d":5,"e":0,"i":[{"c":0,"s":5,"z":11}],"t":[{"y":0}],"y":17}],"p":[{"e":[{"r":4}]}],"r":[{"o":[{"m":5}]}],"s":[{"t":[{"e":[{"r":6}],"i":[{"g":5}]}],"y":18}],"t":[{"h":1,"i":[{"v":18}],"a":[{"s":195}]}],"v":[{"a":[{"l":5}]}]},41],"c":[{"h":[{"a":6}],"i":[{"a":0}],"o":[{"m":[{"p":[{"a":10}]}],"n":17,"u":[{"t":12}]}]},23],"e":[{".":25,"d":[{".":18,"e":[{"n":18}]}],"i":27,"l":[{".":32,"l":27}],"n":[{"c":27,"e":58,"i":18,"t":27},41],"p":27,"r":[{"a":[{"m":4}]}],"s":[{"a":18,"s":[{"i":[{"b":59},27]}],"t":5}],"t":[{"a":60},0],"w":0}],"h":[{".":18,"a":[{"b":61,"n":[{"i":[{"c":32,"s":20}]}]}],"e":[{"a":[{"p":54}],"d":18,"l":[{"o":5}],"m":[{"i":27}],"n":[{"e":4}],"r":[{".":3,"s":3}]},8],"i":[{"n":[{"e":[{".":32,"s":[{"s":4}]}],"i":32},62],"o":32,"t":27,"z":8,"e":[{"v":[{"o":6}]}]}],"o":63,"t":[{"i":1}],"s":[{".":18,"h":[{"u":11}]}]},25],"i":[{"a":[{"b":64,"r":5},27],"c":4,"e":[{"r":18}],"f":[{"i":[{"c":[{".":32}]}]}],"i":18,"l":[{"a":1,"i":27}],"m":25,"n":[{"a":[{"t":27},21],"e":[{"m":11}],"g":[{".":19},29],"o":32,"q":8},25],"o":[{"n":17}],"p":[{"e":18,"h":3,"i":[{"c":18}]}],"s":[{"t":[{"a":18,"i":18}]}],"t":[{"i":[{"z":11}]},42],"z":32,"g":[{"a":[{"r":152}]}]},41],"k":[{"i":3},2],"l":[{"a":[{"r":[{"a":[{"t":[{"i":[{"o":19}]}]}],"e":32},18]}],"e":[{"m":0,"a":[{"r":0}]}],"i":[{"c":18,"m":17}],"y":0},65],"n":19,"o":[{"a":[{"g":4}],"e":8,"g":[{"r":1},25],"i":[{"n":[{"c":3}]},0],"l":[{"i":5,"o":[{"r":11},32]}],"m":[{"e":[{"r":5}]}],"n":[{"a":0,"e":21,"g":11,"t":5}],"p":[{"a":3,"i":[{"c":11}],"l":1,"h":[{"o":[{"n":196}]}]}],"r":[{"b":18,"o":[{"n":12}]}],"s":[{"e":0}],"v":[{"e":17},15],"w":[{"a":5}],"z":[{"e":5,"i":4}],"u":[{"s":[{"t":[{"i":84}]}]}]},41],"q":29,"r":[{"a":[{"s":[{"t":6}],"t":[{".":32,"i":[{"c":32}]}]}],"e":[{"a":[{"t":11}],"d":32,"t":[{"a":47}],"v":0}],"i":[{"f":5,"n":21,"s":17,"t":[{"i":[{"e":11},32]}]},8],"o":[{"p":[{"l":0,"o":6}],"s":[{"e":17}],"c":[{"o":[{"d":197}]}],"e":[{"c":[{"o":148}]}]}],"u":[{"d":0}]}],"s":66,"t":[{"a":[{"b":0,"n":[{"g":4,"t":19}]}],"e":[{"r":23},24],"i":[{"c":[{"u":21}],"m":[{"i":12}]}],"u":[{"r":0}],"w":21,"r":[{"o":[{"m":[{"e":[{"c":198}]}]}]}]},42],"u":[{"d":5,"f":21,"i":[{"t":[{"y":4}]},21],"l":[{"i":32,"t":[{"i":[{"s":0}],"u":27}]}],"m":[{"a":9,"e":23,"i":1}],"n":27,"p":[{"i":3,"y":4}],"r":[{"a":[{"b":67,"n":[{"c":[{"e":199}]}]}],"i":[{"a":4}]}],"s":[{"s":[{"i":17}]},41],"t":[{"i":[{"e":1,"v":56}],"r":18},68]}],"y":41,"z":[{"e":0}]}],"d":[{"a":[{".":32,"b":70,"c":[{"h":17}],"f":18,"g":25,"m":71,"n":[{"g":11}],"r":[{"d":6,"k":6,"y":18}],"t":[{"i":[{"v":18}],"o":18,"a":[{"b":137}]},27],"v":[{"e":5},53],"y":32,"l":[{"o":[{"n":[{"e":48}]}]}]},69],"b":29,"c":19,"d":[{"a":[{"b":20}],"i":[{"b":94}]},72],"e":[{".":25,"a":[{"f":6,"l":[{"s":[{".":1}]}]}],"b":[{"i":[{"t":5}],"o":[{"n":1}]}],"c":[{"a":[{"n":36}],"i":[{"l":1}],"o":[{"m":4}],"l":[{"a":[{"r":200}],"i":[{"n":[{"a":64}]}]}]}],"d":42,"e":[{".":18}],"i":[{"f":4}],"l":[{"i":[{"e":17,"q":16}],"o":4}],"m":[{".":32,"i":[{"c":[{".":5},27],"l":4}],"o":[{"n":[{"s":1}],"r":7,"s":9}]},21],"n":[{"a":[{"r":1}],"o":3,"t":[{"i":[{"f":7}]}],"u":3},41],"p":[{"a":3,"i":17,"u":9},2],"q":23,"r":[{"h":21,"m":32,"n":[{"i":[{"z":6}]}],"s":5}],"s":[{".":24,"c":2,"o":64,"t":[{"i":11,"r":3}],"u":1,"i":[{"c":11}]},8],"t":[{"o":9,"i":[{"c":9}]},2],"v":[{"i":[{"l":11}]},2],"y":18,"f":[{"i":[{"n":[{"i":[{"t":[{"i":201}]}]}]}]}]}],"f":43,"g":[{"a":21,"e":[{"t":73}],"i":2,"y":24}],"h":74,"i":[{".":32,"a":[{"b":5},75],"c":[{"a":[{"m":1,"i":[{"d":15}]}],"e":21,"t":27}],"d":27,"e":[{"n":76}],"f":[{"f":[{"r":[{"a":5}]}]},29],"g":[{"e":3}],"l":[{"a":[{"t":[{"o":1}]}]}],"n":[{"a":41,"e":[{".":27}],"i":[{"z":4},32]},29],"o":[{"g":5},41],"p":[{"l":1}],"r":[{"e":[{"n":9,"r":9},2],"t":[{"i":6}]},8],"s":[{"i":32,"t":77},15],"t":[{"i":24}],"v":78,"m":[{"e":[{"t":[{"h":[{"y":141}]}]}]}]}],"j":29,"k":79,"l":[{"a":56,"e":[{".":27,"d":27,"s":[{".":27,"s":18}],"a":[{"d":42}]}],"o":48,"u":56,"y":25,"i":[{"e":202}]}],"m":29,"n":80,"o":[{".":27,"d":[{"e":4}],"e":32,"f":57,"g":21,"l":[{"a":1,"i":17,"o":[{"r":4}]}],"m":[{"i":[{"z":5}]}],"n":[{"a":[{"t":3}],"i":17}],"o":[{"d":11}],"p":[{"p":0}],"r":21,"s":27,"u":[{"t":56}],"v":1,"x":27,"w":[{"o":[{"r":[{"d":203}]}]}]},41],"p":29,"r":[{"a":[{"g":[{"o":[{"n":6}]}],"i":18}],"e":[{"a":[{"r":6}],"n":[{"a":[{"l":204}]},32]},0],"i":[{"b":0,"l":17,"f":[{"t":[{"a":189}]}],"p":[{"l":[{"e":[{"g":205}]}]}]}],"o":[{"p":0,"w":18,"m":[{"e":[{"d":206}]}]}],"u":[{"p":[{"l":[{"i":32}]}]}],"y":18},41],"s":[{"p":1,"w":21,"y":21},81],"t":[{"h":24,"a":[{"b":23}]}],"u":[{"a":[{"l":[{".":9}]},82],"c":[{"a":29,"e":[{"r":5}],"t":[{".":18,"s":18}]},9],"e":[{"l":4}],"g":1,"l":[{"e":23}],"m":[{"b":[{"e":0}]}],"n":1,"p":[{"e":1},18],"o":[{"p":[{"o":[{"l":207}]}]}]},41],"v":29,"w":29,"y":[{"n":32,"s":[{"e":1,"p":5}]},24]}],"e":[{"a":[{"b":72,"c":[{"t":23}],"d":[{"i":[{"e":5}]},15],"g":[{"e":[{"r":4},1]}],"l":[{"e":[{"r":5}],"o":[{"u":11}]},1],"m":[{"e":[{"r":11}]}],"n":[{"d":19,"i":[{"e":[{"s":111}]}]}],"r":[{"a":11,"c":0,"e":[{"s":5}],"i":[{"c":0,"l":0}],"k":5,"t":[{"e":12},8]}],"s":[{"p":4,"s":23,"t":12}],"t":[{"e":[{"n":5}],"h":[{"i":12}],"i":[{"f":19}],"u":83},9],"v":[{"e":[{"n":11}],"i":5,"o":5},9]}],"b":[{"e":[{"l":[{".":21,"s":21}],"n":21}],"i":[{"t":21}],"r":23},42],"c":[{"a":[{"d":21,"n":[{"c":6}]}],"c":[{"a":6}],"e":[{"s":[{"s":[{"a":4}]}]},29],"i":[{"b":21,"f":[{"i":[{"c":[{"a":[{"t":4}]}],"e":4}],"y":4}],"m":3,"t":[{"e":19},0]},9],"l":[{"a":[{"m":21}],"u":[{"s":21}]}],"o":[{"l":24,"m":[{"m":21,"p":[{"e":21}]}],"n":[{"c":21}],"r":[{"a":3,"o":5},24]}],"r":[{"e":[{"m":21}]},29],"t":[{"a":[{"n":1}],"e":1}],"u":[{"l":[{"a":3},21]},29],"h":[{"a":[{"s":23}]}]}],"d":[{"a":37,"d":61,"e":[{"r":34,"s":0}],"i":[{"a":23,"b":3,"c":[{"a":3}],"m":3,"t":2,"z":5},18],"o":[{"l":21,"n":84},18],"r":[{"i":21}],"u":[{"l":[{"o":4,"i":[{"n":[{"g":2}]}]},21]}],"g":[{"l":15}]}],"e":[{"c":9,"d":[{"i":11}],"f":9,"l":[{"i":11,"y":1}],"m":9,"n":[{"a":1}],"p":85,"s":[{"t":17},86],"t":[{"y":1}],"x":19}],"f":[{"e":[{"r":[{"e":83}]}],"f":41,"i":[{"c":[{"i":32},21],"l":17,"n":[{"e":23,"i":[{"t":[{"e":20}]}]}],"t":27}],"o":[{"r":[{"e":[{"s":6}]}]}],"u":[{"s":[{"e":[{".":21}]}]}]},29],"g":[{"a":[{"l":18}],"e":[{"r":17}],"i":[{"b":4,"c":1,"n":[{"g":4}],"t":87}],"n":4,"o":[{".":21,"s":21}],"u":[{"l":2,"r":19}],"y":32}],"h":[{"e":[{"r":17}]},72],"i":[{"c":19,"d":4,"g":[{"l":4},8],"m":[{"b":23}],"n":[{"f":23,"g":29,"s":[{"t":19}]}],"r":[{"d":0}],"t":[{"e":11,"h":3,"y":19}]},9],"j":[{"u":[{"d":[{"i":4},21]}]},29],"k":[{"i":[{"n":0}],"l":[{"a":1}]}],"l":[{"a":[{".":21,"c":21,"n":[{"d":17}],"t":[{"i":[{"v":4}]}],"w":21,"x":[{"a":36}]},29],"e":[{"a":23,"b":[{"r":[{"a":4}]}],"c":32,"d":21,"g":[{"a":3}],"n":19,"r":34,"s":29}],"f":9,"i":[{"b":[{"e":23}],"c":[{".":33,"a":3}],"e":[{"r":23}],"g":[{"i":[{"b":4}]}],"m":19,"n":[{"g":83}],"o":23,"s":[{"h":4},24],"v":88,"t":[{"i":[{"s":208}]}]},9],"l":[{"a":[{"b":1},18],"o":17}],"o":[{"c":19,"g":4,"p":[{".":3}],"a":29}],"s":[{"h":9}],"t":[{"a":1}],"u":[{"d":19,"g":4}]}],"m":[{"a":[{"c":21,"g":21,"n":[{"a":4},19]}],"b":4,"e":[{"l":24,"t":21},29],"i":[{"c":[{"a":3}],"e":0,"g":[{"r":[{"a":4}]}],"n":[{"e":4,"i":35},89],"s":[{"h":4,"s":19},21],"z":3}],"n":[{"i":[{"z":32}]}],"o":[{"g":0,"n":[{"i":[{"o":7}]}]}],"p":[{"i":3}],"u":[{"l":[{"a":4},21],"n":11}],"y":23}],"n":[{"a":[{"m":[{"o":4}],"n":[{"t":21}]}],"c":[{"h":[{"e":[{"r":17}]}]}],"d":[{"i":[{"c":3,"x":2}]}],"e":[{"a":19,"e":19,"m":3,"r":[{"o":4}],"s":[{"i":4,"t":4}],"t":[{"r":3}],"w":23}],"i":[{"c":[{"s":4}],"e":19,"l":19,"o":23,"s":[{"h":3}],"t":3,"u":19,"z":32}],"n":18,"o":[{"g":0,"s":21,"v":3},18],"s":[{"w":1}],"t":[{"a":[{"g":[{"e":5}]}],"h":[{"e":[{"s":18}]}]}],"u":[{"a":3,"f":4}],"y":[{".":23}],"z":61}],"o":[{"f":19,"g":[{"r":[{"a":[{"p":3}]}]},9],"i":90,"l":23,"p":[{"a":[{"r":11}]}],"r":[{"e":3,"o":[{"l":4}]},29],"s":0,"t":[{"o":1},21],"u":[{"t":19}],"w":19}],"p":[{"a":[{"i":23,"n":[{"c":4}]},24],"e":[{"l":19,"n":[{"t":23}],"t":[{"i":[{"t":[{"i":[{"o":4}]}]}]}]}],"h":[{"e":17}],"l":[{"i":21}],"o":29,"r":[{"e":[{"c":[{"a":4},21],"d":21,"h":3}],"o":[{"b":21},23]}],"s":[{"h":1}],"t":[{"i":[{"b":13}]}],"u":[{"t":[{"a":4},21]}],"i":[{"n":[{"e":[{"p":[{"h":209}]}]}]}]}],"q":[{"u":[{"i":[{"l":12,"s":91}]}]},29],"r":[{"a":[{"b":0,"n":[{"d":18}],"r":3,"t":[{"i":[{".":18}]}]},2],"b":[{"l":1},25],"c":[{"h":[{"e":1},3]}],"e":[{".":25,"a":[{"l":23}],"c":[{"o":5}],"i":[{"n":11}],"l":[{".":4}],"m":[{"o":3}],"n":[{"a":4,"c":[{"e":4}],"e":18,"t":3}],"q":0,"s":[{"s":4,"t":3}],"t":17}],"h":2,"i":[{"a":[{"n":[{".":210}]},92],"c":[{"k":32}],"e":[{"n":23,"r":0}],"n":[{"e":3}],"o":29,"t":18,"u":1,"v":[{"a":21},0]},2],"m":93,"n":[{"i":[{"s":1,"t":18,"z":32}],"o":3}],"o":[{"b":4,"c":19,"r":0,"u":2},25],"s":[{"e":[{"t":3}]},2],"t":[{"e":[{"r":11}],"l":18,"w":3}],"u":[{"t":0},18],"w":[{"a":[{"u":32}]}]}],"s":[{"a":[{"g":[{"e":[{".":21,"s":21}]}]},72],"c":[{"a":[{"n":4},24],"r":23,"u":4},9],"e":[{"c":[{"r":4},24],"n":[{"c":4}],"r":[{"t":[{".":21,"s":21}],"v":[{"a":21}]}]},74],"h":[{"a":23,"e":[{"n":5}]},18],"i":[{"c":24,"d":[{"e":[{"n":4}]},24],"g":[{"n":[{"a":4}]}],"m":94,"n":95,"s":[{"t":[{"e":17}]}],"u":0},29],"k":[{"i":[{"n":19}]}],"m":[{"i":1}],"o":[{"l":[{"u":3},24],"n":[{"a":4},24]}],"p":[{"e":[{"r":3}],"i":[{"r":[{"a":4}]}],"r":[{"e":1}],"a":[{"c":[{"i":211}]}]},29],"s":[{"i":[{"b":96}]},25],"t":[{"a":[{"n":36}],"i":[{"g":3,"m":4}],"o":[{"n":23},44],"r":[{"o":19,"u":[{"c":10}]},25]}],"u":[{"r":[{"r":4},24]}],"w":1}],"t":[{"a":[{"b":0}],"e":[{"n":[{"d":17}],"o":23}],"h":[{"o":[{"d":54}],"y":[{"l":[{"e":[{"n":[{"e":162}]}]}]}]}],"i":[{"c":2,"d":[{"e":19}],"n":[{"o":0},17],"r":19,"t":[{"i":[{"o":19,"v":4}]}]}],"n":18,"o":[{"n":[{"a":4}]}],"r":[{"a":23,"e":23,"i":[{"c":3,"f":4}],"o":[{"g":3,"s":4}]}],"u":[{"a":3}],"y":[{"m":4}],"z":4}],"u":[{"n":19,"p":23,"r":[{"o":3}],"s":0,"t":[{"e":17,"i":[{"l":6}],"r":4}],"c":[{"l":[{"i":[{"d":212}]}]}]},18],"v":[{"a":[{"p":97,"s":[{"t":4},24]}],"e":[{"a":19,"l":[{"l":3,"o":12}],"n":[{"g":19,"i":17}],"r":[{"b":19},2]}],"i":[{"d":3,"l":0,"n":21,"v":0},29],"o":[{"c":19}],"u":19}],"w":[{"a":[{"g":21},29],"e":[{"e":19}],"h":23,"i":[{"l":6,"n":[{"g":3}],"t":23}]}],"x":[{"p":41}],"y":[{"c":32,"e":[{".":32}],"s":0}]}],"f":[{"a":[{"b":[{"l":3,"r":11}],"c":[{"e":1}],"g":18,"i":[{"n":17}],"l":[{"l":[{"e":6}]}],"m":[{"a":26,"i":[{"s":5}]}],"r":[{"t":[{"h":5}]},32],"t":[{"a":3,"h":[{"e":3}],"o":18}],"u":[{"l":[{"t":7}]}]},41],"b":56,"d":18,"e":[{".":18,"a":[{"s":17,"t":[{"h":54}]}],"b":[{"r":[{"u":[{"a":15}]}]},1],"c":[{"a":18,"t":32}],"d":25,"l":[{"i":3}],"m":[{"o":1}],"n":[{"d":[{"e":6},8]}],"r":[{"r":32,"m":[{"i":[{"o":213}]}]},15],"v":0}],"f":[{"e":[{"s":21}],"i":[{"e":21,"n":[{".":19}],"s":94}],"l":[{"y":21}],"y":24},43],"h":18,"i":[{"a":3,"c":[{".":48,"a":[{"l":47,"n":23,"t":[{"e":18}]}],"e":[{"n":23,"r":3}],"i":[{"a":32,"e":32},0],"s":18,"u":3,"h":27}],"d":[{"e":[{"l":4}]}],"g":[{"h":[{"t":7}]}],"l":[{"i":5,"l":[{"i":[{"n":6}]}],"y":18}],"n":[{"a":32,"d":97,"e":9,"g":98,"n":0},25],"s":[{"t":[{"i":0}]}],"t":[{"t":[{"e":[{"d":[{".":5}]}]}]}]},41],"l":[{"e":[{"s":[{"s":19}]}],"i":[{"n":17}],"o":[{"r":[{"e":11}],"w":[{"e":[{"r":[{".":84}]}]}]}],"y":100,"a":[{"g":[{"e":[{"l":214}]}]}],"u":[{"o":[{"r":27}]}]},99],"m":18,"n":18,"o":[{"n":[{"d":[{"e":0}],"t":0},32],"r":[{"a":[{"t":4,"y":5}],"e":[{"t":6}],"i":0,"t":[{"a":6}]},9],"s":5},41],"p":56,"r":[{"a":[{"t":0}],"e":[{"a":19,"s":[{"c":6}]}],"i":[{"l":17},8],"o":[{"l":6}]}],"s":48,"t":[{"o":21,"y":24},25],"u":[{"e":[{"l":4}],"g":18,"m":[{"i":[{"n":1}]}],"n":[{"e":4}],"r":[{"i":3}],"s":[{"i":17,"s":0}],"t":[{"a":18}]},27],"y":41}],"g":[{"a":[{"f":0,"l":[{".":32,"i":27,"o":3}],"m":[{"e":[{"t":4}],"o":19},25],"n":[{"i":[{"s":5,"z":[{"a":6},3]}],"o":18}],"r":[{"n":67}],"s":[{"s":17}],"t":[{"h":12,"i":[{"v":18}]}],"z":18},41],"b":23,"d":1,"e":[{".":25,"d":25,"e":[{"z":17}],"l":[{"i":[{"n":0,"s":4,"z":4}],"y":18}],"n":[{"a":[{"t":1}],"i":[{"z":4}],"o":18,"y":18,"c":[{"y":[{".":8}]}]},41],"o":[{"m":3,"d":215},41],"r":[{"y":21}],"s":[{"i":32}],"t":[{"h":6,"o":18,"y":1,"i":[{"c":[{".":8}]}]}],"v":1}],"g":[{"e":[{"r":23},24],"l":[{"u":6}],"o":0},101],"h":[{"i":[{"n":3}],"o":[{"u":[{"t":4}]}],"t":[{"o":1,"w":[{"e":15}]}]}],"i":[{".":32,"a":[{"r":5},102],"c":[{"i":[{"a":32}],"o":21},29],"e":[{"n":6,"s":[{".":32}]}],"l":0,"m":[{"e":[{"n":23}]}],"n":[{".":68,"g":[{"e":5}],"s":103}],"o":32,"r":[{"l":0},27],"s":[{"l":23}],"u":1,"v":32,"z":27}],"l":[{"a":[{"d":[{"i":6}],"s":32},0],"e":[{"a":[{"d":29}]},41],"i":[{"b":0,"g":23,"s":[{"h":43}]}],"o":[{"r":11,"b":[{"i":[{"n":106}]}]},27]},9],"m":[{"y":21},29],"n":[{"a":[{".":21,"c":69},1],"e":[{"t":[{"t":17,"i":[{"s":[{"m":137}]}]}]}],"i":[{"n":24,"o":21},29],"o":[{"n":21,"m":[{"o":5}],"r":[{".":216,"e":[{"s":[{"p":24}]}]}]},29]}],"o":[{".":27,"b":5,"e":32,"g":104,"i":[{"s":3}],"n":[{"a":105,"d":[{"o":7}],"i":[{"z":[{"a":217}]},3]},8],"o":32,"r":[{"i":[{"z":4}],"o":[{"u":5}]}],"s":[{".":32}],"v":15},41],"p":23,"r":[{"a":[{"d":[{"a":18}],"i":21,"n":84,"p":[{"h":[{".":32,"e":[{"r":[{".":7},19]}],"i":[{"c":32}],"y":18}]}],"y":18}],"e":[{"n":0,"s":[{"s":[{".":18}]}]}],"i":[{"t":18,"e":[{"v":213}]}],"o":21,"u":[{"f":17}]},41],"s":[{"t":[{"e":19}]},9],"t":[{"h":11}],"u":[{"a":[{"r":[{"d":27}]},1],"e":25,"i":[{"t":106}],"n":27,"s":27,"t":[{"a":[{"n":29}]},26]}],"w":23,"y":[{"n":107,"r":[{"a":4}]},41]}],"h":[{"a":[{"b":[{"l":73}],"c":[{"h":17}],"e":[{"m":0,"t":0}],"g":[{"u":19}],"l":[{"a":[{"m":12},3]}],"m":1,"n":[{"c":[{"i":0,"y":0}],"d":[{".":32}],"g":[{"e":[{"r":6}],"o":6},0],"i":[{"z":108}],"k":0,"t":[{"e":0}]}],"p":[{"l":11,"t":5,"a":[{"r":[{"r":218}]}]}],"r":[{"a":[{"n":3,"s":4}],"d":[{"e":12},8],"l":[{"e":0}],"p":[{"e":[{"n":6}]}],"t":[{"e":[{"r":5}]}]}],"s":[{"s":5}],"u":[{"n":17}],"z":[{"a":11},32],"i":[{"r":[{"s":137}]}],"t":[{"c":[{"h":213}]}]}],"b":29,"e":[{"a":[{"d":41,"r":27}],"c":[{"a":[{"n":1,"t":19}]}],"d":[{"o":13},21],"l":[{"i":93,"l":[{"i":[{"s":0}],"y":0}],"o":19}],"m":[{"p":0}],"n":[{"a":[{"t":5},17]},9],"o":[{"r":5}],"p":5,"r":[{"a":[{"p":12},21],"b":[{"a":0}],"e":[{"a":6}],"n":23,"o":[{"u":19}],"y":23}],"s":[{"p":64},29],"t":[{"e":[{"d":0}]},1],"u":0,"x":[{"a":168}]}],"f":29,"h":29,"i":[{"a":[{"n":4}],"c":[{"o":1}],"g":[{"h":6}],"l":109,"m":[{"e":[{"r":36}]}],"n":[{"a":21}],"o":[{"n":[{"e":17}]}],"p":[{"e":[{"l":[{"a":219}]}]},1],"r":[{"l":0,"o":3,"p":0,"r":0}],"s":[{"e":[{"l":11}],"s":0}],"t":[{"h":[{"e":[{"r":6}]}],"e":[{"s":[{"i":[{"d":12}]}]}]}],"v":9}],"k":18,"l":[{"a":[{"n":17}],"o":[{"r":[{"i":11}]},24]},80],"m":[{"e":[{"t":17}]},43],"n":[{"a":[{"u":[{"z":12}]}]},42],"o":[{"d":[{"i":[{"z":19}],"s":19}],"g":[{"e":17},1],"l":[{"a":[{"r":5}],"e":110}],"m":[{"a":1,"e":12}],"n":[{"a":0,"y":4}],"o":[{"d":27,"n":17}],"r":[{"a":[{"t":5}],"i":[{"s":4,"c":[{".":187}]}],"t":[{"e":12}],"u":4}],"s":[{"e":[{"n":4},0],"p":15}],"u":[{"s":[{"e":54},41]}],"v":[{"e":[{"l":5}]}]}],"p":56,"r":[{"e":[{"e":6}],"o":[{"n":[{"i":[{"z":5}]}],"p":[{"o":11}]}]},26],"s":[{"h":21},101],"t":[{"a":[{"r":21}],"e":[{"n":2,"s":4,"o":[{"u":216}]}],"y":21}],"u":[{"g":1,"m":[{"i":[{"n":1}]}],"n":[{"k":[{"e":5}],"t":0}],"s":[{"t":14}],"t":1}],"w":[{"a":[{"r":[{"t":21}]}]},29],"y":[{"p":[{"e":3,"h":3,"o":[{"t":[{"h":[{"a":137}]}]}]}],"s":9}]}],"i":[{"a":[{"l":24,"m":[{"e":[{"t":[{"e":5}]}]},0],"n":[{"c":18,"i":11,"t":46},24],"p":[{"e":4}],"s":[{"s":17}],"t":[{"i":[{"v":21}],"r":[{"i":[{"c":1}]}],"u":21}]},42],"b":[{"e":[{"r":[{"a":3,"t":4}]},0],"i":[{"a":4,"n":3,"t":[{".":4,"e":4}]}],"l":[{"i":3},29],"o":19,"r":[{"i":94},29],"u":[{"n":19}]}],"c":[{"a":[{"m":18,"p":32,"r":[{".":21,"a":21},18],"s":6,"y":21}],"c":[{"u":17}],"e":[{"o":18}],"h":18,"i":[{"d":19,"n":[{"a":4}],"p":[{"a":3},24]},25],"l":[{"y":21}],"o":[{"c":94}],"r":[{"a":32,"y":21},43],"t":[{"e":1,"u":[{"a":111},84]}],"u":[{"l":[{"a":3}],"m":1,"o":4,"r":23}]}],"d":[{"a":[{"i":21,"n":[{"c":4}]}],"d":4,"e":[{"a":[{"l":11}],"s":0}],"i":[{"a":[{"n":4,"r":0}],"e":19,"o":[{"u":5,"s":1},3],"t":2,"u":4},24],"l":[{"e":23}],"o":[{"m":21,"w":3}],"r":21,"u":[{"o":4},24]},25],"e":[{"d":[{"e":0}],"g":[{"a":113}],"l":[{"d":12}],"n":[{"a":67,"e":0,"n":19,"t":[{"i":23}]}],"r":[{".":29}],"s":[{"c":23,"t":29}],"t":23},112],"f":[{".":18,"e":[{"r":[{"o":4}]}],"f":[{"e":[{"n":5}],"r":1}],"i":[{"c":[{".":18}],"e":23}],"l":23,"t":18,"a":[{"c":[{"e":[{"t":137}]}]}]}],"g":[{"a":[{"b":5}],"e":[{"r":[{"a":3}]}],"h":[{"t":[{"i":12}]}],"i":[{"b":23,"l":3,"n":3,"t":3},18],"l":28,"o":[{"r":3,"t":4},24],"r":[{"e":19}],"u":[{"i":5,"r":2}],"n":[{"i":[{"t":[{"e":[{"r":213}]},0]}]}]},25],"h":23,"i":114,"j":[{"k":21},23],"k":18,"l":[{"a":[{"b":93,"d":[{"e":21}],"m":94,"r":[{"a":5}]},29],"e":[{"g":23,"r":2,"v":17}],"f":4,"i":[{"a":3,"b":9,"o":3,"s":[{"t":1}],"t":25,"z":9},2],"l":[{"a":[{"b":5}]}],"n":18,"o":[{"q":3}],"t":[{"y":1}],"u":[{"r":4}],"v":3}],"m":[{"a":[{"g":[{"e":3},21],"r":[{"y":5}]}],"e":[{"n":[{"t":[{"a":[{"r":10}]}]}],"t":18}],"i":[{"d":[{"a":4}],"l":[{"e":5}],"n":[{"i":19}],"t":18},2],"n":[{"i":1}],"o":[{"n":23}],"u":[{"l":[{"a":3}]},24],"p":[{"e":[{"d":[{"a":201}]}]}]}],"n":[{".":25,"a":[{"u":83,"v":18}],"c":[{"e":[{"l":36,"r":3}]}],"d":[{"l":[{"i":[{"n":[{"g":4}]}]}]},18],"e":[{"e":23,"r":[{"a":[{"r":17}]}],"s":[{"s":19}]},25],"g":[{"a":18,"e":[{"n":4},18],"i":18,"l":[{"i":[{"n":[{"g":4}]}]}],"o":18,"u":18}],"i":[{".":19,"a":21,"o":3,"s":2,"t":[{"e":[{".":19,"l":[{"y":[{".":19}]}]}],"i":[{"o":32}],"y":3}]},25],"k":18,"l":18,"n":25,"o":[{"c":90,"s":0,"t":21},42],"s":[{"e":3,"u":[{"r":[{"a":7}]}]},25],"t":[{".":25,"h":112}],"u":[{"s":19},2],"y":18,"f":[{"r":[{"a":[{"s":220}]}]}]}],"o":[{".":18,"g":[{"e":17,"r":9}],"l":29,"m":1,"n":[{"a":[{"t":11}],"e":[{"r":[{"y":0}]}],"i":11}],"p":[{"h":4}],"r":[{"i":11}],"s":21,"t":[{"h":4,"i":19,"o":1}],"u":[{"r":21}]},25],"p":[{"e":0,"h":[{"r":[{"a":[{"s":115}]}]}],"i":[{"c":1},3],"r":[{"e":96}],"u":[{"l":3}]},25],"q":[{"u":[{"a":23,"e":[{"f":4}],"i":[{"d":3,"t":116}]}]}],"r":[{"a":[{"b":0,"c":21},29],"d":[{"e":5}],"e":[{"d":[{"e":0}],"f":21,"l":117,"s":21}],"g":[{"i":4}],"i":[{"d":[{"e":5}],"s":1,"t":[{"u":11}],"z":118},2],"m":[{"i":[{"n":1}]}],"o":[{"g":0,"n":[{".":32}]}],"u":[{"l":4}],"r":[{"e":[{"v":[{"o":[{"c":221}]}]}]}]},18],"s":[{".":25,"a":[{"g":4,"r":3,"s":6}],"c":[{"h":3},119],"e":[{"r":3},18],"f":27,"h":[{"a":[{"n":4}],"o":[{"n":3,"p":5}]}],"i":[{"b":3,"d":0,"s":19,"t":[{"i":[{"v":4}]}]}],"k":26,"l":[{"a":[{"n":36}]}],"m":[{"s":18}],"o":[{"m":[{"e":[{"r":5}]}]},24],"p":[{"i":9,"y":1},2],"s":[{"a":[{"l":1}],"e":[{"n":36,"s":1}]},62],"t":[{"a":[{".":1}],"e":2,"i":2,"l":[{"y":0}],"r":[{"a":[{"l":18}]}]}],"u":[{"s":4},24]}],"t":[{"a":[{".":18,"b":[{"i":0}],"g":21,"m":120,"n":23,"t":23}],"e":[{"r":[{"a":3,"i":19}],"s":[{"i":[{"m":[{"a":29}]}]},1]},25],"h":[{"i":[{"l":148}]},25],"i":[{"a":18,"c":[{"a":3,"k":31},22],"g":3,"l":[{"l":4}],"m":24,"o":25,"s":[{"m":21},18],"n":[{"e":[{"r":[{"a":[{"r":158}]}]}]}]},29],"o":[{"m":121,"n":18}],"r":[{"a":[{"m":21}],"y":4}],"t":18,"u":[{"a":[{"t":3}],"d":19,"l":3}],"z":[{".":18}]}],"u":29,"v":[{"e":[{"l":[{"l":3}],"n":[{".":3}],"r":[{".":83,"s":[{".":21}]}]}],"i":[{"l":[{".":4}],"o":4,"t":2}],"o":[{"r":[{"e":19,"o":35}],"t":83}]},25],"w":56,"x":[{"o":1}],"y":18,"z":[{"a":[{"r":18}],"i":0,"o":[{"n":[{"t":32}]}]}]}],"j":[{"a":[{"c":[{"q":0}],"p":[{"a":[{"n":[{"e":[{"s":220}]}]}]},1],"n":[{"u":[{"a":12}]}]},32],"e":[{"r":[{"s":5,"e":[{"m":222}]}],"s":[{"t":[{"i":[{"e":18}],"y":18}]}],"w":11},41],"o":[{"p":1}],"u":[{"d":[{"g":32}]}]}],"k":[{"a":[{".":27,"b":23,"g":19,"i":[{"s":17}],"l":0}],"b":29,"e":[{"d":24,"e":41,"g":1,"l":[{"i":[{"n":[{"g":223}]},4]}],"n":[{"d":73}],"r":29,"s":[{"t":[{".":23}]},0],"t":[{"y":1}]}],"f":23,"h":1,"i":[{".":32,"c":122,"l":[{"l":21,"o":6}],"m":21,"n":[{".":21,"d":[{"e":0}],"e":[{"s":[{"s":19}],"t":[{"i":[{"c":224}]}]}],"g":0}],"p":1,"s":[{"h":19},0]},29],"k":1,"l":[{"e":[{"y":18}],"y":18},29],"m":29,"n":[{"e":[{"s":19}],"o":69}],"o":[{"r":4,"s":[{"h":17}],"u":23,"v":[{"i":[{"a":[{"n":41}]}]}]}],"r":[{"o":[{"n":5}]}],"s":[{"c":21,"l":1,"y":21,"h":[{"a":23}]},101],"t":19,"w":29}],"l":[{"a":[{"b":[{"i":[{"c":11}],"o":21}],"c":[{"i":[{"e":225},17]}],"d":[{"e":21,"y":3}],"g":[{"n":0}],"m":[{"o":11}],"n":[{"d":[{"l":0},27],"e":[{"t":5}],"t":[{"e":0}]}],"r":[{"g":0,"i":11,"c":[{"e":[{"n":176}]}]}],"s":[{"e":0}],"t":[{"a":[{"n":4}],"e":[{"l":[{"i":18}]}],"i":[{"v":18}]}],"v":[{"a":95},18],"i":[{"n":[{"e":[{"s":[{"s":226}]}]}]}]}],"b":[{"i":[{"n":17}]},42],"c":[{"e":0,"i":23,"h":[{"a":[{"i":23}],"i":[{"l":[{"d":227}]}]}]},101],"d":[{"e":[{"r":[{"e":1,"i":1}]},24],"i":[{"s":4},0],"r":[{"i":21},23]},25],"e":[{"a":[{"d":[{"e":[{"r":[{".":183}]}]}],"s":[{"a":228}]},9],"b":[{"i":1}],"f":[{"t":6}],"g":[{".":32,"g":32,"e":[{"n":[{"d":[{"r":[{"e":230}]}]}]}]}],"m":[{"a":[{"t":[{"i":[{"c":5}]},1]}]}],"n":[{".":18,"c":27,"e":[{".":32}],"t":41,"o":[{"i":[{"d":78}]}]}],"p":[{"h":3,"r":1}],"r":[{"a":[{"b":6}],"e":0,"g":27,"i":68,"o":21}],"s":[{"c":[{"o":4}],"q":32,"s":[{".":32},27]},8],"v":[{"a":23,"e":[{"r":[{".":0,"a":0,"s":0}]}]}],"y":[{"e":18},27],"c":[{"t":[{"a":[{"b":229}]}]}]}],"f":[{"r":19},25],"g":[{"a":[{"r":12},19],"e":[{"s":21}],"o":11},80],"h":48,"i":[{"a":[{"g":1,"m":9,"r":[{"i":[{"z":6}]}],"s":1,"t":[{"o":1}]}],"b":[{"i":4}],"c":[{"i":[{"o":32}],"o":[{"r":1}],"s":18,"t":[{".":18}],"u":21,"y":23}],"d":[{"a":23,"e":[{"r":5}],"i":27}],"f":[{"e":[{"r":11}],"f":21,"l":1}],"g":[{"a":[{"t":[{"e":32}]}],"h":27,"r":[{"a":1}]}],"k":27,"l":123,"m":[{"b":[{"l":0}],"i":11,"o":1,"p":90}],"n":[{"a":21,"e":[{"a":11},124],"i":11,"k":[{"e":[{"r":6}]}]}],"o":[{"g":4}],"q":125,"s":[{"p":0}],"t":[{".":24,"i":[{"c":[{"a":32,"s":108}]}],"h":[{"o":[{"g":204}]}]},29],"v":[{"e":[{"r":11}]}],"z":29}],"j":18,"k":[{"a":[{"l":23,"t":0},11]}],"l":[{"a":[{"w":21}],"e":[{"a":19,"c":23,"g":23,"l":23,"n":73,"t":73},24],"i":[{"n":[{"a":19},126],"s":[{"h":231}]},9],"o":[{"q":[{"u":[{"i":10}]}],"u":[{"t":4}],"w":19},1],"f":[{"l":2}]},29],"m":[{"e":[{"t":19}],"i":[{"n":[{"g":3}]}],"o":[{"d":21,"n":[{"e":[{"l":[{"l":232}]}]},17]}]},25],"n":81,"o":[{".":27,"b":[{"a":[{"l":5}],"o":[{"t":[{"o":233}]}]}],"c":[{"i":1}],"f":18,"g":[{"i":[{"c":27}],"o":19,"u":27,"e":[{"s":[{".":9}]}]}],"m":[{"e":[{"r":11}]}],"n":[{"g":32,"i":[{"z":127},0]}],"o":[{"d":6}],"p":[{"e":[{".":32}],"i":11,"m":23}],"r":[{"a":[{"t":[{"o":1}]},17],"i":[{"e":4}],"o":[{"u":5}]}],"s":[{".":32,"e":[{"t":5}],"o":[{"p":[{"h":[{"i":[{"z":32}],"y":32}]}]}],"t":0}],"t":[{"a":1}],"u":[{"n":[{"d":6}],"t":25}],"v":18,"a":[{"d":[{"e":[{"d":[{".":17}],"r":[{".":183}]}]}]}]}],"p":[{"a":[{"b":5}],"h":[{"a":23,"i":19}],"i":[{"n":[{"g":4}],"t":23}],"l":21,"r":19},25],"r":43,"s":[{"c":21,"e":24,"i":[{"e":21}]},81],"t":[{"a":[{"g":4,"n":[{"e":7}]}],"e":[{"n":17,"r":[{"a":36}],"a":23},29],"h":[{"i":[{"l":[{"y":148}]},11]}],"i":[{"e":[{"s":[{".":19}]}],"s":17}],"r":29,"u":[{"r":[{"a":12}]},8]},18],"u":[{"a":4,"b":[{"r":3}],"c":[{"h":17,"i":3}],"e":[{"n":3,"p":15}],"f":0,"i":[{"d":4}],"m":[{"a":1,"i":32,"n":[{".":19,"i":[{"a":32}]}],"b":[{"i":[{"a":[{".":235}]}]}]}],"o":[{"r":11},3],"p":18,"s":[{"s":17,"t":[{"e":11}]}],"t":41,"n":[{"k":[{"e":[{"r":234}]}]}]}],"v":[{"e":[{"n":19,"t":128}]}],"w":42,"y":[{"a":18,"b":18,"m":[{"e":4}],"n":[{"o":3}],"s":[{"e":19,"t":[{"y":[{"r":4}]}]},58],"g":[{"a":[{"m":[{"i":236}]}]}]},41]}],"m":[{"a":[{"b":25,"c":[{"a":9,"h":[{"i":[{"n":[{"e":4}]}]}],"l":1}],"g":[{"i":[{"n":5}],"n":32}],"h":25,"i":[{"d":6}],"l":[{"d":18,"i":[{"g":3,"n":4}],"l":[{"i":0}],"t":[{"y":0}],"a":[{"p":222}]}],"n":[{"i":[{"a":32,"s":5,"z":11}],".":24,"u":[{"s":[{"c":237}]}]}],"p":[{"h":[{"r":[{"o":244}]}]},18],"r":[{"i":[{"n":[{"e":[{".":4}]}],"z":4}],"l":[{"y":0}],"v":11,"g":[{"i":[{"n":238}]}]}],"s":[{"c":[{"e":4}],"e":0,"t":15}],"t":[{"e":32,"h":12,"i":[{"s":3,"z":[{"a":18}]}]}]},41],"b":[{"a":[{"t":129}],"i":[{"l":19,"n":[{"g":83}],"v":0}]},43],"c":56,"e":[{".":18,"d":[{".":18,"i":[{"a":32,"e":3,"c":[{"i":[{"n":152}]},84],"o":[{"c":239}]}],"y":108},25],"g":[{"r":[{"a":[{"n":240}]}]},9],"l":[{"o":[{"n":5}],"t":0}],"m":[{"o":130},9],"n":[{"a":[{"c":5},0],"d":[{"e":0}],"e":18,"i":0,"s":[{"u":7},17],"t":[{"e":0},27],".":24},41],"o":[{"n":4}],"r":[{"s":[{"a":19}]}],"s":[{"t":[{"i":27}]},25],"t":[{"a":[{"l":11},1],"e":2,"h":[{"i":4}],"r":[{"i":[{"c":32,"e":4}],"y":3},21]}],"v":1}],"f":43,"h":25,"i":[{".":32,"a":3,"d":[{"a":[{"b":241},0],"g":0}],"g":0,"l":[{"i":[{"a":27,"e":108,"t":[{"a":27}]}],"l":[{"a":[{"g":208}],"i":[{"l":[{"i":59}]}]},21]}],"n":[{"a":0,"d":27,"e":[{"e":19}],"g":[{"l":[{"i":5,"y":19},21]}],"t":0,"u":[{"t":[{"e":[{"r":242,"s":[{"t":242}]}]}]},21],"i":[{"s":[{".":174}]}]}],"o":[{"t":17}],"s":[{"e":[{"r":[{".":0}]}],"l":5,"t":[{"i":0,"r":[{"y":19}]}]},24],"t":[{"h":18}],"z":24}],"k":18,"l":43,"m":[{"a":[{"r":[{"y":5}],"b":243}]},29],"n":[{"a":1,"i":[{"n":21}],"o":1},43],"o":[{"c":[{"r":[{"a":[{"t":[{"i":[{"z":32}]},245]}]},18]}],"d":131,"g":[{"o":1}],"i":[{"s":[{"e":5},84]}],"k":18,"l":[{"e":[{"s":[{"t":4}],"c":246}]}],"m":[{"e":3}],"n":[{"e":[{"t":5,"y":[{"l":247}]}],"g":[{"e":5}],"i":[{"a":12,"s":[{"m":0,"t":0}],"z":3}],"o":[{"l":36,"c":[{"h":12}],"e":[{"n":171}],"s":249}],"y":[{".":3}]}],"r":[{"a":[{".":18}],"o":[{"n":[{"i":[{"s":248}]}]}]},9],"s":[{"e":[{"y":4}],"p":3},8],"t":[{"h":[{"e":[{"t":250}]},12]}],"u":[{"f":19,"s":[{"i":[{"n":98}]},27]}],"v":9,"e":[{"l":[{"a":[{"s":167}]}]}]},41],"p":[{"a":[{"r":[{"a":[{"b":5},7],"i":6}]}],"e":[{"t":23}],"h":[{"a":[{"s":36}]}],"i":[{"a":0,"e":[{"s":4}],"n":34,"r":19,"s":4},24],"o":[{"r":[{"i":11}],"s":[{"i":[{"t":[{"e":6}]}]}],"u":[{"s":21}],"v":6}],"t":[{"r":1}],"y":24},43],"r":47,"s":[{"h":[{"a":[{"c":[{"k":251}]}]},21],"i":19},101],"t":18,"u":[{"l":[{"a":[{"r":49}],"t":[{"i":[{"u":252},54]},32]}],"m":27,"n":8,"p":18,"u":1,"d":[{"r":[{"o":9}]}]},41],"w":18}],"n":[{"a":[{"b":[{"u":21},81],"c":[{".":18,"a":1,"t":19}],"g":[{"e":[{"r":[{".":5}]}]}],"k":0,"l":[{"i":[{"a":4},1],"t":18}],"m":[{"i":[{"t":4}]}],"n":[{"c":[{"i":36}],"i":[{"t":0}],"k":17},24],"r":[{"c":[{"h":[{"s":[{".":73}]}]},11],"e":18,"i":11,"l":0,"m":19}],"s":[{"c":0,"t":[{"i":5}]},21],"t":[{"a":[{"l":3}],"o":[{"m":[{"i":[{"z":6}]}]}]},24],"u":[{"s":[{"e":11}],"t":27},24],"v":[{"e":0}]},41],"b":80,"c":[{"a":[{"r":6}],"e":[{"s":[{".":21}]}],"h":[{"a":23,"e":[{"o":19,"s":[{"t":253}]}],"i":[{"l":19,"s":23}]}],"i":[{"n":2,"t":1}],"o":[{"u":[{"r":[{"a":7}]}]}],"r":29,"u":29}],"d":[{"a":[{"i":21,"n":19}],"e":[{"s":[{"t":[{".":4}]}]},29],"i":[{"b":0,"f":79,"t":29,"z":23,"e":[{"c":[{"k":29}]}]}],"u":[{"c":19,"r":0}],"w":[{"e":9}],"t":[{"h":[{"r":3}]}]}],"e":[{".":25,"a":[{"r":23}],"b":[{"u":11,"a":[{"c":[{"k":3}]}]},9],"c":[{"k":32},9],"d":25,"g":[{"a":[{"t":[{"i":[{"v":5}]},1]}],"e":32}],"l":[{"a":1,"i":[{"z":5}]}],"m":[{"i":4,"o":1}],"n":[{"e":18},41],"o":27,"p":[{"o":1}],"q":9,"r":[{"a":[{"b":6,"r":21}],"e":24,"i":132,"r":0},29],"s":[{".":25,"p":18,"t":25,"w":18,"k":[{"i":119}]},41],"t":[{"i":[{"c":27}]}],"v":[{"e":19},1],"w":1}],"f":[{"i":[{"n":[{"i":[{"t":[{"e":[{"s":226}]}]}]}]}]},23],"g":[{"a":[{"b":21}],"e":[{"l":23,"n":[{"e":[{"s":5},133]}],"r":[{"e":19,"i":23}]}],"h":[{"a":4,"o":2}],"i":[{"b":23,"n":2,"t":19}],"l":[{"a":21}],"o":[{"v":17}],"s":[{"h":4,"p":[{"r":2}]}],"u":[{"m":21},29],"y":24}],"h":[{"a":[{"b":12},0],"e":0},80],"i":[{"a":[{"n":[{".":114},3],"p":1},68],"b":[{"a":3,"l":1}],"d":[{"i":4},1],"e":[{"r":1}],"f":[{"i":[{"c":[{"a":[{"t":4}]}]},9]}],"g":[{"r":19}],"k":0,"m":[{"i":[{"z":3}]},29],"n":[{"e":[{".":32}],"g":0},29],"o":1,"s":[{".":32,"t":[{"a":0}]}],"t":[{"h":21,"i":[{"o":27}],"o":[{"r":23}],"r":3},24]}],"j":29,"k":[{"e":[{"r":[{"o":19}],"t":23}],"i":[{"n":3}],"l":29,"r":[{"u":[{"p":3}]}]},44],"l":[{"e":[{"s":[{"s":19}]}]},43],"m":[{"e":[{"t":17},0]},19],"n":[{"e":0,"i":[{"a":[{"l":11}],"v":0}]},101],"o":[{"b":[{"l":[{"e":3},0]}],"c":[{"l":19,"e":[{"r":[{"o":[{"s":254}]}]}]}],"d":66,"e":27,"g":[{"e":17},18],"i":[{"s":[{"i":6}]}],"l":[{"i":134,"o":[{"g":[{"i":[{"s":32}]}]}]}],"m":[{"i":[{"c":27,"z":108,"s":[{"t":82}]}],"o":1,"y":3,"a":[{"l":214}],"e":[{"n":[{"o":194}]}]}],"n":[{"a":[{"g":0}],"i":[{"z":19,"s":[{"o":255}]},5],"e":[{"q":15}]},1],"p":[{"o":[{"l":[{"i":135,"y":[{".":256}]}]}]},18],"r":[{"a":[{"b":5,"r":[{"y":1}]}]}],"s":[{"c":18,"e":0,"t":5}],"t":[{"a":4}],"u":[{"n":27},41],"v":[{"e":[{"l":136,"m":[{"b":2}]}]}],"w":[{"l":12}]}],"p":[{"i":0,"r":[{"e":[{"c":17}]}]},72],"q":29,"r":[{"u":0},29],"s":[{"a":[{"b":4,"t":[{"i":36}]}],"c":[{"e":[{"i":[{"v":4}]}]},1],"e":[{"s":83},24],"i":[{"d":137,"g":17}],"l":24,"m":[{"o":[{"o":1}]},3],"o":[{"c":21}],"p":[{"e":1,"i":19}],"t":[{"a":[{"b":[{"l":6}]}]}]},81],"t":[{"a":[{"b":0}],"e":[{"r":[{"s":12}]}],"i":[{"b":19,"e":[{"r":0}],"f":8,"n":[{"e":23,"g":83}],"p":0},9],"r":[{"o":[{"l":[{"l":[{"i":7}]}]}],"e":[{"p":137}]}],"s":1,"u":[{"m":[{"e":11}]}]},29],"u":[{"a":2,"d":1,"e":[{"n":4}],"f":[{"f":[{"e":0}]}],"i":[{"n":23,"t":50}],"m":[{"e":2,"i":19},21],"n":138,"o":23,"t":[{"r":3}]}],"v":74,"w":72,"y":[{"m":0,"p":0}],"z":[{"a":23},18]}],"o":[{"a":[{"d":11,"l":[{"e":[{"s":108}]}],"r":[{"d":12}],"s":[{"e":0,"t":[{"e":6}]}],"t":[{"i":5}]},18],"b":[{"a":[{"b":35,"r":19}],"e":[{"l":0}],"i":[{"n":[{"g":4},24]},29],"r":23,"u":[{"l":3}],"l":[{"i":[{"g":189}]}]}],"c":[{"e":29,"h":[{"e":[{"t":23}],"a":[{"s":23}]},0],"i":[{"f":12,"l":21}],"l":[{"a":[{"m":21}]}],"o":[{"d":21}],"r":[{"a":[{"c":3,"t":[{"i":[{"z":4}]}]}],"e":12,"i":[{"t":32}]}],"t":[{"o":[{"r":[{"a":7}]}]}],"u":[{"l":[{"a":3}],"r":[{"e":19}]}]}],"d":[{"d":[{"e":[{"d":4}]}],"i":[{"c":3,"o":11,"t":[{"i":[{"c":137}]}]}],"o":[{"r":12},139],"u":[{"c":[{"t":[{".":4,"s":4}]}]}],"e":[{"l":[{"l":[{"i":12}]}]}]}],"e":[{"l":21,"n":[{"g":19}],"r":[{"s":[{"t":257}]},23],"t":[{"a":1}],"v":23}],"f":[{"i":[{"t":[{"e":4,"t":17}]},24]}],"g":[{"a":[{"r":121,"t":[{"i":[{"v":4}],"o":21}]}],"e":[{"n":[{"e":19}],"o":19,"r":21},29],"i":[{"e":23,"s":140,"t":3}],"l":[{"y":79},21],"n":[{"i":[{"z":27}]}],"r":[{"o":21}],"u":[{"i":5}],"y":[{"n":25},41]}],"h":[{"a":[{"b":6}]},74],"i":[{"c":[{"e":[{"s":11}]}],"d":[{"e":[{"r":3}]}],"f":[{"f":17}],"g":0,"l":[{"e":[{"t":4}]}],"n":[{"g":23,"t":[{"e":[{"r":6}]}]}],"s":[{"m":19,"o":[{"n":4}],"t":[{"e":[{"n":6}]}]}],"t":[{"e":[{"r":3}]}]},9],"j":19,"k":[{"e":[{"n":23,"s":[{"t":15}]}],"i":[{"e":4}]},25],"l":[{"a":[{"n":21,"s":[{"s":36}]},29],"d":[{"e":15},9],"e":[{"r":3,"s":[{"c":23,"t":[{"e":[{"r":88}]}]}],"t":23}],"f":[{"i":1}],"i":[{"a":23,"c":[{"e":23}],"d":[{".":4}],"f":73,"l":19,"n":[{"g":3}],"o":19,"s":[{".":19,"h":3}],"t":[{"e":19,"i":[{"o":19}]}],"v":19,"g":[{"o":[{"p":[{"o":258}]}]}]},9],"l":[{"i":[{"e":17}]}],"o":[{"g":[{"i":[{"z":4}]}],"r":0,"n":[{"o":[{"m":259}]}]}],"p":[{"l":4}],"t":9,"u":[{"b":3,"m":[{"e":3}],"n":3,"s":19}],"v":9,"y":24}],"m":[{"a":[{"h":4,"l":5,"t":[{"i":[{"z":4}]}]}],"b":[{"e":9,"l":1}],"e":[{"n":[{"a":3}],"r":[{"s":[{"e":4}]}],"t":[{"r":[{"y":4}]},21],"c":[{"h":[{"a":260}]}]},24],"i":[{"a":23,"c":[{".":3,"a":3}],"d":19,"n":[{"i":19},2]}],"m":[{"e":[{"n":[{"d":32}]}]}],"o":[{"g":[{"e":0}],"n":21}],"p":[{"i":3,"r":[{"o":7}]}]}],"n":[{"a":[{"c":1,"n":23},2],"c":[{"i":[{"l":27}]},2],"d":[{"o":4},25],"e":[{"n":23,"s":[{"t":4}]}],"g":[{"u":1}],"i":[{"c":2,"o":23,"s":2,"u":19}],"k":[{"e":[{"y":3}]}],"o":[{"d":[{"i":1}],"m":[{"y":3,"i":[{"c":137}]}],"r":[{"m":[{"a":23}]}],"t":[{"o":[{"n":261}]}],"u":23}],"s":[{"p":[{"i":[{"r":[{"a":10}]},36]}],"u":17},3],"t":[{"e":[{"n":36}],"i":[{"f":7},93]}],"u":[{"m":4}],"v":[{"a":6}]},24],"o":[{"d":[{"e":5,"i":5}],"k":1,"p":[{"i":11}],"r":[{"d":23}],"s":[{"t":6}]},9],"p":[{"a":24,"e":[{"d":5,"r":[{"a":[{"g":18},27]},2]}],"h":[{"a":[{"n":19}],"e":[{"r":19}]},25],"i":[{"n":[{"g":3}],"t":23,"s":[{"m":[{".":2}]}]}],"o":[{"n":19,"s":[{"i":21}]}],"r":29,"u":2,"y":5}],"q":29,"r":[{"a":[{".":19,"g":83,"l":[{"i":[{"z":4}]}],"n":[{"g":[{"e":4}]}]},29],"e":[{"a":[{"l":19},5],"i":3,"s":[{"h":5,"t":[{".":4}]}],"w":17}],"g":[{"u":1}],"i":[{"a":56,"c":[{"a":3}],"l":19,"n":2,"o":29,"t":[{"y":3}],"u":23}],"m":[{"i":9}],"n":[{"e":8}],"o":[{"f":19,"u":[{"g":3}]}],"p":[{"e":4}],"r":[{"h":27}],"s":[{"e":[{"n":5},1],"t":17}],"t":[{"h":[{"i":3,"y":3,"o":[{"n":[{"i":[{"t":262}]}]}],"r":[{"i":137}]}],"y":1,"i":[{"v":[{"e":[{"l":[{"y":4}]}]}]}]}],"u":[{"m":19}],"y":29}],"s":[{"a":[{"l":3}],"c":[{"e":1,"o":[{"p":[{"i":18},23]}],"r":19},9],"i":[{"e":95,"t":[{"i":[{"v":4}],"o":3,"y":3}],"u":0}],"l":1,"o":24,"p":[{"a":1,"o":1,"h":[{"e":[{"r":83}]}]}],"t":[{"a":[{"t":[{"i":19}]},9],"i":[{"l":4,"t":4}]}]}],"t":[{"a":[{"n":21}],"e":[{"l":[{"e":[{"g":36}]}],"r":[{".":3,"s":4}],"s":[{"t":[{"e":[{"r":263}],"o":[{"r":264}]}]},21]}],"h":[{"e":[{"s":[{"i":5}],"o":[{"s":265}]}],"i":14},18],"i":[{"c":[{".":3,"a":4,"e":23}],"f":23,"s":23}],"o":[{"s":5}]}],"u":[{"b":[{"l":3,"a":[{"d":[{"o":116}]}]}],"c":[{"h":[{"i":6}]}],"e":[{"t":4}],"l":1,"n":[{"c":[{"e":[{"r":6}]}],"d":8}],"v":4},9],"v":[{"e":[{"n":1,"r":[{"n":[{"e":17}],"s":12,"t":1}]}],"i":[{"s":23,"t":[{"i":36}],"a":[{"n":[{".":266}]}]}],"o":[{"l":60}]}],"w":[{"d":[{"e":[{"r":3}]}],"e":[{"l":3,"s":[{"t":4}]}],"i":2,"n":[{"i":5}],"o":21}],"y":[{"a":2}],"x":[{"i":[{"d":[{"i":[{"c":267}]}]}]}]}],"p":[{"a":[{"c":[{"a":1,"e":1,"t":0}],"d":21,"g":[{"a":[{"n":32,"t":23}]}],"i":[{"n":17},21],"l":[{"m":[{"a":[{"t":268}]}]},21],"n":[{"a":0,"e":[{"l":11}],"t":[{"y":0}],"y":3}],"p":[{"u":1},2],"r":[{"a":[{"b":[{"l":6}],"g":[{"e":5,"r":[{"a":269}]}],"l":[{"e":228}],"m":[{"e":12},36]}],"d":[{"i":5}],"e":[{"l":5},27],"i":[{"s":0},28]}],"t":[{"e":[{"r":4},9],"h":[{"i":[{"c":32}],"y":4}],"r":[{"i":[{"c":1}]}]}],"v":0,"y":27},41],"b":43,"d":1,"e":[{".":18,"a":[{"r":[{"l":17}]},138],"c":9,"d":[{"e":27,"i":[{"a":36,"c":0},27]},37],"e":[{"d":0,"v":208},21],"k":0,"l":[{"a":1,"i":[{"e":17}]}],"n":[{"a":[{"n":1}],"c":21,"t":[{"h":0}]}],"o":[{"n":4}],"r":[{"a":[{".":21,"b":[{"l":6}],"g":21}],"i":[{"s":[{"t":6}]},21],"m":[{"a":[{"l":0}],"e":7}],"n":21,"o":11,"t":[{"i":11}],"u":4,"v":15}],"t":[{"e":[{"n":4}],"i":[{"z":4}]},9]}],"f":18,"g":18,"h":[{".":18,"a":[{"r":[{"i":6}]}],"e":[{"n":[{"o":11}],"r":1,"s":[{".":1}]}],"i":[{"c":2,"e":32,"n":[{"g":4}],"s":[{"t":[{"i":32}]}],"z":27,"l":[{"a":[{"n":[{"t":168}],"t":[{"e":[{"l":270}]}]}]}]}],"l":9,"o":[{"b":27,"n":[{"e":27,"i":32}],"r":0}],"s":18,"t":3,"u":32,"y":41}],"i":[{"a":[{"n":17},3],"c":[{"i":[{"e":1}],"y":1,"a":[{"d":271}]}],"d":[{"a":19,"e":3,"i":32},21],"e":[{"c":27,"n":3}],"g":[{"r":[{"a":[{"p":1}]}]}],"l":[{"o":3}],"n":[{".":21,"d":17,"o":21},9],"o":[{"n":17},141],"t":[{"h":[{"a":4},23],"u":9}]}],"k":142,"l":[{"a":[{"n":27,"s":[{"t":6}]}],"i":[{"a":11,"e":[{"r":5}],"g":18,"n":[{"a":[{"r":5}]},0],"c":[{"a":[{"b":208}]}]}],"o":[{"i":17}],"u":[{"m":[{"b":17},0]}]},143],"m":43,"n":48,"o":[{"c":1,"d":[{".":32}],"e":[{"m":4,"t":144}],"g":145,"i":[{"n":[{"t":32,"c":[{"a":12}]},84]}],"l":[{"y":[{"t":6,"e":137,"p":[{"h":[{"o":[{"n":[{"o":272}]}]}]}]}],"e":[{".":41}]}],"n":[{"i":1}],"p":1,"r":[{"y":1},124],"s":[{"s":15},41],"t":[{"a":1},21],"u":[{"n":32}]}],"p":[{"a":[{"r":[{"a":5}]}],"e":[{"d":21,"l":19,"n":23,"r":23,"t":23},24],"o":[{"s":[{"i":[{"t":[{"e":5}]}]}]}]},43],"r":[{"a":[{"y":[{"e":17}]}],"e":[{"c":[{"i":32,"o":5}],"e":[{"m":11}],"f":[{"a":[{"c":6}]}],"l":[{"a":0}],"r":11,"s":[{"e":23,"s":27,"p":[{"l":[{"i":84}]}]}],"t":[{"e":[{"n":5}]}],"v":11,"m":[{"a":[{"c":273}]}],"n":[{"e":[{"u":15}]}]}],"i":[{"e":53,"n":[{"t":146}],"s":[{"o":12},0]}],"o":[{"c":[{"a":23,"e":[{"s":[{"s":8}]}],"i":[{"t":[{"y":[{".":274}]}]}]}],"f":[{"i":[{"t":6}]}],"l":11,"s":[{"e":12}],"t":15,"g":[{"e":208}]}]},9],"s":[{"e":[{"u":[{"d":[{"o":[{"d":276,"f":276}]},275]}]},24],"h":1,"i":[{"b":21}]},81],"t":[{"a":[{"b":134}],"e":24,"h":24,"i":[{"m":11}],"u":[{"r":0}],"w":21,"o":[{"m":[{"a":[{"t":277}]}]}],"r":[{"o":[{"l":278}]}]},42],"u":[{"b":[{"e":[{"s":[{"c":181}]}]},11],"e":0,"f":0,"l":[{"c":11}],"m":1,"n":9,"r":[{"r":0}],"s":32,"t":[{"e":[{"r":11},32],"r":3,"t":[{"e":[{"d":0}],"i":[{"n":0}]}]},9]}],"w":23}],"q":[{"u":[{"a":[{"v":5,"i":[{"n":[{"t":[{"e":279}]}]}],"s":[{"i":[{"r":281,"s":281},280]}]}],"e":[{".":25,"r":27,"t":27}],"i":[{"n":[{"t":[{"e":[{"s":[{"s":282}]}]}]}],"v":[{"a":[{"r":14}]}]}]},9]}],"r":[{"a":[{"b":[{"i":3,"o":[{"l":[{"i":[{"c":29}],"o":[{"i":236}]}]}]},25],"c":[{"h":[{"e":17,"u":3}],"l":19}],"f":[{"f":[{"i":5}],"t":0}],"i":24,"l":[{"o":1}],"m":[{"e":[{"t":[{"r":[{"i":[{"z":283}]}]},11],"n":24}],"i":24,"o":[{"u":3}]}],"n":[{"e":[{"o":6}],"g":[{"e":0}],"i":21,"o":4,"h":[{"a":[{"s":167}]}]}],"p":[{"e":[{"r":11}],"h":[{"y":27}]}],"r":[{"c":5,"e":[{"f":5},17],"i":[{"l":18}]}],"s":24,"t":[{"i":[{"o":[{"n":115}]}]}],"u":[{"t":0}],"v":[{"a":[{"i":4}],"e":[{"l":11}]}],"z":[{"i":[{"e":4}]}],"d":[{"i":[{"g":127,"o":[{"g":249}]}]}],"o":[{"r":2}]}],"b":[{"a":[{"b":21,"g":21}],"i":[{"f":0,"n":[{"e":19,"g":[{".":4,"e":284}]},24]},8],"o":1},29],"c":[{"e":[{"n":17},24],"h":[{"a":23,"e":[{"r":0}]}],"i":[{"b":90,"t":1}],"u":[{"m":12}]},29],"d":[{"a":[{"l":21}],"i":[{"a":0,"e":[{"r":0}],"n":[{"g":3},17]},9]}],"e":[{".":25,"a":[{"l":2,"n":3,"r":[{"r":4}],"v":32,"w":1}],"b":[{"r":[{"a":[{"t":19}]}]}],"c":[{"o":[{"l":[{"l":5}],"m":[{"p":[{"e":5}]}]}],"r":[{"e":1}],"i":[{"p":[{"r":285}]}],"t":[{"a":[{"n":[{"g":286}]}]}]}],"d":[{"e":2,"i":[{"s":3,"t":5}]},37],"f":[{"a":[{"c":1}],"e":[{"r":[{".":4}]},9],"i":3,"y":1}],"g":[{"i":[{"s":11}]}],"i":[{"t":4}],"l":[{"i":2,"u":4}],"n":[{"t":[{"a":90,"e":0}]}],"o":2,"p":[{"i":[{"n":4}],"o":[{"s":[{"i":1}]}],"u":2}],"r":[{"i":21,"o":17,"u":4},147],"s":[{".":21,"p":[{"i":1}],"s":[{"i":[{"b":6}]}],"t":[{"a":[{"l":4}],"r":3},8]}],"t":[{"e":[{"r":1}],"i":[{"z":96}],"r":[{"i":[{"b":[{"u":85}]},3]}]}],"u":[{"t":[{"i":4}]},8],"v":[{"a":[{"l":1}],"e":[{"l":11,"r":[{".":30,"s":4,"t":4}]}],"i":[{"l":4}],"o":[{"l":[{"u":5}]}]},8],"w":[{"h":1}]}],"f":[{"u":0,"y":21},29],"g":[{"e":[{"r":3,"t":23}],"i":[{"c":23,"n":[{"g":3},0],"s":19,"t":19}],"l":29,"o":[{"n":0}],"u":23},9],"h":[{".":18,"a":[{"l":18}]},1],"i":[{"a":[{"b":0,"g":1,"l":[{".":23}]},3],"b":[{"a":11},21],"c":[{"a":[{"s":5}],"e":21,"i":[{"d":32,"e":1},18],"o":21}],"d":[{"e":[{"r":5}]}],"e":[{"n":[{"c":3,"t":3}],"r":2,"t":4}],"g":[{"a":[{"n":5}],"i":32}],"l":[{"i":[{"z":11}]}],"m":[{"a":[{"n":32}],"i":5,"o":27,"p":[{"e":0}]}],"n":[{"a":[{".":32},24],"d":0,"e":0,"g":0}],"o":2,"p":[{"h":[{"e":6},32],"l":[{"i":[{"c":5}]},9]}],"q":21,"s":[{".":21,"c":0,"h":23,"p":0},24],"t":[{"a":[{"b":116}],"e":[{"d":[{".":19}],"r":[{".":5,"s":5}]}],"i":[{"c":11}],"u":[{"r":5},9]}],"v":[{"e":[{"l":5,"t":11}],"i":11,"o":[{"l":287}]}]}],"j":23,"k":[{"e":[{"t":23}],"l":[{"e":1,"i":[{"n":1}]}],".":288,"h":[{"o":2}],"r":[{"a":[{"u":29}]}],"s":[{".":288}]}],"l":[{"e":[{"d":24,"q":[{"u":30}]},0],"i":[{"g":21,"s":[{"h":4},21]}],"o":73},29],"m":[{"a":[{"c":5}],"e":[{"n":23,"r":[{"s":4}]},24],"i":[{"n":[{"g":[{".":21},3]}],"o":21,"t":23}],"y":21},29],"n":[{"a":[{"r":21}],"e":[{"l":23,"r":21,"t":19,"y":23}],"i":[{"c":19,"s":92,"t":23,"v":23}],"o":[{"u":21},0],"u":23}],"o":[{"b":[{"l":11,"o":[{"t":289}]}],"c":[{"r":3},24],"e":[{"l":[{"a":[{"s":167}]}],"p":[{"i":[{"d":[{"e":290}]}]}]},1],"f":[{"e":2,"i":[{"l":4}]}],"k":[{"e":[{"r":4}]},8],"l":[{"e":[{".":32}]}],"m":[{"e":[{"t":[{"e":5}],"s":[{"h":3}]}],"i":0,"p":0}],"n":[{"a":[{"l":0}],"e":0,"i":[{"s":134}],"t":[{"a":0}]}],"o":[{"m":41,"t":32}],"p":[{"e":[{"l":3}],"i":[{"c":11}]}],"r":[{"i":11,"o":4}],"s":[{"p":[{"e":[{"r":5}]}],"s":0}],"t":[{"h":[{"e":1}],"y":1,"r":[{"o":[{"n":2}]}]}],"v":[{"a":1,"e":[{"l":5}]}],"x":5}],"p":[{"e":[{"a":21,"n":[{"t":19}],"r":[{".":4}],"t":23}],"h":95,"i":[{"n":[{"g":3}]}],"o":23,"a":[{"u":[{"l":[{"i":291}]}]}]},29],"r":[{"e":[{"c":0,"f":0,"o":21,"s":[{"t":0}]}],"i":[{"o":0,"v":0}],"o":[{"n":17,"s":17}],"y":[{"s":17}]},72],"s":[{"a":[{"t":[{"i":5}]},29],"c":1,"e":[{"c":[{"r":0},23],"r":[{".":4,"a":[{"d":[{"i":238}]}]}],"s":3,"v":148},24],"h":[{"a":19},29],"i":[{"b":90},29],"o":[{"n":12}],"p":29,"w":19},44],"t":[{"a":[{"c":[{"h":36}],"g":21}],"e":[{"b":23,"n":[{"d":17}],"o":5}],"i":[{"b":4,"d":0,"e":[{"r":21}],"g":23,"l":[{"i":12,"l":17,"y":21}],"s":[{"t":21}],"v":21},29],"r":[{"i":23,"o":[{"p":[{"h":115}]}],"e":[{"u":29}]}],"s":[{"h":1}],"h":[{"o":[{"u":29}]}]}],"u":[{"a":3,"e":[{"l":93,"n":3}],"g":[{"l":1}],"i":[{"n":3}],"m":[{"p":[{"l":11}]}],"n":[{"k":6,"t":[{"y":0}]},9],"s":[{"c":19}],"t":[{"i":[{"n":6}]}]}],"v":[{"e":[{"l":[{"i":17}],"n":23,"r":[{".":4}],"s":[{"t":19}],"y":23,"i":[{"l":29}]},1],"i":[{"c":23,"v":0}],"o":23}],"w":29,"y":[{"c":1,"n":[{"g":[{"e":32}]}],"t":3}],"z":[{"s":[{"c":2}]}]}],"s":[{"a":[{"b":42,"c":[{"k":32,"r":[{"i":11}],"t":23}],"i":32,"l":[{"a":[{"r":36}],"m":0,"o":4,"t":0,"e":[{"s":[{"c":54,"w":7}]}]}],"n":[{"c":27,"d":[{"e":0}]}],"p":[{"a":[{"r":[{"i":[{"l":292}]}]}]},29],"t":[{"a":4,"i":[{"o":76}],"u":11}],"u":0,"v":[{"o":[{"r":4}]}],"w":32},9],"b":56,"c":[{"a":[{"n":[{"t":149}],"p":[{"e":[{"r":267}]},0],"v":6,"t":[{"o":[{"l":208}]}]}],"e":[{"d":21,"i":18,"s":21}],"h":[{"o":21,"i":[{"t":[{"z":21}]}],"r":[{"o":[{"d":[{"i":[{"n":[{"g":293}]}]}]}]}]},8],"i":[{"e":68,"n":[{"d":150}],"u":[{"t":[{"t":294}]}]}],"l":[{"e":6,"i":21}],"o":[{"f":17,"p":[{"y":18}],"u":[{"r":[{"a":7}]}]}],"u":29,"r":[{"a":[{"p":[{"e":[{"r":[{".":36}]}]}]}]}],"y":[{"t":[{"h":247}]}]}],"d":56,"e":[{".":18,"a":[{"s":17,"w":5},1],"c":[{"o":151,"t":27}],"d":[{"e":95,"l":19},125],"g":[{"r":11},9],"i":32,"l":[{"e":2,"f":32,"v":32}],"m":[{"e":[{"s":[{"t":295}]},18],"o":[{"l":1}],"a":[{"p":[{"h":287}]}],"i":[{"t":[{"i":[{"c":296}]}]}]}],"n":[{"a":[{"t":5}],"c":18,"d":0,"e":[{"d":19}],"g":5,"i":[{"n":19}],"t":[{"d":18,"l":18}]}],"p":[{"a":152,"t":[{"e":[{"m":[{"b":11}]}]}]}],"r":[{".":43,"l":21,"o":0,"v":[{"o":18}]}],"s":[{"h":4,"t":5},72],"u":[{"m":113}],"v":[{"e":[{"n":11}]},32],"w":[{"i":0}],"x":32}],"f":47,"g":48,"h":[{".":25,"e":[{"r":2,"v":32}],"i":[{"n":2,"o":3,"p":27,"v":6}],"o":[{"l":[{"d":4}],"n":12,"r":[{"t":7},17],"e":[{"s":[{"t":137}]}]},0],"w":18},24],"i":[{"b":2,"c":[{"c":19}],"d":[{"e":[{".":27,"s":[{"t":6,"w":6},32],"d":[{".":8}]}],"i":[{"z":4},32]}],"g":[{"n":[{"a":18}]}],"l":[{"e":0,"y":18}],"n":[{"a":24,"e":[{".":32}],"g":23},42],"o":[{"n":[{"a":6},32]},41],"r":[{"a":5,"e":[{"s":[{"i":[{"d":4}]}]}]},9],"s":41,"t":[{"i":[{"o":27}]}],"u":32,"v":41,"z":32}],"k":[{"e":[{"t":23},18],"i":[{"n":[{"e":4,"g":4}]}],"y":[{"s":[{"c":15}]}]},9],"l":[{"a":[{"t":23}],"e":24,"i":[{"t":[{"h":7}]}],"o":[{"v":[{"a":[{"k":[{"i":[{"a":297}]}]}]}]}]},74],"m":[{"a":[{"l":[{"l":54}],"n":12},23],"e":[{"l":17,"n":19}],"i":[{"t":[{"h":32}]}],"o":[{"l":[{"d":49}]}]},42],"n":72,"o":[{"c":[{"e":1}],"f":[{"t":12}],"l":[{"a":[{"b":1}],"d":153,"i":[{"c":3}],"v":32,"u":[{"t":[{"e":9}]}]}],"m":27,"n":[{".":68,"a":17,"g":0}],"p":[{"h":[{"i":[{"c":32,"z":19}],"y":19}]},21],"r":[{"c":5,"d":5}],"v":[{"i":4},18],"g":[{"a":[{"m":[{"y":298}]}]}]},41],"p":[{"a":[{"i":32,"n":0,"c":[{"e":299,"i":[{"n":69}]}]},25],"e":[{"n":[{"d":17}],"o":57,"r":25,"c":[{"i":[{"o":11}]}]}],"h":[{"e":[{"r":[{"o":213},27]},24],"o":6}],"i":[{"l":17,"n":[{"g":4}],"o":18,"c":[{"i":[{"l":208}]}]}],"l":[{"y":21}],"o":[{"n":21,"r":[{"t":[{"s":[{"c":300,"w":300}]}]},17],"t":18,"k":[{"e":[{"s":[{"w":10}]}]}]}]}],"q":[{"u":[{"a":[{"l":[{"l":36}]}],"i":[{"t":[{"o":88}]}]}]}],"r":29,"s":[{"a":[{"s":12,"c":[{"h":[{"u":301}]}]},29],"c":94,"e":[{"l":23,"n":[{"g":19}],"s":[{".":21}],"t":19}],"i":[{"e":[{"r":0},21],"l":[{"y":4}],"a":[{"n":[{".":210}]}],"g":[{"n":[{"a":[{"b":302}]}]}]},29],"l":[{"i":1},21],"n":21,"p":[{"e":[{"n":[{"d":115}]}]}],"t":9,"u":[{"r":[{"a":6}]}],"w":4,"h":[{"a":[{"t":3}]}]},25],"t":[{".":25,"a":[{"g":24,"l":24,"m":[{"i":17,"p":69}],"n":[{"d":32,"t":[{"s":[{"h":[{"i":303}]}]}]}],"p":90,"t":[{".":32,"i":15}],"r":[{"t":[{"l":[{"i":12}]}]}]}],"e":[{"d":21,"r":[{"n":[{"i":7}],"o":19}],"w":[{"a":6},8]}],"h":[{"e":23}],"i":[{".":21,"a":19,"c":[{"k":32},29],"e":21,"f":23,"n":[{"g":3}],"r":32},9],"l":[{"e":29}],"o":[{"c":[{"k":32}],"m":[{"a":12}],"n":[{"e":32}],"p":21,"r":[{"e":27,"a":[{"b":304}]}]}],"r":[{"a":[{"d":21,"t":[{"u":32,"a":[{"g":305}]}],"y":21}],"i":[{"d":21,"b":[{"u":[{"t":7}]}]}],"y":18},1],"w":61,"y":[{"l":[{"i":[{"s":137}]}]},24],"b":4,"s":[{"c":[{"r":4}]}],"u":[{"p":[{"i":[{"d":306}]}]}]}],"u":[{"a":[{"l":2}],"b":111,"g":151,"i":[{"s":4,"t":12}],"l":21,"m":[{"i":11},9],"n":9,"r":9,"p":[{"e":[{"r":[{"e":307}]}]}]},41],"v":18,"w":[{"o":18,"i":[{"m":[{"m":177}]}]},9],"y":[{"c":18,"l":27,"n":[{"o":5,"c":41}],"r":[{"i":[{"n":4}]}],"t":[{"h":[{"i":308}]}]},21]}],"t":[{"a":[{".":27,"b":[{"l":[{"e":[{"s":4}]}],"o":[{"l":[{"i":[{"z":32,"s":[{"m":309}]}]}]}]},25],"c":[{"i":18}],"d":[{"o":4}],"f":46,"i":[{"l":[{"o":5}]}],"l":[{"a":4,"e":[{"n":5}],"i":11,"k":[{"a":204},18],"l":[{"i":[{"s":0}]}],"o":[{"g":4}]},9],"m":[{"o":4,"i":[{"n":82}]}],"n":[{"d":[{"e":0}],"t":[{"a":54}]}],"p":[{"e":[{"r":4}],"l":4,"a":[{"t":[{"h":310}]}]}],"r":[{"a":0,"c":18,"e":18,"i":[{"z":3}],"r":[{"h":311}]}],"s":[{"e":0,"y":4}],"t":[{"i":[{"c":18}],"u":[{"r":1}]}],"u":[{"n":17}],"v":0,"w":25,"x":[{"i":[{"s":0}]}],"g":[{"o":[{"n":[{".":3}]}]}]},41],"b":42,"c":[{"h":[{"e":[{"t":5}],"c":15,"i":[{"e":[{"r":237}]}]},21],"r":29},18],"d":43,"e":[{".":18,"a":[{"d":[{"i":17}],"t":18,"c":[{"h":[{"e":[{"r":[{".":36}]}]}]}]}],"c":[{"e":17,"t":32}],"d":[{"i":4},42],"e":41,"g":[{"e":[{"r":4}],"i":4},0],"l":[{".":27,"i":17,"s":32,"e":[{"g":84,"r":[{"o":249}]}]}],"m":[{"a":[{"t":11},154]}],"n":[{"a":[{"n":27}],"c":27,"d":27,"e":[{"s":18}],"t":[{"a":[{"g":0}]},41]}],"o":41,"p":[{"e":4},1],"r":[{"c":11,"d":155,"i":[{"e":[{"s":5}],"s":11,"z":[{"a":6}],"c":[{".":8}]},41],"n":[{"i":[{"t":32}]}],"v":5,"g":[{"e":[{"i":312}]}]}],"s":[{".":18,"s":[{".":23,"e":[{"s":313}]},18]}],"t":[{"h":[{"e":6}]}],"u":27,"x":27,"y":18}],"f":42,"g":43,"h":[{".":25,"a":[{"n":17,"l":[{"a":[{"m":228}]}]}],"e":[{"a":[{"s":3,"t":5},18],"i":[{"s":11}],"t":27},9],"i":[{"c":[{".":4,"a":4}],"l":18,"n":[{"k":32}]}],"l":18,"o":[{"d":[{"e":4,"i":[{"c":32}],"o":[{"n":11}]}],"o":18,"r":[{"i":[{"t":6,"z":5}]}],"g":[{"e":[{"n":[{"i":314}]}]}],"k":[{"e":[{"r":175}]}]}],"s":25,"y":[{"l":[{"a":[{"n":228}]}],"s":[{"c":11}]}]}],"i":[{"a":[{"b":1,"t":[{"o":1}],"n":[{".":70}]},41],"b":156,"c":[{"k":18,"o":21,"u":157}],"d":[{"i":32}],"e":[{"n":27}],"f":[{"y":4},8],"g":[{"u":32},25],"l":[{"l":[{"i":[{"n":6}]}]}],"m":[{"p":18,"u":[{"l":5}]},41],"n":[{"a":24,"e":[{".":27}],"i":27,"o":[{"m":285}]},42],"o":[{"c":4,"n":[{"e":[{"e":6}]}]},41],"q":32,"s":[{"a":3,"e":27,"m":0,"o":4,"p":0,"t":[{"i":[{"c":[{"a":32}]}]}]}],"t":[{"l":3}],"u":1,"v":[{"a":0},41],"z":[{"a":3,"e":[{"n":3}]},41]}],"l":[{"a":[{"n":17},19],"e":[{".":27,"d":27,"s":[{".":27}],"t":[{".":19}]}],"o":19,"i":[{"e":[{"r":315}]}]},25],"m":[{"e":0},43],"n":81,"o":[{"b":3,"c":[{"r":[{"a":[{"t":4}]}]}],"d":[{"o":18}],"f":25,"g":[{"r":9}],"i":[{"c":4}],"m":[{"a":9,"b":0,"y":3}],"n":[{"a":[{"l":[{"i":0}],"t":3}],"o":18,"y":18}],"r":[{"a":9,"i":[{"e":3,"z":5}]}],"s":8,"u":[{"r":32,"t":18}],"w":[{"a":[{"r":3}]}],"l":[{"o":[{"g":[{"y":84}]}]}],"t":[{"i":[{"c":11}]}]},41],"p":43,"r":[{"a":[{"b":11,"c":[{"h":5,"i":[{"t":17},36],"t":[{"e":17}]}],"s":17,"v":[{"e":[{"n":5,"s":158,"r":[{"s":[{"a":[{"b":317}]},15]}]}]}],"i":[{"t":[{"o":[{"r":316}]}]}]},41],"e":[{"f":5,"m":[{"i":6},0],"a":[{"c":[{"h":[{"e":318}]}]}]}],"i":[{"a":[{"l":[{".":1}]},32],"c":[{"e":[{"s":5}],"i":[{"a":32}],"s":18}],"m":25,"v":0}],"o":[{"m":[{"i":5}],"n":[{"i":6,"y":18}],"p":[{"h":[{"e":5}],"i":[{"s":175}],"o":[{"l":[{"e":[{"s":320}],"i":[{"s":320,"t":321}]}]}]}],"s":[{"p":11}],"v":11,"l":[{"e":[{"u":[{"m":319}]}]}],"f":[{"i":[{"c":[{".":17}],"t":11}]}]}],"u":[{"i":5,"s":17}]}],"s":[{"c":[{"h":[{"i":[{"e":12}]}]},21],"h":0,"w":21},101],"t":[{"e":[{"s":21}],"o":19,"u":0,"r":[{"i":[{"b":[{"u":[{"t":322}]}]}]}]},66],"u":[{"a":[{"r":3},2],"b":[{"i":1}],"d":8,"e":18,"f":46,"i":76,"m":27,"n":[{"i":[{"s":1}]}],"p":[{".":48}],"r":[{"e":27,"i":[{"s":11},32],"o":5,"y":4,"n":[{"a":[{"r":12}]}]}],"s":27},41],"v":18,"w":[{"a":43,"i":[{"s":17}],"o":18,"h":29},1],"y":[{"a":18,"l":25,"p":[{"e":12,"h":4,"a":[{"l":64}]}]},41],"z":[{"e":1},18]}],"u":[{"a":[{"b":18,"c":0,"n":[{"a":4,"i":0}],"r":[{"a":[{"n":[{"t":5}]}],"d":8,"i":11,"t":11}],"t":29,"v":0,"d":[{"r":[{"a":[{"t":[{"i":3,"u":15}]}]}]}]}],"b":[{"e":[{"l":21,"r":[{"o":21},23]},1],"i":[{"n":[{"g":33}]},72],"l":[{"e":[{".":23}]}]}],"c":[{"a":23,"i":[{"b":0,"t":1}],"l":[{"e":12}],"r":23,"u":23,"y":21}],"d":[{"d":4,"e":[{"r":3,"s":[{"t":4}],"v":17}],"i":[{"c":29,"e":[{"d":3,"s":3}],"s":4,"t":19}],"o":[{"n":[{"y":232},21]}],"s":[{"i":1}],"u":21}],"e":[{"n":[{"e":21,"s":17,"t":[{"e":0}]}],"r":[{"i":[{"l":0}]}],"a":[{"m":15}]}],"f":[{"a":27,"l":23}],"g":[{"h":[{"e":[{"n":11}]}],"i":[{"n":4}]}],"i":[{"l":[{"i":[{"z":5}]}],"n":[{"g":29},1],"r":[{"m":0}],"t":[{"a":17}],"v":[{"e":[{"r":[{".":0}]}]},11]},156],"j":19,"k":18,"l":[{"a":[{"b":5,"t":[{"i":19}]},29],"c":[{"h":[{"e":32},17]}],"d":[{"e":[{"r":3}]}],"e":[{"n":29},1],"g":[{"i":1}],"i":[{"a":19,"n":[{"g":3}],"s":[{"h":4}]},9],"l":[{"a":[{"r":1}],"i":[{"b":96,"s":1}]}],"m":61,"o":72,"s":[{"e":[{"s":5}]},18],"t":[{"i":2,"r":[{"a":54}],"u":18}],"u":[{"l":4},23],"v":4}],"m":[{"a":[{"b":4}],"b":[{"i":1,"l":[{"y":1}]}],"i":[{"n":[{"g":83}]},29],"o":[{"r":[{"o":6}]}],"p":9}],"n":[{"a":[{"t":17}],"e":[{"r":1},24],"i":[{"m":1,"n":24,"s":[{"h":4}],"v":11},29],"s":[{"w":1},93],"t":[{"a":[{"b":11}],"e":[{"r":[{".":1}],"s":1}]}],"u":0,"y":4,"z":4}],"o":[{"r":[{"s":21}],"s":19,"u":29}],"p":[{"e":[{"r":[{"s":6}]},29],"i":[{"a":19,"n":[{"g":3}]}],"l":23,"p":[{"o":[{"r":[{"t":10}]}]},3],"t":[{"i":[{"b":5}],"u":17}]}],"r":[{"a":[{".":18,"g":21,"s":21,"l":[{".":216}]},29],"b":[{"e":1}],"c":0,"d":2,"e":[{"a":[{"t":5}]}],"f":[{"e":[{"r":1}],"r":1}],"i":[{"f":[{"i":[{"c":0}]},23],"n":2,"o":23,"t":29,"z":3,"a":[{"l":[{".":0}]}]}],"l":[{"i":[{"n":[{"g":[{".":5}]}]}]},9],"n":[{"o":1}],"o":[{"s":17}],"p":[{"e":1,"i":1}],"s":[{"e":[{"r":5}]}],"t":[{"e":[{"s":4}],"h":[{"e":3}],"i":[{"e":1},17]}],"u":23}],"s":[{"a":[{"d":19,"n":19,"p":1}],"c":[{"i":3},8],"e":[{"a":5,"r":[{".":9}]}],"i":[{"a":19,"c":23}],"l":[{"i":[{"n":1}]}],"p":2,"s":[{"l":4}],"t":[{"e":[{"r":[{"e":4}]}],"r":2}],"u":[{"r":17},24]},25],"t":[{"a":[{"b":0,"t":23}],"e":[{".":18,"l":18,"n":[{"i":17},18]}],"i":[{"l":[{"i":[{"z":5}]}],"n":[{"e":23,"g":3}],"o":[{"n":[{"a":7}]}],"s":21,"z":31},101],"l":34,"o":[{"f":4,"g":5,"m":[{"a":[{"t":[{"i":[{"c":5}]}]}]}],"n":19,"u":21}],"s":0}],"u":[{"m":1},23],"v":74,"x":[{"u":11}],"z":[{"e":1}]}],"v":[{"a":[{".":32,"b":159,"c":[{"i":[{"l":5}],"u":11}],"g":[{"e":1,"u":[{"e":[{"r":170}]}]},0],"l":[{"i":[{"e":4}],"o":5,"u":15}],"m":[{"o":4}],"n":[{"i":[{"z":4}]}],"p":[{"i":4}],"r":[{"i":[{"e":[{"d":5}]}]}],"t":[{"i":[{"v":29}]},27],"u":[{"d":[{"e":[{"v":54}]}]}]},41],"e":[{".":18,"d":18,"g":11,"l":[{".":23,"l":[{"i":11}],"o":1,"y":21}],"n":[{"o":[{"m":11}],"u":[{"e":19}]}],"r":[{"d":21,"e":[{".":32,"l":[{"y":[{".":41}]},21],"n":[{"c":5},23],"s":21,"i":[{"g":324}]}],"i":[{"e":11}],"m":[{"i":[{"n":36}]}],"s":[{"e":27}],"t":[{"h":11}]}],"s":[{".":18,"t":[{"e":0,"i":[{"t":[{"e":15}]}]}]},99],"t":[{"e":[{"r":11},1],"y":1}]}],"i":[{"a":[{"l":[{"i":4}],"n":32}],"d":[{"e":[{".":32,"d":32,"n":47,"s":32}],"i":32}],"f":23,"g":[{"n":4}],"k":0,"l":[{"i":[{"t":32,"z":127}]},25],"n":[{"a":26,"c":24,"d":5,"g":18},29],"o":[{"l":11,"r":73,"u":2}],"p":1,"r":[{"o":4}],"s":[{"i":[{"t":11}],"o":3,"u":3}],"t":[{"i":18,"r":11,"y":18}],"v":[{"i":[{"p":[{"a":[{"r":325}]}]}]},27]}],"o":[{".":32,"i":[{"r":[{"d":[{"u":323}]}],"c":[{"e":[{"p":213}]}]},0],"k":27,"l":[{"a":1,"e":19,"t":32,"v":27}],"m":[{"i":5}],"r":[{"a":[{"b":5}],"i":17,"y":1}],"t":[{"a":1,"e":[{"e":18}]}]}],"v":26,"y":21}],"w":[{"a":[{"b":[{"l":19}],"c":25,"g":[{"e":[{"r":4}],"o":5}],"i":[{"t":6}],"l":[{".":19}],"m":0,"r":[{"t":0}],"s":[{"t":[{"e":[{"w":[{"a":326}]}]},0]}],"t":[{"e":2}],"v":[{"e":[{"r":4,"g":327}]}]}],"b":29,"e":[{"a":[{"r":[{"i":[{"e":5}]}],"t":[{"h":54}]}],"d":[{"n":0}],"e":[{"t":12,"v":5,"k":[{"n":137}]}],"l":[{"l":0}],"r":29,"s":[{"t":12}],"v":23}],"h":[{"i":0}],"i":[{"l":[{"l":[{"i":[{"n":6}]}]},8],"n":[{"d":[{"e":0}],"g":0}],"r":0,"s":[{"e":27}],"t":[{"h":12}],"z":5,"d":[{"e":[{"s":[{"p":6}]}]}]},9],"k":21,"l":[{"e":[{"s":1}],"i":[{"n":3}]}],"n":[{"o":21}],"o":[{"m":15,"v":[{"e":[{"n":4}]}],"k":[{"e":[{"n":85}]}]},160],"p":19,"r":[{"a":[{"p":[{"a":[{"r":[{"o":12}]}]}]},0],"i":[{"t":[{"a":36,"e":[{"r":[{".":183}]}]}]},0]}],"s":[{"h":23,"l":1,"p":[{"e":1}],"t":60}],"t":18,"y":1,"c":23}],"x":[{"a":[{"c":[{"e":5}],"g":[{"o":21}],"m":11,"p":21,"s":5},29],"c":161,"e":[{"c":[{"u":[{"t":[{"o":1}]}]}],"d":24,"r":[{"i":0,"o":4}]},29],"h":[{"i":[{"l":6},8],"u":0},29],"i":[{"a":4,"c":4,"d":[{"i":4}],"m":[{"e":21,"i":[{"z":4}]}]},23],"o":[{"b":21},23],"p":[{"a":[{"n":[{"d":17}]}],"e":[{"c":[{"t":[{"o":10}]}],"d":11}]},23],"t":[{"i":23},74],"u":[{"a":3},29],"x":1,"q":[{"u":[{"i":[{"s":54}]}]},29]}],"y":[{"a":[{"c":19,"r":110,"t":19}],"b":29,"c":[{"e":[{"r":4},24],"h":[{"e":[{"d":264},0]},23],"o":[{"m":17,"t":17}]},29],"d":29,"e":[{"e":19,"r":[{"f":21},29],"s":[{"t":[{"e":[{"r":[{"y":328}]}]}]},0],"t":1}],"g":[{"i":19}],"h":47,"i":29,"l":[{"a":23,"l":[{"a":[{"b":[{"l":6}]}]}],"o":23,"u":19}],"m":[{"b":[{"o":[{"l":7}]}],"e":[{"t":[{"r":[{"y":20}]}]},0],"p":[{"a":12}]}],"n":[{"c":[{"h":[{"r":3}]}],"d":4,"g":4,"i":[{"c":4}],"x":32}],"o":[{"d":4,"g":33,"m":0,"n":[{"e":[{"t":4}],"s":21}],"s":21},72],"p":[{"e":[{"d":21,"r":6}],"i":3,"o":[{"c":21},23],"t":[{"a":9}],"u":19}],"r":[{"a":[{"m":5}],"i":[{"a":4}],"o":23,"r":1}],"s":[{"c":1,"e":161,"i":[{"c":[{"a":3}],"o":3,"s":27}],"o":21,"s":0,"t":[{"a":3,"r":[{"o":29}]},2],"u":[{"r":17}]}],"t":[{"h":[{"i":[{"n":23}]}],"i":[{"c":3}]}],"w":29}],"z":[{"a":[{"b":79,"r":8},2],"b":18,"e":[{"n":1,"p":1,"r":[{"o":3},29],"t":0},25],"i":[{"l":21,"s":21,"a":[{"n":[{".":23}]}]},42],"l":32,"m":18,"o":[{"m":1,"o":[{"l":4}],"p":[{"h":[{"r":329}]}]},41],"t":[{"e":0}],"z":[{"y":21,"w":231},101]}]}',["as-so-ciate","as-so-ciates","dec-li-na-tion","oblig-a-tory","phil-an-thropic","present","presents","project","projects","reci-procity","re-cog-ni-zance","ref-or-ma-tion","ret-ri-bu-tion","ta-ble"]],enUs=Object.freeze(Object.defineProperty({__proto__:null,EnUs},Symbol.toStringTag,{value:"Module"}));function parsePattern(pattern){const[levelsTableStr,patternStr]=pattern;return{levelsTable:levelsTableStr.split(","),pattern:JSON.parse(patternStr)}}__name(parsePattern,"parsePattern");function snackToPascal(snack){return snack.replace(/^[a-z]/,g=>g.toUpperCase()).replace(/-([a-z])/g,g=>g[1].toUpperCase())}__name(snackToPascal,"snackToPascal");function createStringSlicer(str){let i=0,slice=str;function next(){return slice=str.slice(i++),slice.length<3?[]:slice}__name(next,"next");function isFirstCharacter(){return i===2}return __name(isFirstCharacter,"isFirstCharacter"),[next,isFirstCharacter]}__name(createStringSlicer,"createStringSlicer");function createCharIterator(str){let i=0;function nextChar(){return str[i++]}__name(nextChar,"nextChar");function isLastLetter(){return str.length===i+1}return __name(isLastLetter,"isLastLetter"),[nextChar,isLastLetter]}__name(createCharIterator,"createCharIterator");const _Hyphen=class _Hyphen{constructor(){__publicField(this,"_patterns",new Map);__publicField(this,"_hyphenCache",new Map);this._preloadPatterns(),this.loadPattern(Lang.EnGb)}static getInstance(){return this._instance==null&&(this._instance=new _Hyphen),this._instance}_preloadPatterns(){this._patterns.set(Lang.EnUs,parsePattern(EnUs)),this._loadExceptionsToCache(Lang.EnUs,EnUs)}_loadExceptionsToCache(lang,pattern){if(pattern.length<3)return;const exceptions=pattern[2];for(const exception of exceptions){const cacheKey=exception.replace(/-/g,""),hyphens=exception.split("-");let cache=this._hyphenCache.get(lang);cache==null&&(cache=new Map,this._hyphenCache.set(lang,cache)),cache.set(cacheKey,hyphens)}}async loadPattern(lang){let pattern=await __variableDynamicImportRuntimeHelper(Object.assign({"./patterns/af.ts":__name(()=>Promise.resolve().then(()=>require("../af-Bpw3gNwc.js")),"./patterns/af.ts"),"./patterns/as.ts":__name(()=>Promise.resolve().then(()=>require("../as-C73oboNR.js")),"./patterns/as.ts"),"./patterns/be.ts":__name(()=>Promise.resolve().then(()=>require("../be-DM7HH-wL.js")),"./patterns/be.ts"),"./patterns/bg.ts":__name(()=>Promise.resolve().then(()=>require("../bg-BVx3UMtW.js")),"./patterns/bg.ts"),"./patterns/bn.ts":__name(()=>Promise.resolve().then(()=>require("../bn-C-O6Dyni.js")),"./patterns/bn.ts"),"./patterns/ca.ts":__name(()=>Promise.resolve().then(()=>require("../ca-DyIg63pT.js")),"./patterns/ca.ts"),"./patterns/cop.ts":__name(()=>Promise.resolve().then(()=>require("../cop-CzalNZMy.js")),"./patterns/cop.ts"),"./patterns/cs.ts":__name(()=>Promise.resolve().then(()=>require("../cs-jFzUvpSW.js")),"./patterns/cs.ts"),"./patterns/cu.ts":__name(()=>Promise.resolve().then(()=>require("../cu-C1YL2AZ4.js")),"./patterns/cu.ts"),"./patterns/cy.ts":__name(()=>Promise.resolve().then(()=>require("../cy-45KfwWEx.js")),"./patterns/cy.ts"),"./patterns/da.ts":__name(()=>Promise.resolve().then(()=>require("../da-DuIo_kbC.js")),"./patterns/da.ts"),"./patterns/de-1901.ts":__name(()=>Promise.resolve().then(()=>require("../de-1901-I9pw9K2h.js")),"./patterns/de-1901.ts"),"./patterns/de-1996.ts":__name(()=>Promise.resolve().then(()=>require("../de-1996-ChjJNsQw.js")),"./patterns/de-1996.ts"),"./patterns/de-ch-1901.ts":__name(()=>Promise.resolve().then(()=>require("../de-ch-1901-9RETBFw-.js")),"./patterns/de-ch-1901.ts"),"./patterns/el-monoton.ts":__name(()=>Promise.resolve().then(()=>require("../el-monoton-8RvMnHth.js")),"./patterns/el-monoton.ts"),"./patterns/el-polyton.ts":__name(()=>Promise.resolve().then(()=>require("../el-polyton-Bu66EDJ7.js")),"./patterns/el-polyton.ts"),"./patterns/en-gb.ts":__name(()=>Promise.resolve().then(()=>require("../en-gb-SV_a9fn-.js")),"./patterns/en-gb.ts"),"./patterns/en-us.ts":__name(()=>Promise.resolve().then(()=>enUs),"./patterns/en-us.ts"),"./patterns/es.ts":__name(()=>Promise.resolve().then(()=>require("../es-D0mhZjcV.js")),"./patterns/es.ts"),"./patterns/et.ts":__name(()=>Promise.resolve().then(()=>require("../et-B0RzltQe.js")),"./patterns/et.ts"),"./patterns/eu.ts":__name(()=>Promise.resolve().then(()=>require("../eu-4jAKFEjV.js")),"./patterns/eu.ts"),"./patterns/fi.ts":__name(()=>Promise.resolve().then(()=>require("../fi-DaRVklIS.js")),"./patterns/fi.ts"),"./patterns/fr.ts":__name(()=>Promise.resolve().then(()=>require("../fr-DrZ3bXXV.js")),"./patterns/fr.ts"),"./patterns/fur.ts":__name(()=>Promise.resolve().then(()=>require("../fur-_oHJfsBQ.js")),"./patterns/fur.ts"),"./patterns/ga.ts":__name(()=>Promise.resolve().then(()=>require("../ga-CFmZeeI7.js")),"./patterns/ga.ts"),"./patterns/gl.ts":__name(()=>Promise.resolve().then(()=>require("../gl-CfY7Df_j.js")),"./patterns/gl.ts"),"./patterns/grc.ts":__name(()=>Promise.resolve().then(()=>require("../grc-yz3tVRuC.js")),"./patterns/grc.ts"),"./patterns/gu.ts":__name(()=>Promise.resolve().then(()=>require("../gu-D-qwCz1q.js")),"./patterns/gu.ts"),"./patterns/hi.ts":__name(()=>Promise.resolve().then(()=>require("../hi-BRIhY2xN.js")),"./patterns/hi.ts"),"./patterns/hr.ts":__name(()=>Promise.resolve().then(()=>require("../hr-CKYeeRlN.js")),"./patterns/hr.ts"),"./patterns/hsb.ts":__name(()=>Promise.resolve().then(()=>require("../hsb-BG3O4bTN.js")),"./patterns/hsb.ts"),"./patterns/hu.ts":__name(()=>Promise.resolve().then(()=>require("../hu-11gHgrEC.js")),"./patterns/hu.ts"),"./patterns/hy.ts":__name(()=>Promise.resolve().then(()=>require("../hy-CbR2hSXC.js")),"./patterns/hy.ts"),"./patterns/ia.ts":__name(()=>Promise.resolve().then(()=>require("../ia-WpPFDdGr.js")),"./patterns/ia.ts"),"./patterns/id.ts":__name(()=>Promise.resolve().then(()=>require("../id-D4J_Cd04.js")),"./patterns/id.ts"),"./patterns/is.ts":__name(()=>Promise.resolve().then(()=>require("../is-DERAkBFR.js")),"./patterns/is.ts"),"./patterns/it.ts":__name(()=>Promise.resolve().then(()=>require("../it-UyiCWqfU.js")),"./patterns/it.ts"),"./patterns/ka.ts":__name(()=>Promise.resolve().then(()=>require("../ka-CLqmc6Xv.js")),"./patterns/ka.ts"),"./patterns/kmr.ts":__name(()=>Promise.resolve().then(()=>require("../kmr-CxwXQJXr.js")),"./patterns/kmr.ts"),"./patterns/kn.ts":__name(()=>Promise.resolve().then(()=>require("../kn-BVOgEmVc.js")),"./patterns/kn.ts"),"./patterns/la-x-classic.ts":__name(()=>Promise.resolve().then(()=>require("../la-x-classic-CZHKpRvI.js")),"./patterns/la-x-classic.ts"),"./patterns/la-x-liturgic.ts":__name(()=>Promise.resolve().then(()=>require("../la-x-liturgic-pcl0n-zH.js")),"./patterns/la-x-liturgic.ts"),"./patterns/la.ts":__name(()=>Promise.resolve().then(()=>require("../la-BjneBRWO.js")),"./patterns/la.ts"),"./patterns/lt.ts":__name(()=>Promise.resolve().then(()=>require("../lt-WYhIeybJ.js")),"./patterns/lt.ts"),"./patterns/lv.ts":__name(()=>Promise.resolve().then(()=>require("../lv-CnvXw6FR.js")),"./patterns/lv.ts"),"./patterns/ml.ts":__name(()=>Promise.resolve().then(()=>require("../ml-cY172xt6.js")),"./patterns/ml.ts"),"./patterns/mn-cyrl-x-lmc.ts":__name(()=>Promise.resolve().then(()=>require("../mn-cyrl-x-lmc-j2L28W57.js")),"./patterns/mn-cyrl-x-lmc.ts"),"./patterns/mn-cyrl.ts":__name(()=>Promise.resolve().then(()=>require("../mn-cyrl-DjlymiLm.js")),"./patterns/mn-cyrl.ts"),"./patterns/mr.ts":__name(()=>Promise.resolve().then(()=>require("../mr-Dm28ir_Z.js")),"./patterns/mr.ts"),"./patterns/mul-ethi.ts":__name(()=>Promise.resolve().then(()=>require("../mul-ethi-YVbJ7VwR.js")),"./patterns/mul-ethi.ts"),"./patterns/nb.ts":__name(()=>Promise.resolve().then(()=>require("../nb-mojOW3Qu.js")),"./patterns/nb.ts"),"./patterns/nl.ts":__name(()=>Promise.resolve().then(()=>require("../nl-Ds27_sIG.js")),"./patterns/nl.ts"),"./patterns/nn.ts":__name(()=>Promise.resolve().then(()=>require("../nn-DWxFsoNc.js")),"./patterns/nn.ts"),"./patterns/no.ts":__name(()=>Promise.resolve().then(()=>require("../no-Cg50WX2I.js")),"./patterns/no.ts"),"./patterns/oc.ts":__name(()=>Promise.resolve().then(()=>require("../oc-K9bKXqET.js")),"./patterns/oc.ts"),"./patterns/or.ts":__name(()=>Promise.resolve().then(()=>require("../or-BMcshzJR.js")),"./patterns/or.ts"),"./patterns/pa.ts":__name(()=>Promise.resolve().then(()=>require("../pa-Bs8RctRX.js")),"./patterns/pa.ts"),"./patterns/pi.ts":__name(()=>Promise.resolve().then(()=>require("../pi-Cvbb6qiX.js")),"./patterns/pi.ts"),"./patterns/pl.ts":__name(()=>Promise.resolve().then(()=>require("../pl-D6gpqB1f.js")),"./patterns/pl.ts"),"./patterns/pms.ts":__name(()=>Promise.resolve().then(()=>require("../pms-Cv7R-yy1.js")),"./patterns/pms.ts"),"./patterns/pt.ts":__name(()=>Promise.resolve().then(()=>require("../pt-PAYrX3iM.js")),"./patterns/pt.ts"),"./patterns/rm.ts":__name(()=>Promise.resolve().then(()=>require("../rm-Cp4-gmvX.js")),"./patterns/rm.ts"),"./patterns/ro.ts":__name(()=>Promise.resolve().then(()=>require("../ro-D8uNKL54.js")),"./patterns/ro.ts"),"./patterns/ru.ts":__name(()=>Promise.resolve().then(()=>require("../ru-yfURp3OS.js")),"./patterns/ru.ts"),"./patterns/sa.ts":__name(()=>Promise.resolve().then(()=>require("../sa-BFf1hHnA.js")),"./patterns/sa.ts"),"./patterns/sh-cyrl.ts":__name(()=>Promise.resolve().then(()=>require("../sh-cyrl-CuVvXDHJ.js")),"./patterns/sh-cyrl.ts"),"./patterns/sh-latn.ts":__name(()=>Promise.resolve().then(()=>require("../sh-latn-DBgzZ57b.js")),"./patterns/sh-latn.ts"),"./patterns/sk.ts":__name(()=>Promise.resolve().then(()=>require("../sk-D327HWGT.js")),"./patterns/sk.ts"),"./patterns/sl.ts":__name(()=>Promise.resolve().then(()=>require("../sl-CJ43wdf2.js")),"./patterns/sl.ts"),"./patterns/sr-cyrl.ts":__name(()=>Promise.resolve().then(()=>require("../sr-cyrl-BSAkTr8N.js")),"./patterns/sr-cyrl.ts"),"./patterns/sv.ts":__name(()=>Promise.resolve().then(()=>require("../sv-Xk_o_no8.js")),"./patterns/sv.ts"),"./patterns/ta.ts":__name(()=>Promise.resolve().then(()=>require("../ta-BS1JYNX3.js")),"./patterns/ta.ts"),"./patterns/te.ts":__name(()=>Promise.resolve().then(()=>require("../te-CNKqRcI1.js")),"./patterns/te.ts"),"./patterns/th.ts":__name(()=>Promise.resolve().then(()=>require("../th-BNuoQKBG.js")),"./patterns/th.ts"),"./patterns/tk.ts":__name(()=>Promise.resolve().then(()=>require("../tk-MvsybXmO.js")),"./patterns/tk.ts"),"./patterns/tr.ts":__name(()=>Promise.resolve().then(()=>require("../tr-DXSmP_xl.js")),"./patterns/tr.ts"),"./patterns/uk.ts":__name(()=>Promise.resolve().then(()=>require("../uk-BDFck_NF.js")),"./patterns/uk.ts"),"./patterns/zh-latn-pinyin.ts":__name(()=>Promise.resolve().then(()=>require("../zh-latn-pinyin-B17sY_zq.js")),"./patterns/zh-latn-pinyin.ts")}),`./patterns/${lang}.ts`,3);pattern=pattern[snackToPascal(lang)],this._patterns.set(lang,parsePattern(pattern)),this._loadExceptionsToCache(lang,pattern)}fetchHyphenCache(lang){return this._hyphenCache.get(lang)}hasPattern(lang){return this._patterns.has(lang)}hyphenate(word,lang){let cache=this._hyphenCache.get(lang);if(cache!=null&&cache.has(word))return cache.get(word);if(!this._patterns.has(lang))throw new Error(`Language pattern not found for ${lang}, please load pattern before hyphenating`);const{levelsTable,pattern}=this._patterns.get(lang),levels=new Array(word.length+1).fill(0),loweredText=`.${word.toLocaleLowerCase()}.`.split(""),[nextSlice,isFirstCharacter]=createStringSlicer(loweredText);let wordSlice,letter,treePtr,nextPtr,patternLevelsIndex,patternLevels,patternEntityIndex=-1,charIterator,nextLetter,isLastLetter;for(;(wordSlice=nextSlice()).length>0;)for(patternEntityIndex++,isFirstCharacter()&&patternEntityIndex--,treePtr=pattern,charIterator=createCharIterator(wordSlice),nextLetter=charIterator[0],isLastLetter=charIterator[1];(letter=nextLetter())&&treePtr[letter]!==void 0;)if(nextPtr=treePtr[letter],treePtr=nextPtr[0],patternLevelsIndex=nextPtr[1],treePtr===void 0&&(treePtr={},patternLevelsIndex=nextPtr),!isLastLetter()&&patternLevelsIndex!==void 0){patternLevels=levelsTable[patternLevelsIndex];for(let k=0;k<patternLevels.length;k++)levels[patternEntityIndex+k]=Math.max(+patternLevels[k],levels[patternEntityIndex+k])}levels[0]=levels[1]=levels[levels.length-1]=levels[levels.length-2]=0;let hyphenatedText="";for(let i=0;i<levels.length;i++)hyphenatedText+=(levels[i]%2===1?"-":"")+word.charAt(i);cache==null&&(cache=new Map,this._hyphenCache.set(lang,cache));const hyphenatedSlices=hyphenatedText.split("-");return cache.set(word,hyphenatedSlices),hyphenatedSlices}dispose(){this._patterns.clear(),this._hyphenCache.clear()}};__name(_Hyphen,"Hyphen"),__publicField(_Hyphen,"_instance",null);let Hyphen=_Hyphen;nGram(2);const trigram=nGram(3);function nGram(n){if(typeof n!="number"||Number.isNaN(n)||n<1||n===Number.POSITIVE_INFINITY)throw new Error("`"+n+"` is not a valid argument for `n-gram`");return grams;function grams(value){const nGrams=[];if(value==null)return nGrams;const source=typeof value.slice=="function"?value:String(value);let index2=source.length-n+1;if(index2<1)return nGrams;for(;index2--;)nGrams[index2]=source.slice(index2,index2+n);return nGrams}}__name(nGram,"nGram");const js=/\s+/g,html=/[\t\n\v\f\r ]+/g;function collapseWhiteSpace(value,options){options?typeof options=="string"&&(options={style:options}):options={};const replace=options.preserveLineEndings?replaceLineEnding:replaceSpace;return String(value).replace(options.style==="html"?html:js,options.trim?trimFactory(replace):replace)}__name(collapseWhiteSpace,"collapseWhiteSpace");function replaceLineEnding(value){const match=/\r?\n|\r/.exec(value);return match?match[0]:" "}__name(replaceLineEnding,"replaceLineEnding");function replaceSpace(){return" "}__name(replaceSpace,"replaceSpace");function trimFactory(replace){return dropOrReplace;function dropOrReplace(value,index2,all2){return index2===0||index2+value.length===all2.length?"":replace(value)}}__name(trimFactory,"trimFactory");const own$1={}.hasOwnProperty;function clean(value){return value==null?"":collapseWhiteSpace(String(value).replace(/[\u0021-\u0040]+/g," ")).trim().toLowerCase()}__name(clean,"clean");function trigrams(value){return trigram(" "+clean(value)+" ")}__name(trigrams,"trigrams");function asDictionary(value){const values=trigrams(value),dictionary={};let index2=-1;for(;++index2<values.length;)own$1.call(dictionary,values[index2])?dictionary[values[index2]]++:dictionary[values[index2]]=1;return dictionary}__name(asDictionary,"asDictionary");function asTuples(value){const dictionary=asDictionary(value),tuples=[];let trigram2;for(trigram2 in dictionary)own$1.call(dictionary,trigram2)&&tuples.push([trigram2,dictionary[trigram2]]);return tuples.sort(sort$1),tuples}__name(asTuples,"asTuples");function sort$1(a,b){return a[1]-b[1]}__name(sort$1,"sort$1");const expressions={cmn:/[\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u3005\u3007\u3021-\u3029\u3038-\u303B\u3400-\u4DBF\u4E00-\u9FFF\uF900-\uFA6D\uFA70-\uFAD9]|\uD81B[\uDFE2\uDFE3\uDFF0\uDFF1]|[\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF]/g,Latin:/[A-Za-z\u00AA\u00BA\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02B8\u02E0-\u02E4\u1D00-\u1D25\u1D2C-\u1D5C\u1D62-\u1D65\u1D6B-\u1D77\u1D79-\u1DBE\u1E00-\u1EFF\u2071\u207F\u2090-\u209C\u212A\u212B\u2132\u214E\u2160-\u2188\u2C60-\u2C7F\uA722-\uA787\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA7FF\uAB30-\uAB5A\uAB5C-\uAB64\uAB66-\uAB69\uFB00-\uFB06\uFF21-\uFF3A\uFF41-\uFF5A]|\uD801[\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]/g,Cyrillic:/[\u0400-\u0484\u0487-\u052F\u1C80-\u1C88\u1D2B\u1D78\u2DE0-\u2DFF\uA640-\uA69F\uFE2E\uFE2F]|\uD838[\uDC30-\uDC6D\uDC8F]/g,Arabic:/[\u0600-\u0604\u0606-\u060B\u060D-\u061A\u061C-\u061E\u0620-\u063F\u0641-\u064A\u0656-\u066F\u0671-\u06DC\u06DE-\u06FF\u0750-\u077F\u0870-\u088E\u0890\u0891\u0898-\u08E1\u08E3-\u08FF\uFB50-\uFBC2\uFBD3-\uFD3D\uFD40-\uFD8F\uFD92-\uFDC7\uFDCF\uFDF0-\uFDFF\uFE70-\uFE74\uFE76-\uFEFC]|\uD803[\uDE60-\uDE7E\uDEFD-\uDEFF]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB\uDEF0\uDEF1]/g,ben:/[\u0980-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09FE]/g,Devanagari:/[\u0900-\u0950\u0955-\u0963\u0966-\u097F\uA8E0-\uA8FF]|\uD806[\uDF00-\uDF09]/g,jpn:/[\u3041-\u3096\u309D-\u309F]|\uD82C[\uDC01-\uDD1F\uDD32\uDD50-\uDD52]|\uD83C\uDE00|[\u30A1-\u30FA\u30FD-\u30FF\u31F0-\u31FF\u32D0-\u32FE\u3300-\u3357\uFF66-\uFF6F\uFF71-\uFF9D]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00\uDD20-\uDD22\uDD55\uDD64-\uDD67]|[\u3400-\u4DB5\u4E00-\u9FAF]/g,jav:/[\uA980-\uA9CD\uA9D0-\uA9D9\uA9DE\uA9DF]/g,kor:/[\u1100-\u11FF\u302E\u302F\u3131-\u318E\u3200-\u321E\u3260-\u327E\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uFFA0-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/g,tel:/[\u0C00-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3C-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C5D\u0C60-\u0C63\u0C66-\u0C6F\u0C77-\u0C7F]/g,tam:/[\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BFA]|\uD807[\uDFC0-\uDFF1\uDFFF]/g,guj:/[\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AF1\u0AF9-\u0AFF]/g,kan:/[\u0C80-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDD\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1-\u0CF3]/g,mal:/[\u0D00-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4F\u0D54-\u0D63\u0D66-\u0D7F]/g,mya:/[\u1000-\u109F\uA9E0-\uA9FE\uAA60-\uAA7F]/g,pan:/[\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A76]/g,amh:/[\u1200-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u137C\u1380-\u1399\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]/g,tha:/[\u0E01-\u0E3A\u0E40-\u0E5B]/g,sin:/[\u0D81-\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2-\u0DF4]|\uD804[\uDDE1-\uDDF4]/g,ell:/[\u0370-\u0373\u0375-\u0377\u037A-\u037D\u037F\u0384\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03E1\u03F0-\u03FF\u1D26-\u1D2A\u1D5D-\u1D61\u1D66-\u1D6A\u1DBF\u1F00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FC4\u1FC6-\u1FD3\u1FD6-\u1FDB\u1FDD-\u1FEF\u1FF2-\u1FF4\u1FF6-\u1FFE\u2126\uAB65]|\uD800[\uDD40-\uDD8E\uDDA0]|\uD834[\uDE00-\uDE45]/g},data={Latin:{spa:" de|de |os | la| a |la | y |ón |ión|es |ere|rec|ien|o a|der|ció|cho|ech|en |a p|ent|a l|aci|el |na |ona|e d| co|as |da | to|al |ene| en|tod| pe|e l| el|ho |nte| su|per|a t|ad | ti|ers|tie| se|rso|son|e s| pr|o d|oda|te |cia|n d| es|dad|ida| in|ne |est|ion|cio|s d|con|a e| po|men| li|n e|nci|res|su |to |tra| re| lo|tad| na|los|a s| o |ia |que| pa|rá |pro| un|s y|ual|s e|lib|nac|do |ra |er |a d|ue | qu|e e|sta|nal|ar |nes|ica|a c|ser|or |ter|se |por|cci|io |del|l d|des|ado|les|one|a a|ndi| so| cu|s p|ale|s n|ame|par|ici|oci|una|ber|s t|rta|com| di|dos|e a|imi|o s|e c|ert|las|o p|ant|dic|nto| al|ara|ibe|enc|o e|s l|cas| as|e p|ten|ali|o t|soc|y l|n c|nta|so |tos|y a|ria|n t|die|a u| fu|no |l p|ial|qui|dis|s o|hos|gua|igu| ig| ca|sar|l t| ma|l e|pre| ac|tiv|s a|re |nad|vid|era| tr|ier|cua|n p|ta |cla|ade|bre|s s|esa|ntr|ecc|a i| le|lid|das|d d|ido|ari|ind|ada|nda|fun|mie|ca |tic|eli|y d|nid|e i|odo|ios|o y|esp|iva|y e|mat|bli|r a|drá|tri|cti|tal|rim|ont|erá|us |sus|end|pen|tor|ito|ond|ori|uie|lig|n a|ist|rac|lar|rse|tar|mo |omo|ibr|n l|edi|med| me|nio|a y|eda|isf|lo |aso|l m|ias|ico|lic|ple|ste|act|tec|ote|rot|ele|ura| ni|ie |adi|u p|seg|s i|un |und|a n|lqu|alq|o i|inc|sti| si|n s|ern",eng:"the| th| an|he |nd |ion|and| to|to |tio| of|on |of | in|al |ati|or |ght|igh|rig| ri|ne |ent|one|ll |is |as |ver|ed | be|e r|in |t t|all|eve|ht | or|ery|s t|ty | ev|e h|yon| ha|ryo|e a|be |his| fr|ng |d t|has| sh|ing| hi|sha| pr| co| re|hal|nal|y a|s a|n t|ce |men|ree|fre|e s|l b|nat|for|ts |nt |n a|ity|ry |her|nce|ect|d i| pe|pro|n o|cti| fo|e e|ly |es | no|ona|ny |any|er |re |f t|e o| de|s o| wi|ter|nte|e i|ons| en| ar|res|ers|y t|per|d f| a | on|ith|l a|e t|oci|soc|lit| as| se|dom|edo|eed|nti|s e|t o|oth|wit| di|equ|t a|ted|st |y o|int|e p| ma| so| na|l o|e c|ch |d a|enc|th |are|ns |ic | un| fu|tat|ial|cia| ac|hts|nit|qua| eq| al|om |e w|d o|f h|ali|ote|n e| wh|r t|sta|ge |thi|o a|tit|ual|an |te |ess| ch|le |ary|e f|by | by|y i|tec|uni|o t|o o| li|no | la|s r| su|inc|led|rot|con| pu| he|ere|imi|r a|ntr| st| ot|eli|age|dis|s d|tle|itl|hou|son|duc|edu| wo|ate|ble|ces|at | at| fa|com|ive|o s|eme|o e|aw |law|tra|und|pen|nde|unt|oun|n s|s f|f a|tho|ms | is|act|cie|cat|uca| ed|anc|wor|ral|t i| me|o f|ily|pri|ren|ose|s c|en |d n|l c|ful|rar|nta|nst| ag|l p|min|din|sec|y e| tr|rso|ich|hic|whi|cou|ern|uri|r o|tic|iti|igi|lig|rat|rth|t f|oms|rit|d r|ee |e b|era|rou|se |ay |rs | ho|abl|e u",por:"de | de| se|ão |os |to |em | e |do |o d| di|er |ito|eit|ser|ent|ção| a |dir|ire|rei|o s|ade|dad|uma|as |no |e d| to|nte| co|o t|tod| ou|men|que|s e|man| pr| in| qu|es | te|hum|odo|e a|da | hu|ano|te |al |tem|o e|s d|ida|m d| pe| re|o a|ou |r h|e s|cia|a e| li|o p| es|res| do| da| à |ual| em| su|açã|dos|a p|tra|est|ia |con|pro|ar |e p|is | na|rá |qua|a d| pa|com|ais|o c|ame|erá| po|uer|sta|ber|ter| o |ess|ra |e e|das|o à|nto|nal|o o|a c|ido|rda|erd| as|nci|sua|ona|des|ibe|lib|e t|ado|s n|ua |s t|ue | so|ica|ma |lqu|alq|tos|m s|a l|per|ada|oci|soc|cio|a n|par|aci|s a|pre|ont|m o|ura|a s| um|ion|e o|or |e r|pel|nta|ntr|a i|io |nac|ênc|str|ali|ria|nst| tr|a q|int|o n|a o|ca |ela|uçã|lid|e l| at|sen|ese|r d|s p|egu|seg|vid|pri|sso|ém |ime|tic|dis|raç|eci|ara| ca|nid|tru|ões|ass|seu|por|a a|m p| ex|so |r i|eçã|teç|ote|rot| le| ma|ing|a t|ran|era|rio|l d|eli|ça |sti| ne|cid|ern|utr|out|r e|e c|tad|gua|igu| ig| os|s o|ruç|ins|çõe|ios| fa|e n|sse| no|re |art|r p|rar|u p|inc|lei|cas|ico|uém|gué|ngu|nin| ni|gur|la |pen|nça|na |içã|ião|cie|ist|sem|ta |ele|e f|om |tro| ao|rel|m a|s s|tar|eda|ied|uni|e m|s i|a f|ias| cu| ac|r a|á a|rem|ei |omo|rec|for|s f|esc|ant|à s| vi|o q|ver|a u|nda|und|fun",ind:"an |ang|ng | da|ak | pe|ata| se| ke| me|dan| di| be|ber|kan|ran|hak|per|yan| ya|nga|nya|gan| at|ara| ha|eng|asa|ora|men|n p|n k|erh|rha|n d|ya |ap |at |as |tan|n b|ala|a d| or|a s|san|tas|eti|uk |pen|g b|set|ntu|n y|tia|iap|k m|eba|aan| un|n s|tuk|k a|p o|am |lam| ma|unt| de|ter|bas|beb|dak|end|i d|pun|mem|tau|dal|ama|keb|aka|ika|n m| ba|di |ma | sa|den|au |nda|n h|eri| ti|ela|k d|un |n a|ebe|ana|ah |ra |ida|uka| te|al |ada|ri |ole|tid|ngg|lak|leh|dap|a p|dil|g d|ena|eh |gar|na |ert|apa|um |tu |atu|a m|sam|ila|har|n t|asi|ban|erl|t d|bat|uat|ta |lan|adi|h d|neg| ne|kum|mas|nan|pat|aha| in|l d|emp|sem|rus|sua|ser|uan|era|ari|erb|kat|man|a b|g s|rta|ai |nny|n u|ung|ndi|han|uku|huk| hu|sa |ers|in | la|ka | su|ann|car|kes|aku|dip|i s|a a|erk|n i|lai|rga|aru|k h|i m|rka|a u|us |nak|emb|gga|nta|iba| pu|ind|s p|ent|mel|ina|min|ian|dar|ni |rma|lua|rik|ndu|lin|sia|rbu|g p|k s|da |aya|ese|u d|ega|nas|ar |ipe|yar|sya|ik |aga| ta|ain|ua |arg|uar|iny|pem|ut |si |dun|eor|seo|rak|ngs|ami|kel|ini|g t|dik|mer|emu|aks|rat|uru|ewa|il |enu|any|kep|pel|asu|rli|ia |dir|jam|mba|mat|pan|g m|ses|sar|das|kuk|bol|ili|u k|gsa|u p|a k|ern|ant|raa|t p|ema|mua|idi|did|t s|i k|rin|erm|esu|ger|elu|nja|enj|ga |dit",fra:" de|es |de |ion|nt |tio|et |ne |on | et|ent|le |oit|e d| la|e p|la |it | à |t d|roi|dro| dr| le|té |e s|ati|te |re | to|s d|men|tou|e l|ns | pe| co|son|que| au| so|e a|onn|out| un| qu| sa| pr|ute|eme| l’|t à| a |e e|con|des| pa|ue |ers|e c| li|a d|per|ont|s e|t l|les|ts |tre|s l|ant| ou|cti|rso|ou |ce |ux |à l|nne|ons|ité|en |un | en|er |une|n d|sa |lle| in|nte|e t| se|lib|res|a l|ire| d’| re|é d|nat|iqu|ur |r l|t a|s s|aux|par|nal|a p|ans|dan|qui|t p| dé|pro|s p|air| ne| fo|ert|s a|nce|au |ui |ect|du |ond|ale|lit| po|san| ch|és | na|us |com|our|ali|tra| ce|al |e o|e n|rté|ber|ibe|tes|r d|e r|its| di|êtr|pou|été|s c|à u|ell|int|fon|oci|soc|ut |ter| da|aut|ien|rai| do|iss|s n| ma|bli|ge |est|s o| du|ona|n p|pri|rs |éga| êt|ous|ens|ar |age|s t| su|cia|u d|cun|rat| es|ir |n c|e m| ét|t ê|a c| ac|ote|n t|ein| tr|a s|ndi|e q|sur|ée |ser|l n| pl|anc|lig|t s|n e|s i|t e| ég|ain|omm|act|ntr|tec|gal|ul | nu| vi|me |nda|ind|soi|st | te|pay|tat|era|il |rel|n a|dis|n s|pré|peu|rit|é e|t é|bre|sen|ill|l’a|d’a| mo|ass|lic|art| pu|abl|nta|t c|rot| on| lo|ure|l’e|ava|ten|nul|ivi|t i|ess|ys |ays| fa|ine|eur|rés|cla|tés|oir|eut|e f|utr|doi|ibr|ais|ins|éra|’en|iét|l e|s é|nté| ré|ssi| as|nse|ces|é a",deu:"en |er |der|ein| un|nd |und|ung|cht|ich| de|sch|ng | ge|ine|ech|gen|rec|che|ie | re|eit| au|ht |die| di| ha|ch | da|ver| zu|lic|t d|in |auf| ei| in| be|hen|nde|n d|uf |ede| ve|it |ten|n s|sei|at |jed| je| se|and|rei|s r|den|ter|ne |hat|t a|r h|zu |das|ode| od|as |es | an|fre|nge| we|n u|run| fr|ere|e u|lle|ner|nte|hei|ese| so|rde|wer|ige| al|ers|n g|hte|d d| st|n j|lei|all|n a|nen|ege|ent|bei|g d|erd|t u|ren|nsc|chu| gr|kei|ens|le |ben|aft|haf|cha|tli|ges|e s| si|men| vo|lun|em |r s|ion|te |len|gru|gun|tig|unt|uch|spr|n e|ft |ei |e f| wi| sc|r d|n n|geh|r g|dar|sta|erk| er|r e|sen|eic|gle| gl|lie|e e|tz |fen|n i|nie|f g|t w|des|chl|ite|ihe|eih|ies|ruc|st |ist|n w|h a|n z|e a| ni|ang|rf |arf|gem|ale|ati|on |he |t s|ach| na|end|n o|pru|ans|sse|ern|aat|taa|ehe|e d|hli|hre|int|tio|her|nsp|de |mei| ar|r a|ffe|e b|wie|erf|abe|hab|ndl|n v|sic|t i|han|ema|nat|ber|ied|geg|d s|nun|d f|ind| me|gke|igk|ieß| fa|igu|hul|r v|dig|rch|urc|dur| du|utz|hut|tra|aus|alt|bes|str|ell|ste|ger|r o|esc|e g|rbe|arb|ohn|r b|mit|d g|r w|ntl|sow|n h|nne|etz|raf|dlu| ih|lte|man|iem|erh|eru| is|dem|lan|rt |son|isc|eli|rel|n r|e i|rli|r i| mi|e m|ild|bil| bi|eme| en|ins|für| fü|gel|öff| öf|owi|ill|wil|e v|ric|f e",jav:"ng |an | ka|ang|ing|kan| sa|ak |lan| la|hak| pa| ha|ara|ne |abe| in|n k|ngg|ong|ane|nga|ant|won|uwo| an| uw|nin|ata|n u|en |ra |tan| da|ran|ana| ma|nth|ake|ben|beb|hi |ke |sab|nda| ng|adi|thi|nan|a k| ba|san|asa|ni |e h|e k|g k| ut|pan|awa| be|eba|gan|g p|dan| wa|bas|aka|dha|yan|sa |arb|man| di|wa |g d| na|g n|ban| tu|n s|ung|wen|g s|rbe|dar|dak|di |g u|ora|aya|be |ah |a s|eni| or|han|as | pr|a n|na |iya|a a|kar|at |a l|mar|uwe|duw|uta|und|n p|asi|pa | si|ala|n n| un|kab|oni|ya |i h|gar|g b|yat|tum|ta |n m|i k|apa|taw| li|ani| ke|al |ka |kal|ngk|ega| ne|nal|n i|g a|ggo|ina|we |ena|dad|iba|awi|aga|a p| ta|sar|adh|awe|and|uju|ind|min|sin|ndu|uwa|gge|n l|ggu|ngs|n b|a b|pra|iji|n a|ha | bi|kat|go | ku|e p|ron|kak|ngu|a u|gsa|war|nya|g t|pad|bis|k b|i w|ae |wae| nd|ali|a m|er |sak|e s|ku |liy|ama|i l|eh |isa|arg|n t|a d|kap|i s|ayo|gay| pe|ndh|bad|pri|neg|tow|uto|eda|bed|il |ih | ik|ur |k k|rta|art|i p|rga|lak|ami|ro |aro|yom|r k|e d|a w|kon|rib|eng|ger|g l|ras|dil| ti|k l|rap|mra|uma| pi|k h|n d|gaw|wat|ga |k n|ar |per| we|oma|k p|jro|ajr|saj|ase|ini|ken|saw|ona|nas|kas|h k|i t| um|tin|wo | me|aba|rak|pag|yar|sya|t k| te| mu|ngl| ni|i b|men|ate|a i|aku|ebu|a t| du|g m|owo|mat| lu|amp",vie:"ng |̣c |́c | qu|à | th|nh | ng|̣i |̀n |và| va| nh|uyê| ph|quy| ca|ền|yề|̀nh|̀i |̣t | ch|ó | tr|ngư|i n| gi|gươ|ời|ườ|́t | co|ượ| cu|ác|ự |ợc| kh| đư|đươ| tư|có| ha|ông|c t| đê|n t|i đ|ìn|̀u |cá|gia|́i |ọi|mọ| mo|ều|iệ|đề|u c|như|pha| ba| bi|ất|̉a |ủa|củ|hôn| đô|g t|́ q|̃ng| ti|tự|t c|̣n | la|n đ|n c|n n|hiê|ch |ay |hay| vi|ân | đi| na|bả| ho|do | do| tô| hi|ội|há|ị |nà|̀ t|ới|hân| mô|́p |àn|̣ d|́ch|̣p |̀o |ào|khô|́n |ột|mộ| hô|ia |ốc|c h|hữ|i v|g n|́ng|uố|quô|h t|ôn |ên |n v|nhâ|̣ t| bâ|i c|g v|̉ng|iế|c c|ật|thư|hư |ướ|̉n | vơ| cô|c đ| đo| sư|t t|ộc|ữn|vớ| vê|ả |̣ng|g đ|̉o |ảo|uậ| đa|bị|là|sự|bấ|hà|hộ|i t|ản|hươ|̀ng|tro|̉m |o v| mi|ể |ục|i h|ức|áp|g c|̃ h|iá|n b|̉i |a m|h c|côn|ện|ớc|hạ|độ| du| cư|a c|n h|tha|ã | xa|́o |áo|ín|̀y |g b| hư|g h|ong|ron|̀ c|cho|̀ n|mì|ực|h v|c b| lu|i b|ệ |ai |ế |̣ c|xã|kha|c q|iể|tộ|ối|đố|á |hoa|o h|h đ|cả|n l|họ|tiê|y t|̉ c|ại|án|̀ đ|oà|y đ|chi|̉ n|phâ|ề |thu|iên|dụ|o c|i m|luâ|c p|ốn|c l|́ c|ũn|cũ|c g|c n|qua|n g|c m|o n|ải|hả|́ t|ho |về| tâ| hơ|o t|ở |hứ|hì|viê|̀m |̉ t|đó|thô|ứ |cứ|hí|́nh|ày|ởn|ưở| bă|tri| ta|m v|c v|ợp|hợ|h m| nư|ết|thi|ặc|ngh|uy ",ita:" di|to | in|ion|la | de|di |re |e d|ne | e |zio|rit|a d|one|o d|ni |le |lla|itt|ess| al|iri|dir|tto|ent|ell|i i|del|ndi|ere|ind|o a| co|te |tà |ti |a s|uo |e e|gni|azi| pr|idu|ivi|duo|vid|div|ogn| og| es|i e| ha|all|ale|nte|e a|men|ser| su| ne|e l|za |i d|per|a p|ha | pe| un|con|no |sse|li |e i| o | so| li| la|pro|ia |o i|e p|o s|i s|in |ato|o h|na |e s|a l|e o|nza|ali|tti|o p|ta |so |ber|ibe|lib|o e|un | a | ri|ua |il | il|nto|pri|el | po|una|are|ame| qu|a c|ro |oni|nel|e n| ad|ual|gli|sua|ond| re|a a|i c|ri |o o|sta|ita|i o| le|ad |i a|ers|enz|ssi|à e|ità|gua|i p|e c|io | pa|ter|soc|nal|ona|naz|ist|cia|rso|ver|a e|i r|tat|lle|sia| si|rio|tra|che| se|rtà|ert|anz|eri|tut|à d|he | da|al |ant|qua|on |ari|o c| st|oci|er |dis|tri|si |ed | ed|ono| tu|ei |dei|uzi|com|att|a n|opr|rop|par|nes|i l|zza|ese|res|ien|son| eg|n c|ont|nti|pos|int|ico|rà |sun|ial|lit|sen|pre|tta|dev|nit|era|eve|ll |l i| l |nda|ina|non| no|o n|ria|str|d a|art|se |ssu|ica|raz|ett|sci|gio|ati|egu| na|i u|utt|ve | ma|do |e r|ssa|sa |a f|n p|fon| ch|d u|rim| fo|a t| sc|trà|otr|pot|n i| cu|l p|ra |ezz|a o|ini|sso|dic|ltr|uni|cie| ra|i n|ruz|tru|ste| is|der|l m|a r|pie|lia|est|dal|nta| at|tal|ntr| pu|nno|ann|ten|vit|a v",tur:" ve| ha|ve |ir |ler|hak| he|her|in |lar|r h|bir|ya |er |ak |kkı|akk|eti| ka| bi|eya|an |eri|iye|yet|ara|ek | ol|de |vey|ın |ır |nda|arı|esi|ını|dır| ta|tle|e h|ası|etl|e k| va|ı v|sın|ile|ne |rke|erk|ard|ine| sa|ınd|ini|k h|kın|ama|le |tin|rdı|var|a v| me|e m|na |sin|ere|k v| şa| bu|lan|kes|dir|rin|dan| ma|kı |mak|şah|da | te|mek| ge|nı | hi|nin|en |n h| se|lik|rle|ana|lma|e a|ı h|r ş|ill|si | de|aya|zdi|izd|aiz|hai|ret|hiç|ına| iş|e b| ba|kla|et | hü|rın|n k|ola|nma|e t| ya|eme|riy|n v|e i|a h|li |mil|eli|ket|ik |kar|irl|hür|im |evl|mes|e d|ahs|ma |rak|ala|let|lle|un | ed|rri|ürr|bu | mi|i v|dil| il| eş|n i|la |el |mal| mü| ko|e g|se | ki|mas|lek|mle|mem|n b|ili|e e|ser| iç|n s|din| di|es |mel|eke|tir|şit|eşi|r b|akl|yla|n m|len| ke|edi|oru|nde|re |ele|ni |tür|a k|eye|ık |ken|uğu| uy|eml|erd|ede|ame| gö|e s|i m|tim|i b|rde|rşı|arş|a s|it |t v|siy|ar |rme|est|bes|rbe|erb|te |alı| an|ndi|end|hsı|unm|rı |kor|nın| ce|maz|mse|ims|kim|iç | ay|a m|lam|ri |sız|a b|ade|n t|nam|lme|ilm|k g|il |tme|etm|r v|e v|n e|ğre|öğr| öğ|al |ıyl|olm|vle|şma|i s|ger|me | da|ind|lem|i o|may|cak|çin|içi|nun|kan|ye |e y|r t|az |ç k|ece|sı |eni| mu|ulu|und|den|lun| fa|şı |ahi|l v|r a|san|kat| so|enm| ev|iş ",pol:" pr|nie|pra| i |nia|ie |go |ani|raw|ia | po|ego| do|wie|iek|awo| ni|owi|ch |ek |do | ma|wo |a p|ści|ci |ej | cz| za| w |ych|ośc|rze|prz| ka|wa |eni| na| je|ażd|każ|ma |zło|czł|noś|o d|łow|y c|dy |żdy|i p|wol| lu|ny |oln| wy|stw| wo|ub |lub|lno|rod|k m|twa|dzi|na | sw|rzy|ają|ecz|czn|sta| sp|owa|o p|spo|i w|kie|a w|zys|obo|est|neg|ać |mi |cze|e w|nyc|nic|jak| ja|wsz| z |jeg|wan|ńst|o s|a i|awa|e p|yst|pos|pow| ró|o o|jąc|ony|nej|owo|dow|ów | ko|kol|aki|bez|rac|sze|iej| in|zen|pod|i i|ni | ro|cy |o w|zan|eńs|no |zne|a s|lwi|olw|ez |odn|rów|odz|o u|ne |i n|i k|czy| be|acj|wob|inn| ob|ówn|zie| ws|aln|orz|nik|o n|icz|zyn|łec|ołe|poł|aro|nar|a j|i z|tęp|stę|ien|cza|o z|ym |zec|ron|i l|ami| os|kra| kr|owe| od|ji |cji|mie|a z|bod|swo|dni|zes|ełn|peł|iu |edn|iko|a n|raj| st|odo|zna|wyc|em |lni|szy|wia|nym|ą p|ją |zeń|iec|pie|st |jes| to|sob|któ|ale|y w|ieg|och|du |ini|war|zaw|nny|roz|i o|wej|ię |się| si|nau| or|o r|kor|e s|pop|zas|niu|z p|owy|w k|ywa| ta|ymi|hro|chr| oc|jed|ki |o t|ogo|oby|ran|any|oso|a o|tór| kt|w z|dne|to |tan|h i|nan|ejs|ada|a k|iem|aw |h p|wni|ucz|ora|a d| wł|ian| dz| mo|e m|awi|ć s|gan|zez|mu |taw|dst|wią|w c|y p|kow|o j|i m|y s|bow|kog|by |j o|ier|mow|sza|b o|ju |yna",swh:"a k| ya|na |wa |ya | ku|a m| na| ha|i y| wa|a h|a n|ana|aki|ki |la |hak| ka|kwa|tu | kw| ma|li |a a|ila|i k| ki|ni |a w|ali|a u| an| mt|ke |mtu|a y|ake|ati|kil|ka |ika|kat|ili|te |ote|we |a s|e k|ia |zi |u a|za |azi|ifa|ma |yak|yo |i n|ama| yo|au | au|e a|kut|amb|o y|ha |asi|fa |u w|hal|ara|sha|ish|ata|ayo| as|tik|u k| za|i z|ina|u n|mba|uhu|hi |hur|cha|yot|ru |uru|wat| ch|eri|ngi|e y|u y|i a|aif|tai| sh|nay|chi|ra |ani| bi| uh|sa | hi|i h|awa|iwa|a j|ti |mu |o k|ja |kan|uli|iwe|any|i w| am|e n|end|atu|kaz|o h|ria|her|she|shi|nch| nc|uta|ye |wak|ii |ele|ami|adh|eza| wo|iki|oja|moj|jam| ja|aka|bu |kam|kul|mat|fan|a l|agu|ind|ne |iri|lim|wen|da |kup|uto|i m|a b|ini|wan|bil| ta|sta|dha| sa| ni|ao | hu|e w|wot| zi|rik|kuf|aji|ta |wez|nya|har| ye|e m|si |lin| ut|ine|gin|ing| la|a t|zim|imu|ima|tak|e b|uni|ibu|azo|kos|yan|nye|uba|ari|ahi|nde|asa|ri |ham|dhi|eli|hir|ush|pat| nd|kus|maa|di |nda|oa |bar|bo |mbo|oka|tok|ndw|ala|wal| si|uzi|hii|tah|i s|o n|liw| el|upa|zin|hag|a c|ndi|ais|mai|eny|mwe|aa |ewe| al|ndo|e h|lo |umi|kuh|jib|osa|mam|a z|ufu|dwa|u i| in|iyo|nyi| ny|u m|sil|ang|o w|guz|zwa|uwa|kuw|hil|saw|uch|ufa|laz|und|aha|ua | mw|bal| lo|o l|a i|del|nun|anu|nji| ba|lik|le |uku|i i",sun:"an |na |eun|ng | ka|ana| sa| di|ang|ung|un |nga|ak | ha|keu| ba|a b| an|nu |hak| bo|anu|ata|nan|a h|ina| je|aha|ga |ah |awa|jeu| na|ara|ing|oga|bog|gan| ng|asa|kan|a s|ha |ae |bae|n k|a k| pa|a p|sah|g s|sar| si|sin|a n|din|n s|ma | at|aga|a a|tan| ku| ma|n a|san|man|wa |lah|pan|taw|u d|ra |ari|eu | pi|gar| pe|kat| te|n p|sa |per|a d|a m|e b|aan|ban|ran|ala|ike|n n|kum| ti|ama|a j|pik|ima|n d|al |at | ja|ila|ta |nda|bas|rim|teu|n b|eba|beb|udu|aya|ika|ngg|nag|kab|rta|art| me|ola|k n|uma|atu|aba|g k|adi|aca| po|ngt|nar|una|ate|oh |boh|awe|di |tin|asi|uku|n h|dan|aka|iba|car|sac|gaw|are|ent|um |jen|abe|u s|dil|pol|ar |ku |kud|u m|upa|han| hu|ake|bar|ur |hna|aru|h s|a t|sak|wat|kaw| so|n t|pa |mpa|du |ngk|g d|ena|huk| mi|mas|ngs|ti |n j|ka |aku|ren|n m| ta|law|isa| tu|und|a u|h a|tay|ula|aja|ali|nte|gsa|en |gam| wa|ieu|ere|k h|jal|h b|il |dit|ngu|lan|asu|yun|ayu|gta|k d|a r|g n|mah|uda|dip|kas|rup|geu| be|ter|sej|min|ri |ern|u p|k k|amp|ura|kal|e a|k a|ut |g b|nak|bis| bi|k p|tes|end|we |h k|tun|uan| un| de|u n|h t|ksa|u k|ian|wil|u b|ona|nas|uka|rak|eje| se|ami| ke|war| ra| ie|k j|eh |ya |lma|alm|pen|tur|wan|lak|h j|g a|ean|up |rga|arg|r k|u t| ne|deu|gal|gke|e t|h p| ge|g t| da|i n",ron:" de|re | în|și |are|de | și|te |ul | sa|rep|e d|ea |ept|dre|tul|e a| dr|ie |în |ptu|le |ate|la |e p| la| pe|ori| pr|ce |e s| or|au |tat| ar|ice|ii |or |a s| fi| a |ric|ale|per| co|nă |ă a|rea|ers|i s| li|sau| ca|rso|ent|lor|ați|al |a d|e o|men|l l|ei |e c|pri|ană| ac| re|uri|ber|ibe|lib|a p|oan|soa| in|i l|ter| al| să|tea|lă |car|tăț|să |tur|i a|i d|nal| ni|ri |ita|e î|e ș|se |ilo|in |ia |ție|pre|fie|ții|ăți|con|ere|e f|a o|eni|nte| nu| se|ace|ire|ici| cu|i î|a c|i n|a l|pen|ui |nu |ări|ală|ona|l d|ră |ert|ril| su|ntr|n c|rin| as|ni |i o|eri|tă |că |ile|ă d|i c|e n|ele|sa | mo|i p|fi |sal|tor|va |oci|soc|nic|pro| un| tr|est|inț|a î|uni|n m|a a| di|ecu|lui|sta|lit| po|tre|gal|ega|oat|ra |act|ă î|leg|u d|e l|nde|int|a f|n a| so|naț|ara|i f|uie|iun| to|tar|ste|ces|rar|at | ce|eme|i ș|rec|dep| că| o | îm|bui|ebu|reb| eg| na|mân|ntu|ili|văț|ând|iei|r ș|bil|pli|od |mod|res|din|e e|cți| au|ali|ă p|ă f|împ|ial|cia|ion|ă c|dec|nta| om|ită| fa|ță |cu |tra|ăță|nvă|înv|ât |ite|i i|lic| pu| ex|riv|tri|rot|ța |ți |l c|rta|imi|ulu|țio|ică|lig|rel|ta |cla|t î|nt |nit|e m|ânt|ămâ|țăm|ger|nța|ru |tru|gur|u c|bli|abi|ată|art|par|ar |rim|iva|l ș| sc|ime|nim|era|sup|ind|u a|dic|ic | st| va|ini|igi|e r",hau:"da | da|in |a k|ya |a d| ya|an |a a| ko| wa|na | a |sa | ha|kin|wan|ta | ba|a s| ta|a y|a h|wa |ko | na|n d|a t|ba |ma |n a| ma|iya|hak|asa| sa|ar |ata|yan| za|akk|a w|ama| ka|i d|iki|a m|owa|a b| ci| mu| sh|anc|nci|kow|a z|ai |nsa|a c|shi| ƙa|cik|ne |ana|i k|ci |kki|e d|a ƙ| ku|su |n y|uma|ka |uwa|kum|hi |a n|utu| yi|ani| ga| ra|aka|ali|mut|‘ya|tar| do|ɗan|ars| ‘y|sam|ƙas|nda|ane|man|tum|i a|yi |ni | du|ada| su|and|a g|cin| ad|a i|ke | ɗa|n k|yin|um |e m| ab|ins|nan|ki |mi |ami|yar|min|oka|re |i b|kam|mas|i y|mat|za |ann|en |aɗa| ja|m n|li |duk|dai|e s|n s|ra |n w|n h|aik| ai|ida|ga |san|rsa|aba|sar|ce |nin| la|o n|ban|nna|kan|abi|una|dam|me |ara|i m|hal|a r|add|are|n j|abu| ne|zai|a ɗ|wat|ari| ƙu|on |ans|waɗ|ame|ake|kar|din|zam| fa|a l|ƙun|buw|r d| hu|oki|kok|a ‘|u d|n t|abb|aur| id|rin|yak|dok|kiy|ray|jam|n b|ubu|bub|n m|i s| an|am |ili|bba|omi|dan|gam|ayu|ash|nce|tsa|ayi|har|yya|ika|bin|han|kko|rsu|aif|imi|fa | am|i i|dom| ki|yuw|dun|o a|fan|n ƙ|aya|fi |n r|she|uni|bay|riy|n ‘|sab| iy|bat|tab|aga| ir|mar|o w|i w|sha|awa| ak|uns|unc|tun|u k| il|ɗin|mfa|amf|aci|ewa|kas|lin|n n|don|n i|ure|ifi|lai|dda| ts|iri|aye|un |tan|wad|gwa|afi| ay|ace|mba|amb|aid|nta|ant|war|lim|kya| al|aɗi",fuv:"de | e |e n| ha|nde|la | wa|ina| ka|akk| nd|ɗo |na | in|e e|hak|al |di |i h|kke|ii |um |ko |ala|ndi| mu| ne|lla| jo|wal|eɗɗ|neɗ|all|mum| fo|kal|jog|ke |aaw|taa| ko|eed|ɗɗo|aa | le|ji |ade|aad|laa|o k| ng|e h| ta|re |ogi|a j|e w|e m|nnd|gii|e l|ley|awa|aag|ede|waa|e k|gu |e d| go|gal|ɓe |ti |fot|aan|eyd|ydi|ɗe |ee | re|ol |oto|i e|oti|m e|taw|nga|a i|kee|to |ann|eji|am |ni | wo|een|goo|eej|e f| he|enn|gol|agu|pot| po|dee|ay | fa|ka |a k|ond|oot| de|a f|o f|a n|wa |maa|ota|le |hay|i k|o n|ngo|e j|o t| ja|ñaa|hee|nka|i w|awi|a w|ngu|der| to|e t|dim|i n|fof|i f|e g|tee|naa|aak| do|too|a e|ndo|ren|dii|oor|er |o e|i m|of | sa| so|gaa|ani|kam| ma| ña|o w|i l|u m|kaa|ima|dir| ba|igg|lig| li|aar| ɓe|o i|e s| o |e r|so |ooj| nj| la|won|awo|dow|woo|faw|and|e i|ore|nge|nan|are|a t|tin|aam| mo|ɗee|ita|ira|aaɗ|e p|nng|ma |ank|yan|nda|oo |e ɓ|njo|ude|nee|e y|e a|je | ya|en |ine|iin| di|ral| na|ɗi |und| hu|inn|ŋde|aŋd|jaŋ|a d|den| fe| te|go | su|a h|haa|tal|eɗe|e b|y g|baa|tde| yi|ɗɗa|o h|iiɗ|ow | da|do |l n|alt| ho|l e|aga|mii| aa|a a|ama|nna|m t| ke|edd|oga|m w|l m|o j|aɗe|ree|oje|yee| no|ele|ne |ago| pa| al|guu|wi |ge |aaɓ|daa|ind|dew|i j|jey| je|ent|tan|o ɗ|geɗ| ge|ñee|a l| ɗu|kko|mak|a s| ga",bos:" pr| i |je |rav|na |ma |pra| na|ima| sv|a s|da |a p|vo |nje|ko |ako|anj|o i| po|avo|ja |e s|a i|ti | im| da| u |sva|no |ju | za|o n|va |i p|ili|vak|li | ko|ne | il|koj| ne|nja| dr|ost| sl|van|im |i s|u s|i i|a n|ava|ije|a u| bi|stv|se |a d|om |jed|bod|obo|lob|slo| se| ra|ih |sti| ob| je|pri|enj|dru|u i|o d|iti|voj|raz|ova|dje| os|e i|lo |e p| nj|uje|i d|bra|tre| tr| su|jeg|i n|u z|a k|og |u p|oje|cij|reb|a o|a b|lju|i u|ran|mij|ni |nos|jen|ba |edn|svo| iz|jel|pro|e d|žav|bit| ni|i o|sta|a z|avn|vje| ka|bil|ovo|a j|aju|ist|nih|tu |red|gov| od|e o|oji| sm|lje|o k|ilo|ji |aci|e u|e n|pre|o p|eba|u o|su |vim|ičn| sa|u n| dj|a t|ija|čno|jem|rža|drž|elj|stu|dna|odn|eni|za |iva|olj|šti|nom|em |du |vno|smi|jer|e b|de |pos|m i| do|u d|nak|a r|obr| mo|lja|nim|ego| kr|tit|kri|ve |nju|an |iko|nik|nu |i m|nog|eno|sno| st|e k|tup|rug|ka |oda|riv|vol|aln|m s|itu|ašt|zaš|ani|sam|akv|ovi|osn|rod|aro| mi|tva|dno|nst|jan|ak |ite|vič|rad|u m| ta|dst|tiv|nac|rim|kon|ku |odu|živ|amo|tvo|tel|pod|g p|nov|ina|nar| vj|o s|i b|oj | ov|ave|vu |ans|oja|zov|azo|ude|bud| bu|e t|i v|din|edi|nic|tan|nap|mje| is|jal|slu|pun|eds|o o|zak|jav|i k|m p|tno|ivo|ere|nič|m n|jim|kak|ada|vni|ugi| ro|mov|ven|pol|to |te | vr",hrv:" pr| i |ma |rav|ima|pra|je |na | sv|ti | na|a p|vo |vat|ko |a s|nje| po|anj|avo|o i|tko| im|a i|sva|no |i p|e s|ja |o n| za|ju |ili| u |va |li | bi|ne |i s|atk| il|iti|da | ne| ko| dr| sl|van|nja|koj|ije| ra|ova| os|u s|i i|ost|bod|obo|lob|slo|pri|a n|om |jed|ati|ih |im |voj|ava| ob|stv|se | mo|i u|bit|dru| je| se|dje|i o|enj| ka|i n|sti|lo |u i|svo|mij|ni |e i|raz|a o|e n|bra|o p| su|a b|u p|ran|a k|og |i d|bil|ako|e p|a d|edn|aju|mor|eni| nj|iva|jel|žav| ni|a z|avn|ovi|eno|ra |oje|a j| da|a u|ora|jeg| iz|nih|rža|drž|oji|sno|nit|jen|vje|ilo|cij|oda|nim| dj|pro|tit|u z|e d|red|nom|jem| od|nos|sta|nov|osn| sm|lje|o s|ji |ovo|stu|pos|vim| do|odn|rad|ist| sa|e o|tu |nju|em |gov|o d|rod|i m|jer|aci|oj |pre|m i|nak|dna|a r|lju|uje|e m|obr|za |olj|ve |o o|m s|an |nu |du |aro|vno|smi|aln|e k|o k|i b|e u|tva|u u|tup|rug|dno|u o|su |u d|ka |vol| ta|ija|itu|šti|ašt|zaš|itk|živ|ani|sam|elj| st|sob|oso|nar|akv|ada| mi|te |ona|nst|jan|lja|i v|ite|ego|elo|rim|ku |odu|amo|tvo|tel|jim|pod|nog|vi |ina| vj|to |e b|ans|zov|azo|ak | sk|edi|tan|oju|pun|pot|oti|kon|zak|i k|m p|tno|ivo|ere|nič|kak|vni|ugi| ro|mov|ven|štv| be|ara|kla|ave|u b|avi|oja|jal|u m|dni|mje|rak|din|ći |juč|klj|nic|u k|nap|obi|atn",nld:"en |an |de | de| he|ing|cht| en|der|van| va|ng |een|et |ech| ge| ee|n e|rec| re|n v|n d|nde|ver| be|er |ede|den| op|het|n i| te|lij|gen|zij| zi|ht |ijk|eli| in|t o| ve|op |and|ten|ke |ijn|e v|jn |ied| on|eft| ie|sch|n z|n o|aan|ft |eid|te |oor| we|ond|eef|ere|hee|id |in |rde|n w|t r|aar|rij|ord|wor|ens|of | of|hei|n g| vr| vo| aa|r h|hte| wo|n h|al |nd |vri|e o|ren|le |or |n a|jke|lle|eni|n b|ij |e e|g v| st|ige|die|e g|men|nge|t h|e b| za|e s|om |t e|ati|wel|erk|sta|ers| al| om|n t|zal|dig| me|ste|voo|ter|gin|re |ege|ge |g e|bes|nat| na|eke|che|ig |gel|nie|nst|e a|nig|est|e w|erw|r d|end|ona|d v|jhe|ijh|d e|ele| di|ie | do|del|n n|at |it | da|tie|e r|elk|ich|jk |vol|ijd|tel|min|len|str|lin|n s|per|t d|han| zo|hap|cha|wet| to|ven| ni|aat|ion|tio|taa|lke|eze|met|ard|waa|uit|sti|e n|doo|pen|eve|el |toe|ale|ien|ach|st |ns | wa|eme|nin|e d|bij| gr|n m|p v|esc|t w|ont|ite|man|ema| ma|nal|g o|rin|hed|t a|t v|beg|all|ijs|wij|rwi|e h| bi|gro|p d|rmi|erm|her|oon| pe|eit|kin|t z|iet|iem|e i|gem|igi| an|d o|r e|ete|e m|js | hu|oep|g z|edi|arb|zen|tin|ron|daa|teg|g t|raf|tra|eri|soo|nsc|t b| er|lan| la|ern|ar |lit|zon|d z|ze |dez|eho|d m|tig|loo|mee|ger|ali|gev|ije|ezi|gez|nli|l v|tij|eer| ar",srp:" pr| i |rav|na |pra| na|ma | sv|ima|da |ja |a p|vo |je |ko |ti |avo| po|a i|ako|a s| za| u |ju |o i| im|nje|i p|va |sva|anj|vak| da|o n|nja|e s|ost| ko|a n|li |ili|ne |om | ne|i s| sl| il| dr|no |koj|u s|ava| ra|og |slo|im |enj|sti|bod|obo|lob|iti|a o|stv|i u|a d|ni |jed|u p|pri|edn| bi|i i|a k|o d|sta|ih |dru|a u| je| os| ni|nos|pro|aju|i o|ran| de| su|u i|se |van|ova|i d|cij| ob|uje|red|žav|e i|i n|voj|e p|a j|dna| se| od|ve | ka|eni|rža|drž|a z|avn|aci|ovo|u u|m i|oja| iz|lja| nj|ija|u z|e o|rod|jen|lje|e b|raz|jan|lju|svo|za |gov|ičn| st|nov|sno|osn|du |ji |pre| tr|su |vu |odn|a b|jeg|nim|nih|tu |tit|šti|ku |nom|bit|e d|me |iko|čno|oji|lo |vno|nik|e n|đen|ika|bez|ara|de |u o|vim|nak| sa|u n|riv|ave|an |olj|vol| kr|o p|sme|e k|nog| ov|e u|tva|bra|rug|reb|tre|u d|oda| mo| vr|vlj|avl|ego|jav|del|m s|kri|o k|ašt|zaš|nju| sm|ani| li|dno|eđu|aln|la |akv|oj |šen|kom|stu|ugi|avi|a r|ka |rad|oju|tan|odi|vič|tav|itu|ude|bud| bu|pot|odu|živ|ere|m n|tvo|ilo|bil|aro|ovi|por|eno|štv|nac|ove|m p|tup|pos|rem|dni|ba |nst|a t|ast|iva|e m|vre|nu |beđ|ist|pun|en |te |dst|rot|zak|ao |kao|i k|juć|o s|st |sam|ter|nar| me|i m|kol|e r|ušt|ruš|ver|kak| be|i b|kla|ada|eba|ena|ona| on|tvu|ans| do|rak|slu",ckb:" he| û |ên | bi| ma|na |in |maf| di|an |xwe| xw|ku | ku|kes| de| ji|her|kir|iya|ya |rin|iri|ji |bi |es | ne|ye |yên|e b|er |afê|tin|ke | an|iyê|eye|rke|erk|we | be|e h|de | we|hey|fê |i b|yê |ina| bê| li|diy|ber|li |re |î û|nê |ê d| se| ci|eke|di |wî | na|î y|af |ete|hem| wî|sti| ki|rî |kî |î a|yek|n d|kar| te|ne |yî |i h|e k|tî |tê |a w|e d|î b|s m|ast|n b|be |yan|ser|tew|net| tu| ew|hev|aza|ara|û b|n k|adi|ev |zad| az|ras|est|anê| ya|n h|n û|wed| tê|wek|bat|bo | bo| yê|st |n n|ê k|dan|ê h|ema|ê b|iye|î h|din|bûn|r k|ekî| me|par|ûna|ta |wle|ewl|î m| ke|nav|ewe|man|ê t|dî |û m|mû |emû|a m|ika|e û|n w|a x|ê m|e n| ta|ela|n j|eyê|n x|civ|wey|ana| re|khe|ekh|bik|kê |jî |f h|erî| pa|îna|bin|erb|vak|iva|a s| ni|cih|vê |e j|ari| pê|î d|nên|ike|e t|a k|ê x| ye|n a|eyî|n e|ama|bê |ar |ewa|atê|bes|rbe|av |ibe|ist|mî |tem|awa|are|hî |geh|nge|ing|nek|nûn|anû|qan| qa|vî |rti|uke|tuk| şe|eza| da|u d|û a|f û|edi| ra|tu |tiy|tên| mi|xeb| ge|hîn| hî|etê|î j|stî|mal|bib|ra |i d|e m|mam|i a|nik|i m|î k| wi|ûn | ko|a ş|ê j|riy|lat|wel|e e|ine|ane|û h|în |a d|siy|end|aye| za|ija|a n|î n|ek |tek|yet|mbe|emb|û d|rov|iro|mir|eba| xe|mên| ên| hu|nîn|anî|t û|ten|n m|dem|ê û|enê|te |art|i r| jî|u j|ekê|dew",yor:" ní|ti |ọ́ |ní | lá| ẹ̀|àn |ẹ́ |kan|tí | tí|an |ẹ̀ |tọ́|ọ̀ | ẹn|ọn |wọn|í ẹ|bí |áti|lát|̀tọ|ẹ̀t| gb| àt| àw|n l|àti| a |lẹ̀|ẹnì| ó |kọ̀| ló|ì k|sí |ọ̀k| kọ|ra |ni |àbí|tàb| tà|nì | sí|̀ka|ọ̀ọ|n ẹ|àwọ|n t|ó n|̀ọ̀|ílẹ|orí|ló | wọ|tó |dè |ìyà|ún | tó| or|í ì|èdè|kò |‐èd|̀‐è|ẹ̀‐|ríl|í ó|rẹ̀|í à| sì|yàn|gbo|ṣe | kò|í a| rẹ| jẹ|sì | bá|ràn| ṣe|wọ́|nìy|fún| fú|n à|ba |n n|gbà|gbọ|jẹ́|un |ìí | kí|gba|ènì| èn|bá |́ l|a k| ka|dọ̀|kí | òm|in | fi|bò |fi |bẹ́|ọdọ|bọd|́ s|hun|nú |nín|wà |ira|nir|òmì|ìgb| ìg|́ t|ẹni|ínú|i l|ìni|mìn|bà |áà |i ì|ohu| oh|í i|ara| ti|bo |ò l| pé|rú |írà| ọ̀|í ò|ogb|kọ́|pọ̀|ó b|à t|i n|lọ́|ẹ́n| ìb|yìí|gbé|gẹ́|bog|óò |yóò| yó|n k|pé |dá |́wọ|ọ́w|à l|í k| wà|n o|jọ | ir|ọ̀r|ú ì|́ à|ó s|i t|ṣẹ́|̀kọ|í t|yé |lè | lè|fin|àbò| lọ|à n|ùjọ|wùj|irú|ó j| ar|í w|a w| ìm|ú à|̀ t|òfi| òf| àà|fẹ́|àwù|́ni|wù |ìír|mìí| mì|láì| yì|í g|ọ́n|n s|i ẹ|ẹ̀k|àgb|ígb|níg|a n| kú|láà|í o|náà| ná|kẹ́|ípa|níp|ìn | ìk|bé |i g|ọmọ| ọm|i à|iṣẹ|̀ à|ìmọ|n a|n f|jẹ |yí |́ ọ|ó d|́ ò| dá| mú|ààb|ábẹ|láb|ìbá|ò g|jú |i o|lú | èt|̀ ẹ|tọ̀|de |̀ n|i ò| ìy|kàn|́n | bí| iṣ|mọ̀|e ẹ|̀ l| fà|èyí| èy| ìd|mọ́|dé |̀ k|́ p|ò t|mú | fẹ| ìj|rí |ìkẹ|nìk|ìní|n ì|n è|sìn|è ẹ| i |rọ̀| àn|́ b|ùn |́gb|ọ́g|dọ́| dọ|í n|rin|̀ j",uzn:"ish|an |lar|ga |ir | bi|ar | va|da |iga| hu|va |bir|sh |uqu|quq|huq| ha|shi| bo|r b|gan|a e|ida| ta|ini|lis|adi|ng |dir|lik|iy |ili|oʻl|har|ari| oʻ|uqi|ins|lan|hi |ing|dan|nin|kin| yo|son|nso| in| mu|on |qig| ma|ega|r i|boʻ| eg|oʻz|ni |gad|ash|i b|ki |oki|ila|yok|a b|n b|osh|ala|at |in |r h|erk| er|lga| qa|rki|h h| sh|i h|ara|n m| ba|nis|ik |igi|lig|bos|ri |qil|a t|bil|las|eti| et|n o|ani|nli|kla|i v|a q|a h|a o|yat| qo|im |a s|i m|iya|atl|oli|osi|siy|qla|cha|til| ol|ati|a y|mas|qar|inl|lat| qi|taʼ|ham|gi |ib |ʻli|mla|h v|ʻz |hun|n e|mum| da| bu| to|un |mki|umk|sha|tla|ris|iro|ha |rch|bar|iri|oya|ali| be|i o|asi|aro| ke|i t|rla| te|arc|hda|shu|tis|n h|tga| sa| xa|rak|lin|ada|ola|imo|hqa|shq|li | tu|aml|lla|sid| as|nid|a i| ki|ch |n t|nda|k b|era|siz|or |hla|a m|r v|eng|ten|mat|mda|amd|lim|miy|y t|ayo|i a|ino|ilg|tni| is|ana|as |ema| em|ech|a a|tar|kat|aka|ak |rat| de|aza|ill| si| so|gʻi|uql|n q|oda|ʼli|aʼl|nik| ni|tda|uch|gin|a u|him|uni|sit|ay |qon| ja|atn|kim|h k|hec| he|ʻzi|lak|ker|ikl| ch|liy|lli|chi|ur |zar|shl|rig|irl|dam|koh|iko|a d|am |n v|rti|tib|yot|tal|chu| uc|sla|rin|sos|aso| un|na | ka|muh|dig|asl|lma|ra |bu |ush|xal|ʻlg|i k|ekl|r d|qat|aga|i q|oiy|mil| mi|qa |i s|jin",zlm:"an |ang| ke|ng | se| da|ada|ara|dan| pe|ran| be|ak |ber|hak|ata|ala|a s|ah |nya| me|da |per|n s|ya | di|kan|lah|n k|aan|gan|dal|pad|kep|a p|n d|erh|eba|nga|yan|rha| ya|nda|ora|tia|asa| ha|ama|epa| or|iap|ap |a b| at| ma|eti|ra |tau|n a|set|au | ba|pa | ad|n p|tan|p o|eng|a d|men|apa|h b|h d|dak|man|a a|ter| te|k k| sa|n b|ana|g a|end|leh|ole|a k|am |n y|aka|eh |lam|bas|beb|n m| un|pen|sa |keb|sam|n t| ti|ela|san|car|uan|ma |di |han|ega|ban|eri|at |sia|a m|ika|kes|ian|gar|seb|ta |mas|und|neg|nan|ngs|i d|erl|na |epe|emb|bar| la|atu|kla|pem|mem|emu|eca|sec|ngg|nny|any|bol|al |aha|gsa|ebe|ind|akl|n h|erk|ung|ena| bo|a t| ap|ers| de|in |tu |pun|as |agi|ann|g b|bag| ne|ain|hen| he|era|rat|sem| su|adi|lan|g s|dia|mat|ses|iad| ta|iha|g t|tin|k m|k h|i k|gi |i s|ing|uka|enu|den|lai|k d|ert|ti |rka|aja|rga|lua|ker|mel|dun|ndu|lin|rli|nak|ntu|esi|aya|un |uat|jua| in|rma|erm|ai |emp|kem|ri |dil|ua |uk |h m|l d|g m|mba|kat|ese|tik|ni |ini| an|mpu|ka |dar|mar|rja|erj|arg|u k|sua| ol|esa|dap|ar |g u|si |ent|g d| pu|awa|iri|dir|sal|gam|mbe|n i|har|a h|raa|ema|tar|i a|saa|ira|ari|pel|jar|laj|uju|tuj|rak|ura|uar|elu|t d|unt|il |wen|asi|gga|ipa|ksa|tuk|ula|sek|sas|ibu|rta|sep|rsa|nta|ati|ila|mua|yar",ibo:"a n|e n|ke | na| ọ |na | bụ|ọ b|nwe|nye|ere|re | n |ya |la | nk|ye | nw| ma|e ọ| ya| ik|a o|a ọ|ma |ụla|bụl|ike| on|nke|e i|a m|ony|ụ n|kik|iki|bụ | a |ka |wer|ta |i n|do |di | nd| ga|a a|e a|a i|he |kwa| ok| ob|e o|hi |any|ga‐|ha |dụ | mm|ndi|ọ n|wa |rụ |e m|che|a e|oke|wu |aka|ite|o n|a g|odo|bod|obo| dị| ez|ara|we | ih|a‐e|hị |ri |n o|zi |mma|chi|dị |ghi|ụta|iri|ihe| an| oh|a y|gba|ụ ọ| ọz| ak| iw|nya|te |iwu| nt|ro |oro|e ị|zọ |ezi|me |e e|u n|her|ohe| si|a‐a|i m|ala|ụ i| ka|akw| in|ghị|kpe|n e|pụt| e |i i|i o|ide|inw|ụ o|hụ |ahụ|weg|ra |o i|kpa|adụ|mad|si |sit|a s| me|sor|i ọ|gid|edo|u o|e y|n a| en|tar|ozu|toz|bi |be |ụ m|ụrụ|ọrụ| ọr|mak|uso|ama|de |ị o| ọn|ọzọ|chị|egh|enw|apụ|ru | to|i a|a ụ|osi|rị |wet|hed|nch| nc| eb| al|nọd|ọnọ|uru|sir| kw|yer|ji |eny| mk|ịrị|eta| us|tu |ọ d|u ọ| o |ba | mb|ọdụ|ịch| ch|a d|pa | ag|kwe| ha|a u|e s|mkp|n u|nta|ebe|n ọ|o m|kwu|nkw|nwa|obi| ịk|esi|i e|nha| nh|le |ile|nil| ni|eme| og|e k|n i|chọ|o y|asị|otu| ot|ram|u m|ịgh|dịg|zu |nọ |mba| gb|e g|ị m|ọch|ich|pe |agb|i ị|uch|zụz|uny|wun|ọrọ| nn|na‐| di|ge |oge|iji| ij|ọha| ọh|ikp|egi|meg|o o|ụhụ|hụh|mah|n ụ|ọ g|ọta|ekọ|ị n|kwụ|agh|ụmụ|ban|kpu|okp| ah|ịkp|a k|ime| im|zụ |ụzụ|ọzụ| ụz|lit|ali|nat",ceb:"sa | sa|ng |ang| ka| pa|an |ga |nga| ma|pag| ng|on |a p|od |kat|ay | an|g m|a k|ug |ana| ug|ung|ata|ngo|atu|n s|ala|san|d s|tun|ag |a m|god|g s|a a|a s|g k|g p|yon|n u|ong|tag|usa|pan|ing|una|mat|g u|mga| mg|y k| us|ali|syo| o |aga|tan|iya|kin|dun|nay|man|nan|a i| na|ina|nsa|isa|bis|a b|adu| ad|n n| bi|asy|asa|lay|awa|lan|non|a n|nas|o s|al |agp|lin|nal|wal| wa|ili|was|gaw|han| iy| ki|nah|ban|nag|yan|ahi|n k|gan| gi|him| di|a u| ba| un|ini|ama|ya |kas|asu|n a|g a|gka|agk|kan|ags|agt|l n|a g|kag| ta|imo|uns|sam| su|g n|n o|gal|kal|og |taw|aho|uka|gpa|ipo|ika|o p|a t| og| si|gsa|g t|aba|ano|gla|y s|o a|aki|hat|kau|sud|gpi|a w|g i|aha|ot |ran|i s|n m|bal|lip|gon|ud | ga|li |uba|ig |ara|g d|na |kab|aka|gba|ngl|ayo| la| hu|a h|ati|d a|d n| pu| in|uga|ok |ihi|d u|ma |may|awo|agb|ami|say|apa|pod|uha|t n|agh|buh|ins|ad | ub| bu|at |iin|a d|ip |uta|sal|hon|wo |ho |tra|lak|iko|as |aod|bah|mo |aug|ona|dil|gik|sos|lih|pin| pi|k s|nin|oon|abu|la |rab|hun| ti|mah|tar|t s|ngb|uma|hin|bat|lao|mak|it | at|s s|sno|asn|ni |aan|ahu| hi|agi|n p|inu|ulo|y p| ni|iha|mag|o n|duk|edu| ed|a e|til|ura|tin|kip|agl|gay|g h|g b|ato|ghi|nab|kon|in |ter|o u|o o|yal|sya|osy| so|tik| re| tr|hig|a o|ha |but|pak|aya",tgl:"ng |ang| pa|an |sa | ka| sa|at | ma| ng|apa|ala|ata|g p|pan|pag|ay | an| na|ara| at|tan|a p|pat|n a| ba|ga |awa|rap|kar|g k|aya|lan|g m|n n|g b|nga|mga| mg|a k|na |ama|n s|a a|gan|yan|gka| ta|may|tao|agk|asa|man|aka|ao |y m|ana|g a|nan|aha|kan|y k|baw|kal|a m|g n|ing|wat| y |t t|pam|a n|o y|ban| la|ali|san|wal|mag| o |g i|aga|lay|any|g s|in |nya|yon|kas|a s|isa|una|ong|aan|kat|t p| wa|ina|tay|ya |on |o m|ila|ag |nta|t n|aba|ili| ay|o a| ga|no |a i|gal|ant|han|t s|kap|kak|lah|ari|agt|agp|ran|g l|lin|as |lal|gaw|ans|to |ito| it|hay|wa |t m| is|pap|mam|nsa|ahi|nag|bat|lip|gta| di|gay|gpa|pin| si|ngk|ung|aki|y n|iti|tat|ano|yaa|y s|mal|hat|kai|sal|hin|uma|mak|di |agi|pun|ihi|a l|i a|ira|gga|nah|s n|ap | ha|usa|nin|o p|gin|ipu|ika|ngi|i n|lag|la |y p|ini|g t|uka|nap| tu|a g|tas|aru|ipa| ip|li |al |n o|a o|t k|alo| pi|sin|syo|asy|ita|aho|nar|par|o s|pak|t a|uha|sas|gsa|ags|kin|a h|iba|lit|ula|o n|nak|a t| bu|duk|kab|sam|g e|ain|ami|mas|lab|ani|kil|it | al|agb|buh|a b|g g|ba | ib|iyo|ri |yag|ad | da|edu| ed|anl|ma |ais|iga|mba|tun|ipi| ki|od |ayu| li|lih|sar|gi |g w|pah|wir|oob|loo|agg|nli|bay|map|git|mil|ok |hon|ngg|sah|iya|pas|g h|agl|tar|ngu|amb|uku|ayo|s a|p n|n m|rus|i m|l a|abu| aa",hun:"en | sz| va| a |és |min|ek | és| mi|jog| jo|an |ind|nek|sze|ság|nde|a v|den|oga|sza|val|ga |mél|ala|emé|gy |n a|van|zem|ele| me|egy|ély| eg|zab|tás| az|n s|bad|aba|ni |az |gye| el|ak | se|meg|sen|ény|ség|k j|yne|lyn| ne|ben|lam|tt |t a|et |agy|oz |hoz|vag|zet| te|n m|ez |nak|int|re |eté|tet|mel|tel|s a|em |ely|let|hez| al|s s| ki|ete|atá|z a| le|yen|es |ra |tés|ell|nt |sem|t s|len|nem|a s|ese|nki|enk|a m|ásá|i m|ban|kin|k m|szt| ál|ame|köz|k a|dsá|ads|ló | kö|ás |ly |on |ébe|tat|a t|n v|áll|mén| vé|nye|kül|lő |a n| cs|i é|ok |ész|ért|lla|lap|ágo|gok|nyi|tek| ke|nd |éte|ami|zés|yes|szo|t m|a a|het|fel|lat|lem|lle|el |z e|s e|k é|mbe|emb|elé|ot |lis|vet|kor|ág |olg| am|szá|ehe|leh|ogo|ott|ül |nte|éle|i v|ogy|hog| ho|kel|n k|tes|nlő|enl|ssá|áza|ház|ég |vel|ába|lek|ége| ha|a h|rés| fe|ány|del|elő|át |alá|art|tar|zto|zás|tő |yil|koz|tko|aló|s k|i e|árs|tár|mze|emz| ny|más|ett|ny |fej|ass|zas| há|d a|t é|is |ésé|ezé|téb| mu|áso|sít|lye|elm|éde|véd|ine|t k|os |it |izt|biz| bi|y a|m l|tot|a j|atk|nél|t n|ti | má|ai |lás|eve|nev|zte| bá|sel|ll |al |ere|n e|unk|mun|t e| ak|ife|kif|ako|s é| ér|ána| es|s t|got|sül| be|vál|csa|se |ése|ad |ges|tos|ja | gy|asz|ten|lmé| tá|eze|árm|bár|ess|l s|üle",azj:" və|və |ər |ir | hə| bi| hü| ol|üqu|hüq|quq|na |in |lar|hər|də | şə|bir|lər|lik|mal|r b|lma|r h| tə|əxs|şəx|ən |dir|uqu|una|an |ali|a m| ma|ikd|ini|r ş|dən|ar |ilə|qun|aq |ası| ya|mək|yət| mə| mü|kdi|əsi|ək |ilm|nin|ndə|olm|əti|ə y|sin|xs |nda|lmə|yyə|i v| qa| az|olu|iyy|ya |ind|zad|qla|ün |ni |lə |tin|n m|aza|arı|ət |n t|maq|lun|lıq|ə b|un |nun|q v|n h|dan|ın | et|tmə|ərə| öz|da |ə v| on|ə a|ına|ını|bil|a b|sı |il |əmi|ara|si | di|ə m|əri|rlə| va|ə h|etm|ığı|ama|dlı|adl|rin|bər|rın|n i|müd|nın| he|mas|ik |n a|dil|alı|irl|ələ|üda|sın|ınd|xsi|li |ə d|nə | bə|əya| in|ə i|lət| sə|nı | iş|anı|eç |heç|q h|eyn|ə e|dır| da|asi|rı |iş |ifa|lığ|i s|fiə|afi|daf| ed|məz|u v|kil| ha|ola|n v|əni|ır |uq |unm| bu| as|sia|osi|sos|ili|ıdı|lıd|nma|ıq |inə|əra|sil|xil|axi|dax|adə|man|a h|ə o|onu|a q|əz | ki|seç| se|ı h|min|lan|ədə|bu |raq|lı |ılı|al |ə q|r v|nla|hsi|əhs|təh|öz |ist| is|məs| əs|ina|ə t|ətl|a v|iə |n b|tər| ta| cə|edi|ala|kim|qu |i t|ulm|məh|n o|aya|ı o|ial| so|ill|siy| də|var|ins|mi |ğı |nik|r i|aql|k h|təm|tam|çün|üçü| üç|ğın|sas|əsa|z h|əmə|zam| za|sti|rəf|n e|r a|ild|həm|ıql|yan|may|n ə|mən|mil| mi|əqi|din|n d|tün| dö|miy|kah|ika| ni|fad|tif|l o|sər|yni| ey|ana|lən|am |ril|ayə|aşı",ces:" pr|ní | a | ne|prá|ráv|na |ost| po|ho | sv|o n| na|vo |neb|ávo|bo |ebo|nos|má | má|ažd|kaž| ka| ro|ch |dý |ždý|ti |ou |a s| př| za|ání|á p| je| v |svo|ého| st|ý m|sti|ně | by|obo|vob|ter|pro|ení|bod| zá| sp|í a|rod|kte|by |mu |u p|o p| ná|ván|jak| ja|a p|o v|í n|ová|oli|ví |spo|roz| kt|mi |í p|ny | ma|ím |i a|do | so|odn|áro|nár|li |né |tví|at |ých|a z| vy|byl|vol|en |ýt |být| bý|t s|tní|stn|o s|í b|to | do|své|vé |ran|ejn|zák|eho|jeh|nes|pří|mí |čin|kol|ají|sou| vš|ích|it |ným|ým |nu |hra|nou|u s|ému| k |du |žen|pod| ze|kla|a v|stv|pol|dní|eré|m p|stá|je |ci |ečn| ni|néh|a n|aké|áva|maj|em |rov|í m|ké |ole|nýc|ova| ve|ako| ta|i k|chr|och| oc|kon|i p|í v|smí|esm|kdo|st |i n|o z|ave|odu|bez| to|sta|ech|jí |o d|sob|se | se|í s|ými|i s| i |i v| vz|ním|pra|lně|při|tát|ste|a j|aby| ab| s |oln|a o|m n|čen|slu|řís| os|zem|mez| či|lní|áln|oci|jin| ji|y b|í z|y s|va |vše|t v|ovn|chn|děl|níc|leč| pl|vat| vo|vin|rav|vou|lad|inn|é v|anu|tej|u k|stu|est| tr|ky |ikd|nik|ivo|nit|zen|u o|ném|nez|iál|ího|len|ens|ože|oko|kéh|rac|ven|í k|e s|lán|ělá|zdě|vzd|t k|din|odi|tí | od|ré |tup|pov|pln|ště|ákl|nno|tak|erá|řed|o a|a t|res|jíc| mu|u z|rok| ob|čno|u a|y k|i j|é n|luš|ísl|oso|ciá|soc|níh|o j|cké",run:"ra |we |wa |e a| mu|a k|se | n | um| ku|ira|ash|tu |ntu|a i|mu |umu|mun|unt|ere|zwa|ege|ye |ora|teg|a n|a a|ing|ko | bi|sho|iri| ar| we|shi|aba|e n|ese|go |a m|o a|gu |uba|ngo|nga|hir| ca|ugu|obo|hob|za |ndi|ish|gih| at|ara|wes| kw|ger|ate|a b| ba| gu|e k|can|ama|ung|bor|u w|mwe|di | ab|nke|ke |kwi|ka |ank|yo |ezw|n u|na |iwe|e m|rez|ri |a g|gir| am|igi|e i|ro |a u|ngi|e b|ban| ak| in|ari|n i|hug|ihu|e u|riz|ang|nta| vy|ata| ub|and|aka|rwa| nt|kur|ta |iki|kan|iza|u b|ran|sha|o n|i n| ig|ivy| iv|ahi|bah|u n|ana| bu| as|aku|ga |uko|o u|ho | ka|ose|ubu|ako|guk|ite|o y|ba |i b|any|kir|o k|aho|iye|kub|amw|nye|aha| ng|o m|nya| it|re | im|o b|izw|kun|hin|e c|vyo|o i|vyi|ngu|uri|imi|imw|gin|ene|u m|zi |ha |kug|bur|uru|jwe| zi|u g|era|aga|ron|abi| y |e y| uk|gek|ani| gi|eye|ind|wo |u a|i a| ib|i i|ras|bat|gan|amb|n a|onk|rik|ne |ihe|agi|kor| ic|ze |tun|ibi|wub|nge|o z|tse|nka|he |rek|twa|gen|eko|mat|ber| ah|ni |ush|umw| bw|mak|bik|ury|yiw|bwo| nk|ma |no |kiz|uro|gis|aro|ika| ya|gus|y i|wir|ugi|uki| ki|a c|ryo|bir| ma| yi|iro|bwa|mur|eng|ukw|hat|tan|utu|wit|w i| mw|y a|mbe| ha|uza|ham|rah| is|irw|o v|umv|ura|eny|him|eka|bak|bun| ny|bo |yig|kuv|wab|key|eke|yer|vye|i y|ita|ya |a r| ko|kwa|o c",plt:"ny |na |ana| ny|a n|sy |y f|a a|aha|ra | ma|nan|n n|any|y n|a m|y m|y a| fi|an |tra|han|ara| fa| am|ka | ts| na|in |ami| mi|a t|olo|min|man|iza|lon| iz|fan| ol| ha| sy|aka|a i|reh|ay |ian|tsy|ina| ar|on |o a|etr|het|ona|y o|o h|zan|y t|a h|ala| hi|a f|y h|ehe|ira|a s|zo |y i|ndr|jo | jo|n j| an| az|ran|dia| dr|y s|fah|ena|ire|tan|dre| zo|mba| ka|m p|afa| di|n d|and|azo|zy |amp|ia |ren|iny|rah|y z|ry |ika|oan|ao |amb|lal|ho | ho|isy|ony|tsa|asa|a d|ha |fia|mis|ava|ray| pi|am |dra| to|rin| ta|ant|eo |zay|rai|tsi|itr|sa | fo| ra|van|ova|nen|azy| vo|mpi|ari|o f|tok|a k| ir|kan|oto|mah|ly |sia| la|n i|voa|haf|a r|ito|y k|oka|y r|y l|ano|ita|ene|its|ial|zon|aza|ain| re| as|fot|aro|fit|nat|nin|aly|har| ko|ham| no|fa |ary|atr|ila|ata|iha|nam|kon|oko| sa|elo|nja|anj|ive|isa|oa |dy |y d|o m|nto|ank|o n|otr|pan|fir|air|sir|ty |a v|sam|o s|tov|mit|rak|reo|o t|pia|tao| ao|no |y v|iar|a e|a z|hit|hoa| it|to |za |ton|eha|end|vy |idi|tin|ati|adi|lna|aln|rov|ban| za|nga|hah|oni|osi|sos|vah|ino|ity| at|hia|pir|ifa|omb|ame|era|vel|kar|va |tso|jak|fid|ifi|ais|o i|idy|la |ama|ba | pa|tot|ani|rar|mpa|haz|kam| eo| il|iva|aho|nao|n k|ato|lah|ovy| te|dro|lan|ela| mo| si|fin|miv|san|koa| he|aso| mb|sak|kav",qug:"ta | ka|ka |na |una|cha|ash|ari|a k|ana|pak|ish|ach|hka|shk|mi |kta|hay|man| ch|apa|ak |rin|ata|kun|har|akt|ita| ha|ami|lla| pa|ama|pas|shp| ma|tak|ayñ|yñi|in |sh |ina|uku|nka|chi|aka|a c|yta|kuy|all|tap|a h|kan| tu|ñit|tuk| ru|run|chu|an |pay|ayt|ris| ki|aku|hpa|ank|a p|kam| sh|nam|a s|uy |i k|ayp|nak|pi |nta|a m| li|ay |lia|hin|kaw|nap|ant|tam|a t|iri|nat| wa|y r|kay|aws| ya|n t|ypa|wsa|pa |lak|shi|a a|lli|iku|hu |n k|iak|yay|kis| al|shu|a w|ipa| sa| il|api|kas|yku|yac|kat|a r|huk|i c|wan|hik|a i|ill|ush| ti|ayk|hpi| ku|kac|say|hun|uya|ila|ika|yuy|pir|ich|mac|ima|a y|yll|ayl|i p|kin|a l| wi|kus| yu|lan|tan|llu|kpi| ta| pi|aya|la |yan|awa| ni|kak|lat|rik|war|ull|kll|li |ink|nch|un |akp|n s|may| ay|uch|i s|nac|sha|iki|kik|h m|ukt|pip|tin|n p|iya|nal|aki| ri|ura|tik|mak|ypi|i m|i w|n m|his|k i|riy|iwa|y h| hu|han|akl|k t|mas|pik|kap| ña|u t|nmi|nis|k a|i y|k l|kar| im|i i|wil|yma|aym|ksi|iks|uma| su|h k|has| ak|unk|huc|kir|anc|k m|pal|k k|ik |iñi| iñ|ma |n y|mun| mu|mam|tac|a n|i t|k r|sam|ian|asi|k h|was|ywa|iyt|llp|san|sum|ray|si |pan|nki|tar| ii|u k|ñik|uk |iña|kuk|wpa|awp|akk|a u|wat|uri| mi|yar|uyk|ayw|h c|ha |tay|rmi|arm|uta|las|yka|llk|kul|wiñ|ati|ska| ll|kit|n h|uti|kic|mat",mad:"an |eng|ng |ban| sa| ka|dha|ren| se| ba|ak | ha|adh|hak| dh|ang|se | pa|aba|a s|na |aga|ha | or|n s|ore|ara| ag|gad|are|ana|n o|ngg|ale|gan|a k|ala|dhu|tab|sar|ota|asa|eba| ot| ke|sab|ba |wi |uwi|abb|i h|huw|aan|n k|a b|bba| ta| ma|pan|hal|bas|ako|dhi|ra |kab|em |beb|ka |lak|gi |lem|g a|eka|n b|ama|nga|san|at |ong|ran|nge|a o|ggu|sa |a d|ane|n p|ken|par|aja|man|gar|ata|nek|apa| na|agi|abe| ga|e e|sal|a a|tan|g s|al |kal|gen|ta |i s|aka|e a|a p|a e| la| pe|nan| an|era|e d| e | be|n a| al|ena|uy |guy|n n|ate| bi|mas|e k|kat|uan|oan|kon|k k|a m|i d|g e|n t|g k|ada|koa|lan|ela| da|bad|ma |ne |as |lab|ega| mo|ar |car|one|i p|bi |kaa|bat|ri |on |pon| so|e b|le |ah |abi|ase|adi|epa| ep|k h|and|pam|te |ok |ste|aon|om |oko|aha|ari|ona|asi|ter| di|di |pad|e s|sad|yar|neg|ton|set|rga|ost|mos|gap|nda|a l|har|i k|ina| a | ng|kom|isa|si |a t|a h| kl|jan|daj|iga|hig|idh|hid|ndh|n m|ngs|tto|ett|arg|la |k b|ler|k d|nna| to|nao|n d|mat| ca|tad|bis|aya|epo|aen| po|bin|nya|kas|k s|n h|sya|nta|gsa|en |ant|n g|kar|i e|das|e t|e p|iba| pr|g p| ho| el|i a|hi |os |sao|uwa|tes| ja|nag|nas|lae|sia|t s|k o|nto|int|yat|arn|m p|duw|adu|eta| ko|i b|ni |g n|kla|rak|ame|mpo|jua|sok|aso|ggi|eja|pel|jam|ele| et|dil",nya:"ali|ndi|a m|a k| nd|wa |na | al|yen| ku|nth|ra |di |se |nse| mu|a n|thu|hu |nga| wa|la |mun|u a|unt|iye| ka|ce |ace| lo|a l|ang|e a| la| pa|liy|a u|ens| ma|idw|ons|dwa|e m|i n|ala|kha|lo |li |ira|era|ene|ga |ana|za |o m| mo|yo |o w| ci|we |dzi|ko |o l|and|dan|hal|zik|chi|oyo|pa |ner|ulu|ena|moy| um|a p| da|ape|kap|ka |iko| an|pen|a c|to |ito|hit|nch| nc|iri|lir|wac|umo|e k|lu |a a|aye| dz|kuk|a z|dwe|tha|mal| za|ing|ufu|mu |ro |ful| uf|o c|i d|lin|e l|zo |edw| zo|o a|mwa|u w|iro|o n|lan|amu|ere| mw|nzi|dza|alo|ri | li|fun|lid|gan|so | ca|kul|ofu|nso|o z|ulo|unz|o k|mul|lam|i c|san|a b|kwa| na|a d| a |una|u k|i l|nkh|ant|aku|ca |cit|oli|ipo|dip|ama|lac|wir|han|yan|osa|uli|tsa|i m|pon|kup|u d|ti |gwi|ukh|ung|hun|lon|ank|nda|iki|ina| ko|ao |diz|phu|ati|oma|i a|tsi|pat|iya|siy|kut| ya|zid|eze|ma |i k|mer|ome|mol|u n|u o|aph|ogw|izo|mba|sid|ku |sam|awi|adz| ad|izi|ula|say|e n|khu| kh|rez|vom|bvo|okh|lok|win|akh|o o| am| on|zir|map| zi|eza|ja |go |ngo|ika|its|ats|osi|gwe| co|isa|ya |haw|ani|o p|zi |ndu|kho|ezo|kir|uni|i u| ay|lal|gal|sa |bom| bo|ola|amb|wak|ha |ba |nja|anj|ban| ba|iza| bu|udz|ngw|bun|oye|o d|nal|kus|i p|i o|i y|wi | nt|e p| si|aka|ne |men|jir|nji|sed|ets|end|eka|uma|du ",zyb:"bou|iz |aeu|enz|eng|uz | bo|ih |oux|nz | di|ing|z g|ux |uq |dih|ngh| ca|ng |gen|ung|z c| mi|miz|ij |cae|z d| gi| de| ge|euq|you| ci|ngz|ouj|aen|uj | yi|ien|gya| gu|ngj|mbo| mb|zli|dae|gij|cin|ang|j d|nae| se| ba|z y|euz| cu|de |x m|oz |j g|ouz|x b|li |z b|h g| da| yo|nj |xna|oxn|rox| ro|h c|nzl|vei|yau|wz |z m|ix | si|i c|iq |gh |j b| cw|nda|yin| hi| nd|dan|vun|inh| ga|can|ei |cun|yie|q g|hoz|bau| li| gy|wyo|cwy|z h|gue|gz |gun|faz|unz|yen|uh |den|ciz| go|q c|gj | bi|ej |aej| fa|hin|zci| wn|j n|goz|gai|au |z s|q d| vu|h m|gva|hu |auj|ouq|az |h d|ya |uek|ci |nh |u d|ou |sou|jso|gjs|din|awz|enj| do|h s|eve|sev|z r|nq |sin|nhy|g g|g b|liz|kgy|ekg|sen|eix|wng|lij|ngq|bin|i d|ghc| ha|bae|hix|h y|j c|ghg|i b|ouh|en |n d|h f|j s|z v|j y|law|hci|anh|inz|q y|nei|anj|ozc|ez |enh|q s|aiq|uen|zsi|zda|hye|ujc|e c|siz|eiz|anz|g y|i g|q n|bie| ne| ae|giz|u c|hgy|g d|gda|ngd|cou| la|z l|auy|ai |in |iuz|zdi|jhu|ujh|yuz| du|j m| fu|cuz|eiq|g c|gzd| co|uyu|coz|zbi|biu| dw|i s|i n|aw |dun|yun|izy|daw| he|nho| ho|enq|x l|cie|q b|cij|uzl|x d|iuj|awj| ya|eij|dei|nde|sae|izc|wnq|wnh|sei|h b|aih|gzs|bwn|a d|u g|ngg|jca|e b|ran| ra|hcu| me|iet|van| bu|guh|hen|si |wnj| ve|u b|azl|inj|gak|gan|ozg|siu|yaw|i m",kin:"ra | ku|se | mu|a k|ntu|tu |nga|umu|ye | um|unt|mun|e n| gu|we |ira|a n| n |wa |ere|mu |ko |gom|a b|e a| ab|li |e k|mba|a a|e b|aba|ga |e u|ba |omb|o k| ba|a u|ose|u b|o a| cy|ash|eng| ag|kwi| bu|za |gih|ren|ndi| ub|ang|yo |aka|gu |igi| ib|a g|a m| nt|uli|o b|ama|ihu|e i|nta| ak|ago|ro |ora| ka|ugu|hug|di |iye|ban| am|cya|ku |ta | bw|and|sha|re | ig|gan|ubu|na | kw|obo| by| bi|a i|yan|ka |sho|kub|era|ese| we|kan|aga|hob|bor|ana|byo|ura|uru|ibi|rwa|wes|u w|no |uko|i m|mo |u a|ure|ili|uba|o n|uha|uga|n a| im|ish|bwa|bwo|wiy|ali|ber|ze |ne |ush|are|o i|u m|ger|bur|ran| ki| no|ane|bye| y |ege|teg|guh| uk|n i|rag|i a|ya |u g|e m|anz|bo |abo|gar|wo |y i|ho |age|ind|o m|eke|a s|ara|zir|ite|kug|kim|aci| as|u n|ani|kir|mbe| gi|yos|kur|ugo|gir|e c|iza|aho|i b|tur|ata|o u| se|u u|zo |i i|aha|nge|mwe|iro|akw|any|eza|uki|imi|o y|ate|u k|iki|atu|bat| in|go |tan|n u|bos| bo| na|hak|iby| at|ihe|ung|ha |bul|kar|eye|eko|gek|nya|o g|shy|e y|awe|ngo|bit|mul|nzi|rer|bag|ge |imw|bah|cir|gac|bak|je |gez|imu|eze|tse|ets|mat| ru|irw|he | ni| ur| yi|ako|ngi| ng|i n|rez|ubi|gus|fit|afi|ugi|uka|amb|o c|utu|ufa|ruk|mug|bas|bis|uku|hin|e g|ige|amo|ing| af|yem|ni | ry|a r|gaz|te |erw|bwe|ubw|hwa|iko| al|ant|zi ",zul:"nge|oku| ng|a n|lo |ung|nga|la |le | no|elo|lun| um|e n|wa |we |gel|e u|ele|nel|thi|ke |nom|ezi|ma |ntu|oma|hi |o n|ngo|tu |nke|onk|o l|uth|ni |a u|lek|unt| wo|o e| lo|mun|umu|pha| ku|ang|ho |kwe|ulu| ne|won|une|lul|elu| un|a i|gok|kul|ath|hla|lok|khe|eni|tho|ela|zwe|akh|kel|a k|enz|ana|ban|aka|u u|ing|ule|elw|kho|uku|ala|lwa|gen| uk|wen|ama|na |e k|ko |gan|a e|he |zin|enk|o y| ez|kat| kw|lan|eth|het|o o| ok|okw|i n|nzi|aba|e a|hak|lel|lwe|eko|ane|ka |so |yo |ayo|o a|uhl|nku|nye| na|thu|mph|do |ben|ise|kut|ike|kun| is| im|hol|obu|fan|i k|e w|nhl|nok|ini|and|kuh|ukh|kuk| ak|e i|isi|aph|zi |ile|eki|ekh| ba|eka|the|a a| le| ye|kwa|e e|fut| fu|za |mal| ab|ebe|isa| em|o w|kub|mth|i w|ndl|emp|any|olo|ga | ko|nen|nis|alu|ith|eli|ndo|seb|nda| ya|i i|eke|vik|ake|uba|abe|ezw|yok|ba |ale|zo |olu|ume|ye |esi|kil|khu|yen|emi|nez|hlo|a l|ase|ula|kek|a o|iph|o u|no |azw|kan|mel|uny|ne |ufa|ahl|lin|hul|ant|und|sa |enh|kus|kuv|lak| in|o i|din|kom|amb|zis|ind|ola|uph|wez|eng|yez|phe|phi|mba|nya|han|kuf|nem|isw|ani|iyo| iy|fun| yo|uvi|i a|ene|izi| el|cal|i e|eze|ano|nay|hwe|kup|lal|uyo|ubu|kol|oko|ulo| la|e l|tha|nan|mfu|hon|nza|hin| ey|omp|da |bo |ilu|wak|lon|iso|kug|nka|ink|i l|sek|eku| ek|thw|gez",swe:"ar |er |tt |ch |och| oc|ing|ätt|ill|rät|en | ti|til|för|ll | rä|nde| fö|var|et |and| en|ell| ha|om |het|lle|lig|de |nin| de|ng | in| fr|as |ler| el|gen|nva|und|att|env|r h| i |r r|ska|fri| so|har|der| at|ör |ter|all|t t| ut|den|ka |lla|som|av |sam|ghe|ga | sk| vi| av|ete|la |ens|t a| si|r s|iga|igh|tig| va|ig |a s| st|ion|ra |tti|a o| är|ten|ns |t e|na | be|han| un| an| sa|a f| la| gr| må|nge|n s|vis|lan|må |ati|nat| åt|an |nna| li| al|t f|ans|nsk|sni|gru|äll|tio|ad | me|isk|kli|s f|t i|stä|t s|ri |med|sta|h r|lik|da |dig|ta |r o|run|on | re|lag|tta|är |kap|a i|a r|änd|erv|n e|kte|n f|rvi|nom|itt|id | mo|sky|r e|ver|äns|vil|gt |igt| na|tan|uta|dra|t o|ro |isn| fa|kal|ihe|rih|erk|r u|e s|per|l v|vid|one|rel|ber|ran|ot |mot|ndl|d f|ed |ika|män|l s|bet|t b|dd |ydd|kyd|n o|s s|str|n m|tet|sin|r f| om|rna|int|r i|end|nad|l a|ap |ers|nda|t v|ent|rbe|arb| hä|ets|häl|amh|ckl|gar|nga|r m|je |rje|arj|n i|s e|lin|r t|i s|rän| pe|ilk|t l|ern|på | på|täl|d e|dom|ege|g e|tni|r a|lit|ras| så|lln|kil|ski|enn|i o|a d|erä|n a|ara| ge|äro|a m| ar|t d|ilj|els|yck| ve|g o|frå|nas|tra|ess|del|m s|liv|l l|in |v s|g a|ast|e e|val|son|rso|e t|age|nd | eg|ial|cia|oci|soc|upp|igi|eli|g s|rkl|gad|ndr|nte|öra",lin:"na | na| ya|ya |a m| mo|to | ko|li |a b| li|o n| bo|i n|a y|a n|ki |a l|kok|la | ma|zal|i y|oki| pe|ngo|ali|pe |so |nso|oto|ons| ba|ala|mot|a k|eng|nyo|eko|o e|nge|yon| ny|kol|lik|iko|a e|o y|ang|ye | ye|oko|ma |o a|go | ek|ko |e m|aza|te |olo|sal|ama|si | az|mak|e b|lo | te|ta |isa|ako|amb|sen|ong|e n|ela|oyo|i k|ani| es|o m|ni |osa| to|ban|bat|a t|mba|ing|yo | oy|eli|a p|mbo|o p|mi | mi| nd|ba |i m|bok|i p|isi|mok|lis|nga|ge |nde|koz|bo |gel|ato|o t|mos|aka|oba|ese|lam|kop| ez|lon|den|omb|o b|ota|sa |ga |e a|e y|eza|kos|lin|esa|e e|kob|e k|sam|kot|kan|bot|ika|ngi|kam|ka | po|gom|oli|ope|yan|elo| lo|ata| el|bon|oka|po |bik|ate| bi|a s|i t|i b|omi|pes|wa | se|oza|lok|bom|oke|som|zwa|mis|i e|bek|iki| at|ola|ti |ozw|lib|o l|osu|oso|e t|nda|ase|ele|kel|omo|bos|su |usu|sus|bal|i l|ami|o o|bak| nz|pon|tel|mob|mu | ep|nza|asi|mbi|ati|kat|le |gi |ana|oti|ndi|tan|a o|wan|obe|kum|nya|mab|bis|nis|opo|tal|mat| ka|bol|and|aye|baz|u y|eta| ta|ne |ene|emb|sem|e l|gis|ben| ak| en|mal|obo|gob|ike|se |ibo|’te| ’t|umb| so|mik|oku|be |mbe|bi |i a|eni|i o| mb|tey|san| et|abo|ebe|geb|eba|yeb|bu | as|ote|sik|ema|eya|ibe|mib|ai |pai|mwa|kes|da |may|boz|amu|a a|kom|mel|ona|ebi|ia |ina|tin| ti|bwa|sol|son",som:" ka|ka |ay |uu |an |yo |oo |aan|aha| wa|da | qo| in| u |sha| xa|a i|ada|iyo| iy|ma |ama| ah| la|qof|aa |hay|ga |a a|a w|ah | dh|a s| da|in |xaq| oo|a d|aad|yah|eey| le|isa|lee|u l|q u|aq | si|taa|eya|ast|la |of |iya|sa |y i|u x|sta|kas|xuu|uxu|wux| wu|iis|nuu|inu|ro | am| ma|a q|wax|dha|ala|kal|nay|f k|a k|le |ku | ku| sh|o i|a l|ta |maa|a u|dii|loo| lo|o a|ale|ara|ana|iga|o d| uu|ha |lo |o m|o x|doo|aro|kar|yaa|gu |si |ima|na | xo| fa|adk|do |a x|ad |aas| qa| so|a o| ba|lag| aa| he|dka|adi|soo|o k|aqa| is|ash|u d|had| ga|eed|san|u k|a m|iin|i k| ca|u s|n l|yad|rka|axa|elo|hel|aga|hii|o h|o q| ha|id |n k| mi|baa| xu|har|xor|aar|ax |mad|add|nta|mid|aal|waa|haa|ina|qaa|daa|agu|ark|o w|nka|u h|dad|ihi| bu| ho|naa|n a|ays|haq|a h|o l| gu|o s|aya|saa|lka| ee| sa|dda|ab |nim|quu|gga|ank|kii|rci|arc|n s|a g| ji|gel| ge|eli|ysa|a f|siy|int|laa|uuq|uqu|xuq| mu|i a|uur|mar|ra |iri|o u| ci|riy|ya |ado|alk|dal|ee |al |rri|ayn|asa| di|ooc|aam|ofk|oon|to |ayo|dar| xi|dhi|jee|a c| ay|yih|a j|ban|caa|lad|sho|d k|ida|uqd|agg|sag|ras|bar|ar | ko| ra|o f|gaa|gal|fal|u a| de| ya|o c|ii |xay|eel|aab|sig|aba|orr|hoo|u q|y d|ed |ho |sad|qda|h q|fka|n i|xag|n x|qay|lsh|uls|bul|u w|jin| do|raa| ug|ido|ood",hms:"ang|gd |ngd|ib | na|nan|ex | ji|eb |id |d n|b n|ud | li|nl |ad | le|jid|leb|l l| ga|ot | me|x n|anl|aot|mex|d g|b l|d d|ob |gs |ngs|jan| ne|ul | ni|nja| nj|lib|ong|nd | zh|jex| je|b j| sh|ngb| gh|gb | gu|gao|l n|han| ad|gan| da|t n| wu|il |x g|nb |b m| nh|she|is |l j|d l|nha|l g|d j|b g|el |end|wud|nex|gho|d s|d z|oul|hob|ub |nis| ch| ya|it |b y|eib| gi|s g|lie| yo| zi|oud|s j|d b|nx | de|es |d y| hu|uel|gue|ies|aob|you| ba|d m|chu|gia|dao|b d|s n|zib| go|zha|eit|hei|al |hud| do|nt |ol | fa|t g|hen|ut |gx |ngx|ab |fal|x j|b z|ian|d h|don|b w|t j|iad|nen| xi|gou|d c|b h|hao|x z|nib|anx|ant|gua| mi|s z|dan|ox |inl|hib|lil|uan|and| xa|b x| se|x m|uib|hui|d x|anb|enl| we|od |enb| du|at |ix |s m|bao| ho|hub| ng|zhi|jil|l s|yad|t m|t l|yan| ze| ju|heb|had|os |aos|t h|l d|nga| he|b a|xan|b s|sen|xin|dud|jul|d a|lou| lo|dei|d w| bi|b c| di|zhe|gt |ngt|x l|bad|x b| ja|hon|zho|blo| bl|d k| ma|deb|l z|wei| yi| qi|b b|x d|d p|eud| ge|x a|can| ca|t w|lol| si|hol|s w|aod|pao| pa|ren| re|x s|eut|pud| pu|aox|mis|gl |ngl|x w|zei|gon|enx|gha|s a|b f|l y|oub|eab|hea| to|did| ko|unb|ghu|t p|x c|geu|t s|x x|jao|ed |t c|l m|l h|jib|ax |l c|d f|nia| pi|eul|d r| no|min|l t|heu|ux |tou|ns |s y|iel|s l|hun",hnj:"it | zh| ni|ab |at |ang| sh|nit| do|uat|os |ax |ox |ol |nx |ob | nd|t d|zhi|nf |x n|if |uax| mu|d n|tab| ta| cu|mua|cua|as |ad |ef |uf |id |dos|gd |ngd|hit|ib |us |enx|f n|she|s d|t l|nb |ux |x z|ed |inf|b n|l n|t n|aob|b z| lo|ong|ix |dol| go|zhe|f g| ho| yi|t z|d z|b d| le|euf|d s|ut |yao| yo| zi|gb |ngb|ndo|enb|len| dr|zha|uab|dro|hox| ge|nen| ne|han| ja|das|x d|x c|x j|f z|shi|f h|il | da|oux|nda|s n|nd |s z|b g| ny|heu| de|gf |ngf| du|od |gox| na|uad| gu|inx|b c| ya|uef| xa| ji|ous| ua| hu|xan|hen|zhu|nil|jai|rou|t g|f d| la|enf|ged|ik | bu|nya|you|f y|lob|af |bua|uk |is |yin|out|of |l m|ud |hua| qi|ot |t s| ba|ait| kh|s s|nad| di|aib|x l|lol| id|dou|ex |aod|bao| re| ga|d d|b y|las|hed|b h|b s|f b|t y|jua| ju| dl|x s|hue|b l| xi|zif|dus|b b|x g|hif|x y|hai| nz|sha| li|x t| be|d j|und|hun|ren|d y|hef|xin| ib|b t|l d|aos|s l| ha|gai|nzh|gx |ngx| ao|s b|s x|el |gt |ngt|hik|aid|s t|x m|f l|f t| pi|aof|t r|eb | gh|s y|d l|gua| bi| za| fu|t h| zu|hou|deu|lb | lb|d g| mo|b k| bo|iao|ros|gon|eut|x h|al |uaf|hab|t t|k n|f x|hix|pin|yua| no|t b|ak | zo|s m| nb| we|d b|gha|f s|mol|euk|dax|l b|nof| ko|lou|guk|end|uas|t k|dis|dan|yol|uan|d t|x b|lan|t m| ch|jix|x x| hl|aox|zis|x i|et | ro",ilo:"ti |iti|an |nga|ga | ng| it| pa|en | ma| ka| a | ke| ti|ana|pan|ken|ang|a n|agi|a k|n a|gan|a m|a a|lin|ali|aya|man|int|teg|n t|i p|nte| na|awa|a p|na |kal|ng |dag|git|ega|sa |da |add|way|n i|n n|no |ysa|al |dda|n k|ada|aba|nag|nna|ngg|eys| me|a i|i a|mey|ann|pag|wen|i k|gal|gga| tu|enn| da| sa|nno| we|ung| ad|tun|mai| ba|l m| ag|ya |i s|i n|yan|nan|ata|nak| si|aka|kad|aan|kas|asa|wan|ami|aki|ay |li |i m|apa|yaw|a t|mak| an|i t|g k|a s|ina|eng|ala|ika|ama|ong|ara|ili|dad| aw|gpa|nai|et |yon|ani|aik|on |at |oma|sin|bal|ipa|n d|uma|g i|ket|ag |in |aen|n p|ram|sab|aga|nom|ino|lya|ily|syo|i b| ki|nia|agp|gim|kab|asi|kin|iam|ags|bab|oy |toy|n m|agt| ta|bag|sia|g a|gil|mil| um|o p|ngi|n w|i i|pad|pap|daa|iwa|naa|eg |ias|ed |nat|bae|o k|saa|san|pam|gsa|ta |kit|ma |dum|yto|tan|i e|t n|uka|t k|apu|lan|sta|sal| li|a b|ari|g n|den|mid|ad |o i|y a|ida|ar |aar|y n|dey| de| wa|a d|ak |bia|ao |tao|min|asy|mon|imo| gi|maa|sap|abi|i u|aib|kni|i l|gin|ged|o a| ar|kap|pul|eyt|abs|ibi| am|akn|i g|kip|isu|g t|bas|nay|ing|i d|kar|ban|iba|nib|t i|as |d n|y i|ura|a w|nal|aad|i w|lak|adu|kai|bsa|duk|edu| ed|may|agb|agk|tra|gge|sol|aso|agr|ngs|ian|ila|dde|edd|tal|aip|kua|umi|pay|sas|ita|pak|g d|ulo|inn|aw "},Cyrillic:{rus:" пр| и |рав| на|пра|ств|го |ени|во |ове| ка|на |ть | по|ия |о н| об|ет | в |сво| св|аво|ани|ост|ого|ый |ажд|лов|т п| им|ния| че| со|ело|име| не|льн|ли |чел|каж|ест|век|ать|ова|или| ра|ек |й ч|дый|жды| до|ие |еет|мее|но | ил|ии |ся |его|обо|и п|ние|к и| бы|и с|и и|ми |бод|воб|ван| за|ой |ых |ом |лен|аци|енн|о с|о п|ьно|тва|тво|при|ног|аль|ако|ва |и н|сти|ных|то |бра|олж|дол|сто|и в|ным|ое | ег|нов|их |ель|тел|ти |нос|не |пол|раз| вс|и о| ли|и р|ыть|быт|вле|ред|ию |тор| ос|ься|тьс|оди|щес|я и|как|про|жен|ым |пре|а с|сно|е д|нно|о и|ий | ко|о в| ни| де|сту|лжн|сов|е в|ном|оль|ран|оже|иче|ей |аст|нны| от|туп|м и|одн|зов|рес| мо|осу|ля |осн|а о|вен| то|о б|шен|тве|общ|а и|е м|ьны|обр|вер|чен|я н|жно|чес|ак |лич|нии|е и|все|бще|ват|есп|мож|й и|ное|о д|бес| во|я в|ду | ст|дно|она|нац|ден|ежд|х и| бе|и д|ны |дос|для| дл| та|льс|ате|ции|я п|ую |ите|е о|ной|под|ото|стр|ста| ме|ели| ре|я к|тоя|ами|ен |ь в|ю и|азо|гос|м п|ь п|т б|жет|уча|суд|ьст|дст|щит|ащи|защ|кон|нию|ам |оду|ере|гра|печ|о о|оро|кот|и к|тра|ник|уще|циа|оци|соц|нал|еск|о р|ког|дру| др|ни |ава|нст|ем |авн|ыми|едс|дин|дов| го| вы|в к|ые |обе|му |я е|слу|уда|так|кой|ту |иту|зак|ход|вол|раб|кто|икт|ичн|нич|от |ина| к |тер|род|нар",ukr:"на | пр|пра| і |рав| на| по|ня |ння| за|ого|ти |во |го | ко|аво| ма|люд|о н| не| лю|юди|ожн|кож|льн|жна|дин|ати|ає |их |ина|пов|сво| св|анн|є п|має|або|а л| бу|не |енн|бо | аб|а м|ови|ні | ви| ос|аці|вин| та|без|обо| ві| як|ере| до|і п|ува|о п|аль|них|ом |ми |іль|ног|та |ий |при|ою |ть |ста| об|ван|инн|ті |ост| у |ся |ват|бут|ист| мо|езп|ути|нов|пер|ії |и п|бод|воб|ств| в |о в|від| бе|ако|під|тис|кон|но |ва |нні|і с|а п|сті| сп|ний|ду |ьно|она| ін|дно|ним|ій |а з|ну |мож|її | її|ля |соб|му |ої |яко| пе| ра|ід | де|і в|и і|чин|вно|ому|ном|у п|і н|а с| су|а о|нен|ися|ово|нан|одн|у в|і д|ава|ідн|рів| рі|і р|ими|віл|им |ції|о д|а в|сту|оду|буд|ова| пі| ні|я н|е п|нац|и с|нна| од| ро|нос|ьни|ють|и з|ки |і з|а б|спр|чен|же |оже|е м|овн|рим|е б|то |ніх|осо|удь|ві | ре| ст|рац|до | со|роз|лен|вни|івн|род| вс|спі|ков|зпе|ів |для| дл|ї о|хис|ахи|зах|‐як|ь‐я|дь‐|я і|так|зна|заб|сть|ту |ною|а н|тор|сно|о с|жен|ціа|оці|соц|інш|і м|кла|и в|тер| ді|іст|ові|у с|я в|аро|сі |віт|сві|осв|роб|піл|рес|за |печ|абе|ку |лив|ерж|дер|в і|авн|тав|ав |ами|ком|вле|о б|ь п| що|їх |тво|хто|іхт|ког| кр|ано|тан|іал|нал|нь |х п|жно|леж|але|про|тва|рат|о о|х в|нар|льс|цій|кор|час|ржа|ї с|ину|дст|о з|раз|мін|а р|зак",bos:" пр| и |рав|на |ма |пра| на|има| св|а с|да |а п|во |је |ко |ако|о и| по|аво|е с|а и|ти | им| да| у |сва|но | за|о н|ва |и п|или|вак|ли | ко|не | ил|кој| не| др|ост| сл|ња |им |и с|у с|и и|ава|ије|а у| би|ств|се |вањ|а д|ом |јед|бод|обо|лоб|сло| се| ра|их |сти|а н|ње | об| је|при|дру|у и|ју |о д|ити|вој|раз|ање|ова|дје| ос|е и|ло |е п|ања|ује|и д|бра|тре| тр| су|у з|а к|ог |у п|оје|циј|реб|а о|а б| ње|и у|миј|ни |нос|ба |едн|сво|њег| из|про|е д|жав|бит| ни|и о|ста|а з|авн|вје| ка|бил|ово|а ј|ају|ист|и н|них|јел|ту |ред|гов| од|е о|оји| см|ја |о к|ило|аци|е у|пре|о п|еба|у о|су |вим|ичн| са| дј|а т|ија|шти|чно|ржа|држ|сту|дна|одн|ени|за |ива|ном|ем |ду |ран|вно|сми|јер|е б|е н|де |пос|м и| до|у д|нак|а р|обр| мо|ним|его| кр|тит|кри|ве |ан |ико|ник|ну |и м|ног|ено|сно|е к|туп|руг|ка |ода|рив|вољ|алн|м с|иту|ашт|заш|ани|сам| ст|акв|ови|осн|род|аро| ми|ји |тва|дно|нст|ак |ите|љу |вич|рад|у н|у м| та|дст|тив|нац|рим|кон|ку |њу |оду|жив|амо|тво|тељ|под|ећу|г п|нов|ина|нар| вј|и б|ој | ов|аве|ву |анс|оја|зов|азо|уде|буд| бу|е т|и в|ења|еди|ниц|нап|мје| ис|слу|едс|о о|зак|и к|м п|тно|иво|ере|нич|как|ада|вни|уги| ро|мов|вен|о с|то |те | вр| бе|ара|кла| бр|у б|у у|и т|она| он|ави|јал|дни| ск",srp:" пр| и |рав|на |пра| на|ма | св|има|да |а п|во |ко |ти |аво| по|а и|ако|а с| за| у |о и| им|и п|ва |сва|вак| да|о н|е с|ост| ко|ња |ли |или|не |ом | не|а н| сл| ил|је | др|и с|но |кој|у с|ава| ра|ог |сло|ју |им |сти|бод|обо|лоб|ити|а о|ств|и у|а д|ни |јед|у п|при|едн| би|и и|а к|о д|ста|их |дру|а у| је|ања| ос| ни|нос|про|ају|и о| де| су|у и|се |ње |ја |ова|и д|циј| об|ује|ред|жав|е и|е п|а ј|дна| се| од|ве | ка|ени|ржа|држ|а з|авн|ења|аци|вој|ово|у у|м и|оја|вањ| из|ија|у з|ање|ран|е о|род|и н|е б|раз|за | ње|гов|ичн| ст|нов|сно|осн|ду |пре| тр|су |ву |одн|а б|сво|њег|ним|них|ту |тит|шти|ку |ном|бит|е д|ме |ико|чно|оји|ло |вно|ник|ика|без|ара|де |у о|вим|нак| са|рив|аве|ан |вољ| кр|о п|сме|е к|ног|ји | ов|е у|тва|бра|руг|реб|тре|у д|ода| мо| вр|ављ|у н|его|дел|м с|кри|о к|ашт|заш|њу | см|ани| ли|дно|еђу|алн|ла |акв|ој |ком|сту|уги|ави|а р|ка |рад|оди|вич|тав|иту|уде|буд| бу|пот|оду|жив|ере|тво|ило|бил|аро|е н|ови|пор|ено|штв|нац|ове|м п|туп|пос|рем|дни|ба |нст|а т|оју|аст|ива|е м|вре|вља|ну |беђ|ист|ен |те |дст|рот|зак|ао |као|и к|јућ|о с|ст |сам|м н|тер|нар| ме|и м|кол|е р|ушт|руш|вер|как| бе|и б|кла|ада|еба|ена|она| он|тву|анс| до|рак|слу|и в|ниц|у к|мен|врш|еме|едс|иви|о о|јав",uzn:"ан |лар|га |ир | би|ар | ва|да |ига| ҳу|ва |бир|уқу|қуқ|ҳуқ| ҳа|р б|ган|иш |ида| та|а э|ини|ади|нг |дир|иши|лик|лиш|ий |или|ари|уқи|ҳар|лан|инг|ши |дан|нин|инс|кин|сон|нсо| ин| му|қиг| ма|он |р и| бў|эга| эг| ўз|ни |бўл|гад|и б|ки |ила|ёки| ёк|а б|н б|ин |р ҳ|ала|эрк| эр|лга| қа|рки|ш ҳ|и ҳ|н м| бо| ба|ик |ара|иги|лиг|ри |қил|а т|бил| эт|ниш|нли|кла|и в|бош|эти|ани|им |и м|оли|қла|а ҳ|лаш|атл|тил|а қ| ол|оси|мас|қар|инл|лат| қи|таъ|ҳам|ги |иб |мла|ўз |н э|мум| да| бу|ат |ш в|ун |ати|мки|умк|тла|иро|ўли|бар|ири|риш|ият|али| бе| қо|а ш|аро| ке|и т|рла| те|ча |рча|арч|а ў| шу|тиш|н ҳ|тга| са|аси| ха|рак|лин|ола|имо|шқа|ли | ту|амл|лла|сид|н ў| ас|нид|а и| ки|н т|нда|к б|ера|ошқ|сиз|ор |а м|р в|енг|тен|мат|мда|амд|лим|й т|ят |и а|ино|илг| то|тни|ана|ас |эма| эм|а ё| ша|аш |а а|тар|кат|ака|ак | де|аза|илл|сий| си| со|уқл|н қ|ода|ъли|аъл|ник|ада| ни|тда|гин|уни|сит|ай |қон|н о| жа|ким|еч |ҳеч| ҳе|ўзи|лак|кер|икл|лли|ур |зар|шла|риг|ирл|дам|коҳ|ико|а д|ам |н в|рти|тиб|тал| иш|чун|учу| уч|сла|а у|рин|сос|асо| ун|на | ка|муҳ|диг|ч к|асл|лма|ра |бу |хал|ўлг|и к|екл|р д|қат|ага|и қ|оий|мил| ми|қа |и с|жин| жи|син|рор|а в|лад|а о|тли|мия|н и|аб |тир|з м|дав|рга|аги|а к|нла|ақт|вақ|арт|аёт|лаб",azj:" вә|вә |әр |ир | һә| би| һү| ол|үгу|һүг|гуг|на |ин |лар|һәр|дә | шә|бир|ләр|лик|мал|р б|лма|р һ| тә|әхс|шәх|ән |дир|угу|уна|ан |али|а м| ма|икд|ини|р ш|дән|ар |илә|гун|аг |асы| ја|мәк|јәт| мә| мү|кди|әси|әк |илм|нин|ндә|олм|әти|ә ј|син|хс |нда|лмә|јјә|и в| га| аз|олу|ијј|ја |инд|зад|гла|үн |ни |лә |тин|н м|аза|ары|әт |н т|маг|лун|лыг|ә б|ун |нун|г в|н һ|дан|ын | ет|тмә|әрә| өз|да |ә в| он|ә а|ына|ыны|бил|а б|сы |ил |әми|ара|си | ди|ә м|әри|рлә| ва|ә һ|етм|ығы|ама|длы|адл|рин|бәр|рын|н и|мүд|нын| һе|мас|ик |н а|дил|алы|ирл|әлә|үда|сын|ынд|хси|ли |ә д|нә | бә|әја| ин|ә и|ләт| сә|ны | иш|аны|еч |һеч|г һ|ејн|ә е|дыр| да|аси|ры |иш |ифа|лығ|и с|фиә|афи|даф| ед|мәз|у в|кил| һа|ола|н в|әни|ыр |уг |унм| бу| ас|сиа|оси|сос|или|ыды|лыд|нма|ыг |инә|әра|сил|хил|ахи|дах|адә|ман|а һ|ә о|ону|а г|әз | ки|сеч| се|ы һ|мин|лан|әдә|бу |раг|лы |ылы|ал |ә г|р в|нла|һси|әһс|тәһ|өз |ист| ис|мәс| әс|ина|ә т|әтл|а в|иә |н б|тәр| та| ҹә|еди|ала|ким|гу |и т|улм|мәһ|н о|аја|ы о|иал| со|илл|сиј| дә|вар|инс|ми |ғы |ник|р и|агл|к һ|тәм|там|чүн|үчү| үч|ғын|сас|әса|з һ|әмә|зам| за|сти|рәф|н е|р а|илд|һәм|ыгл|јан|мај|н ә|мән|мил| ми|әги|дин|н д|түн| дө|миј|каһ|ика| ни|фад|тиф|л о|сәр|јни| еј|ана|лән|ам |рил|ајә|ашы",koi:"ны |ӧн | бы|да | пр|лӧн|рав| мо|пра| да|быд| ве|орт|лӧ |ӧй |мор|ӧм |аво| не|во |ыд |ыс |нӧй|ын |м п|д м|ыны|тны| ас|тӧм|льн| эм|вер|сь |ьнӧ|эм |н э|тлӧ| кы|сӧ | по|ерм|сьӧ|ртл|аль| кӧ|эз | ӧт|ӧ в|то |ето|нет|ылӧ| ко|тшӧ| от| и |ы с|бы |ӧ б|ств|кӧр| вӧ|шӧм|кыт|та |на |з в| се| до|вол|ӧс | сы|ы а|ола|рмӧ|ас |оз | оз| сі|а с|тво|с о| вы|ліс|ӧ к|ытш|ӧ д|ис |ісь|ӧтн|ась| ол| на|аци| эт|а в|злӧ|сет| во| чу|лас|лан|мӧ |тыс|рты|ӧрт|ы п|ӧтл|о с|эта|дз |кӧт|ӧдн|вны| мы|н н|удж| уд|выл|ӧ м|рті|орй|ись| со|воэ|ыдӧ|й о|кол| го|с с|сси|сыл|ысл|йын|кин|олӧ|тӧн| сь|ана|ӧр |ция|а д|ӧмӧ| ви|з к| эз|ы б|тӧг|ӧт |мӧд|ест|ост|ӧны|тир|оти|укӧ|чук|н п|онд|пон|слӧ|кер| ке| об|сис|суд|а н|дор|кон|нек|н б|лӧт|с в|ті |ьӧр|тра| ст|нал|она|нац|н к|кӧд|ӧг |скӧ|ть |етӧ|дӧс|быт|рны|ӧ н|тсӧ|рре|а б|нда|с д|асс|ы к|асл| ло|ьны|сьн|ы м|еки|ы д| мӧ|ь м|ы н|ытӧ| ме|рйӧ|иал|й д|итӧ|а к|ӧсь|мӧс|овн|зын|а п|отс| ли|оля|ӧ а|осу|ӧя |нӧя|езл|рез|мед|с м| сэ|ь к|рйы|ако|зак| за|ьын|ннё|мӧл|умӧ| ум|ы у|н в|м д|н с| дз|н о|ран|стр|озь|поз|з п|о д|циа|оци|соц|ион|а м|еск|чес|нӧ |з д|тсь|бӧр| бӧ| ов|вес|кыд|ӧ с|воы|код|тко|ӧтк|оль|дбы|едб|сьы|чын|тчы|ӧтч|тла|мӧн|сла|йӧз| йӧ|т в|ы и|ез |о в|оны|йӧ |анн|ӧль| пы|ан |нӧс|нит| су|м с",bel:" пр|пра| і |ава|на |рав| на| па|ны |ва |або|ць | аб|ае | ма|аве|анн|ацы|сва| св|е п|льн| ча|не |ння|ала|а н|ай |лав|чал| ко| ад| не|га |ожн|кож|век|ня | як|жны|ы ч|мае|а п|ага|бо |ек |а а|ца |цца| ў | за|ых |пав|а с|го |він|дна|бод|мі |ваб|ван|ам | вы| са| да|ста|аві|нне|асц|най|цыя|наг|ара|і н|к м|яго| яг|ьна|пры|аць|і п|одн|ств|ама|ных| бы|тва|дзе|аль| ра|ні |і с|і а|ыць|а б|енн|лен|ці |оўн|ым |рац|інн|іх | ас| та|то |нас|які| дз|чын|оль|і д|аво|ад | ні|сці|ымі|ным|быц|я п|ьны|ыя |аро|ана|іна|і і|рад| гр|ля |ўле|о п|а ў|рым|пад|ыі | ін|амі|дзя|рам|цыі|аба|а і|ду |жна|ўна|нал|нац|ры |эта|гэт| гэ|нен|да |ах |гра|кац|ука|а з|кі |адс|ў і|нст|энн|я а|нні|оду|а р|нна|ход|нан|пер|х п| у |адз|і р|мад|м п|е м|аду|дст|для| дл|оў |нае|і м|ако| ка|ы ў|бар|е а|ацц|ую |ыцц|сам|яўл|але|род|раб| пе|што| ўс|адн| су|роў| ро|дук|люб|ь с| шл|раз|нав|зна|вол|удз|ада|жыц|чна|ве |а т|асн|сац|ера| рэ|яко|кла|аны| шт|ь у|аюц|нар| ус|соб|асо|пам|я ў|авя|чэн|воў|так|ну |ю а|ь п|зак|кар|е і|ь а|бес|ія |кія|х і|заб|аса|ім |жав|і з|леж|тан|ахо|яль|ыял|о с|яна|кан|ака|інш|алі|вы | мо|нах|я я|м н|ога| бе|й д|о а| ст|ены|і ў|а д|есп|шлю|цця|ы і|ыст|рыс|люч|клю|тац|уль|ынс|ачы|спр| сп|аў |ыма|ары|кам|е ў|і к|кон",bul:" на|на | пр|то | и |рав|да | да|пра|ств|ва |а с|а п|во |но |ите|та |о и|ени| за|не | не|а н| вс|ван|аво|ото|е н|о н|а и|ки |ие |те |ни |има| им|ли |или|ия | по|ове|ане|чов|ма | чо|и ч|а д|ние|и д|ест| ил|ани|век|все| об|ек |еки|сек|ава|тво|сво| св|вот|а в|и с|ост| ра|ова|а о|е и|ват|и н|е п|к и|а б| в |и п|лно|о д| се|раз|ето|ъде|бъд| бъ|при|ата| ко| тр| ос| съ|бод|обо|воб|ат |за |тел| е |аци|о с|де |о п|ен |бра|и в| от|се |ния|алн| де|его|нег| из|от |ран|ята|как|оди|е с|и и|ден|пре|бва|ябв|ряб|тря|нит| ка|ява|про|ст |а з|гов|вен|тве|о о|а р|акв|о в|и з|ред|нос|ият|е д|щес|нов| ни|ция| до|йст|о т|е т|ржа|ърж|дър|ено|пол| с |обр|тва|нот|рес|ейс|и о|е в|кой|общ|лен|она|нац|иче|ез |без| бе|ежд|ува|вит|ри |зак|и к| ли|а е|под|ели|ник|си |е о|а т|авн|и р|т с|ка |оет|елн|нен|ой |гра|жен|дру| ре|а к|сно|осн|лич|зи | та|са |нст|вни|чки|ичк|сич|вси|люч|клю|дно| мо|еме|а у|изв|тви|дей|я н|кри|ато|о р|й н|ико|ичн|жав| дъ| то|бще|иал| со|лит|т н| си|т и|одн|жда|зов|азо|уча| гр|кое|тъп|стъ|вол|лни|сре| ср|ква|кон|тно|ака|и у|ко |ган|ода|чен|лст|елс|стр| къ|ста|род|нар|и м|нал|руг| др|чес|въз|ди | са| те|сто|дос|раж|рез|чре|гат|еоб|а м|о е|ине|аст|ово|чно|аве|му | му|ано|ита|ими|ако|нак|лаг|ови",kaz:"не | құ|ен |ұқы| ба| қа|құқ|ық |ға | жә|әне|жән| не| бо|де |дам|ада|а қ|тар|ына| ад|ылы| әр|ың |ан |ін |қыл|ар |еме|на |р а|лық|уға|ала|ықт| өз|мес|әр | жа|мен|ығы|лы | де|қта|ның|н қ|ған|іне|бас|ары| ме| қо|еке|ын |да |е қ|ды |асы|се |есе|ам |бол|анд|нем| бі|ара|ы б|ста|тан|нды|н б|ің |е б|ілі|тиі| ти|бар|ғы |нде|етт|иіс|қығ|іс |лар|ге |ы т|інд|ік |бір| бе| ке|алу|е а|алы|луы|а ж|ері|олы| те|қық|н к| та|н ж|ғын|тті|іні|тын| ер|нда|ім | са|е ж|аты| ар|рға|еті|ана|ы ә|уын|лға|өзі|ост|егі|тік|қа |сқа|рын|кін|луғ|ң қ|нің|уы |бос|асқ|қар|дық|нан|мыс|мны|амн|ы м|айд|ке | же|зін|рде|рін|е т|ген|ып |ры |ті |сын|қам|ден|і б|гіз|рал|е ө|лан|сы |ама|тта|тық|бер|ді |біл|ркі|өз |зде|кет|қор|дай|уге|ы е|ынд|нег|оны|ей |мет|аны|а т|жас|ауы|лге|аса|еге|дар|ру |ау |ерк|ы ж|рыл| то|н н|е н|тін|ір |сіз|тер|лма|і т|кім| ал|р м|лік| мү|е м|түр| тү|кел|лып|ең |тең|рлы|лім|рды|ард|атт|с б|ыры|сыз|ыс |елг|дал|йда|орғ|рқы|арқ| жү|тал|ылм|а б|ігі|лде|із |қты| еш|дей|ай |жағ|кті|ікт|гін| әл|тты|ұлт| ұл|е д|ыны|лін|р б|еле|кұқ| кұ|амд|м б| ет|оға|құр| кө|аға|тол|шін|айы| қы|қал|жек|і н|ес |ағы|е о|елі| ел|н е|зі |шкі|ешк|олу|ция|мас|ғда|ағд|лтт|імд|ным| да|а д|әсі|с ә|қат|ірі| со|ң б|аза|мда|айл| ас|ғам|қоғ"},Arabic:{arb:" ال|ية |في | في|الح| أو|أو | وا|وال|حق |ة ا|لحق|الت|كل |الم|لكل| لك|لى |ق ف|ته |و ا|ة و|شخص|ة ل|ات |الأ|ي أ|ون | شخ|م ا|أي | أي|ان |أن |مة |ي ا|الا|لا |ها |اء | أن| عل|خص |ن ا| لل|د ا|من |فرد|ما |الع|ت ا|حري|على|ل ف|رد |ل ش| لا|رية| إل|ة أ|ا ا|ن ي| ول|ا ل|ا ي| فر| من|ة م|الق|جتم|ن أ|ق ا|الإ| حر|له |ه ل|اية|لك |ه ا| دو|دة |اً |ين |ه و|لة |ي ح| عن|ماع|ي ت|ذا | حق|قوق|حقو|، و|ن ت|مع |ص ا|ام |د أ| كا|هذا|الو| إن|مل |امة|ع ا|إلى|ة ع|ماي|حما|ن و|لتع| وي|ير |نون|ي و|اسي|الج| هذ|نسا|وق |ترا|عية|ه أ| له|سية| يج| با|دول|انو|قان|لقا|ة ب|ة ت|تما|الد|يات|ع ب|سان|إنس|هم |علي| مت|لمج|ذلك|عمل|لأس|وز |جوز|يجو|بال|غير|ك ا|كان|ساس|أسا|دم |لاد|اعي|الر|تمي|دون|تمت|لتم| يع|ليه|ساو|اجت|ي م|لعا|لجم|تعل|ر و|تمع|مجت| مع|يه |ى أ|فيه|ى ا| كل|لات|ملا|ود |انت|الف|يها|ي إ|تي |الب|لي |قدم|ال |اد |ل ا|يز |ييز|ميي| تم|لحر|تع |متع|ا ب|عام|ا و|ق و|رام|ل ل|لاج|را |الش| وإ|يم |ليم|شتر|ا ح|واج|لزو|ول |ا ف|ولة|لحم|أسر| ذل|ه ف|اته|مسا|لمس| تع|عن |ه ع|وله|يته|ن ل|رة | وس|اة |يد | تح| مس|ي ي|لتي|عة |ولي|لدو| أس| وف|ل و|أية|ني |الس|لان|لإع|ة ف|ريا|ل إ|م ب|امل|كرا|تسا|ميع|جمي| جم|أول|بية|عيش|تحق|ادة|س ا| مم|معي|جما|عات|اعا|ارس|مار|مما|م و|راك|اشت|الط|اج |زوا|الز| وم|حدة|تحد|لمت|مم |لأم|ده |بلا| بل|ار |يار|تيا|ختي|اخت|ن م| مر",urd:"ور | او|اور|کے | کے| کی| کا|یں | حق|کی |کا | کو|ئے |ے ک|یا |سے |کو |شخص| شخ|نے | اس| ہے|میں|حق | ہو| می|خص |ے ا| جا|اس | سے| یا|ہر |ی ا| کر| ہر|ے۔ |سی |ہیں|ا ح|ص ک|وں |ے م| ان|ر ش|۔ ہ|ائے|زاد|آزا| آز|ام |ر ا|ق ہ|ادی|جائ|ں ک|ہے۔|م ک| کس|ا ج|ی ک|س ک|کسی| پر|ے گ|ہے |ار |ت ک|دی |پر |و ا| حا| جو| ہی|ان |ی ج|ری | نہ| مع|جو |ل ک|ی ت|ن ک|کرن|ئی |ل ہ|تی |ہو |ہ ا| ای|صل |اصل|حاص|رنے|ی ش|نہ |۔ ا|ں۔ |یں۔|ر ک|ر م| مل|وہ |معا|رے |ں ا|نہی|ے ہ|ے ب|ایس|ے ل| تع| گا|یت |ی ح|ا ا|ی م|اپن| اپ|کیا|می |ی س| جس|ہ ک|نی |اشر|عاش| دو|لئے| لئ|انہ|وق |قوق|حقو|مل | قا|کہ | گی|ر ب|ہ م| وہ| بن|ی ب|ملک|جس |ا۔ |ریق|ر ن|ے ج|اد |ات |گی |د ک|ے ح|دار|ر ہ|گا۔|قوم| قو|ے، |ا س|دوس|ر پ| و | شا|ی آ|ں م|ق ح| پو| با|خلا|انے|یم |لیم|و ت|ون | کہ|ی، |۔ ک|ا پ|ن ا|لک |علا|ا م|ق ک|ائی|وسر|ی ہ|وئی|یر |ا ہ|علی|و گ|وری|دگی|ندگ|و ک|یسے| من|ائد|رائ| مر|پور| طر|ومی|ے خ|سب |نون|انو|قان| سک|وام|ین | رک|تعل|لاق|غیر|دان|، ا| بی| مس|یوں|نا | بھ| بر|رتی|ادا|امل|یہ | یہ|ہ و| عا|ی پ| بچ|اف |لاف| خل|ی۔ |گی۔| دی|ھی |بھی|دہ |جا |پنی|قوا|اقو|رکھ|ے ی| عل|کوئ|، م| چا|ے س|ر ع| پی|برا|ر س|ر ح|سان|م ا|کام|شرت| را|شام|من |زند| زن|ب ک|ت م|اہ |اری|س م|ر ج| مح|ورا|ے پ|طری|ہوں|ال |ں س|ی ن|کرے| مق|ت س|تحف| تح|و۔ |ہو۔|بند| اق|د ہ| ام|امی|الا|لت |شرے|ے ع|ا ک|فری",pes:" و | حق| با|ند |رد |دار| دا|که |هر | در| که|در | هر|ر ک|حق |د ه|از |یت | از|یا |کس |ود |ارد| یا| کس|ای |د و| بر| خو|ق د|باش|شد |د ک|ار |د ب| را|ه ب|ان |آزا| آز|را |اشد|ی و|ه ا|ین |ید |زاد|س ح|خود|ی ب| اس|ده |دی |ور |اید|ه د|ری |و ا|تما|ات | نم|ی ک|ادی|نه |رای|د ا| آن|است|ر ا|ر م| اج|مای|ون |قوق|حقو|و م| ان|انه| هم|وق |ایت| شو|ی ا| مو| بی|با | تا|ورد|انو|ست |وان|برا|ام |شود|آن |جتم|ی ی| کن|ر ب|کند| مر|ت م|های|ت ا| مس|ی، |ماع|اجت|توا|یگر|و ب|دان|ت و|ا م| بد|عی |کار| من|مور| مق|ی د| زن|ی م|ن ب|ر خ|اه |ا ب|اری|د آ|مل | به|اعی|د، |دیگ|ت ب|بای|این| می|ن و|ق م| عم| کا|ن ا|و آ| حم|نون|ه و|و د|د ش| ای|شور|کشو| کش|لی |نی |ه م|بعی|ر ش|یه | مل|میت|ی ر|رند| شر|می |وی |ساو|قان| قا|مقا|او | او|د م|گی |نمی| اح| مح|مین|ئی |ادا| آم|خوا|گرد| گر|مند| شد|ائی| دی|ز ح|هیچ| هی|اده| مت|نما|ت ک|ران| بم|ن ح|ر ت|حما|ارن|مسا|دگی|ومی|ن ت|ملل|بر |هد |واه|بهر| اع|ها|ق و|، ا|عیت|یتو|ا ر|ن م| عق|همه|ا ه|زش |وزش|موز|آمو|انت|تی |جام|موم|عمو|تخا| فر|طور|د د|ه ح|ردا|اوی|نوا|انی|رار| مج|ی ن|حدی|احد|ندگ|زند|شخص| شخ|من|هم|ره|هره|شده|ع ا|و ه|اسی|هٔ |یده|عقی|ا ا|مه | بش|اد |دیه|ا د|دوا|ی ح|ابع|ی ت|خاب|نتخ|رور|و ر|شرا| خا|ٔمی|أم|تأ|اً |امل|له |د ر|اسا|خور|بل |ابل|قاب|یک |سان|قرا|ا ن|خصی| ام| بو|یر |الم|بین|اهد|تبع| تب",zlm:" دا|ان |دان| بر| او|ن س|رڠ |دال| ڤر|له |كن | كڤ|ن ا|ن ك|ن د|يڠ | يڠ|ڤد |حق |ورڠ|تيا|ياڤ|ارا|كڤد|اور|رحق|برح|اله|أن |ولي| ات|اتا|ڠن |تاو|اڤ |ستي|ليه|او | ست|ڤ ا|يه |را |ه ب|ه د|عدا| عد|ن ڤ|ن ب|ين | تر|ق ك|ن ي|يبس|بيب| تي| سو| كب| سا|ن م|ن ت|لم |الم|د س|ڠ ع| من|چار|د ڤ|رن |سام| ما|ڽ س|ن، | بو| اي|ندق| حق|ڬار|نڬا|بول|سبا| سب|اتو|ا س|قله| ڤم| مم|وان|سچا| سچ| كس|ا ب|سن | سم|ڤرل|اون|نڽ |تن | با|هن |سيا|ا ڤ|ارڠ|بار|ڤا |بسن|كبي|ام |يند|ي د|اڬي|ڠ ب|باڬ|ي ا|مان| لا| د |دقل|هند| هن|ت د|ادي|وين|يكن| نڬ|، ك|ن٢ | ڤو|بڠس|ق٢ |ات |اول|اكن|اڽ | سس|ون |اد | كو|اين|دڠن| دڠ|ائن|تو |تي |ن ه|ڬي |سي |ق م|وڠن|دوڠ|ندو|لين|رلي|نتو|ڤون|وات|ياد|تيك|ڠسا|ڤمب|ترم|٢ د|حق٢|وا |لوا|ماس|وق |ه م|ل د| مل|وند| ڤڠ|ا، |، ت|لائ|اي |مڤو|يك |ي ك|رات|مرا| بي|سمو|و ك|، د|سوا|ڠ م|ڠ س|ڠ٢ |ڤري|يري|دير|ا ا|اسا|ڤ٢ |تا |سوس|، س|جوا|ڠ ت|رأن| ان|سأن|ريك|يأن|ري | در|امر|كرج| ڤل|ا د|جرن|اجر|ارك|لاج|د ك|وار|برس|ونت|منو|سال|ينڠ|دڠ٢|ندڠ| مڠ|اڤا|سسي|ساس|نن |ڤول|اڬا| بڠ| سڤ|مبي| اڤ|ڠ ا|ارأ|ڤرا|ي س|بس | دل|ا م|موا|ڤلا|ملا|ڤرك|كور|وبو| كأ|وكن|أنڽ|كسا|ڠڬو|ادڤ|هاد|رها|تره|كوم|توق|م س|ڠ د|دي | دي|٢ س|ندي|اس |ادا|بوا| دب|ڠ ڤ|ڽ، |اڤ٢|رتا|ال |يال|وسي| كت|أن،|نڤا|تنڤ| تن|م ڤ|رسا|ممڤ| مر|ن ح| كم|نسي|جأن|ؤي |لؤي|الؤ|لال|كڤر|كت |ركت|شار|مشا| مش|جاد|رڬا",skr:"تے |اں |دی |دے | ۔ |وں | تے| دا| کو|کوں| حق|دا | دی|یاں| دے|یں |ے ا|شخص| شخ|ہر |ے ۔|اصل| حا|حق |خص | ہر|صل |حاص|ہے | ہے|ال |ق ح|ل ہ| نا| کی| وچ|۔ ہ|یا |سی |ے م| او|وچ |اتے|کیت|ا ح|ادی|نال|ص ک| ات|ر ش|ہیں| یا|ں د| ای|یسی| مل|وند|کہی| کہ|ی ت|زاد|ازا| از|ندے|ں ک|ار | وی|ے ک|ئے | ان|ڻ د|نہ | کر|اون|ے و|دیا|ی د|ں ا|ے ب|ویس|وڻ |ی ن| ہو|تی |ی ۔| نہ|ی ا|یند|و ڄ|آپڻ| آپ|ا و|ے ج| کن|ے ن|ندی|ت د|ے ح|ی ک|ئی |ملک|یتے|ن ۔|تھی| تھ|ون |ں م| بچ|۔ ا|نوں|کنو|ڻے |اری|ا ا|ے ہ|ل ت| ڄئ|وق |قوق|حقو|ل ک|خلا| جی|لک |دار|یت |کرڻ|انہ|کو |ہکو| ہک|ن ا|مل | وس|ں و|پڻے| تع|ی م|اف |ے خ|نون|قنو| قن| لو|۔ ک|ری |لے |تا |یتا| قو| چا|ہاں|ڄئے|ق ت|ایہ|رڻ |ے د|ر ک| و |لاف| خل| جو|ی و|او |ہو |ئو |چئو|بچئ|یر |ہوو|ا م|ی ج|الا|ین | جا|می |نہا|ان |ات |سڱد| سڱ|یب |سیب|وسی| شا|ب د|یوڻ|ام |اوڻ|ے ت|ڻ ک| مط|ں ت| ون| کم|ن د|رکھ| رک|ڻی |ں آ|ریا|ی ہ|اد |یاد|علا|ر ہ|ں س|ی ح|جھی|ائد|ہی |لوک| ڋو| سم| سا| من| مع|بق |ابق|طاب|مطا|ھیو|ں ف|ہن | ہن|جو |و ک|ں ش|ر ت|کار|م د|ھیا| ٻا|غیر|و ل|وئی|جیا|وام|قوا|ی س| جھ|ل ا|قوم| سی|ذہب|مذہ| مذ|اے | اے|دن |ا ت|سان|نسا|انس|رے |لیم|علی|تعل|امل|ہ د|ے ر|د ا|کم |یہو|فائ|چ ا| کھ|م ت|را |ورا|پور|ں ب|ق د|ے ق|وکو|کھی|ا ک|و د|ے ذ|پڻی|بند| فر|کوئ|امی|ی ی|ائی|لاق|ایں|ہ ا| نظ|سما|ومی|ی، |ے س|ت و|ھین|ے ع|یم |سہو| سہ",pbu:" د | او|او |په | په|ي۔ | حق|چې | چې|ره |ي ا|ې د| هر|نه |هر |حق | څو|وک |څوک|و ا|ه د|ه ا|۔ ه|ه و| شي| لر|ي چ|و د|ري |لري|ق ل| کښ|وي |ښې |کښې|ه ک|غه |لو |ر څ|سره| سر|ه پ| ټو|و پ|له |يت |ټول|يا |کړي| کو|خه |ي، |دي | له| از|د م| هي| وا| يا| څخ|ازا|د ا|ولو|ه ت|څخه| کړ|ول |هغه|ه ش|ي د| هغ|کول|زاد|نو | وي|و ي|ه ب|شي۔|دې |يو | دي|ته |خپل| پر|اد |د د|ک ح| تو|ه م|ګه |ه ه|قوق|حقو|و م|ه ح|د ه| تر| مس|شي | نه|ړي۔|ني |د پ|واد|ې پ|ادي|ولن| يو|د ت|ونو|وګه|ي و|لي | دا|يد | با|تون| خپ|ي پ|توګ|ار |اند|يوا|ې و|دان| بر|ړي | عم|انه| ده|يڅ |هيڅ|امي|لني|بعي|ډول| ډو|ه ل|ايد|باي|اتو|ه ګ| تا|پل | مل|ايت|وم |ون | لا|هيو| شو| دغ|م د|ده |ې ا|ان | ته|کار|تو |مي |اره|اوي|ساو|مسا|نون|دهغ|و ت|ي ش|انو| مح|ين |اخل| ګټ|شوي|دغه|و ح|وي،|نيز|سي |اسي|وند|قو |وقو|و ک|ونه|ومي| وک|ي ت| ان|قان|ندې|و ر|ک د|ه ي|مين|پر |ټه |لام|غو |هغو|د ټ|و ه|ل ت|لے |ولے|وون|کي |رو |ن ک|موم|وکړ|پار|ن ش|من | نو| وړ| قا|ې چ| وس|څ څ|شخص| شخ|ژون| ژو|تر |ګټه|و څ|هم |عقي|رته| ور|بل | بل|و ب|ه س|ښوو| ښو| کا|ې ک|و س|اده|ونک| غو|دو |و ن|ت ک|مل |عمو|ل ه| پي|وسي|ړان|وړا|يز |خصي|ي م|ا ب|ادا|ه ن|خلي|واخ|ديو|، د|د ق| هم|ا د| بي|تبع| تب|ه چ| عق|پلو|و ل| را|د ب|راي| دخ|نې |نکي|ت د|ابع| مق|د خ|وره|شرا| شر|ر م|رسر|تام|ه ټ| من|طه |سطه|اسط|واس|لې | اس|۔ د|برخ|ې ن"},Devanagari:{hin:"के |प्र| प्| का| के| । |और | और|का | को|कार|ार |ति |या |को |ने |ों |िका|्रत| है| कि|ं क|है |धिक|व्य|अधि| अध|्ति| सम|्यक|ि क|क्त|ा अ|की |ा क| व्|ें | हो|यक्|सी |से |े क| या| की|में|न्त| मे|त्य|ै ।|ता |रत्|क्ष|ेक |येक|्ये|िक |र ह|भी |किस| जा| स्|क व|ा ज|िसी|मान| वि|र स|त्र|ी स|। प| कर|्रा|गा |ित | अप| पर|स्व|ी क| से|ा स|्य | अन|्त्|िया|ा ह| सा|ना |्त |प्त|समा|ान |र क|ाप्|तन्| भी| उस|राप|वतन|्वत|रों|वार|े स|था |हो |े अ|ा ।|न क| न |देश| रा|षा |अन्|त ह|्षा|्वा|जाए|ी प|करन|ा प|अपन|ष्ट| सं|े व|होग|िवा|ट्र|्ट्|ाष्|राष|सके| मा|ओं |ाओं|री |क स|े प| नि|ीय |रक्|ो स|ाएग|रने| इस|व क|पर |रता|र अ| सभ|तथा| तथ| ऐस|रा |पने|्री|िक्|किय|ा व|माज|ं औ|र उ|द्ध|सभी|श्य| जि|ाने|ार्|ारा|द्व| द्|एगा|सम्|ेश |िए |ाव |र प| दे|्तर|ा औ|ारो|यों|परा|पूर|चित|्ध |रूप| रू| सु| लि|त क|ो प|ं स|े ल|शिक| शि|वाह|े औ|जो |राध|जिस|ूर्|ी भ|ूप |ोगा|स्थ|रीय|तिक|्र |। इ|इस | उन|ले |े म|लिए|म क|कता|े य| जो|न म|अपर| पू|ो क|ा उ|ाह |नून|ानू|गी |दी |ारी|ं म|। क|तर्|ी र|श क|परि|स्त|ोई |कोई|र्य|ी अ|हित|भाव| भा|ताओ|ास |साम|विक|विव|म्म| सक|कर |ाना|ध क|निक|य क|उसक|कृत| क़ा|न स|जीव|्या|रका|्रक|ाज |न्य|्म |र्ण|क़ ह|हक़ | हक़|ी म|जिक|ाजि|ामा|क औ|मिल|ेने|लेन| ले|ये |ो अ|े ज|रिव|मय |समय|वश्|आवश| आव|ऐसी|ाध |र द|र्व|सार|प स|बन्| सह|िधा|विध|ी न|ून |क़ान",mar:"्या|या |त्य|याच|चा |ण्य|ाचा| व |कार|प्र| प्|िका|धिक|ार | अध|अधि|च्य|आहे| आह|ा अ|हे |ा क|ास |वा |्ये|्रत| स्|ता |ा स| अस| कर|स्व| का|ल्य|रत्|ाहि|कोण| को|िक |येक|्वा|ा व| त्|र आ|्य |त्र|ेका|क्ष|ा न| सं|ामा|ाच्|ंवा|िंव|किं| कि|ात |ष्ट|कास| या|यां|ांच|र्य|मिळ| मि| सा|व्य|ोणत|ने |े प|काम| सम|ंत्|ये | रा|समा|तंत|करण|ा आ|े क|हि |े स|ना |िळण|ून |ा प|ट्र|्ट्|ाष्|राष|ीय |व स|क्त|मान|र्व| आप|ळण्|्र्|ातं|वात|चे | वि|्षण|रण्| दे| व्|आपल|ही |ार्|नये| नय|मा |यास| जा|लेल| नि|े अ| पा|ा म|ले |ाही|बंध|े व|्यक| मा|शिक| शि|देश|ा द|माज|्री|ली |ान |ांन|पल्| हो|ा ह|षण |जे |िजे|हिज|पाह|ारा|यात|सर्| सर|रां|असल|ंबं|संब|िक्|ी प|ंच्|रक्|णत्| आण|ला |स्थ|रीय|ीत |ंना|त व|्व |क व|णे |ाचे|न क|त क|रता|्रा|याह|्त |ची |य क|द्ध|्वत|यक्|णि |आणि|स स|ंधा|क स|च्छ|य अ|त स|ीने|ोणा|करत|त्व|ील |ी अ|सार|र व|भाव|व त|थवा|अथव| अथ|े त|े ज|याय|ंचा|ेल्|ाने|ेण्|क आ|क्क|हक्| हक|ण म|ंरक|संर|न्य|ायद|ा त|त आ| उप|वस्|िवा|ेशा|साम|े य|े आ|ी व|व म|तीन|व आ|ध्य| अश|धात|कृत|्क |द्य|ित |सले|ेश |तो |ेल |ती |्ती|असे|इतर| इत|स्त|र्ण|ा ब|ेले| के|हीर|जाह|ा ज|ेत |ूर्|पूर|ेच | वा|ाजा|ी स|शा |य व| न्|याव|द्द|्ध |रून|यद्|काय|ा श|गण्|क क|राध| शा|यत्|ल अ|्यव|ी क|ाव |ा य|त्त|जिक|ाजि|रणा| धर|ा ध|भेद| बा|रका|्रक|केल|ि व|िष्|तील|योग|साध|ांत|विव|श्र| धे| मु|वतः",mai:"ाक |प्र|कार| प्|ार |िका|्यक|धिक|क अ|्रत|्ति|व्य| अध|ेँ |अधि|िक | व्|आʼ | आʼ|क्त|यक्|तिक|केँ|क व|बाक|क स|छैक| छै|त्य|मे |ेक | सम|क्ष|हि |रत्|र छ|येक|्ये|न्त|वा |िके|क। |ैक।|। प| अप| स्| वि| जा|ित |सँ | हो|कोन| को|त्र|स्व| वा|क आ|ष्ट| कर|अपन|मान| का| अन|ति |्त्|नो |नहि| पर|ट्र|्य | एह|ि क|्ट्|ाष्|राष| रा|समा|ोनो|ल ज| नह|ताक|ार्|पन |तन्|वतन|्वत|्षा| कए| सा|्री| नि|ा आ|िवा| सं| दे|जाए|ीय |करब|था |एबा|ा प|ना |्वा|देश|त। |रक |क ह|ँ अ| सभ| आ |त क|चित|्त |वार|ता |ारक|माज|ा स|रीय|न्य|रता|ान |्रा|्या|रक्|ारण|परि|एल |कएल|अन्|रबा|क प|ओर |आओर| आओ|अछि| अछ|िर्|ान्|नक |होए|कर |धार|स्थ|ा अ|िमे|र आ|एहि| एक|े स|तथा| तथ| मा|िक्|शिक| शि|प्त|र्व|निर|च्छ|र्य|ँ स|क क|हो |ाहि|एत।|र प|ामा|साम|षा |ʼ स|ँ ए|ैक |द्ध|र अ|क ज|स्त|ाप्|ँ क| सक|यक |कान|हन |एहन|ेल |ोएत|त आ|ा व|। क|्तर|ाएत|्रक|हु |क उ|पूर|विव|ʼ अ|छि | ले|न प|ास |राप|धक |पएब| पए|रा |यता|रूप|न व| के|षाक|य प|त ह|जाह| ओ |भाव|पर |थवा|अथव| अथ|सम्|जिक|ाजि|ूर्|रति| दो|सभक|। स| जन|सभ |बाध|अनु|िसँ| सह|ँ व|ए स|रिव|तु |ेतु|हेत| हे|ाध |ेबा|न स|िष्|राध| अव|ित्|वास|चार| उच|ारा|न क|वक |ा क|नून|ानू|एत |री |ेओ |केओ|रण |्रस|ि द|ओ व| भे|नहु|ोनह|्थि|पत्|म्प|राज| भा|हिम| हक|ामे|्ण |र्ण|हार|ि स|क द|न अ|त अ|लेब| अभ|िश्|जक |ाजक|न आ|वाह|काज|श्य|वस्|ओहि| ओह|योग|। ए|कए |े ओ|अपर",bho:" के|के |े क|ार |कार|िका|धिक|अधि| अध|ओर |आओर| आओ|े अ|े स|ा क| सं|िक |र ह|ा स| हो|र स|ें |में| मे| कर| से|नो |क्ष|से | का|। स|खे |ा। |रा | सम| सब|्रा| सक|र क|न क|वे |ौनो|कौन| कौ|चाह| चा| बा|प्र| प्|था |ि क|ति | जा| सा|े आ|पन |करे|ता |होख|त क|े। |े ब|तथा| तथ| आप|केल|सके| स्|रे |सबह|कर |आपन|े ओ|जा | पर|ष्ट| रा|ना |हवे| हव|ला |ेला|बहि| ओक|ोखे|र ब|ह। | ह।|न स|ाष्|राष|्त | और|े च|। क|संग|र आ|ट्र|्ट्|षा |मान|ा आ|ं क|ा प|्षा|रक्|हे |ाहे|ाति|ावे| जे|ही |ओकर|मिल|ित |ो स|ल ज|इखे|नइख| नइ|त्र|माज| बि|वे।|े ज|क स|िं |हिं|करा|और |े म|समा|हु | ओ |पर |े न|स्थ|रीय|्री|ला।|ाज |ान |कान|े त|िर |तिर|खात| खा|े उ|नून|ानू|ाम | सु| दे|ी क| मा|र म|प्त|िया|ाही|बा।|योग|ी स|ल ह|ून |व्य|ु क|ए क|े व|ंत्|स्व|केह|ीय |खल |साम|यता|तिक|े ह|ाप्|राप|र प|र अ| लो| सह|जे |ोग |म क|ले | नि|ेकर|ा ह|पूर|र न|ेहु|्य |या | या|देश|दी |ा म|ाव | दो|े द| पा|हि |िक्|शिक| शि|बा |िल | उप|्रत| वि| ही| ले|रो |े ख|ठन |गठन|ंगठ| मि|षण |्षण|ंरक|संर| आद| एक|ने | अप|तंत|वतं|्वत|्तर|्या|ेश |ादी|्ति|जिक|ाजि|क आ|्म |चार| उच| शा|री |ाह |याह|बिय|चित|क्त|पयो|उपय|रता|र व|न म|लोग|ह क|न प|काम| पू| इ |आदि|ईल | कई| व्|मी |ुरक|सुर| जी|धार|य स|तर्|भे |सभे| सभ|भाव|्थि|ामा|सर |र्म| को| बे|ोसर|दोस|ण क|ास |े प|जाद|आजा| आज|उचि|ग क|ारी| जर|गे |ज क|ी ब|सन |हो |ा त",npi:"को |ने | र |ार |क्त|कार|प्र| प्|्यक|व्य| गर|िका| व्|्रत|धिक|्ति|यक्|अधि| अध|ाई |मा |लाई|त्य|िक | । | सम|वा | वा|क व|्ने|र्न|गर्|न्त|छ ।|तिल|रत्|त्र|ेक |येक|्ये|िला|र स|ो स| स्|मान|क्ष| वि|हुन|ा स| हु| छ |र छ|्त्|समा|स्व|। प| सं|नेछ|ुने|हरु|तन्|वतन|े अ|िने|ो अ|्वत| का|े छ|गरि| रा|्र |ति |ाको| कु|ष्ट|ना |स्त|क स|ुनै|कुन|ट्र|ले | नि|ान |छैन| छै|्ट्|ाष्|राष|तिक|छ। |ार्|ता |ित |नै |ा अ| सा|ा व|रु | मा| अन|ा र|रता|र र|हरू|ेछ |ा प|रक्|्त | पर|था | ला|परि|देश|सको| यस|माज|ामा|्रा|िवा|ाहर|ो प|्य |वार|न स|। क|नि |्षा| त्|द्ध|र ह|तथा| तथ|यस्|्यस|री |र व|पनि|रिन|ंरक|संर|भाव|ै व|सबै| सब| शि| सह|ताक|े र|त र|लाग| सु|्षण|द्द| अप|ैन |ो व|िक्|ाव |धार|्या|्रि|ा भ|एको|र म|न अ|ो ल| उस|शिक|ात्|स्थ|वाह|ूर्|श्य|ित्|रको|ारक|ुद्|तो |्तो|ाउन|कान|िएक|ा न| पन|न। |ैन।|का |ेछ।| भे|र्य|सम्|त्प|साम|रिय|चार|निज|ुन |गि |ागि|उसक| मत| अभ|पूर|र त| सक|सार|राध|परा|अपर|ुक्|जको| उप|रा |ारा|्वा|विध|्न |ा त|न ग|णको| पा| दि|क र|र प|अन्|भेद|ारम|ो आ| अर|जिक|ाजि|िय |षा |ाट |बाट| बा|ि र| छ।|त्व|त स|रू |छ र|रका|विक|र उ|ोग |्दे|रिव|सकि|ै प|रति|अनु| आव|युक|ा ग|नमा|योग|ग ग|क अ|द्व|्ध |रुद| बि|। स|उने|ान्|ा म|िको|र्द|ारी|्तर|ो ह|हित| दे|रिक|ा क| आध|राज|र्म|्ण |र्ण|ि व|्यव|विच|बै |सहि|रोज|र्स|ई उ|्प |रात|निक|मिक|च्छ|्था|विव|कता|अभि|्धा",mag:" के|के |ार | हई|कार|ई। |हई।|िका|े अ|धिक|अधि| अध|र ह|े क|और | और|ा क|े स|सब | सब| कर|ें |था |में| मे|तथा| तथ|िक | हो| सम|क्ष|ना |ब क|र स| सं|ा स|कर | भी|। स| सा| से| का| अप|्रा|प्र| प्|से |भी | को|त क| पर|रा |क ह|पन |अपन| सक|या |ति |र क|ी क| या|करे| जा|रे | ओक|्त |सक |नो |ान |मान|ओकर|ा प|न क|ेल | ना|। क|रक्| स्|ही |होए| एक|पर |दी |ट्र|ता |व्य|हई | शा|े उ| दे|त्र|ादी| रा| ही|कान|ित |म क|ल ज|ाम |ी स|े भ|न स|माज|ष्ट|षा | ले|क स|बे |वे |ावे|मिल|र म|्य |ा ह|ला |प्त|नून|ानू|जा |ेकर|्षा|्रत|ंत्|र औ|ोई |कोई|्ट्|ाष्|राष| मा|रो | जे|करा|ोए |ाप्|राप|समा|ून |ो स|स्व|्ति|साम|ोनो|कोन| व्|र अ|्म | वि| सह|े म|क्त|योग|र व|काम|ल ह| नि|देश|पूर|वार| इ |ंरक|संर|ए क|र प| सु|तंत|वतं|्वत|ा म|व क|े व|ाथ |साथ| दो|होब| पा|ो क|े ब|ोग | उप|स्त|परि|न प|े त|्तर|लेल|े ओ|चाह| चा|य क|वा |ेश |य स|न ह|षण |ा ब|। त|एक |एल |ीय |केक|े ह|र आ|ि क|स्थ|जिक|ाजि|ामा|रीय|्री|तिक|ाति| बि|चार|े आ|ास | उच|ा त|यक्|्यक|िल |मय |समय|शाद|पयो|उपय|े ख|रिव| पू|े ल|े च|ौनो|कौन| कौ|ं क|संग|न द|ं स|ण प|्षण|र न|े न|ो भ|करो|ा औ|रता|ाव |भाव|क औ|र्म|ोसर|दोस|ण क|े प|न औ|ब ह|िक्|शिक| शि|ाबे|निय|चित|उचि|ित्|ग क|े। |त स|ी श|ं श|एकर|। ए|तन | ओ |री |्र |जे |क क| सी|सन |िवा| अन|ूरा| बच|ए। | बे|त ह| तक| मि|धार|थवा|अथव| अथ|िला|्वा|ि म| आद|ने |कएल| कए|्या"}},MAX_LENGTH=2048,MIN_LENGTH=10,MAX_DIFFERENCE=300,own={}.hasOwnProperty;let script;const numericData={};for(script in data)if(own.call(data,script)){const languages=data[script];let name;numericData[script]={};for(name in languages)if(own.call(languages,name)){const model=languages[name].split("|"),trigrams2={};let weight=model.length;for(;weight--;)trigrams2[model[weight]]=weight;numericData[script][name]=trigrams2}}function franc(value,options){return francAll(value,options)[0][0]}__name(franc,"franc");function francAll(value,options={}){const only=[...options.whitelist||[],...options.only||[]],ignore=[...options.blacklist||[],...options.ignore||[]],minLength=options.minLength!==null&&options.minLength!==void 0?options.minLength:MIN_LENGTH;if(!value||value.length<minLength)return und();value=value.slice(0,MAX_LENGTH);const script2=getTopScript(value,expressions);return!script2[0]||!(script2[0]in numericData)?!script2[0]||script2[1]===0||!allow(script2[0],only,ignore)?und():singleLanguageTuples(script2[0]):normalize(value,getDistances(asTuples(value),numericData[script2[0]],only,ignore))}__name(francAll,"francAll");function normalize(value,distances){const min2=distances[0][1],max2=value.length*MAX_DIFFERENCE-min2;let index2=-1;for(;++index2<distances.length;)distances[index2][1]=1-(distances[index2][1]-min2)/max2||0;return distances}__name(normalize,"normalize");function getTopScript(value,scripts){let topCount=-1,topScript,script2;for(script2 in scripts)if(own.call(scripts,script2)){const count=getOccurrence(value,scripts[script2]);count>topCount&&(topCount=count,topScript=script2)}return[topScript,topCount]}__name(getTopScript,"getTopScript");function getOccurrence(value,expression){const count=value.match(expression);return(count?count.length:0)/value.length||0}__name(getOccurrence,"getOccurrence");function getDistances(trigrams2,languages,only,ignore){languages=filterLanguages(languages,only,ignore);const distances=[];let language;if(languages)for(language in languages)own.call(languages,language)&&distances.push([language,getDistance(trigrams2,languages[language])]);return distances.length===0?und():distances.sort(sort)}__name(getDistances,"getDistances");function getDistance(trigrams2,model){let distance=0,index2=-1;for(;++index2<trigrams2.length;){const trigram2=trigrams2[index2];let difference=MAX_DIFFERENCE;trigram2[0]in model&&(difference=trigram2[1]-model[trigram2[0]]-1,difference<0&&(difference=-difference)),distance+=difference}return distance}__name(getDistance,"getDistance");function filterLanguages(languages,only,ignore){if(only.length===0&&ignore.length===0)return languages;const filteredLanguages={};let language;for(language in languages)allow(language,only,ignore)&&(filteredLanguages[language]=languages[language]);return filteredLanguages}__name(filterLanguages,"filterLanguages");function allow(language,only,ignore){return only.length===0&&ignore.length===0?!0:(only.length===0||only.includes(language))&&!ignore.includes(language)}__name(allow,"allow");function und(){return singleLanguageTuples("und")}__name(und,"und");function singleLanguageTuples(language){return[[language,1]]}__name(singleLanguageTuples,"singleLanguageTuples");function sort(a,b){return a[1]-b[1]}__name(sort,"sort");const LANG_MAP_TO_HYPHEN_LANG={spa:Lang.Es,eng:Lang.EnUs,rus:Lang.Ru,ben:Lang.Bn,hin:Lang.Hi,por:Lang.Pt,ind:Lang.Id,fra:Lang.Fr,deu:Lang.De1901,tel:Lang.Te,mar:Lang.Mr,ita:Lang.It,tam:Lang.Ta,tur:Lang.Tr,guj:Lang.Gu,pol:Lang.Pl,ukr:Lang.Uk,kan:Lang.Kn,mal:Lang.Ml,ron:Lang.Ro,pan:Lang.Pa,hrv:Lang.Hr,nld:Lang.Nl,srp:Lang.SrCyrl,tha:Lang.Th,uzn:Lang.Kmr,zlm:Lang.Ml,hun:Lang.Hu,ell:Lang.ElMonoton,ces:Lang.Cs,bel:Lang.Be,bul:Lang.Bg,swe:Lang.Sv,und:Lang.UNKNOWN},_LanguageDetector=class _LanguageDetector{constructor(){__publicField(this,"_detectCache",new Map)}static getInstance(){return this._instance==null&&(this._instance=new _LanguageDetector),this._instance}detect(text){var _a10;let lang=this._detectCache.get(text);if(lang)return lang;const francLang=franc(text);return lang=(_a10=LANG_MAP_TO_HYPHEN_LANG[francLang])!=null?_a10:Lang.UNKNOWN,this._detectCache.set(text,lang),lang}dispose(){this._detectCache.clear()}};__name(_LanguageDetector,"LanguageDetector"),__publicField(_LanguageDetector,"_instance",null);let LanguageDetector=_LanguageDetector;function removeDupPages(ctx){const hash=new Set;ctx.skeleton.pages=ctx.skeleton.pages.filter(page=>{const hasPage=hash.has(page);return hash.add(page),!hasPage})}__name(removeDupPages,"removeDupPages");function getPagePath(page){const path=[];let skeNode=page,parent=skeNode.parent;for(;parent;){if(parent.pages){const index2=parent.pages.indexOf(skeNode);index2!==-1&&path.unshift("pages",index2)}else if(parent.cells){const index2=parent.cells.indexOf(skeNode);index2!==-1&&path.unshift("cells",index2)}else if(parent.rows){const index2=parent.rows.indexOf(skeNode);index2!==-1&&path.unshift("rows",index2)}else parent.skeTables&&parent.skeTables.has(skeNode.tableId)&&path.unshift("skeTables",skeNode.tableId);skeNode=parent,parent=parent==null?void 0:parent.parent}return path}__name(getPagePath,"getPagePath");const _DocumentSkeleton=class _DocumentSkeleton extends exports.Skeleton{constructor(_docViewModel,localeService){super(localeService);__publicField(this,"_dirty$",new rxjs.Subject);__publicField(this,"dirty$",this._dirty$.asObservable());__publicField(this,"_skeletonData");__publicField(this,"_findLiquid",new Liquid);__publicField(this,"_hyphen",Hyphen.getInstance());__publicField(this,"_languageDetector",LanguageDetector.getInstance());__publicField(this,"_iteratorCount",0);this._docViewModel=_docViewModel}static create(docViewModel,localeService){return new _DocumentSkeleton(docViewModel,localeService)}dispose(){super.dispose(),this._skeletonData=null,this._findLiquid=null,this._docViewModel.dispose()}getViewModel(){return this._docViewModel}calculate(bounds){if(!this.dirty)return;const ctx=this._prepareLayoutContext();this._skeletonData=this._createSkeleton(ctx,bounds),this._dirty$.next(!0)}getSkeletonData(){return this._skeletonData}getActualSize(){const skeletonData=this.getSkeletonData();let actualWidth=Number.NEGATIVE_INFINITY,actualHeight=0;return skeletonData==null||skeletonData.pages.forEach(page=>{const{width,height}=page;actualWidth=Math.max(actualWidth,width),actualHeight+=height}),{actualWidth,actualHeight}}_getPageActualWidth(page){let maxWidth=Number.NEGATIVE_INFINITY;for(const section of page.sections)for(const column of section.columns)for(const line2 of column.lines){let lineWidth=0;for(const divide of line2.divides)for(const glyph of divide.glyphGroup)lineWidth+=glyph.width;maxWidth=Math.max(maxWidth,lineWidth)}return maxWidth}getPageSize(){return this.getViewModel().getDataModel().documentStyle.pageSize}findPositionByGlyph(glyph,segmentPage){const divide=glyph.parent,line2=divide==null?void 0:divide.parent,column=line2==null?void 0:line2.parent,section=column==null?void 0:column.parent,page=section==null?void 0:section.parent,skeletonData=this.getSkeletonData();if(!divide||!column||!section||!page||!skeletonData)return;const pageType=page.type,glyphIndex=divide.glyphGroup.indexOf(glyph),divideIndex=line2.divides.indexOf(divide),lineIndex=column.lines.indexOf(line2),columnIndex=section.columns.indexOf(column),sectionIndex=page.sections.indexOf(section);let pageIndex=-1;const path=getPagePath(page);switch(pageType){case DocumentSkeletonPageType.HEADER:case DocumentSkeletonPageType.FOOTER:{pageIndex=0;break}case DocumentSkeletonPageType.BODY:{pageIndex=skeletonData.pages.indexOf(page);break}case DocumentSkeletonPageType.CELL:{pageIndex=path[1];break}default:throw new Error("Invalid page type")}return{glyph:glyphIndex,divide:divideIndex,line:lineIndex,column:columnIndex,section:sectionIndex,page:pageIndex,segmentPage,pageType,path}}findCharIndexByPosition(position){const glyph=this.findGlyphByPosition(position),divide=glyph==null?void 0:glyph.parent;if(divide==null)return;const{st,glyphGroup}=divide;let index2=st;for(const g of glyphGroup){if(g===glyph)break;index2+=g.count}return position.isBack?index2:index2+glyph.count}findNodePositionByCharIndex(charIndex,isBack=!0,segmentId="",segmentPIndex=-1){const nodes=this._findNodeByIndex(charIndex,segmentId,segmentPIndex);if(nodes==null)return;const skeletonData=this.getSkeletonData();if(!skeletonData)return;const pages=skeletonData.pages,{glyph,divide,line:line2,column,section,page,segmentPageIndex,pageType}=nodes,path=getPagePath(page);let pageIndex=-1;switch(pageType){case DocumentSkeletonPageType.HEADER:case DocumentSkeletonPageType.FOOTER:{pageIndex=0;break}case DocumentSkeletonPageType.BODY:{pageIndex=pages.indexOf(page);break}case DocumentSkeletonPageType.CELL:{pageIndex=path[1];break}default:throw new Error("Invalid page type")}return{glyph:divide.glyphGroup.indexOf(glyph),divide:line2.divides.indexOf(divide),line:column.lines.indexOf(line2),column:section.columns.indexOf(column),section:page.sections.indexOf(section),page:pageIndex,pageType,segmentPage:segmentPageIndex,isBack,path}}findNodeByCharIndex(charIndex,segmentId="",segmentPageIndex=-1){const nodes=this._findNodeByIndex(charIndex,segmentId,segmentPageIndex);return nodes==null?void 0:nodes.glyph}findGlyphByPosition(position){var _a10,_b;if(position==null)return;const skeletonData=this.getSkeletonData();if(skeletonData==null)return;const{pages,skeFooters,skeHeaders}=skeletonData,{divide,line:line2,column,section,segmentPage,pageType,path,isBack}=position;let{glyph}=position,skePage=null;if(pageType===DocumentSkeletonPageType.HEADER||pageType===DocumentSkeletonPageType.FOOTER){skePage=pages[segmentPage];const{headerId,footerId,pageWidth}=skePage;if(pageType===DocumentSkeletonPageType.HEADER){const skeHeader=(_a10=skeHeaders.get(headerId))==null?void 0:_a10.get(pageWidth);if(skeHeader==null)return;skePage=skeHeader}else if(pageType===DocumentSkeletonPageType.FOOTER){const skeFooter=(_b=skeFooters.get(footerId))==null?void 0:_b.get(pageWidth);if(skeFooter==null)return;skePage=skeFooter}}else skePage=getPageFromPath(skeletonData,path);if(skePage==null)return;const glyphGroup=skePage.sections[section].columns[column].lines[line2].divides[divide].glyphGroup;return glyph=Math.min(glyph,glyphGroup.length-1),glyphGroup[glyph].glyphType===GlyphType.LIST&&(glyph+=1),glyphGroup[glyph]}findEditAreaByCoord(coord,pageLayoutType,pageMarginLeft,pageMarginTop){const{x,y}=coord;let editArea=DocumentEditArea.BODY,pageNumber=-1,pageSkeleton=null;const skeletonData=this.getSkeletonData();if(skeletonData==null)return{editArea,page:pageSkeleton,pageNumber};this._findLiquid.reset();const{pages}=skeletonData;for(let i=0,len=pages.length;i<len;i++){const page=pages[i],{marginTop,marginBottom,pageWidth,pageHeight}=page;if(x>this._findLiquid.x&&x<this._findLiquid.x+pageWidth&&y>this._findLiquid.y&&y<this._findLiquid.y+marginTop){editArea=DocumentEditArea.HEADER,pageSkeleton=page,pageNumber=i;break}if(x>this._findLiquid.x&&x<this._findLiquid.x+pageWidth&&y>this._findLiquid.y+marginTop&&y<this._findLiquid.y+pageHeight-marginBottom){editArea=DocumentEditArea.BODY,pageSkeleton=page,pageNumber=i;break}if(x>this._findLiquid.x&&x<this._findLiquid.x+pageWidth&&y>this._findLiquid.y+pageHeight-marginBottom&&y<this._findLiquid.y+pageHeight){editArea=DocumentEditArea.FOOTER,pageSkeleton=page,pageNumber=i;break}this._translatePage(page,pageLayoutType,pageMarginLeft,pageMarginTop)}return{editArea,page:pageSkeleton,pageNumber}}findNodeByCoord(coord,pageLayoutType,pageMarginLeft,pageMarginTop,restrictions){var _a10,_b,_c,_d,_e,_f;const{x,y}=coord,skeletonData=this.getSkeletonData();if(skeletonData==null)return;const cache={nearestNodeList:[],nearestNodeDistanceList:[]},{pages,skeHeaders,skeFooters}=skeletonData,editArea=this.findEditAreaByCoord(coord,pageLayoutType,pageMarginLeft,pageMarginTop).editArea,pageLength=pages.length;if(this._findLiquid.reset(),restrictions==null)for(let pi=0;pi<pageLength;pi++){const page=pages[pi],{headerId,footerId,pageWidth}=page;let exactMatch=null;if(editArea===DocumentEditArea.HEADER||editArea===DocumentEditArea.FOOTER){const headerSke=(_a10=skeHeaders.get(headerId))==null?void 0:_a10.get(pageWidth);headerSke&&(exactMatch=this._collectNearestNode(headerSke,DocumentSkeletonPageType.HEADER,page,headerId,pi,cache,x,y,pageLength));const footerSke=(_b=skeFooters.get(footerId))==null?void 0:_b.get(pageWidth);footerSke&&(exactMatch=exactMatch!=null?exactMatch:this._collectNearestNode(footerSke,DocumentSkeletonPageType.FOOTER,page,footerId,pi,cache,x,y,pageLength))}else exactMatch=this._collectNearestNode(page,DocumentSkeletonPageType.BODY,page,"",pi,cache,x,y,pageLength);if(exactMatch)return exactMatch;this._translatePage(page,pageLayoutType,pageMarginLeft,pageMarginTop)}else{const{segmentId,segmentPage,strict}=restrictions;let exactMatch=null;if(strict===!1)for(let pi=0;pi<pageLength;pi++){const page=pages[pi],{headerId,footerId,pageWidth}=page;if(segmentId!==""){const headerSke=(_c=skeHeaders.get(headerId))==null?void 0:_c.get(pageWidth);headerSke&&(exactMatch=this._collectNearestNode(headerSke,DocumentSkeletonPageType.HEADER,page,headerId,pi,cache,x,y,pageLength));const footerSke=(_d=skeFooters.get(footerId))==null?void 0:_d.get(pageWidth);footerSke&&(exactMatch=exactMatch!=null?exactMatch:this._collectNearestNode(footerSke,DocumentSkeletonPageType.FOOTER,page,footerId,pi,cache,x,y,pageLength))}else exactMatch=this._collectNearestNode(page,DocumentSkeletonPageType.BODY,page,"",pi,cache,x,y,pageLength);if(exactMatch)return exactMatch;this._translatePage(page,pageLayoutType,pageMarginLeft,pageMarginTop)}else for(let pi=0;pi<pageLength;pi++){const page=pages[pi];if(segmentId){if(segmentPage!==pi){this._translatePage(page,pageLayoutType,pageMarginLeft,pageMarginTop);continue}const{headerId,pageWidth}=page,segmentSke=segmentId===headerId?(_e=skeHeaders.get(segmentId))==null?void 0:_e.get(pageWidth):(_f=skeFooters.get(segmentId))==null?void 0:_f.get(pageWidth);segmentSke&&(exactMatch=this._collectNearestNode(segmentSke,segmentId===headerId?DocumentSkeletonPageType.HEADER:DocumentSkeletonPageType.FOOTER,page,segmentId,segmentPage,cache,x,y,pageLength))}else exactMatch=this._collectNearestNode(page,DocumentSkeletonPageType.BODY,page,"",pi,cache,x,y,pageLength);if(exactMatch)return exactMatch;this._translatePage(page,pageLayoutType,pageMarginLeft,pageMarginTop)}}return this._getNearestNode(cache.nearestNodeList,cache.nearestNodeDistanceList)}_collectNearestNode(segmentPage,pageType,page,segmentId,pi,cache,x,y,pageLength,nestLevel=0){var _a10,_b,_c,_d,_e,_f,_g,_h,_i;const{sections,skeTables}=segmentPage;this._findLiquid.translateSave();const pageLeft=this._findLiquid.x,pageRight=pageLeft+page.pageWidth,pageTop=this._findLiquid.y+(pageType===DocumentSkeletonPageType.FOOTER?page.pageHeight-segmentPage.pageHeight:0),pageBottom=pageTop+segmentPage.pageHeight;let pointInPage=x>=pageLeft&&x<=pageRight&&y>=pageTop&&y<=pageBottom;if(nestLevel===0&&pageType===DocumentSkeletonPageType.BODY){const isFirstPage=pi===0,isLastPage=pi===pageLength-1,halfMarginTop=page.originMarginTop/2;isFirstPage&&isLastPage?pointInPage=!0:isFirstPage?pointInPage=y<=pageBottom+halfMarginTop:isLastPage?pointInPage=y>=pageTop-halfMarginTop:pointInPage=y>=pageTop-halfMarginTop&&y<=pageBottom+halfMarginTop}switch(pageType){case DocumentSkeletonPageType.HEADER:{this._findLiquid.translatePagePadding({...segmentPage,marginLeft:page.marginLeft});break}case DocumentSkeletonPageType.FOOTER:{const footerTop=page.pageHeight-segmentPage.height-segmentPage.marginBottom;this._findLiquid.translate(page.marginLeft,footerTop);break}default:{this._findLiquid.translatePagePadding(page);break}}if(pointInPage){let nearestNodeDistanceY=Number.POSITIVE_INFINITY;for(const section of sections){const{columns}=section;this._findLiquid.translateSave(),this._findLiquid.translateSection(section);for(const column of columns){const{lines}=column;this._findLiquid.translateSave(),this._findLiquid.translateColumn(column);for(let i=0;i<lines.length;i++){const line2=lines[i],{divides,type,lineHeight=0}=line2;if(type!==LineType.BLOCK){this._findLiquid.translateSave(),this._findLiquid.translateLine(line2);const{y:startY}=this._findLiquid,startY_fin=startY,endY_fin=startY+lineHeight,distanceY=Math.abs(y-endY_fin),divideLength=divides.length;for(let i2=0;i2<divideLength;i2++){const divide=divides[i2],{glyphGroup}=divide;this._findLiquid.translateSave(),this._findLiquid.translateDivide(divide);const{x:startX}=this._findLiquid;for(const glyph of glyphGroup){if(!glyph.content||glyph.content.length===0)continue;const{width:glyphWidth,left:glyphLeft}=glyph,startX_fin=startX+glyphLeft,endX_fin=startX+glyphLeft+glyphWidth,distanceX=Math.abs(x-endX_fin);if(y>=startY_fin&&y<=endY_fin){if(x>=startX_fin&&x<=endX_fin)return{node:glyph,segmentPage:pageType===DocumentSkeletonPageType.BODY?-1:pi,segmentId,ratioX:x/(startX_fin+endX_fin),ratioY:y/(startY_fin+endY_fin)};nearestNodeDistanceY!==Number.NEGATIVE_INFINITY&&(cache.nearestNodeList=[],cache.nearestNodeDistanceList=[]),cache.nearestNodeList.push({node:glyph,segmentPage:pageType===DocumentSkeletonPageType.BODY?-1:pi,segmentId,ratioX:x/(startX_fin+endX_fin),ratioY:y/(startY_fin+endY_fin)}),cache.nearestNodeDistanceList.push({coordInPage:pointInPage,distance:distanceX,nestLevel}),nearestNodeDistanceY=Number.NEGATIVE_INFINITY;continue}distanceY<nearestNodeDistanceY&&(nearestNodeDistanceY=distanceY,cache.nearestNodeList=[],cache.nearestNodeDistanceList=[]),distanceY===nearestNodeDistanceY&&(cache.nearestNodeList.push({node:glyph,segmentPage:pageType===DocumentSkeletonPageType.BODY?-1:pi,segmentId,ratioX:x/(startX_fin+endX_fin),ratioY:y/(startY_fin+endY_fin)}),cache.nearestNodeDistanceList.push({coordInPage:pointInPage,distance:distanceX,nestLevel}))}this._findLiquid.translateRestore()}this._findLiquid.translateRestore()}}this._findLiquid.translateRestore()}this._findLiquid.translateRestore()}}let exactMatch=null;if(skeTables.size>0)for(const table2 of skeTables.values()){const{top:tableTop,left:tableLeft,rows}=table2;(_a10=this._findLiquid)==null||_a10.translateSave(),(_b=this._findLiquid)==null||_b.translate(tableLeft,tableTop);for(const row of rows){const{top:rowTop,cells}=row;(_c=this._findLiquid)==null||_c.translateSave(),(_d=this._findLiquid)==null||_d.translate(0,rowTop);for(const cell of cells){const{left:cellLeft}=cell;(_e=this._findLiquid)==null||_e.translateSave(),(_f=this._findLiquid)==null||_f.translate(cellLeft,0),exactMatch=exactMatch!=null?exactMatch:this._collectNearestNode(cell,DocumentSkeletonPageType.CELL,cell,segmentId,pi,cache,x,y,pageLength,nestLevel+1),(_g=this._findLiquid)==null||_g.translateRestore()}(_h=this._findLiquid)==null||_h.translateRestore()}(_i=this._findLiquid)==null||_i.translateRestore()}if(exactMatch)return this._findLiquid.translateRestore(),exactMatch;this._findLiquid.translateRestore()}_getNearestNode(nearestNodeList,nearestNodeDistanceList){if(nearestNodeDistanceList.length===0)return;if(nearestNodeDistanceList.length===1)return nearestNodeList[0];let miniValue=nearestNodeDistanceList[0];for(let i=1;i<nearestNodeDistanceList.length;i++){const{distance,nestLevel,coordInPage}=nearestNodeDistanceList[i];if(nestLevel>miniValue.nestLevel){miniValue=nearestNodeDistanceList[i];continue}if(nestLevel===miniValue.nestLevel){if(coordInPage===miniValue.coordInPage){if(distance<miniValue.distance){miniValue=nearestNodeDistanceList[i];continue}}else if(coordInPage){miniValue=nearestNodeDistanceList[i];continue}}}const miniValueIndex=nearestNodeDistanceList.indexOf(miniValue);return nearestNodeList[miniValueIndex]}_getPageBoundingBox(page,pageLayoutType){const{pageWidth,pageHeight}=page,{x:startX,y:startY}=this._findLiquid;let endX=-1,endY=-1;return pageLayoutType===PageLayoutType.VERTICAL?(endX=pageWidth,endY=startY+pageHeight):pageLayoutType===PageLayoutType.HORIZONTAL&&(endX=startX+pageWidth,endY=pageHeight),{startX,startY,endX,endY}}_translatePage(page,pageLayoutType,pageMarginLeft,pageMarginTop){this._findLiquid.translatePage(page,pageLayoutType,pageMarginLeft,pageMarginTop)}_prepareLayoutContext(){const viewModel=this.getViewModel(),dataModel=viewModel.getDataModel(),{headerTreeMap,footerTreeMap}=viewModel,{documentStyle,drawings,lists:customLists={}}=dataModel,lists={...core.PRESET_LIST_TYPE,...customLists},{paragraphLineGapDefault=0,defaultTabStop=10.5,textStyle={}}=documentStyle,docsConfig={headerTreeMap,footerTreeMap,lists,drawings,localeService:this._localService,paragraphLineGapDefault,defaultTabStop,documentTextStyle:textStyle},skeleton=getNullSkeleton(),{skeHeaders,skeFooters,skeListLevel,drawingAnchor}=skeleton;return{viewModel,dataModel,skeleton,skeletonResourceReference:{skeHeaders,skeFooters,skeListLevel,drawingAnchor},docsConfig,layoutStartPointer:{"":null},isDirty:!1,drawingsCache:new Map,paragraphConfigCache:new Map,sectionBreakConfigCache:new Map,paragraphsOpenNewPage:new Set,hyphen:this._hyphen,languageDetector:this._languageDetector}}_createSkeleton(ctx,_bounds){var _a10;const{viewModel,skeleton,skeletonResourceReference}=ctx,allSkeletonPages=skeleton.pages;viewModel.resetCache();let startSectionIndex=0;const layoutAnchor=ctx.layoutStartPointer[""];if(ctx.layoutStartPointer[""]=null,layoutAnchor!=null)for(let sectionIndex=0;sectionIndex<viewModel.children.length;sectionIndex++){const sectionNode=viewModel.children[sectionIndex],{endIndex,startIndex}=sectionNode;if(layoutAnchor>=startIndex&&layoutAnchor<=endIndex){startSectionIndex=sectionIndex;break}}for(let i=startSectionIndex,len=viewModel.children.length;i<len;i++){const sectionNode=viewModel.children[i],sectionBreakConfig=prepareSectionBreakConfig(ctx,i),{sectionType,columnProperties,columnSeparatorType,sectionTypeNext,pageNumberStart=1}=sectionBreakConfig;let curSkeletonPage=getLastPage(allSkeletonPages),isContinuous=!1;ctx.sectionBreakConfigCache.set(sectionNode.endIndex,sectionBreakConfig),sectionType===core.SectionType.CONTINUOUS?(updateBlockIndex(allSkeletonPages),this._addNewSectionByContinuous(curSkeletonPage,columnProperties,columnSeparatorType),isContinuous=!0):(layoutAnchor==null||curSkeletonPage==null)&&(curSkeletonPage=createSkeletonPage(ctx,sectionBreakConfig,skeletonResourceReference,(_a10=curSkeletonPage==null?void 0:curSkeletonPage.pageNumber)!=null?_a10:pageNumberStart));const{pages}=dealWithSection(ctx,viewModel,sectionNode,curSkeletonPage,sectionBreakConfig,layoutAnchor);if(sectionTypeNext===core.SectionType.CONTINUOUS&&columnProperties.length>0,isContinuous&&pages.splice(0,1),allSkeletonPages.push(...pages),ctx.isDirty)break}if(ctx.isDirty&&this._iteratorCount<10)return this._iteratorCount++,resetContext(ctx),this._createSkeleton(ctx,_bounds);this._iteratorCount=0,removeDupPages(ctx),updateBlockIndex(skeleton.pages),updateInlineDrawingCoords(ctx,skeleton.pages);for(const hSkeMap of skeleton.skeHeaders.values())for(const page of hSkeMap.values())updateInlineDrawingCoords(ctx,[page]);for(const fSkeMap of skeleton.skeFooters.values())for(const page of fSkeMap.values())updateInlineDrawingCoords(ctx,[page]);return setPageParent(skeleton.pages,skeleton),skeleton}_addNewSectionByContinuous(curSkeletonPage,columnProperties,columnSeparatorType){const sections=curSkeletonPage.sections,lastSection=sections[sections.length-1],{pageWidth,pageHeight,marginTop:curPageMT,marginBottom:curPageMB,marginLeft:curPageML,marginRight:curPageMR}=curSkeletonPage,pageContentWidth=pageWidth-curPageML-curPageMR,pageContentHeight=pageHeight-curPageMT-curPageMB,lastSectionBottom=((lastSection==null?void 0:lastSection.top)||0)+((lastSection==null?void 0:lastSection.height)||0),newSection=createSkeletonSection(columnProperties,columnSeparatorType,lastSectionBottom,0,pageContentWidth,pageContentHeight-lastSectionBottom);newSection.parent=curSkeletonPage,sections.push(newSection)}_findNodeByIndex(charIndex,segmentId="",segmentPageIndex=-1){var _a10,_b;const skeletonData=this.getSkeletonData();if(skeletonData==null)return;const{pages,skeFooters,skeHeaders}=skeletonData;for(const page of pages){const curPageIndex=pages.indexOf(page);if(segmentId&&curPageIndex!==segmentPageIndex)continue;const{pageWidth,skeTables}=page;let segmentPage=page;if(segmentId){const maybeHeaderSke=(_a10=skeHeaders.get(segmentId))==null?void 0:_a10.get(pageWidth),maybeFooterSke=(_b=skeFooters.get(segmentId))==null?void 0:_b.get(pageWidth);if(maybeHeaderSke)segmentPage=maybeHeaderSke;else if(maybeFooterSke)segmentPage=maybeFooterSke;else continue}if(segmentId===""){let foundCell=!1;for(const table2 of skeTables.values()){const{rows}=table2;for(const row of rows){const{cells}=row;for(const cell of cells){const{st:st2,ed:ed2}=cell;if(charIndex>=st2&&charIndex<=ed2){segmentPage=cell,foundCell=!0;break}}if(foundCell)break}if(foundCell)break}}const{sections,st,ed}=segmentPage;if(!(charIndex<st||charIndex>ed))for(const section of sections){const{columns,st:st2,ed:ed2}=section;if(!(charIndex<st2||charIndex>ed2))for(const column of columns){const{lines,st:st3,ed:ed3}=column;if(!(charIndex<st3||charIndex>ed3))for(const line2 of lines){const{divides,st:st4,ed:ed4}=line2,divideLength=divides.length;if(!(charIndex<st4||charIndex>ed4))for(let i=0;i<divideLength;i++){const divide=divides[i],{glyphGroup,st:st5,ed:ed5}=divide;if(charIndex<st5||charIndex>ed5)continue;let delta=charIndex-st5;for(const glyph of glyphGroup)if(delta-=glyph.count,delta<0)return{page:segmentPage,pageType:segmentPage.type,section,column,line:line2,divide,glyph,segmentPageIndex}}}}}}}};__name(_DocumentSkeleton,"DocumentSkeleton");let DocumentSkeleton=_DocumentSkeleton;var __defProp$3=Object.defineProperty,__getOwnPropDesc$3=Object.getOwnPropertyDescriptor,__decorateClass$3=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$3(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$3(target,key,result),result},"__decorateClass$3"),__decorateParam$3=__name((index2,decorator)=>(target,key)=>decorator(target,key,index2),"__decorateParam$3");function addLinkToDocumentModel(documentModel,linkUrl,linkId){var _a10;const body=documentModel.getBody();if((_a10=body.customRanges)!=null&&_a10.some(range=>range.rangeType===core.CustomRangeType.HYPERLINK))return;const textX=core.BuildTextUtils.customRange.add({range:{startOffset:0,endOffset:body.dataStream.length-1,collapsed:!1},rangeId:linkId,rangeType:core.CustomRangeType.HYPERLINK,body,properties:{url:linkUrl,refId:linkId}});textX&&core.TextX.apply(body,textX.serialize())}__name(addLinkToDocumentModel,"addLinkToDocumentModel");function getDocsSkeletonPageSize(documentSkeleton,angleInDegree=0){const skeletonData=documentSkeleton==null?void 0:documentSkeleton.getSkeletonData(),angle=degToRad(angleInDegree);if(!skeletonData)return null;const{pages}=skeletonData,lastPage=pages[pages.length-1],{width,height}=lastPage;if(angle===0)return{width,height};if(Math.abs(angle)===Math.PI/2)return{width:height,height:width};let allRotatedWidth=0,allRotatedHeight=0;const widthArray=[];columnIterator([lastPage],column=>{const{lines,width:columnWidth,spaceWidth}=column,{rotatedHeight,rotatedWidth}=getRotateOffsetAndFarthestHypotenuse(lines,columnWidth,angle);allRotatedHeight+=rotatedHeight,widthArray.push({rotatedWidth,spaceWidth})});const widthCount=widthArray.length;for(let i=0;i<widthCount;i++){const{rotatedWidth}=widthArray[i];i===0&&(allRotatedWidth+=rotatedWidth)}return{width:allRotatedWidth,height:allRotatedHeight}}__name(getDocsSkeletonPageSize,"getDocsSkeletonPageSize");const DEFAULT_CELL_DOCUMENT_MODEL_OPTION={isDeepClone:!1,displayRawFormula:!1,ignoreTextRotation:!1},DEFAULT_PADDING_DATA={t:0,b:2,l:2,r:2},RENDER_RAW_FORMULA_KEY="RENDER_RAW_FORMULA";var _a6;exports.SpreadsheetSkeleton=(_a6=class extends exports.Skeleton{constructor(worksheet,_worksheetData,_cellData,_styles,_localeService,_contextService){super(_localeService);__publicField(this,"_rowHeightAccumulation",[]);__publicField(this,"_columnWidthAccumulation",[]);__publicField(this,"_rowTotalHeight",0);__publicField(this,"_columnTotalWidth",0);__publicField(this,"_rowHeaderWidth",0);__publicField(this,"_columnHeaderHeight",0);__publicField(this,"_visibleRange",{startRow:-1,endRow:-1,startColumn:-1,endColumn:-1});__publicField(this,"_overflowCache",new core.ObjectMatrix);__publicField(this,"_stylesCache",{background:{},backgroundPositions:new core.ObjectMatrix,font:{},fontMatrix:new core.ObjectMatrix,border:new core.ObjectMatrix});__publicField(this,"_handleBgMatrix",new core.ObjectMatrix);__publicField(this,"_handleBorderMatrix",new core.ObjectMatrix);__publicField(this,"_handleFontMatrix",new core.ObjectMatrix);__publicField(this,"_showGridlines",core.BooleanNumber.TRUE);__publicField(this,"_marginTop",0);__publicField(this,"_marginLeft",0);__publicField(this,"_renderRawFormula",!1);this.worksheet=worksheet,this._worksheetData=_worksheetData,this._cellData=_cellData,this._styles=_styles,this._contextService=_contextService,this._updateLayout(),this._initContextListener()}get rowHeightAccumulation(){return this._rowHeightAccumulation}get rowTotalHeight(){return this._rowTotalHeight}get columnWidthAccumulation(){return this._columnWidthAccumulation}get columnTotalWidth(){return this._columnTotalWidth}get rowHeaderWidth(){return this._rowHeaderWidth}get columnHeaderHeight(){return this._columnHeaderHeight}get rowColumnSegment(){return this._visibleRange}get visibleArea(){return this._visibleRange}get stylesCache(){return this._stylesCache}get overflowCache(){return this._overflowCache}get showGridlines(){return this._showGridlines}get mergeData(){return this._worksheetData.mergeData}get rowHeaderWidthAndMarginLeft(){return this.rowHeaderWidth+this._marginLeft}get columnHeaderHeightAndMarginTop(){return this.columnHeaderHeight+this._marginTop}dispose(){super.dispose(),this._rowHeightAccumulation=[],this._columnWidthAccumulation=[],this._rowTotalHeight=0,this._columnTotalWidth=0,this._rowHeaderWidth=0,this._columnHeaderHeight=0,this._visibleRange={startRow:-1,endRow:-1,startColumn:-1,endColumn:-1},this._stylesCache={background:{},backgroundPositions:new core.ObjectMatrix,font:{},fontMatrix:new core.ObjectMatrix,border:new core.ObjectMatrix},this._handleBgMatrix.reset(),this._handleBorderMatrix.reset(),this._overflowCache.reset(),this._worksheetData=null,this._cellData=null,this._styles=null}getsStyles(){return this._styles}getLocation(){return[this.worksheet.getUnitId(),this.worksheet.getSheetId()]}_initContextListener(){this.disposeWithMe(this._contextService.subscribeContextValue$(RENDER_RAW_FORMULA_KEY).pipe(rxjs.startWith(!1),rxjs.distinctUntilChanged()).subscribe(renderRaw=>{this._renderRawFormula=renderRaw,this._resetCache(),this.makeDirty(!0)}))}setOverflowCache(value){this._overflowCache=value}setMarginLeft(left){this._marginLeft=left}setMarginTop(top){this._marginTop=top}getFont(rowIndex,columnIndex){const fontCache2=this.stylesCache.fontMatrix;if(!fontCache2)return null;const fontItem=fontCache2.getValue(rowIndex,columnIndex);return fontItem||null}calculateSegment(bounds){return!this._worksheetData||(this._updateLayout(),!this._rowHeightAccumulation||!this._columnWidthAccumulation)?!1:(bounds!=null&&(this._visibleRange=this.getRowColumnSegment(bounds)),!0)}calculateWithoutClearingCache(bounds){if(this.calculateSegment(bounds))return this._calculateStylesCache(),this}calculate(bounds){return this._resetCache(),this.calculateWithoutClearingCache(bounds),this}calculateAutoHeightInRange(ranges){var _a10;if(!core.Tools.isArray(ranges))return[];const results=[],{rowData}=this._worksheetData,rowObjectArray=rowData,calculatedRows=new Set;for(const range of ranges){const{startRow,endRow,startColumn,endColumn}=range;for(let rowIndex=startRow;rowIndex<=endRow;rowIndex++){if(calculatedRows.has(rowIndex)||((_a10=rowObjectArray[rowIndex])==null?void 0:_a10.ia)===core.BooleanNumber.FALSE)continue;if(this._hasUnMergedCellInRow(rowIndex,startColumn,endColumn)){const autoHeight=this._calculateRowAutoHeight(rowIndex);calculatedRows.add(rowIndex),results.push({row:rowIndex,autoHeight})}}}return results}_hasUnMergedCellInRow(rowIndex,startColumn,endColumn){if(!this.worksheet.getMergeData())return!1;for(let i=startColumn;i<=endColumn;i++){const{isMerged,isMergedMainCell}=this._getCellMergeInfo(rowIndex,i);if(!isMerged&&!isMergedMainCell)return!0}return!1}_calculateRowAutoHeight(rowNum){var _a10,_b,_c;const{columnCount,columnData,defaultRowHeight,defaultColumnWidth}=this._worksheetData;let height=defaultRowHeight;const worksheet=this.worksheet;if(!worksheet)return height;for(let i=0;i<columnCount;i++){const{isMerged,isMergedMainCell}=this._getCellMergeInfo(rowNum,i);if(isMerged||isMergedMainCell)continue;const cell=worksheet.getCell(rowNum,i);if(cell!=null&&cell.interceptorAutoHeight){const cellHeight=cell.interceptorAutoHeight();if(cellHeight){height=Math.max(height,cellHeight);continue}}const modelObject=cell&&this._getCellDocumentModel(cell);if(modelObject==null)continue;const{documentModel,textRotation,wrapStrategy}=modelObject;if(documentModel==null)continue;const documentViewModel=new DocumentViewModel(documentModel),{vertexAngle:angle}=convertTextRotation(textRotation),colWidth=(_b=(_a10=columnData[i])==null?void 0:_a10.w)!=null?_b:defaultColumnWidth;typeof colWidth=="number"&&wrapStrategy===core.WrapStrategy.WRAP&&documentModel.updateDocumentDataPageSize(colWidth);const documentSkeleton=DocumentSkeleton.create(documentViewModel,this._localService);documentSkeleton.calculate();let{height:h=0}=(_c=getDocsSkeletonPageSize(documentSkeleton,angle))!=null?_c:{};if(documentSkeleton){const skeletonData=documentSkeleton.getSkeletonData(),{marginTop:t,marginBottom:b,marginLeft:l,marginRight:r}=skeletonData.pages[skeletonData.pages.length-1],absAngleInRad=Math.abs(degToRad(angle));h+=t*Math.cos(absAngleInRad)+r*Math.sin(absAngleInRad)+b*Math.cos(absAngleInRad)+l*Math.sin(absAngleInRad)}height=Math.max(height,h)}return Math.min(height,MAXIMUM_ROW_HEIGHT)}_updateLayout(){if(!this.dirty)return;const{rowData,columnData,defaultRowHeight,defaultColumnWidth,rowCount,columnCount,rowHeader,columnHeader,showGridlines}=this._worksheetData,{rowTotalHeight,rowHeightAccumulation}=this._generateRowMatrixCache(rowCount,rowData,defaultRowHeight),{columnTotalWidth,columnWidthAccumulation}=this._generateColumnMatrixCache(columnCount,columnData,defaultColumnWidth);this._rowHeaderWidth=rowHeader.hidden!==core.BooleanNumber.TRUE?this._dynamicallyUpdateRowHeaderWidth(rowHeader):0,this._columnHeaderHeight=columnHeader.hidden!==core.BooleanNumber.TRUE?columnHeader.height:0,this._rowTotalHeight=rowTotalHeight,this._rowHeightAccumulation=rowHeightAccumulation,this._columnTotalWidth=columnTotalWidth,this._columnWidthAccumulation=columnWidthAccumulation,this._showGridlines=showGridlines,this.makeDirty(!1)}_dynamicallyUpdateRowHeaderWidth(rowHeader){const widthByComputation=`${this.worksheet.getRowCount()}`.length*8;return Math.max(rowHeader.width,widthByComputation)}getRowColumnSegment(bounds){return this._getBounding(this._rowHeightAccumulation,this._columnWidthAccumulation,bounds==null?void 0:bounds.cacheBound)}getWorksheetConfig(){return this._worksheetData}getRowColumnSegmentByViewBound(bound){return this._getBounding(this._rowHeightAccumulation,this._columnWidthAccumulation,bound)}getMergeBounding(startRow,startColumn,endRow,endColumn){const mergeData=this._worksheetData.mergeData;if(!mergeData)return{startRow,startColumn,endRow,endColumn};let isSearching=!0;const searchedMarge=new core.ObjectMatrix;for(;isSearching;){isSearching=!1;for(let i=0;i<mergeData.length;i++){const{startRow:mainStartRow,startColumn:mainStartColumn,endRow:mainEndRow,endColumn:mainEndColumn}=mergeData[i];if(searchedMarge.getValue(mainStartRow,mainStartColumn))continue;isRectIntersect({left:startColumn,top:startRow,right:endColumn,bottom:endRow},{left:mainStartColumn,top:mainStartRow,right:mainEndColumn,bottom:mainEndRow})&&(startRow=Math.min(startRow,mainStartRow),startColumn=Math.min(startColumn,mainStartColumn),endRow=Math.max(endRow,mainEndRow),endColumn=Math.max(endColumn,mainEndColumn),searchedMarge.setValue(mainStartRow,mainStartColumn,!0),isSearching=!0)}}return{startRow,startColumn,endRow,endColumn}}appendToOverflowCache(row,column,startColumn,endColumn){this._overflowCache.setValue(row,column,{startRow:row,endRow:row,startColumn,endColumn})}getColumnCount(){return this._columnWidthAccumulation.length}getRowCount(){return this._rowHeightAccumulation.length}getOverflowPosition(contentSize,horizontalAlign,row,column,columnCount){var _a10;const contentWidth=(_a10=contentSize==null?void 0:contentSize.width)!=null?_a10:0;let startColumn=column,endColumn=column;return horizontalAlign===core.HorizontalAlign.CENTER?(startColumn=this._getOverflowBound(row,column,0,contentWidth/2,horizontalAlign),endColumn=this._getOverflowBound(row,column,columnCount-1,contentWidth/2,horizontalAlign)):horizontalAlign===core.HorizontalAlign.RIGHT?startColumn=this._getOverflowBound(row,column,0,contentWidth):endColumn=this._getOverflowBound(row,column,columnCount-1,contentWidth),{startColumn,endColumn}}getNoMergeCellPositionByIndex(rowIndex,columnIndex){const{rowHeightAccumulation,columnWidthAccumulation,rowHeaderWidthAndMarginLeft,columnHeaderHeightAndMarginTop}=this;let{startY,endY,startX,endX}=getCellPositionByIndex(rowIndex,columnIndex,rowHeightAccumulation,columnWidthAccumulation);return startY+=columnHeaderHeightAndMarginTop,endY+=columnHeaderHeightAndMarginTop,startX+=rowHeaderWidthAndMarginLeft,endX+=rowHeaderWidthAndMarginLeft,{startY,endY,startX,endX}}getNoMergeCellPositionByIndexWithNoHeader(rowIndex,columnIndex){const{rowHeightAccumulation,columnWidthAccumulation}=this,{startY,endY,startX,endX}=getCellPositionByIndex(rowIndex,columnIndex,rowHeightAccumulation,columnWidthAccumulation);return{startY,endY,startX,endX}}calculateCellIndexByPosition(offsetX,offsetY,scaleX,scaleY,scrollXY){const{row,column}=this.getCellPositionByOffset(offsetX,offsetY,scaleX,scaleY,scrollXY);return this.getCellByIndex(row,column)}getCellPositionByOffset(offsetX,offsetY,scaleX,scaleY,scrollXY,closeFirst){const row=this.getRowPositionByOffsetY(offsetY,scaleY,scrollXY,closeFirst),column=this.getColumnPositionByOffsetX(offsetX,scaleX,scrollXY,closeFirst);return{row,column}}getColumnPositionByOffsetX(offsetX,scaleX,scrollXY,closeFirst){var _a10;offsetX=this.getTransformOffsetX(offsetX,scaleX,scrollXY);const{columnWidthAccumulation}=this;let column=core.searchArray(columnWidthAccumulation,offsetX);return column===Number.POSITIVE_INFINITY?column=columnWidthAccumulation.length-1:column===-1&&(column=0),closeFirst&&Math.abs(columnWidthAccumulation[column]-offsetX)<Math.abs(offsetX-((_a10=columnWidthAccumulation[column-1])!=null?_a10:0))&&(column=column+1),column}getRowPositionByOffsetY(offsetY,scaleY,scrollXY,closeFirst){var _a10;const{rowHeightAccumulation}=this;offsetY=this.getTransformOffsetY(offsetY,scaleY,scrollXY);let row=core.searchArray(rowHeightAccumulation,offsetY);return row===Number.POSITIVE_INFINITY?row=rowHeightAccumulation.length-1:row===-1&&(row=0),closeFirst&&Math.abs(rowHeightAccumulation[row]-offsetY)<Math.abs(offsetY-((_a10=rowHeightAccumulation[row-1])!=null?_a10:0))&&(row=row+1),row}getTransformOffsetX(offsetX,scaleX,scrollXY){const{x:scrollX}=scrollXY;return offsetX=offsetX/scaleX+scrollX-this.rowHeaderWidthAndMarginLeft,offsetX}getTransformOffsetY(offsetY,scaleY,scrollXY){const{y:scrollY}=scrollXY;return offsetY=offsetY/scaleY+scrollY-this.columnHeaderHeightAndMarginTop,offsetY}getOffsetByPositionX(column){const{columnWidthAccumulation,rowHeaderWidthAndMarginLeft}=this,lastColumnIndex=columnWidthAccumulation.length-1,columnValue=columnWidthAccumulation[column];return columnValue!=null?columnValue+rowHeaderWidthAndMarginLeft:column<0?rowHeaderWidthAndMarginLeft:columnWidthAccumulation[lastColumnIndex]+rowHeaderWidthAndMarginLeft}getOffsetByPositionY(row){const{rowHeightAccumulation,columnHeaderHeightAndMarginTop}=this,lastRowIndex=rowHeightAccumulation.length-1,rowValue=rowHeightAccumulation[row];return rowValue!=null?rowValue+columnHeaderHeightAndMarginTop:row<0?columnHeaderHeightAndMarginTop:rowHeightAccumulation[lastRowIndex]+columnHeaderHeightAndMarginTop}getCellByIndex(row,column){const{rowHeightAccumulation,columnWidthAccumulation,rowHeaderWidthAndMarginLeft,columnHeaderHeightAndMarginTop}=this,primary=getCellByIndexWithMergeInfo(row,column,rowHeightAccumulation,columnWidthAccumulation,this._getCellMergeInfo(row,column)),{isMerged,isMergedMainCell}=primary;let{startY,endY,startX,endX,mergeInfo}=primary;return startY+=columnHeaderHeightAndMarginTop,endY+=columnHeaderHeightAndMarginTop,startX+=rowHeaderWidthAndMarginLeft,endX+=rowHeaderWidthAndMarginLeft,mergeInfo=mergeInfoOffset(mergeInfo,rowHeaderWidthAndMarginLeft,columnHeaderHeightAndMarginTop),{actualRow:row,actualColumn:column,startY,endY,startX,endX,isMerged,isMergedMainCell,mergeInfo}}getCellByIndexWithNoHeader(row,column){const{rowHeightAccumulation,columnWidthAccumulation}=this,primary=getCellByIndexWithMergeInfo(row,column,rowHeightAccumulation,columnWidthAccumulation,this._getCellMergeInfo(row,column)),{isMerged,isMergedMainCell}=primary,{startY,endY,startX,endX,mergeInfo}=primary,newMergeInfo=mergeInfoOffset(mergeInfo,0,0);return{actualRow:row,actualColumn:column,startY,endY,startX,endX,isMerged,isMergedMainCell,mergeInfo:newMergeInfo}}convertTransformToOffsetX(offsetX,scaleX,scrollXY){const{x:scrollX}=scrollXY;return offsetX=(offsetX-scrollX)*scaleX,offsetX}convertTransformToOffsetY(offsetY,scaleY,scrollXY){const{y:scrollY}=scrollXY;return offsetY=(offsetY-scrollY)*scaleY,offsetY}getSelectionMergeBounding(startRow,startColumn,endRow,endColumn){return this.getMergeBounding(startRow,startColumn,endRow,endColumn)}getBlankCellDocumentModel(cell){const documentModelObject=this._getCellDocumentModel(cell,{ignoreTextRotation:!0}),style=this._styles.getStyleByCell(cell),textStyle=this._getFontFormat(style);if(documentModelObject!=null)return documentModelObject.documentModel==null&&(documentModelObject.documentModel=this._getDocumentDataByStyle("",textStyle,{})),documentModelObject;const content="";let fontString="document";const textRotation=core.DEFAULT_STYLES.tr,horizontalAlign=core.DEFAULT_STYLES.ht,verticalAlign=core.DEFAULT_STYLES.vt,wrapStrategy=core.DEFAULT_STYLES.tb,paddingData=DEFAULT_PADDING_DATA;return fontString=getFontStyleString({},this._localService).fontCache,{documentModel:this._getDocumentDataByStyle(content,textStyle,{}),fontString,textRotation,wrapStrategy,verticalAlign,horizontalAlign,paddingData}}getCellDocumentModelWithFormula(cell){return this._getCellDocumentModel(cell,{isDeepClone:!0,displayRawFormula:!0,ignoreTextRotation:!0})}_getCellDocumentModel(cell,options=DEFAULT_CELL_DOCUMENT_MODEL_OPTION){var _a10;const{isDeepClone,displayRawFormula,ignoreTextRotation}={...DEFAULT_CELL_DOCUMENT_MODEL_OPTION,...options},style=this._styles.getStyleByCell(cell);if(!cell)return;let documentModel,fontString="document";const cellOtherConfig=this._getOtherStyle(style),textRotation=ignoreTextRotation?core.DEFAULT_STYLES.tr:cellOtherConfig.textRotation||core.DEFAULT_STYLES.tr;let horizontalAlign=cellOtherConfig.horizontalAlign||core.DEFAULT_STYLES.ht;const verticalAlign=cellOtherConfig.verticalAlign||core.DEFAULT_STYLES.vt,wrapStrategy=cellOtherConfig.wrapStrategy||core.DEFAULT_STYLES.tb,paddingData=cellOtherConfig.paddingData||DEFAULT_PADDING_DATA;if(cell.f&&displayRawFormula)documentModel=this._getDocumentDataByStyle(cell.f.toString(),{},{verticalAlign}),horizontalAlign=core.DEFAULT_STYLES.ht;else if(cell.p){const{centerAngle,vertexAngle}=convertTextRotation(textRotation);documentModel=this._updateConfigAndGetDocumentModel(isDeepClone?core.Tools.deepClone(cell.p):cell.p,horizontalAlign,paddingData,{horizontalAlign,verticalAlign,centerAngle,vertexAngle,wrapStrategy})}else if(cell.v!=null){const textStyle=this._getFontFormat(style);fontString=getFontStyleString(textStyle,this._localService).fontCache;let cellText=core.extractPureTextFromCell(cell);cell.t===core.CellValueType.FORCE_STRING&&displayRawFormula&&(cellText=`'${cellText}`),documentModel=this._getDocumentDataByStyle(cellText,textStyle,{...cellOtherConfig,textRotation,cellValueType:cell.t})}return documentModel&&cell.linkUrl&&cell.linkId&&addLinkToDocumentModel(documentModel,cell.linkUrl,cell.linkId),{documentModel,fontString,textRotation,wrapStrategy,verticalAlign,horizontalAlign,paddingData,fill:(_a10=style==null?void 0:style.bg)==null?void 0:_a10.rgb}}getDecomposedOffset(offsetX,offsetY){let column=core.searchArray(this._columnWidthAccumulation,offsetX),columnOffset=0;column===-1||column===0?(column=0,columnOffset=offsetX):columnOffset=offsetX-this._columnWidthAccumulation[column-1];let row=core.searchArray(this._rowHeightAccumulation,offsetY),rowOffset=0;return row===-1||row===0?(row=0,rowOffset=offsetY):rowOffset=offsetY-this._rowHeightAccumulation[row-1],{row,column,columnOffset,rowOffset}}_calculateOverflowCell(row,column,docsConfig){const{documentSkeleton,vertexAngle=0,centerAngle=0,horizontalAlign,wrapStrategy}=docsConfig,cell=this._cellData.getValue(row,column),{t:cellValueType=core.CellValueType.STRING}=cell||{};let horizontalAlignPos=horizontalAlign;if(horizontalAlign===core.HorizontalAlign.UNSPECIFIED&&(centerAngle===VERTICAL_ROTATE_ANGLE&&vertexAngle===VERTICAL_ROTATE_ANGLE?horizontalAlignPos=core.HorizontalAlign.CENTER:(vertexAngle>0&&vertexAngle!==VERTICAL_ROTATE_ANGLE||vertexAngle===-VERTICAL_ROTATE_ANGLE)&&(horizontalAlignPos=core.HorizontalAlign.RIGHT)),(wrapStrategy===core.WrapStrategy.OVERFLOW||wrapStrategy===core.WrapStrategy.UNSPECIFIED)&&cellValueType!==core.CellValueType.NUMBER&&cellValueType!==core.CellValueType.BOOLEAN&&horizontalAlign!==core.HorizontalAlign.JUSTIFIED){if(this.intersectMergeRange(row,column))return!0;let contentSize=getDocsSkeletonPageSize(documentSkeleton,vertexAngle);if(!contentSize)return!0;if(vertexAngle!==0){const{startY,endY,startX,endX}=getCellByIndexWithMergeInfo(row,column,this.rowHeightAccumulation,this.columnWidthAccumulation,this._getCellMergeInfo(row,column)),cellWidth=endX-startX,cellHeight=endY-startY;contentSize.height>cellHeight&&(contentSize={width:cellHeight/Math.tan(Math.abs(vertexAngle))+cellWidth,height:cellHeight})}const position=this.getOverflowPosition(contentSize,horizontalAlignPos,row,column,this.getColumnCount()),{startColumn,endColumn}=position;if(startColumn===endColumn)return!0;this.appendToOverflowCache(row,column,startColumn,endColumn)}else if(wrapStrategy===core.WrapStrategy.WRAP&&vertexAngle!==0){if(this.intersectMergeRange(row,column))return!0;const{startY,endY}=getCellByIndexWithMergeInfo(row,column,this.rowHeightAccumulation,this.columnWidthAccumulation,this._getCellMergeInfo(row,column)),cellHeight=endY-startY;documentSkeleton.getViewModel().getDataModel().updateDocumentDataPageSize(cellHeight),documentSkeleton.calculate();const contentSize=getDocsSkeletonPageSize(documentSkeleton,vertexAngle);if(!contentSize)return!0;const{startColumn,endColumn}=this.getOverflowPosition(contentSize,horizontalAlignPos,row,column,this.getColumnCount());if(startColumn===endColumn)return!0;this.appendToOverflowCache(row,column,startColumn,endColumn)}return!1}_getBounding(rowHeightAccumulation,columnWidthAccumulation,viewBound){const rhaLength=rowHeightAccumulation.length,cwaLength=columnWidthAccumulation.length;if(!viewBound)return{startRow:0,endRow:rhaLength-1,startColumn:0,endColumn:cwaLength-1};let dataset_row_st=-1,dataset_row_ed=-1,dataset_col_st=-1,dataset_col_ed=-1;const row_st=core.searchArray(rowHeightAccumulation,Math.round(viewBound.top)-this.columnHeaderHeightAndMarginTop),row_ed=core.searchArray(rowHeightAccumulation,Math.round(viewBound.bottom)-this.columnHeaderHeightAndMarginTop);row_st===-1&&row_ed===0?(dataset_row_st=0,dataset_row_ed=0):(dataset_row_st=Math.max(0,row_st),row_ed===Number.POSITIVE_INFINITY||row_ed>=rhaLength?dataset_row_ed=rhaLength-1:dataset_row_ed=Math.max(0,row_ed));const col_st=core.searchArray(columnWidthAccumulation,Math.round(viewBound.left)-this.rowHeaderWidthAndMarginLeft),col_ed=core.searchArray(columnWidthAccumulation,Math.round(viewBound.right)-this.rowHeaderWidthAndMarginLeft);return col_st===-1&&col_ed===0?(dataset_col_st=0,dataset_col_ed=0):(dataset_col_st=Math.max(0,col_st),col_ed===Number.POSITIVE_INFINITY||col_ed>=cwaLength?dataset_col_ed=cwaLength-1:dataset_col_ed=Math.max(0,col_ed)),{startRow:dataset_row_st,endRow:dataset_row_ed,startColumn:dataset_col_st,endColumn:dataset_col_ed}}_generateRowMatrixCache(rowCount,rowData,defaultRowHeight){let rowTotalHeight=0;const rowHeightAccumulation=[],data2=rowData;for(let r=0;r<rowCount;r++){let rowHeight=defaultRowHeight;if(this.worksheet.getRowFiltered(r))rowHeight=0;else if(data2[r]!=null){const rowDataItem=data2[r];if(!rowDataItem)continue;const{h=defaultRowHeight,ah,ia}=rowDataItem;(ia==null||ia===core.BooleanNumber.TRUE)&&typeof ah=="number"?rowHeight=ah:rowHeight=h,rowDataItem.hd===core.BooleanNumber.TRUE&&(rowHeight=0)}rowTotalHeight+=rowHeight,rowHeightAccumulation.push(rowTotalHeight)}return{rowTotalHeight,rowHeightAccumulation}}_generateColumnMatrixCache(colCount,columnData,defaultColumnWidth){let columnTotalWidth=0;const columnWidthAccumulation=[],data2=columnData;for(let c=0;c<colCount;c++){let columnWidth=defaultColumnWidth;if(data2[c]!=null){const columnDataItem=data2[c];if(!columnDataItem)continue;columnDataItem.w!=null&&(columnWidth=columnDataItem.w),columnDataItem.hd===core.BooleanNumber.TRUE&&(columnWidth=0)}columnTotalWidth+=columnWidth,columnWidthAccumulation.push(columnTotalWidth)}return{columnTotalWidth,columnWidthAccumulation}}_getOverflowBound(row,startColumn,endColumn,contentWidth,horizontalAlign=core.HorizontalAlign.LEFT){let cumWidth=0;if(startColumn>endColumn){const columnCount=this._columnWidthAccumulation.length-1;for(let i=startColumn;i>=endColumn;i--){const column=i,cell=this.worksheet.getCell(row,column);if(!core.isCellCoverable(cell)&&column!==startColumn||this.intersectMergeRange(row,column))return column===startColumn?column:column+1>columnCount?columnCount:column+1;const{startX,endX}=getCellPositionByIndex(row,column,this.rowHeightAccumulation,this.columnWidthAccumulation);if(horizontalAlign===core.HorizontalAlign.CENTER&&column===startColumn?cumWidth+=(endX-startX)/2:cumWidth+=endX-startX,contentWidth<cumWidth)return column}return startColumn}for(let i=startColumn;i<=endColumn;i++){const column=i,cell=this.worksheet.getCell(row,column);if(!core.isCellCoverable(cell)&&column!==startColumn||this.intersectMergeRange(row,column))return column===startColumn?column:column-1<0?0:column-1;const{startX,endX}=getCellPositionByIndex(row,column,this.rowHeightAccumulation,this.columnWidthAccumulation);if(horizontalAlign===core.HorizontalAlign.CENTER&&column===startColumn?cumWidth+=(endX-startX)/2:cumWidth+=endX-startX,contentWidth<cumWidth)return column}return endColumn}intersectMergeRange(row,column){return!!this.worksheet.getMergedCell(row,column)}getCurrentRowColumnSegmentMergeData(range){const endColumnLast=this.columnWidthAccumulation.length-1;return range?range={startRow:range.startRow,endRow:range.endRow,endColumn:endColumnLast,startColumn:0}:range={startRow:0,startColumn:0,endRow:this.rowHeightAccumulation.length-1,endColumn:endColumnLast},this.worksheet.getSpanModel().getMergedCellRangeForSkeleton(range.startRow,range.startColumn,range.endRow,range.endColumn)}_calculateStylesCache(){const rowColumnSegment=this._visibleRange,columnWidthAccumulation=this.columnWidthAccumulation,{startRow,endRow,startColumn,endColumn}=rowColumnSegment;if(endColumn===-1||endRow===-1)return;const mergeRanges=this.getCurrentRowColumnSegmentMergeData(this._visibleRange);for(const mergeRange of mergeRanges)this._setStylesCache(mergeRange.startRow,mergeRange.startColumn,{mergeRange});for(let r=startRow;r<=endRow;r++)if(this.worksheet.getRowVisible(r)!==!1){for(let c=startColumn;c<=endColumn;c++)this._setStylesCache(r,c,{cacheItem:{bg:!0,border:!0}});for(let c=0;c<startColumn;c++)this._setStylesCache(r,c,{cacheItem:{bg:!1,border:!1}});if(endColumn!==0)for(let c=endColumn+1;c<columnWidthAccumulation.length;c++)this._setStylesCache(r,c,{cacheItem:{bg:!1,border:!1}})}}resetCache(){this._resetCache()}_resetCache(){this._stylesCache={background:{},backgroundPositions:new core.ObjectMatrix,font:{},fontMatrix:new core.ObjectMatrix,border:new core.ObjectMatrix},this._handleBgMatrix.reset(),this._handleBorderMatrix.reset(),this._overflowCache.reset()}_makeDocumentSkeletonDirty(row,col){var _a10;this._stylesCache.fontMatrix!=null&&((_a10=this._stylesCache.fontMatrix.getValue(row,col))==null||_a10.documentSkeleton.makeDirty(!0))}_setBorderStylesCache(row,col,style,options){if(!(core.Tools.isDefine(this._handleBorderMatrix.getValue(row,col))||!((options==null?void 0:options.cacheItem)||{bg:!0,border:!0}).border)&&(this._handleBorderMatrix.setValue(row,col,!0),style&&style.bd)){const mergeRange=options==null?void 0:options.mergeRange;mergeRange?(this._setMergeBorderProps(BORDER_TYPE.TOP,this._stylesCache,mergeRange),this._setMergeBorderProps(BORDER_TYPE.BOTTOM,this._stylesCache,mergeRange),this._setMergeBorderProps(BORDER_TYPE.LEFT,this._stylesCache,mergeRange),this._setMergeBorderProps(BORDER_TYPE.RIGHT,this._stylesCache,mergeRange)):this.intersectMergeRange(row,col)||(this._setBorderProps(row,col,BORDER_TYPE.TOP,style,this._stylesCache),this._setBorderProps(row,col,BORDER_TYPE.BOTTOM,style,this._stylesCache),this._setBorderProps(row,col,BORDER_TYPE.LEFT,style,this._stylesCache),this._setBorderProps(row,col,BORDER_TYPE.RIGHT,style,this._stylesCache)),this._setBorderProps(row,col,BORDER_TYPE.TL_BR,style,this._stylesCache),this._setBorderProps(row,col,BORDER_TYPE.TL_BC,style,this._stylesCache),this._setBorderProps(row,col,BORDER_TYPE.TL_MR,style,this._stylesCache),this._setBorderProps(row,col,BORDER_TYPE.BL_TR,style,this._stylesCache),this._setBorderProps(row,col,BORDER_TYPE.ML_TR,style,this._stylesCache),this._setBorderProps(row,col,BORDER_TYPE.BC_TR,style,this._stylesCache)}}_setBgStylesCache(row,col,style,options){var _a10;if(!(core.Tools.isDefine(this._handleBgMatrix.getValue(row,col))||!((options==null?void 0:options.cacheItem)||{bg:!0,border:!0}).bg)&&(this._handleBgMatrix.setValue(row,col,!0),style&&style.bg&&style.bg.rgb)){const rgb=style.bg.rgb;this._stylesCache.background[rgb]||(this._stylesCache.background[rgb]=new core.ObjectMatrix),this._stylesCache.background[rgb].setValue(row,col,rgb);const cellInfo=this.getCellByIndexWithNoHeader(row,col);(_a10=this._stylesCache.backgroundPositions)==null||_a10.setValue(row,col,cellInfo)}}_setFontStylesCache(row,col,cell){if(core.isNullCell(cell)||(this._handleFontMatrix.setValue(row,col,!0),this._stylesCache.fontMatrix.getValue(row,col)))return;const modelObject=this._getCellDocumentModel(cell,{displayRawFormula:this._renderRawFormula});if(modelObject==null)return;const{documentModel}=modelObject;if(documentModel==null)return;const{fontString:_fontString,textRotation,wrapStrategy,verticalAlign,horizontalAlign}=modelObject,documentViewModel=new DocumentViewModel(documentModel);if(documentViewModel){const{vertexAngle,centerAngle}=convertTextRotation(textRotation),documentSkeleton=DocumentSkeleton.create(documentViewModel,this._localService);documentSkeleton.calculate();const config={documentSkeleton,vertexAngle,centerAngle,verticalAlign,horizontalAlign,wrapStrategy};this._stylesCache.fontMatrix.setValue(row,col,config),this._calculateOverflowCell(row,col,config)}}_setStylesCache(row,col,options){if(row===-1||col===-1)return;const handledBgCell=core.Tools.isDefine(this._handleBgMatrix.getValue(row,col)),handledBorderCell=core.Tools.isDefine(this._handleBorderMatrix.getValue(row,col));if(handledBgCell&&handledBorderCell)return;options||(options={cacheItem:{bg:!0,border:!0}});const{isMerged,isMergedMainCell,startRow,startColumn,endRow,endColumn}=this._getCellMergeInfo(row,col);if(options.mergeRange={startRow,startColumn,endRow,endColumn},this.worksheet.getColVisible(col)===!1||this.worksheet.getRowVisible(row)===!1){if(isMerged&&!isMergedMainCell)return;if(!isMergedMainCell)return}const cell=this.worksheet.getCell(row,col)||this.worksheet.getCellRaw(row,col),style=this._styles.getStyleByCell(cell);this._setBgStylesCache(row,col,style,options),this._setBorderStylesCache(row,col,style,options),this._setFontStylesCache(row,col,cell)}_updateConfigAndGetDocumentModel(documentData,horizontalAlign,paddingData,renderConfig){var _a10,_b,_c,_d,_e;if(!renderConfig||!((_a10=documentData.body)!=null&&_a10.dataStream))return;documentData.documentStyle||(documentData.documentStyle={}),documentData.documentStyle.marginTop=(_b=paddingData.t)!=null?_b:0,documentData.documentStyle.marginBottom=(_c=paddingData.b)!=null?_c:2,documentData.documentStyle.marginLeft=(_d=paddingData.l)!=null?_d:2,documentData.documentStyle.marginRight=(_e=paddingData.r)!=null?_e:2,documentData.documentStyle.pageSize={width:Number.POSITIVE_INFINITY,height:Number.POSITIVE_INFINITY},documentData.documentStyle.renderConfig=renderConfig;const paragraphs=documentData.body.paragraphs||[];for(const paragraph of paragraphs)paragraph.paragraphStyle||(paragraph.paragraphStyle={}),paragraph.paragraphStyle.horizontalAlign=horizontalAlign;return new core.DocumentDataModel(documentData)}_getDocumentDataByStyle(content,textStyle,config){const contentLength=content.length,{textRotation,paddingData=DEFAULT_PADDING_DATA,horizontalAlign=core.HorizontalAlign.UNSPECIFIED,verticalAlign=core.VerticalAlign.UNSPECIFIED,wrapStrategy=core.WrapStrategy.UNSPECIFIED,cellValueType}=config,{t:marginTop,r:marginRight,b:marginBottom,l:marginLeft}=paddingData||{},{vertexAngle,centerAngle}=convertTextRotation(textRotation),documentData={id:"d",body:{dataStream:`${content}${core.DEFAULT_EMPTY_DOCUMENT_VALUE}`,textRuns:[{ts:textStyle,st:0,ed:contentLength}],paragraphs:[{startIndex:contentLength,paragraphStyle:{horizontalAlign}}],sectionBreaks:[{startIndex:contentLength+1}]},documentStyle:{pageSize:{width:Number.POSITIVE_INFINITY,height:Number.POSITIVE_INFINITY},marginTop,marginBottom,marginRight,marginLeft,renderConfig:{horizontalAlign,verticalAlign,centerAngle,vertexAngle,wrapStrategy,cellValueType}},drawings:{},drawingsOrder:[]};return new core.DocumentDataModel(documentData)}_setMergeBorderProps(type,cache,mergeRange){var _a10;if(!this.worksheet||!cache.border)return;const borders=[];let isAddBorders=!0,forStart=mergeRange.startRow,forEnd=mergeRange.endRow,row=mergeRange.startRow,column=mergeRange.startColumn;type===BORDER_TYPE.TOP?(row=mergeRange.startRow,forStart=mergeRange.startColumn,forEnd=mergeRange.endColumn):type===BORDER_TYPE.BOTTOM?(row=mergeRange.endRow,forStart=mergeRange.startColumn,forEnd=mergeRange.endColumn):type===BORDER_TYPE.LEFT?(column=mergeRange.startColumn,forStart=mergeRange.startRow,forEnd=mergeRange.endRow):type===BORDER_TYPE.RIGHT&&(column=mergeRange.endColumn,forStart=mergeRange.startRow,forEnd=mergeRange.endRow);for(let i=forStart;i<=forEnd;i++){type===BORDER_TYPE.TOP||type===BORDER_TYPE.BOTTOM?column=i:(type===BORDER_TYPE.LEFT||type===BORDER_TYPE.RIGHT)&&(row=i);const cell=this.worksheet.getCell(row,column);if(!cell){isAddBorders=!1;break}const style=this._styles.getStyleByCell(cell);if(!style){isAddBorders=!1;break}const props=(_a10=style.bd)==null?void 0:_a10[type];if(props){const rgb=core.getColorStyle(props.cl)||COLOR_BLACK_RGB;borders.push({r:row,c:column,style:props.s,color:rgb})}else isAddBorders=!1}isAddBorders&&borders.forEach(border=>{const{r,c,style,color}=border;cache.border.getValue(r,c)||cache.border.setValue(r,c,{}),cache.border.getValue(r,c)[type]={type,style,color}})}_setBorderProps(r,c,type,style,cache){var _a10,_b,_c;const props=(_a10=style.bd)==null?void 0:_a10[type];if(!props||!cache.border)return;const rgb=core.getColorStyle(props.cl)||COLOR_BLACK_RGB,borderCache=cache.border;if(borderCache.getValue(r,c)||borderCache.setValue(r,c,{[type]:{}}),type===BORDER_TYPE.TOP){if(((_b=borderCache.getValue(r-1,c))==null?void 0:_b[BORDER_TYPE.BOTTOM])&&core.isWhiteColor(rgb))return}else if(type===BORDER_TYPE.LEFT&&((_c=borderCache.getValue(r,c-1))==null?void 0:_c[BORDER_TYPE.RIGHT])&&core.isWhiteColor(rgb))return;borderCache.getValue(r,c)[type]={type,style:props.s,color:rgb}}_getFontFormat(format){if(!format)return{};const{ff,fs,it,bl,ul,st,ol,cl}=format,style={};return ff&&(style.ff=ff),fs&&(style.fs=fs),it&&(style.it=it),bl&&(style.bl=bl),ul&&(style.ul=ul),st&&(style.st=st),ol&&(style.ol=ol),cl&&(style.cl=cl),style}_getOtherStyle(format){if(!format)return{};const{tr:textRotation,td:textDirection,ht:horizontalAlign,vt:verticalAlign,tb:wrapStrategy,pd:paddingData}=format;return{textRotation,textDirection,horizontalAlign,verticalAlign,wrapStrategy,paddingData}}_getCellMergeInfo(row,column){return this.worksheet.getCellInfoInMergeData(row,column)}_getMergeCells(mergeData,range){const endColumnLast=this.columnWidthAccumulation.length-1;range?range={startRow:range.startRow,endRow:range.endRow,endColumn:endColumnLast,startColumn:0}:range={startRow:0,startColumn:0,endRow:this.rowHeightAccumulation.length-1,endColumn:endColumnLast};const{startRow,startColumn,endRow,endColumn}=range,cacheDataMerge=[];for(let i=0;i<mergeData.length;i++){const{startRow:mergeStartRow,endRow:mergeEndRow,startColumn:mergeStartColumn,endColumn:mergeEndColumn}=mergeData[i];for(let r=startRow;r<=endRow;r++){let isBreak=!1;for(let c=startColumn;c<=endColumn;c++)if(r>=mergeStartRow&&r<=mergeEndRow&&c>=mergeStartColumn&&c<=mergeEndColumn){cacheDataMerge.push({startRow:mergeStartRow,endRow:mergeEndRow,startColumn:mergeStartColumn,endColumn:mergeEndColumn}),isBreak=!0;break}if(isBreak)break}}return cacheDataMerge}},__name(_a6,"SpreadsheetSkeleton"),_a6);exports.SpreadsheetSkeleton=__decorateClass$3([__decorateParam$3(4,core.Inject(core.LocaleService)),__decorateParam$3(5,core.IContextService)],exports.SpreadsheetSkeleton);const UNIQUE_KEY$6="DefaultFontExtension",_Font=class _Font extends SheetExtension{constructor(){super(...arguments);__publicField(this,"uKey",UNIQUE_KEY$6);__publicField(this,"Z_INDEX",FONT_EXTENSION_Z_INDEX)}getDocuments(){const parent=this.parent;return parent==null?void 0:parent.getDocuments()}draw(ctx,parentScale,spreadsheetSkeleton,diffRanges,moreBoundsInfo){const{stylesCache,worksheet}=spreadsheetSkeleton,{fontMatrix}=stylesCache;if(!spreadsheetSkeleton||!worksheet||!fontMatrix)return;const{rowHeightAccumulation,columnTotalWidth,columnWidthAccumulation,rowTotalHeight}=spreadsheetSkeleton;if(!rowHeightAccumulation||!columnWidthAccumulation||columnTotalWidth===void 0||rowTotalHeight===void 0||!worksheet)return;const scale=this._getScale(parentScale),{viewRanges=[],checkOutOfViewBound}=moreBoundsInfo,renderFontContext={ctx,scale,rowHeightAccumulation,columnTotalWidth,columnWidthAccumulation,rowTotalHeight,viewRanges,checkOutOfViewBound:checkOutOfViewBound||!0,diffRanges,spreadsheetSkeleton};ctx.save();const uniqueMergeRanges=[],mergeRangeIDSet=new Set;viewRanges.forEach(range=>{range.startColumn-=EXPAND_SIZE_FOR_RENDER_OVERFLOW,range.endColumn+=EXPAND_SIZE_FOR_RENDER_OVERFLOW,range=clampRange(range),spreadsheetSkeleton.worksheet.getMergedCellRange(range.startRow,range.startColumn,range.endRow,range.endColumn).forEach(mergeRange=>{const mergeRangeIndex=spreadsheetSkeleton.worksheet.getSpanModel().getMergeDataIndex(mergeRange.startRow,mergeRange.startColumn);mergeRangeIDSet.has(mergeRangeIndex)||(mergeRangeIDSet.add(mergeRangeIndex),uniqueMergeRanges.push(mergeRange))}),core.Range.foreach(range,(row,col)=>{if(spreadsheetSkeleton.worksheet.getSpanModel().getMergeDataIndex(row,col)!==-1)return;const cellInfo=spreadsheetSkeleton.getCellByIndexWithNoHeader(row,col);cellInfo&&(renderFontContext.cellInfo=cellInfo,this.renderFontEachCell(renderFontContext,row,col,fontMatrix))})}),uniqueMergeRanges.forEach(range=>{const cellInfo=spreadsheetSkeleton.getCellByIndexWithNoHeader(range.startRow,range.startColumn);renderFontContext.cellInfo=cellInfo,this.renderFontEachCell(renderFontContext,range.startRow,range.startColumn,fontMatrix)}),ctx.restore()}renderFontEachCell(renderFontCtx,row,col,fontMatrix){var _a10;const{ctx,viewRanges,diffRanges,spreadsheetSkeleton,cellInfo}=renderFontCtx;let{startY,endY,startX,endX}=cellInfo;const{isMerged,isMergedMainCell,mergeInfo}=cellInfo;if(isMerged&&!isMergedMainCell)return!0;isMergedMainCell&&(startY=mergeInfo.startY,endY=mergeInfo.endY,startX=mergeInfo.startX,endX=mergeInfo.endX);const fontsConfig=fontMatrix.getValue(row,col);if(!fontsConfig)return!0;const overflowRange=spreadsheetSkeleton.overflowCache.getValue(row,col),renderRange=diffRanges&&diffRanges.length>0?diffRanges:viewRanges;if(!overflowRange&&(!isMergedMainCell&&!isMerged)&&!inViewRanges(renderRange,row,col))return!0;const visibleRow=spreadsheetSkeleton.worksheet.getRowVisible(row),visibleCol=spreadsheetSkeleton.worksheet.getColVisible(col);if(!visibleRow||!visibleCol)return!0;const cellData=spreadsheetSkeleton.worksheet.getCell(row,col)||{};if((_a10=cellData.fontRenderExtension)!=null&&_a10.isSkip)return!0;ctx.save(),ctx.beginPath(),renderFontCtx.overflowRectangle=overflowRange,renderFontCtx.cellData=cellData,renderFontCtx.startX=startX,renderFontCtx.startY=startY,renderFontCtx.endX=endX,renderFontCtx.endY=endY,this._setFontRenderBounds(renderFontCtx,row,col,fontMatrix),ctx.translate(startX+FIX_ONE_PIXEL_BLUR_OFFSET,startY+FIX_ONE_PIXEL_BLUR_OFFSET),this._renderDocuments(ctx,fontsConfig,renderFontCtx.startX,renderFontCtx.startY,renderFontCtx.endX,renderFontCtx.endY,row,col,spreadsheetSkeleton.overflowCache),ctx.closePath(),ctx.restore()}_setFontRenderBounds(renderFontContext,row,col,fontMatrix){var _a10,_b,_c,_d;const{ctx,scale,overflowRectangle,rowHeightAccumulation,columnWidthAccumulation,cellData}=renderFontContext;let{startX,endX,startY,endY}=renderFontContext;const fontsConfig=fontMatrix.getValue(row,col),{horizontalAlign,vertexAngle=0,centerAngle=0}=fontsConfig;let horizontalAlignOverFlow=horizontalAlign;horizontalAlign===core.HorizontalAlign.UNSPECIFIED&&(centerAngle===VERTICAL_ROTATE_ANGLE&&vertexAngle===VERTICAL_ROTATE_ANGLE?horizontalAlignOverFlow=core.HorizontalAlign.CENTER:(vertexAngle>0&&vertexAngle!==VERTICAL_ROTATE_ANGLE||vertexAngle===-VERTICAL_ROTATE_ANGLE)&&(horizontalAlignOverFlow=core.HorizontalAlign.RIGHT));const rightOffset=(_b=(_a10=cellData.fontRenderExtension)==null?void 0:_a10.rightOffset)!=null?_b:0,leftOffset=(_d=(_c=cellData.fontRenderExtension)==null?void 0:_c.leftOffset)!=null?_d:0;let isOverflow=!0;vertexAngle===0&&(startX=startX+leftOffset,endX=endX-rightOffset,(rightOffset!==0||leftOffset!==0)&&(isOverflow=!1));const cellWidth=endX-startX,cellHeight=endY-startY;if(overflowRectangle&&isOverflow){const{startColumn,startRow,endColumn,endRow}=overflowRectangle;startColumn===endColumn&&startColumn===col?(ctx.rectByPrecision(startX+1/scale,startY+1/scale,cellWidth-2/scale,cellHeight-2/scale),ctx.clip()):horizontalAlignOverFlow===core.HorizontalAlign.CENTER?this._clipRectangleForOverflow(ctx,startRow,endRow,startColumn,endColumn,scale,rowHeightAccumulation,columnWidthAccumulation):horizontalAlignOverFlow===core.HorizontalAlign.RIGHT?this._clipRectangleForOverflow(ctx,startRow,row,startColumn,col,scale,rowHeightAccumulation,columnWidthAccumulation):this._clipRectangleForOverflow(ctx,row,endRow,col,endColumn,scale,rowHeightAccumulation,columnWidthAccumulation)}else ctx.rectByPrecision(startX+1/scale,startY+1/scale,cellWidth-2/scale,cellHeight-2/scale),ctx.clip();renderFontContext.startX=startX,renderFontContext.startY=startY,renderFontContext.endX=endX,renderFontContext.endY=endY}_renderDocuments(ctx,docsConfig,startX,startY,endX,endY,row,col,overflowCache){const documents=this.getDocuments();if(documents==null)throw new Error("documents is null");const{documentSkeleton,vertexAngle=0,wrapStrategy}=docsConfig,cellHeight=endY-startY,cellWidth=endX-startX;wrapStrategy===core.WrapStrategy.WRAP&&vertexAngle===0?(documentSkeleton.getViewModel().getDataModel().updateDocumentDataPageSize(cellWidth),documentSkeleton.calculate()):documentSkeleton.getViewModel().getDataModel().updateDocumentDataPageSize(Number.POSITIVE_INFINITY);const overflowRectangle=overflowCache.getValue(row,col);if(!(wrapStrategy===core.WrapStrategy.WRAP&&!overflowRectangle&&vertexAngle===0)){const contentSize=getDocsSkeletonPageSize(documentSkeleton),documentStyle=documentSkeleton.getViewModel().getDataModel().getSnapshot().documentStyle;if(contentSize&&documentStyle){const{width}=contentSize,{marginRight=0,marginLeft=0}=documentStyle;documentSkeleton.getViewModel().getDataModel().updateDocumentDataPageSize(width+marginLeft+marginRight),documentSkeleton.calculate()}}documentSkeleton.makeDirty(!1),documents.resize(cellWidth,cellHeight),documents.changeSkeleton(documentSkeleton).render(ctx)}_clipRectangleForOverflow(ctx,startRow,endRow,startColumn,endColumn,scale,rowHeightAccumulation,columnWidthAccumulation){const startY=rowHeightAccumulation[startRow-1]||0,endY=rowHeightAccumulation[endRow]||rowHeightAccumulation[rowHeightAccumulation.length-1],startX=columnWidthAccumulation[startColumn-1]||0,endX=columnWidthAccumulation[endColumn]||columnWidthAccumulation[columnWidthAccumulation.length-1];ctx.rectByPrecision(startX,startY,endX-startX,endY-startY),ctx.clip()}};__name(_Font,"Font");let Font=_Font;SpreadsheetExtensionRegistry.add(Font);const UNIQUE_KEY$5="DefaultMarkerExtension",Z_INDEX=60,stringifyRange=__name(range=>{const{startRow,endRow,startColumn,endColumn}=range;return`${startRow}-${endRow}-${startColumn}-${endColumn}`},"stringifyRange"),_Marker=class _Marker extends SheetExtension{constructor(){super(...arguments);__publicField(this,"Z_INDEX",Z_INDEX);__publicField(this,"uKey",UNIQUE_KEY$5)}draw(ctx,parentScale,skeleton,diffRanges){if(ctx.__mode==="printing")return;const{worksheet,rowColumnSegment}=skeleton;if(!worksheet)return;const mergeCellRendered=new Set;core.Range.foreach(rowColumnSegment,(row,col)=>{var _a10,_b,_c,_d;if(!worksheet.getRowVisible(row)||!worksheet.getColVisible(col))return;let cellData=worksheet.getCell(row,col);const cellInfo=skeleton.getCellByIndexWithNoHeader(row,col),{isMerged,isMergedMainCell,mergeInfo}=cellInfo;let{startY,endY,startX,endX}=cellInfo;if((isMergedMainCell||isMerged)&&(startY=mergeInfo.startY,endY=mergeInfo.endY,startX=mergeInfo.startX,endX=mergeInfo.endX),isMerged){const mainCell={row:mergeInfo.startRow,col:mergeInfo.startColumn};cellData=worksheet.getCell(mainCell.row,mainCell.col)}if(!this.isRenderDiffRangesByRow(mergeInfo.startRow,mergeInfo.endRow,diffRanges))return!0;if(cellInfo.isMerged||cellInfo.isMergedMainCell){const rangeStr=stringifyRange(mergeInfo);if(mergeCellRendered.has(rangeStr))return;mergeCellRendered.add(rangeStr)}if(cellData){if((_a10=cellData.markers)!=null&&_a10.tr){ctx.save();const marker=cellData.markers.tr,x=endX,y=startY;ctx.fillStyle=marker.color,ctx.moveTo(x,y),ctx.beginPath(),ctx.lineTo(x-marker.size,y),ctx.lineTo(x,y+marker.size),ctx.lineTo(x,y),ctx.closePath(),ctx.fill(),ctx.restore()}if((_b=cellData.markers)!=null&&_b.tl){ctx.save();const marker=cellData.markers.tl,x=startX,y=startY;ctx.fillStyle=marker.color,ctx.moveTo(x,y),ctx.beginPath(),ctx.lineTo(x+marker.size,y),ctx.lineTo(x,y+marker.size),ctx.lineTo(x,y),ctx.closePath(),ctx.fill(),ctx.restore()}if((_c=cellData.markers)!=null&&_c.br){ctx.save();const marker=cellData.markers.br,x=endX,y=endY;ctx.fillStyle=marker.color,ctx.moveTo(x,y),ctx.beginPath(),ctx.lineTo(x-marker.size,y),ctx.lineTo(x,y-marker.size),ctx.lineTo(x,y),ctx.closePath(),ctx.fill(),ctx.restore()}if((_d=cellData.markers)!=null&&_d.bl){ctx.save();const marker=cellData.markers.bl,x=startX,y=endY;ctx.fillStyle=marker.color,ctx.moveTo(x,y),ctx.beginPath(),ctx.lineTo(x+marker.size,y),ctx.lineTo(x,y-marker.size),ctx.lineTo(x,y),ctx.closePath(),ctx.fill(),ctx.restore()}}})}};__name(_Marker,"Marker");let Marker=_Marker;SpreadsheetExtensionRegistry.add(Marker);const UNIQUE_KEY$4="DefaultRowHeaderLayoutExtension",DEFAULT_ROW_STYLE={fontSize:13,fontFamily:DEFAULT_FONTFACE_PLANE,fontColor:"#000000",backgroundColor:getColor([248,249,250]),borderColor:getColor([217,217,217]),textAlign:"center",textBaseline:"middle"},_RowHeaderLayout=class _RowHeaderLayout extends SheetExtension{constructor(cfg){super();__publicField(this,"uKey",UNIQUE_KEY$4);__publicField(this,"Z_INDEX",10);__publicField(this,"rowsCfg",[]);__publicField(this,"headerStyle",{fontSize:DEFAULT_ROW_STYLE.fontSize,fontFamily:DEFAULT_ROW_STYLE.fontFamily,fontColor:DEFAULT_ROW_STYLE.fontColor,backgroundColor:DEFAULT_ROW_STYLE.backgroundColor,borderColor:DEFAULT_ROW_STYLE.borderColor,textAlign:DEFAULT_ROW_STYLE.textAlign,textBaseline:DEFAULT_ROW_STYLE.textBaseline});cfg&&this.configHeaderRow(cfg)}configHeaderRow(cfg){this.rowsCfg=cfg.rowsCfg||[],this.headerStyle={...this.headerStyle,...cfg.headerStyle}}getCfgOfCurrentRow(rowIndex){let mergeWithSpecCfg,curRowSpecCfg;const rowsCfg=this.rowsCfg||[];rowsCfg[rowIndex]?(typeof rowsCfg[rowIndex]=="string"&&(rowsCfg[rowIndex]={text:rowsCfg[rowIndex]}),curRowSpecCfg=rowsCfg[rowIndex],mergeWithSpecCfg={...this.headerStyle,...curRowSpecCfg}):mergeWithSpecCfg={...this.headerStyle,text:`${rowIndex+1}`};const specStyle=Object.keys(curRowSpecCfg||{}).length>1;return[mergeWithSpecCfg,specStyle]}setStyleToCtx(ctx,rowStyle){rowStyle.textAlign&&(ctx.textAlign=rowStyle.textAlign),rowStyle.textBaseline&&(ctx.textBaseline=rowStyle.textBaseline),rowStyle.fontColor&&(ctx.fillStyle=rowStyle.fontColor),rowStyle.borderColor&&(ctx.strokeStyle=rowStyle.borderColor),rowStyle.fontSize&&(ctx.font=`${rowStyle.fontSize}px ${DEFAULT_FONTFACE_PLANE}`)}draw(ctx,parentScale,spreadsheetSkeleton){const{rowColumnSegment,rowHeaderWidth=0}=spreadsheetSkeleton,{startRow,endRow}=rowColumnSegment;if(!spreadsheetSkeleton||rowHeaderWidth===0)return;const{rowHeightAccumulation,columnTotalWidth,columnWidthAccumulation,rowTotalHeight}=spreadsheetSkeleton;if(!rowHeightAccumulation||!columnWidthAccumulation||columnTotalWidth===void 0||rowTotalHeight===void 0)return;const scale=this._getScale(parentScale);this.setStyleToCtx(ctx,this.headerStyle),ctx.save(),ctx.fillStyle=this.headerStyle.backgroundColor,ctx.fillRectByPrecision(0,0,rowHeaderWidth,rowTotalHeight),ctx.restore(),ctx.setLineWidthByPrecision(1),ctx.translateWithPrecisionRatio(FIX_ONE_PIXEL_BLUR_OFFSET,FIX_ONE_PIXEL_BLUR_OFFSET);let preRowPosition=0;const rowHeightAccumulationLength=rowHeightAccumulation.length;for(let r=startRow-1;r<=endRow;r++){if(r<0||r>rowHeightAccumulationLength-1)continue;const rowEndPosition=rowHeightAccumulation[r];if(preRowPosition===rowEndPosition)continue;const cellBound={left:0,top:preRowPosition,right:rowHeaderWidth,bottom:rowEndPosition,width:rowHeaderWidth,height:rowEndPosition-preRowPosition},[curRowCfg,specStyle]=this.getCfgOfCurrentRow(r);specStyle&&curRowCfg.backgroundColor&&(ctx.save(),ctx.fillStyle=curRowCfg.backgroundColor,ctx.fillRectByPrecision(cellBound.left,cellBound.top,cellBound.width,cellBound.height),ctx.restore()),ctx.beginPath(),ctx.moveToByPrecision(cellBound.left,cellBound.bottom),ctx.lineToByPrecision(cellBound.right,cellBound.bottom),ctx.stroke();const textX=(()=>{switch(curRowCfg.textAlign){case"center":return cellBound.left+(cellBound.right-cellBound.left)/2;case"right":return cellBound.right-MIDDLE_CELL_POS_MAGIC_NUMBER;case"left":return cellBound.left+MIDDLE_CELL_POS_MAGIC_NUMBER;default:return cellBound.left+(cellBound.right-cellBound.left)/2}})(),middleYCellRect=preRowPosition+(rowEndPosition-preRowPosition)/2+MIDDLE_CELL_POS_MAGIC_NUMBER;specStyle&&(ctx.save(),ctx.beginPath(),this.setStyleToCtx(ctx,curRowCfg),ctx.rectByPrecision(cellBound.left,cellBound.top,cellBound.width,cellBound.height),ctx.clip()),ctx.fillText(curRowCfg.text,textX,middleYCellRect),specStyle&&ctx.restore(),preRowPosition=rowEndPosition}const rowHeaderWidthFix=rowHeaderWidth-.5/scale;ctx.beginPath(),ctx.moveToByPrecision(rowHeaderWidthFix,0),ctx.lineToByPrecision(rowHeaderWidthFix,rowTotalHeight),ctx.stroke()}};__name(_RowHeaderLayout,"RowHeaderLayout");let RowHeaderLayout=_RowHeaderLayout;SheetRowHeaderExtensionRegistry.add(new RowHeaderLayout);var ShowGridlinesState=(ShowGridlinesState2=>(ShowGridlinesState2[ShowGridlinesState2.OFF=0]="OFF",ShowGridlinesState2[ShowGridlinesState2.ON=1]="ON",ShowGridlinesState2))(ShowGridlinesState||{}),SHEET_VIEWPORT_KEY=(SHEET_VIEWPORT_KEY2=>(SHEET_VIEWPORT_KEY2.VIEW_MAIN="viewMain",SHEET_VIEWPORT_KEY2.VIEW_MAIN_LEFT_TOP="viewMainLeftTop",SHEET_VIEWPORT_KEY2.VIEW_MAIN_TOP="viewMainTop",SHEET_VIEWPORT_KEY2.VIEW_MAIN_LEFT="viewMainLeft",SHEET_VIEWPORT_KEY2.VIEW_ROW_TOP="viewRowTop",SHEET_VIEWPORT_KEY2.VIEW_ROW_BOTTOM="viewRowBottom",SHEET_VIEWPORT_KEY2.VIEW_COLUMN_LEFT="viewColumnLeft",SHEET_VIEWPORT_KEY2.VIEW_COLUMN_RIGHT="viewColumnRight",SHEET_VIEWPORT_KEY2.VIEW_LEFT_TOP="viewLeftTop",SHEET_VIEWPORT_KEY2))(SHEET_VIEWPORT_KEY||{});const _SpreadsheetRowHeader=class _SpreadsheetRowHeader extends SpreadsheetHeader{constructor(oKey,spreadsheetSkeleton){super(oKey,spreadsheetSkeleton);__publicField(this,"_rowHeaderLayoutExtension");this._initialDefaultExtension(),this.makeDirty(!0)}getDocuments(){throw new Error("Method not implemented.")}getNoMergeCellPositionByIndex(rowIndex,columnIndex){throw new Error("Method not implemented.")}getSelectionBounding(startRow,startColumn,endRow,endColumn){throw new Error("Method not implemented.")}get rowHeaderLayoutExtension(){return this._rowHeaderLayoutExtension}draw(ctx,bounds){const spreadsheetSkeleton=this.getSkeleton();if(!spreadsheetSkeleton)return;const parentScale=this.getParentScale();spreadsheetSkeleton.calculateSegment(bounds);const segment=spreadsheetSkeleton.rowColumnSegment;if(!segment||segment.startRow===-1&&segment.endRow===-1)return;const{columnHeaderHeight}=spreadsheetSkeleton;ctx.translateWithPrecision(0,columnHeaderHeight);const extensions=this.getExtensionsByOrder();for(const extension of extensions)extension.draw(ctx,parentScale,spreadsheetSkeleton)}isHit(coord){const oCoord=this.getInverseCoord(coord),skeleton=this.getSkeleton();if(!skeleton)return!1;const{rowHeaderWidth,columnHeaderHeight}=skeleton;return oCoord.x>=0&&oCoord.x<=rowHeaderWidth&&oCoord.y>columnHeaderHeight}_initialDefaultExtension(){SheetRowHeaderExtensionRegistry.getData().forEach(extension=>{this.register(extension)}),this._rowHeaderLayoutExtension=this.getExtensionByKey("DefaultRowHeaderLayoutExtension")}setCustomHeader(cfg){this.makeDirty(!0),this._rowHeaderLayoutExtension.configHeaderRow(cfg)}};__name(_SpreadsheetRowHeader,"SpreadsheetRowHeader");let SpreadsheetRowHeader=_SpreadsheetRowHeader;const _DocComponent=class _DocComponent extends RenderComponent{constructor(oKey,_skeleton,config){super(oKey);__publicField(this,"pageMarginLeft",0);__publicField(this,"pageMarginTop",0);__publicField(this,"pageLayoutType",PageLayoutType.VERTICAL);this._skeleton=_skeleton,this._setConfig(config)}getSkeleton(){return this._skeleton}setSkeleton(skeleton){this._skeleton=skeleton}_setConfig(config){(config==null?void 0:config.pageMarginLeft)!=null?this.pageMarginLeft=config==null?void 0:config.pageMarginLeft:this.pageMarginLeft=17,(config==null?void 0:config.pageMarginTop)!=null?this.pageMarginTop=config==null?void 0:config.pageMarginTop:this.pageMarginTop=14,(config==null?void 0:config.pageLayoutType)!=null?this.pageLayoutType=config==null?void 0:config.pageLayoutType:this.pageLayoutType=PageLayoutType.VERTICAL}render(mainCtx,bounds){if(!this.visible)return this.makeDirty(!1),this;if(!this._skeleton)return;const m=this.transform.getMatrix();mainCtx.save(),mainCtx.transform(m[0],m[1],m[2],m[3],m[4],m[5]),this._draw(mainCtx,bounds),mainCtx.restore()}getParentScale(){if(!this.parent)return{scaleX:1,scaleY:1};let{scaleX=1,scaleY=1}=this.parent;return this.parent.classType===RENDER_CLASS_TYPE.SCENE&&(scaleX=this.parent.ancestorScaleX||1,scaleY=this.parent.ancestorScaleY||1),{scaleX,scaleY}}isSkipByDiffBounds(page,pageTop,pageLeft,bounds){if(bounds==null)return!1;const{pageWidth,pageHeight,marginBottom,marginTop,marginLeft,marginRight}=page,pageRight=pageLeft+pageWidth+marginLeft+marginRight,pageBottom=pageTop+pageHeight+marginBottom+marginTop,{left,top,right,bottom}=bounds.viewBound;return pageRight<left||pageBottom<top||pageLeft>right&&pageWidth!==Number.POSITIVE_INFINITY||pageTop>bottom&&pageHeight!==Number.POSITIVE_INFINITY}};__name(_DocComponent,"DocComponent");let DocComponent=_DocComponent;var DOCS_EXTENSION_TYPE=(DOCS_EXTENSION_TYPE2=>(DOCS_EXTENSION_TYPE2[DOCS_EXTENSION_TYPE2.SPAN=0]="SPAN",DOCS_EXTENSION_TYPE2[DOCS_EXTENSION_TYPE2.LINE=1]="LINE",DOCS_EXTENSION_TYPE2))(DOCS_EXTENSION_TYPE||{});const _docExtension=class _docExtension extends ComponentExtension{constructor(){super(...arguments);__publicField(this,"type",0);__publicField(this,"translateX",0);__publicField(this,"translateY",0)}};__name(_docExtension,"docExtension");let docExtension=_docExtension;const UNIQUE_KEY$3="DefaultDocsBackgroundExtension",DOC_EXTENSION_Z_INDEX$2=10,_Background=class _Background extends docExtension{constructor(){super(...arguments);__publicField(this,"uKey",UNIQUE_KEY$3);__publicField(this,"Z_INDEX",DOC_EXTENSION_Z_INDEX$2);__publicField(this,"_preBackgroundColor","")}draw(ctx,parentScale,span){var _a10;const line2=(_a10=span.parent)==null?void 0:_a10.parent;if(line2==null)return;const{contentHeight=0}=line2,{ts:textStyle,width,content}=span;if((textStyle==null?void 0:textStyle.bg)==null)return;const{bg}=textStyle,background=core.getColorStyle(bg),{spanStartPoint=Vector2.create(0,0)}=this.extensionOffset,DELTA=1;background&&content!=="\r"&&(ctx.fillStyle=background,ctx.fillRectByPrecision(spanStartPoint.x-.5,spanStartPoint.y+1,width+1,contentHeight+2*DELTA))}clearCache(){this._preBackgroundColor=""}};__name(_Background,"Background");let Background=_Background;DocumentsSpanAndLineExtensionRegistry.add(new Background);const UNIQUE_KEY$2="DefaultDocsBorderExtension",_Border=class _Border extends docExtension{constructor(){super(...arguments);__publicField(this,"uKey",UNIQUE_KEY$2);__publicField(this,"Z_INDEX",50);__publicField(this,"_preBorderStyle");__publicField(this,"_preBorderColor","")}draw(ctx,parentScale,glyph){var _a10;const line2=(_a10=glyph.parent)==null?void 0:_a10.parent;if(!line2)return;const{asc:maxLineAsc=0,lineHeight=0}=line2,{ts:textStyle,left,width:spanWidth}=glyph;if(!textStyle)return;const{bd:borderData}=textStyle;if(!borderData)return;const precisionScale=this._getScale(ctx.getScale()),borderCache=this._createBorderCache(borderData);ctx.save(),ctx.translateWithPrecisionRatio(FIX_ONE_PIXEL_BLUR_OFFSET,FIX_ONE_PIXEL_BLUR_OFFSET);const{spanStartPoint=Vector2.create(0,0)}=this.extensionOffset;for(const type of borderCache.keys()){const borderCacheValue=borderCache.get(type);if(!borderCacheValue)continue;const{s:style,cl:colorStyle}=borderCacheValue,color=core.getColorStyle(colorStyle)||COLOR_BLACK_RGB,lineWidth=getLineWidth(style);style!==this._preBorderStyle&&(setLineType(ctx,style),ctx.setLineWidthByPrecision(lineWidth),this._preBorderStyle=style),color!==this._preBorderColor&&(ctx.strokeStyle=color||COLOR_BLACK_RGB,this._preBorderColor=color),drawLineByBorderType(ctx,type,(lineWidth-1)/2/precisionScale,{startX:spanStartPoint.x,startY:spanStartPoint.y,endX:spanStartPoint.x+spanWidth,endY:spanStartPoint.y+lineHeight})}ctx.restore()}clearCache(){this._preBorderStyle=null,this._preBorderColor=""}_createBorderCache(borderData){const{t,b,l,r}=borderData,borderCache=new Map;return t&&borderCache.set(BORDER_TYPE.TOP,t),b&&borderCache.set(BORDER_TYPE.BOTTOM,b),l&&borderCache.set(BORDER_TYPE.LEFT,l),r&&borderCache.set(BORDER_TYPE.RIGHT,r),borderCache}};__name(_Border,"Border");let Border=_Border;DocumentsSpanAndLineExtensionRegistry.add(new Border);const BASE_OBJECT_ARRAY_Set=new Set(BASE_OBJECT_ARRAY),SHAPE_OBJECT_ARRAY=["hoverCursor","moveCursor","fillRule","globalCompositeOperation","paintFirst","stroke","strokeScaleEnabled","fill","fillAfterStrokeEnabled","hitStrokeWidth","strokeLineJoin","strokeLineCap","shadowColor","shadowBlur","shadowOffset","shadowOffsetX","shadowOffsetY","shadowOpacity","shadowEnabled","shadowForStrokeEnabled","strokeDashArray","strokeDashOffset","strokeMiterLimit"],_Shape=class _Shape extends BaseObject{constructor(key,props){super(key);__publicField(this,"_hoverCursor");__publicField(this,"_moveCursor",null);__publicField(this,"_fillRule","nonzero");__publicField(this,"_globalCompositeOperation","source-over");__publicField(this,"_paintFirst","fill");__publicField(this,"_stroke");__publicField(this,"_strokeScaleEnabled",!1);__publicField(this,"_fill");__publicField(this,"_fillAfterStrokeEnabled",!1);__publicField(this,"_hitStrokeWidth",0);__publicField(this,"_strokeLineJoin","round");__publicField(this,"_strokeLineCap","round");__publicField(this,"_shadowColor");__publicField(this,"_shadowBlur",0);__publicField(this,"_shadowOffset");__publicField(this,"_shadowOffsetX",0);__publicField(this,"_shadowOffsetY",0);__publicField(this,"_shadowOpacity",0);__publicField(this,"_shadowEnabled",!1);__publicField(this,"_shadowForStrokeEnabled",!1);__publicField(this,"_strokeDashArray");__publicField(this,"_strokeDashOffset",0);__publicField(this,"_strokeMiterLimit",0);__publicField(this,"_type",SHAPE_TYPE.RECT);__publicField(this,"objectType",ObjectType.SHAPE);this._initialProps(props)}get hoverCursor(){return this._hoverCursor}get moveCursor(){return this._moveCursor}get fillRule(){return this._fillRule}get globalCompositeOperation(){return this._globalCompositeOperation}get paintFirst(){return this._paintFirst}get stroke(){return this._stroke}get strokeScaleEnabled(){return this._strokeScaleEnabled}get fill(){return this._fill}get fillAfterStrokeEnabled(){return this._fillAfterStrokeEnabled}get hitStrokeWidth(){return this._hitStrokeWidth}get strokeLineJoin(){return this._strokeLineJoin}get strokeLineCap(){return this._strokeLineCap}get shadowColor(){return this._shadowColor}get shadowBlur(){return this._shadowBlur}get shadowOffset(){return this._shadowOffset}get shadowOffsetX(){return this._shadowOffsetX}get shadowOffsetY(){return this._shadowOffsetY}get shadowOpacity(){return this._shadowOpacity}get shadowEnabled(){return this._shadowEnabled}get shadowForStrokeEnabled(){return this._shadowForStrokeEnabled}get strokeDashArray(){return this._strokeDashArray}get strokeDashOffset(){return this._strokeDashOffset}get strokeMiterLimit(){return this._strokeMiterLimit}static drawWith(ctx,props){}static _renderPaintInOrder(ctx,props){props.paintFirst==="stroke"?(this._renderStroke(ctx,props),this._renderFill(ctx,props)):(this._renderFill(ctx,props),this._renderStroke(ctx,props))}static _renderFill(ctx,props){props.fill&&(ctx.save(),this._setFillStyles(ctx,props),props.fillRule==="evenodd"?ctx.fill("evenodd"):ctx.fill(),ctx.restore())}static _renderStroke(ctx,props){const{stroke,strokeWidth,strokeScaleEnabled}=props;!stroke||strokeWidth===0||(ctx.save(),this._setStrokeStyles(ctx,props),ctx.stroke(),ctx.restore())}static _removeShadow(ctx){}static _setFillStyles(ctx,props){ctx.fillStyle=props.fill}static _setStrokeStyles(ctx,props){const{strokeWidth,strokeLineCap,strokeDashOffset,strokeLineJoin,strokeMiterLimit,stroke}=props;ctx.lineWidth=strokeWidth,ctx.lineCap=strokeLineCap,ctx.lineDashOffset=strokeDashOffset,ctx.lineJoin=strokeLineJoin,ctx.miterLimit=strokeMiterLimit,ctx.strokeStyle=stroke}render(mainCtx,bounds){if(!this.visible)return this.makeDirty(!1),this;if(this.isRender(bounds)){const{top,left,bottom,right}=bounds.viewBound;if(this.width+this.strokeWidth+this.left<left||right<this.left||this.height+this.strokeWidth+this.top<top||bottom<this.top)return this}const m=this.transform.getMatrix();return mainCtx.save(),mainCtx.transform(m[0],m[1],m[2],m[3],m[4],m[5]),this._draw(mainCtx,bounds),mainCtx.restore(),this.makeDirty(!1),this}setProps(props){if(!props)return this;const themeKeys=Object.keys(props);return themeKeys.length===0?this:(themeKeys.forEach(key=>{if(props[key]===void 0)return!0;BASE_OBJECT_ARRAY_Set.has(key)||(this[`_${key}`]=props[key])}),this.makeDirty(!0),this)}toJson(){const props={};return SHAPE_OBJECT_ARRAY.forEach(key=>{this[key]&&(props[key]=this[key])}),{...super.toJson(),...props}}_draw(ctx,bounds){}_initialProps(props){if(!props)return;const themeKeys=Object.keys(props);if(themeKeys.length===0)return;const transformState={};let hasTransformState=!1;const hasRotateEnabled=(props==null?void 0:props.rotateEnabled)!==void 0,hasResizeEnabled=(props==null?void 0:props.resizeEnabled)!==void 0;if(hasRotateEnabled||hasResizeEnabled){const transformerConfig=this.transformerConfig||{};hasRotateEnabled&&(transformerConfig.rotateEnabled=props==null?void 0:props.rotateEnabled),hasResizeEnabled&&(transformerConfig.resizeEnabled=props==null?void 0:props.resizeEnabled),this.transformerConfig={...transformerConfig}}themeKeys.forEach(key=>{if(props[key]===void 0)return!0;BASE_OBJECT_ARRAY_Set.has(key)?(transformState[key]=props[key],hasTransformState=!0):this[`_${key}`]=props[key]}),hasTransformState&&this.transformByState(transformState),this.makeDirty(!0)}};__name(_Shape,"Shape");let Shape=_Shape;const CHECK_OBJECT_ARRAY=["checked"],_Checkbox=class _Checkbox extends Shape{constructor(key,props){super(key,props);__publicField(this,"_checked",!1);core.Tools.isDefine(props.checked)&&(this._checked=props.checked)}get checked(){return this._checked}static drawWith(ctx,props){const{width=16,height=16,fill,checked,top=0,left=0}=props,uncheckedPath=new Path2D("M12 2.65381H4C3.17157 2.65381 2.5 3.32538 2.5 4.15381V12.1538C2.5 12.9822 3.17157 13.6538 4 13.6538H12C12.8284 13.6538 13.5 12.9822 13.5 12.1538V4.15381C13.5 3.32538 12.8284 2.65381 12 2.65381ZM4 1.65381C2.61929 1.65381 1.5 2.7731 1.5 4.15381V12.1538C1.5 13.5345 2.61929 14.6538 4 14.6538H12C13.3807 14.6538 14.5 13.5345 14.5 12.1538V4.15381C14.5 2.7731 13.3807 1.65381 12 1.65381H4Z"),checkedPath=new Path2D("M3.99243 1.65381C2.61172 1.65381 1.49243 2.77295 1.49243 4.15381V12.1538C1.49243 13.5347 2.61172 14.6538 3.99243 14.6538H11.9924C13.3731 14.6538 14.4924 13.5347 14.4924 12.1538V4.15381C14.4924 2.77295 13.3731 1.65381 11.9924 1.65381H3.99243ZM12.3779 6.3623C12.6317 6.1084 12.6317 5.69678 12.3779 5.44287C12.1241 5.18896 11.7125 5.18896 11.4586 5.44287L7.21062 9.69092L5.00681 7.4873C4.75296 7.2334 4.3414 7.2334 4.08755 7.4873C3.83372 7.74072 3.83372 8.15234 4.08757 8.40625L6.85709 11.1758C7.05234 11.3711 7.36893 11.3711 7.56418 11.1758L12.3779 6.3623Z");ctx.save(),ctx.translate(left,top),ctx.scale(width/16,height/16),fill&&(ctx.fillStyle=fill),checked?ctx.fill(checkedPath,"evenodd"):ctx.fill(uncheckedPath,"evenodd"),ctx.restore()}_draw(ctx){_Checkbox.drawWith(ctx,this)}toJson(){const props={};return CHECK_OBJECT_ARRAY.forEach(key=>{this[key]&&(props[key]=this[key])}),{...super.toJson(),...props}}};__name(_Checkbox,"Checkbox");let Checkbox=_Checkbox;const CIRCLE_OBJECT_ARRAY=["radius"],_Circle=class _Circle extends Shape{constructor(key,props){super(key,props);__publicField(this,"_radius");__publicField(this,"objectType",ObjectType.CIRCLE);this._radius=(props==null?void 0:props.radius)||10,this._setFixBoundingBox(),this.onTransformChange$.subscribeEvent(changeState=>{const{type,value,preValue}=changeState;if(type===TRANSFORM_CHANGE_OBSERVABLE_TYPE.resize||type===TRANSFORM_CHANGE_OBSERVABLE_TYPE.all){const value2=Math.min(this.width,this.height);this._radius=value2/2,this.width=value2,this.height=value2,this._setTransForm()}})}get radius(){return this._radius}static drawWith(ctx,props){let{radius}=props;radius=radius!=null?radius:10,ctx.beginPath(),props.strokeDashArray&&ctx.setLineDash(props.strokeDashArray),ctx.beginPath(),ctx.arc(radius,radius,radius||0,0,Math.PI*2,!1),ctx.closePath(),this._renderPaintInOrder(ctx,props)}toJson(){const props={};return CIRCLE_OBJECT_ARRAY.forEach(key=>{this[key]&&(props[key]=this[key])}),{...super.toJson(),...props}}_draw(ctx){_Circle.drawWith(ctx,this)}_setFixBoundingBox(){this.transformByState({width:this._radius*2,height:this._radius*2})}};__name(_Circle,"Circle");let Circle=_Circle;const _Control=class _Control{};__name(_Control,"Control");let Control=_Control;const RECT_OBJECT_ARRAY=["radius"],_Rect=class _Rect extends Shape{constructor(key,props){super(key,props);__publicField(this,"objectType",ObjectType.RECT);__publicField(this,"_radius",0);__publicField(this,"_visualHeight");__publicField(this,"_visualWidth");props!=null&&props.radius&&(this._radius=props.radius),props!=null&&props.visualHeight&&(this._visualHeight=props.visualHeight),props!=null&&props.visualWidth&&(this._visualWidth=props.visualWidth)}get visualHeight(){return this._visualHeight}get visualWidth(){return this._visualWidth}get radius(){return this._radius}static drawWith(ctx,props){let{radius,width,height}=props;if(radius=radius!=null?radius:0,width=width!=null?width:0,height=height!=null?height:0,ctx.save(),ctx.beginPath(),props.strokeDashArray&&ctx.setLineDash(props.strokeDashArray),props.visualHeight&&(ctx.translate(0,(height-(props.visualHeight||0))/2),height=props.visualHeight),props.visualWidth&&(ctx.translate((width-(props.visualWidth||0))/2,0),width=props.visualWidth),!radius)ctx.rect(0,0,width,height);else{let topLeft=0,topRight=0,bottomLeft=0,bottomRight=0;topLeft=topRight=bottomLeft=bottomRight=Math.min(radius,width/2,height/2),ctx.moveTo(topLeft,0),ctx.lineTo(width-topRight,0),ctx.arc(width-topRight,topRight,topRight,Math.PI*3/2,0,!1),ctx.lineTo(width,height-bottomRight),ctx.arc(width-bottomRight,height-bottomRight,bottomRight,0,Math.PI/2,!1),ctx.lineTo(bottomLeft,height),ctx.arc(bottomLeft,height-bottomLeft,bottomLeft,Math.PI/2,Math.PI,!1),ctx.lineTo(0,topLeft),ctx.arc(topLeft,topLeft,topLeft,Math.PI,Math.PI*3/2,!1)}ctx.closePath(),this._renderPaintInOrder(ctx,props),ctx.restore()}toJson(){const props={};return RECT_OBJECT_ARRAY.forEach(key=>{this[key]&&(props[key]=this[key])}),{...super.toJson(),...props}}_draw(ctx){_Rect.drawWith(ctx,this)}};__name(_Rect,"Rect");let Rect=_Rect;const _DashedRect=class _DashedRect extends Rect{static drawWith(ctx,props){let{radius,left,top,width,height}=props;if(radius=radius!=null?radius:0,width=width!=null?width:0,height=height!=null?height:0,left=left!=null?left:0,top=top!=null?top:0,ctx.beginPath(),ctx.setLineDash(props.strokeDashArray),!radius)ctx.rect(left,top,width,height);else{let topLeft=0,topRight=0,bottomLeft=0,bottomRight=0;topLeft=topRight=bottomLeft=bottomRight=Math.min(radius,width/2,height/2),ctx.moveTo(topLeft,0),ctx.lineTo(width-topRight,0),ctx.arc(width-topRight,topRight,topRight,Math.PI*3/2,0,!1),ctx.lineTo(width,height-bottomRight),ctx.arc(width-bottomRight,height-bottomRight,bottomRight,0,Math.PI/2,!1),ctx.lineTo(bottomLeft,height),ctx.arc(bottomLeft,height-bottomLeft,bottomLeft,Math.PI/2,Math.PI,!1),ctx.lineTo(0,topLeft),ctx.arc(topLeft,topLeft,topLeft,Math.PI,Math.PI*3/2,!1)}ctx.closePath(),this._renderPaintInOrder(ctx,props)}_draw(ctx,viewportInfo){const{radius,paintFirst,stroke,strokeWidth,fill,strokeScaleEnabled,fillRule,strokeLineCap,strokeDashOffset,strokeLineJoin,strokeMiterLimit,strokeDashArray}=this,parentTrans=this.getParent().transform,startX=parentTrans.getMatrix()[4],startY=parentTrans.getMatrix()[5],endX=startX+this.width,endY=startY+this.height,rect={left:startX,top:startY,right:endX,bottom:endY};let{left,top,right,bottom}=rect,width=right-left,height=bottom-top;if(viewportInfo){const intersectRect=core.Rectangle.getIntersectionBetweenTwoRect(rect,viewportInfo.cacheBound);intersectRect&&(left=intersectRect.left-startX,top=intersectRect.top-startY,right=intersectRect.right,bottom=intersectRect.bottom,width=intersectRect.width,height=intersectRect.height)}_DashedRect.drawWith(ctx,{radius,paintFirst,stroke,strokeWidth,fill,strokeScaleEnabled,fillRule,strokeLineCap,strokeDashOffset,strokeLineJoin,strokeMiterLimit,strokeDashArray,width,height,left,top})}};__name(_DashedRect,"DashedRect");let DashedRect=_DashedRect;const _Drawing=class _Drawing{};__name(_Drawing,"Drawing");let Drawing=_Drawing;const _Image=class _Image extends Shape{constructor(id,config){super(id,config);__publicField(this,"_props");__publicField(this,"_native");__publicField(this,"_renderByCropper",!1);__publicField(this,"_transformCalculateSrcRect",!0);__publicField(this,"objectType",ObjectType.IMAGE);this._props={...config},config.image?(this._native=config.image,this._native.crossOrigin="anonymous",this.makeDirty(!0)):config.url&&(this._native=document.createElement("img"),this._native.src=config.url,this._native.crossOrigin="anonymous",this._native.onload=()=>{var _a10,_b,_c;(_a10=config.success)==null||_a10.call(config),this.makeDirty(!0),(_c=(_b=this.getEngine())==null?void 0:_b.activeScene)==null||_c.onFileLoaded$.emitEvent(id)},this._native.onerror=()=>{config.fail?config.fail():(this._native.src="data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTMwNC4xMjggNDU2LjE5MmM0OC42NCAwIDg4LjA2NC0zOS40MjQgODguMDY0LTg4LjA2NHMtMzkuNDI0LTg4LjA2NC04OC4wNjQtODguMDY0LTg4LjA2NCAzOS40MjQtODguMDY0IDg4LjA2NCAzOS40MjQgODguMDY0IDg4LjA2NCA4OC4wNjR6bTAtMTE2LjIyNGMxNS4zNiAwIDI4LjE2IDEyLjI4OCAyOC4xNiAyOC4xNnMtMTIuMjg4IDI4LjE2LTI4LjE2IDI4LjE2LTI4LjE2LTEyLjI4OC0yOC4xNi0yOC4xNiAxMi4yODgtMjguMTYgMjguMTYtMjguMTZ6IiBmaWxsPSIjZTZlNmU2Ii8+PHBhdGggZD0iTTg4Ny4yOTYgMTU5Ljc0NEgxMzYuNzA0Qzk2Ljc2OCAxNTkuNzQ0IDY0IDE5MiA2NCAyMzIuNDQ4djU1OS4xMDRjMCAzOS45MzYgMzIuMjU2IDcyLjcwNCA3Mi43MDQgNzIuNzA0aDE5OC4xNDRMNTAwLjIyNCA2ODguNjRsLTM2LjM1Mi0yMjIuNzIgMTYyLjMwNC0xMzAuNTYtNjEuNDQgMTQzLjg3MiA5Mi42NzIgMjE0LjAxNi0xMDUuNDcyIDE3MS4wMDhoMzM1LjM2QzkyNy4yMzIgODY0LjI1NiA5NjAgODMyIDk2MCA3OTEuNTUyVjIzMi40NDhjMC0zOS45MzYtMzIuMjU2LTcyLjcwNC03Mi43MDQtNzIuNzA0em0tMTM4Ljc1MiA3MS42OHYuNTEySDg1Ny42YzE2LjM4NCAwIDMwLjIwOCAxMy4zMTIgMzAuMjA4IDMwLjIwOHYzOTkuODcyTDY3My4yOCA0MDguMDY0bDc1LjI2NC0xNzYuNjR6TTMwNC42NCA3OTIuMDY0SDE2NS44ODhjLTE2LjM4NCAwLTMwLjIwOC0xMy4zMTItMzAuMjA4LTMwLjIwOHYtOS43MjhsMTM4Ljc1Mi0xNjQuMzUyIDEwNC45NiAxMjQuNDE2LTc0Ljc1MiA3OS44NzJ6bTgxLjkyLTM1NS44NGwzNy4zNzYgMjI4Ljg2NC0uNTEyLjUxMi0xNDIuODQ4LTE2OS45ODRjLTMuMDcyLTMuNTg0LTkuMjE2LTMuNTg0LTEyLjI4OCAwTDEzNS42OCA2NTIuOFYyNjIuMTQ0YzAtMTYuMzg0IDEzLjMxMi0zMC4yMDggMzAuMjA4LTMwLjIwOGg0NzQuNjI0TDM4Ni41NiA0MzYuMjI0em01MDEuMjQ4IDMyNS42MzJjMCAxNi44OTYtMTMuMzEyIDMwLjIwOC0yOS42OTYgMzAuMjA4SDY4MC45Nmw1Ny4zNDQtOTMuMTg0LTg3LjU1Mi0yMDIuMjQgNy4xNjgtNy42OCAyMjkuODg4IDI3Mi44OTZ6IiBmaWxsPSIjZTZlNmU2Ii8+PC9zdmc+",this.makeDirty(!0))}),this._init()}get srcRect(){return this._props.srcRect}get prstGeom(){return this._props.prstGeom}get opacity(){var _a10;return(_a10=this._props.opacity)!=null?_a10:1}setOpacity(opacity){this._props.opacity=opacity,this.makeDirty(!0)}get classType(){return RENDER_CLASS_TYPE.IMAGE}transformByStateCloseCropper(option){this._transformCalculateSrcRect=!1,this.transformByState(option),this._transformCalculateSrcRect=!0}changeSource(url){this._native==null&&(this._native=document.createElement("img")),this._native.src=url,this._native.onload=()=>{this.makeDirty(!0)}}resetSize(){this._native!=null&&(this.transformByState({width:this._native.width,height:this._native.height}),this.setSrcRect(null))}setPrstGeom(prstGeom){this._props.prstGeom=prstGeom}setSrcRect(srcRect){this._props.srcRect=srcRect,this.makeDirty(!0)}getProps(){return this._props}getNative(){return this._native}getNativeSize(){return this._native==null?{width:this.width,height:this.height}:{width:this._native.width,height:this._native.height}}closeRenderByCropper(){this._renderByCropper=!1}openRenderByCropper(){this._renderByCropper=!0,this._transformBySrcRect()}calculateTransformWithSrcRect(){const{left:imageLeft,top:imageTop,width:imageWidth,height:imageHeight}=this;if(this.srcRect==null)return{left:imageLeft,top:imageTop,width:imageWidth,height:imageHeight,angle:this.angle};const{left=0,top=0,right=0,bottom=0}=this.srcRect,newLeft=imageLeft-left,newTop=imageTop-top,width=imageWidth+right+left,height=imageHeight+bottom+top;return{left:newLeft,top:newTop,width,height,angle:this.angle}}_transformBySrcRect(){if(this.srcRect==null)return;const{left=0,top=0,right=0,bottom=0}=this.srcRect,{width:imageWidth,height:imageHeight}=this;let{left:newLeft,top:newTop,width,height}=this.calculateTransformWithSrcRect();if(this.angle!==0){const cx=(imageWidth+this.strokeWidth)/2,cy=(imageHeight+this.strokeWidth)/2,newCx=width/2-left,newCy=height/2-top,finalPoint=offsetRotationAxis(new Vector2(cx,cy),this.angle,new Vector2(newLeft,newTop),new Vector2(newCx,newCy));newLeft=finalPoint.x,newTop=finalPoint.y}this.transformByState({left:newLeft,top:newTop,width,height})}render(mainCtx,bounds){if(!this.visible)return this.makeDirty(!1),this;if(this.isRender(bounds)){const{top,left,bottom,right}=bounds.viewBound;if(this.width+this.strokeWidth+this.left<left||right<this.left||this.height+this.strokeWidth+this.top<top||bottom<this.top)return this}const m=this.transform.getMatrix();return mainCtx.save(),mainCtx.transform(m[0],m[1],m[2],m[3],m[4],m[5]),this.opacity!==1&&(mainCtx.globalAlpha=this.opacity),this._draw(mainCtx),mainCtx.restore(),this.makeDirty(!1),this}_draw(ctx){if(this._native!=null)if(!this._renderByCropper&&this.srcRect){const{left=0,top=0,right=0,bottom=0}=this.srcRect;ctx.beginPath(),ctx.rect(0,0,this.width,this.height),ctx.clip(),ctx.drawImage(this._native,-left,-top,this.width+right+left,this.height+bottom+top)}else ctx.drawImage(this._native,0,0,this.width,this.height)}_init(){this.onTransformChange$.subscribeEvent(state=>{this._updateSrcRectByTransform(state)})}_updateSrcRectByTransform(state){if(this.srcRect==null||!this._transformCalculateSrcRect)return;const{width,height,left,top,angle}=this,{width:preWidth=0,height:preHeight=0,left:preLeft=0,top:preTop=0,angle:preAngle}=state.preValue,{left:srcLeft=0,top:srcTop=0,right:srcRight=0,bottom:srcBottom=0}=this.srcRect;let newLeft=srcLeft,newTop=srcTop,newRight=srcRight,newBottom=srcBottom,isChange=!1;if(preWidth!==0&&preWidth!==width){const preLeftRatio=srcLeft/preWidth,preRightRatio=srcRight/preWidth;newLeft=width*preLeftRatio,newRight=width*preRightRatio,isChange=!0}if(preHeight!==0&&preHeight!==height){const preTopRatio=srcTop/preHeight,preBottomRatio=srcBottom/preHeight;newTop=height*preTopRatio,newBottom=height*preBottomRatio,isChange=!0}isChange&&this.setSrcRect({left:newLeft,top:newTop,right:newRight,bottom:newBottom})}};__name(_Image,"Image");let Image=_Image;const PATH_OBJECT_ARRAY=["dataArray"],_Path=class _Path extends Shape{constructor(key,props){super(key,props);__publicField(this,"_dataArray",[]);__publicField(this,"_pathLength",0);__publicField(this,"_selfRectCache",{left:0,top:0,width:0,height:0});__publicField(this,"_reCalculateCache",!0);props!=null&&props.data?this._dataArray=_Path.parsePathData(props.data):props!=null&&props.dataArray&&(this._dataArray=props.dataArray);for(let i=0;i<this.dataArray.length;++i)this._pathLength+=this.dataArray[i].pathLength;this._setFixBoundingBox(),this.onTransformChange$.subscribeEvent(changeState=>{const{type,preValue}=changeState;if(type===TRANSFORM_CHANGE_OBSERVABLE_TYPE.resize||type===TRANSFORM_CHANGE_OBSERVABLE_TYPE.all){this._reCalculateCache=!0;const{left,top,width,height}=this._getSelfRect(),{width:preWidth,height:preHeight}=preValue;let fixX,fixY;preWidth?fixX=this.width-preWidth:fixX=0,preHeight?fixY=this.height-preHeight:fixY=0;const increaseScaleX=fixX/width,increaseScaleY=fixY/height;this.scaleX+=increaseScaleX,this.scaleY+=increaseScaleY,this.left=this.left-left*increaseScaleX,this.top=this.top-top*increaseScaleY,this._setTransForm()}})}get dataArray(){return this._dataArray}static drawWith(ctx,props){const ca=props.dataArray;if(ca){ctx.beginPath();for(let n=0;n<ca.length;n++){const c=ca[n].command,p=ca[n].points;switch(c){case"L":ctx.lineTo(p[0],p[1]);break;case"M":ctx.moveTo(p[0],p[1]);break;case"C":ctx.bezierCurveTo(p[0],p[1],p[2],p[3],p[4],p[5]);break;case"Q":ctx.quadraticCurveTo(p[0],p[1],p[2],p[3]);break;case"A":{const cx=p[0],cy=p[1],rx=p[2],ry=p[3],theta=p[4],dTheta=p[5],psi=p[6],fs=p[7],r=rx>ry?rx:ry,scaleX=rx>ry?1:rx/ry,scaleY=rx>ry?ry/rx:1;ctx.translate(cx,cy),ctx.rotate(psi),ctx.scale(scaleX,scaleY),ctx.arc(0,0,r,theta,theta+dTheta,!!(1-fs)),ctx.scale(1/scaleX,1/scaleY),ctx.rotate(-psi),ctx.translate(-cx,-cy);break}case"z":ctx.closePath();break}}this._renderPaintInOrder(ctx,props)}}static getLineLength(x1,y1,x2,y2){return Math.sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1))}static getPointOnLine(dist,P1x,P1y,P2x,P2y,fromX,fromY){fromX===void 0&&(fromX=P1x),fromY===void 0&&(fromY=P1y);const m=(P2y-P1y)/(P2x-P1x+1e-8);let run=Math.sqrt(dist*dist/(1+m*m));P2x<P1x&&(run*=-1);let rise=m*run,pt;if(P2x===P1x)pt={x:fromX,y:fromY+rise};else if((fromY-P1y)/(fromX-P1x+1e-8)===m)pt={x:fromX+run,y:fromY+rise};else{const len=this.getLineLength(P1x,P1y,P2x,P2y);let u=(fromX-P1x)*(P2x-P1x)+(fromY-P1y)*(P2y-P1y);u/=len*len;const ix=P1x+u*(P2x-P1x),iy=P1y+u*(P2y-P1y),pRise=this.getLineLength(fromX,fromY,ix,iy),pRun=Math.sqrt(dist*dist-pRise*pRise);run=Math.sqrt(pRun*pRun/(1+m*m)),P2x<P1x&&(run*=-1),rise=m*run,pt={x:ix+run,y:iy+rise}}return pt}static getPointOnCubicBezier(pct,P1x,P1y,P2x,P2y,P3x,P3y,P4x,P4y){function CB1(t){return t*t*t}__name(CB1,"CB1");function CB2(t){return 3*t*t*(1-t)}__name(CB2,"CB2");function CB3(t){return 3*t*(1-t)*(1-t)}__name(CB3,"CB3");function CB4(t){return(1-t)*(1-t)*(1-t)}__name(CB4,"CB4");const x=P4x*CB1(pct)+P3x*CB2(pct)+P2x*CB3(pct)+P1x*CB4(pct),y=P4y*CB1(pct)+P3y*CB2(pct)+P2y*CB3(pct)+P1y*CB4(pct);return{x,y}}static getPointOnQuadraticBezier(pct,P1x,P1y,P2x,P2y,P3x,P3y){function QB1(t){return t*t}__name(QB1,"QB1");function QB2(t){return 2*t*(1-t)}__name(QB2,"QB2");function QB3(t){return(1-t)*(1-t)}__name(QB3,"QB3");const x=P3x*QB1(pct)+P2x*QB2(pct)+P1x*QB3(pct),y=P3y*QB1(pct)+P2y*QB2(pct)+P1y*QB3(pct);return{x,y}}static getPointOnEllipticalArc(cx,cy,rx,ry,theta,psi){const cosPsi=Math.cos(psi),sinPsi=Math.sin(psi),pt={x:rx*Math.cos(theta),y:ry*Math.sin(theta)};return{x:cx+(pt.x*cosPsi-pt.y*sinPsi),y:cy+(pt.x*sinPsi+pt.y*cosPsi)}}static parsePathData(data2){if(!data2)return[];let cs=data2;const cc=["m","M","l","L","v","V","h","H","z","Z","c","C","q","Q","t","T","s","S","a","A"];cs=cs.replace(new RegExp(" ","g"),",");for(let n=0,len=cc.length;n<len;n++)cs=cs.replace(new RegExp(cc[n],"g"),`|${cc[n]}`);const arr=cs.split("|"),ca=[],coords=[];let cpx=0,cpy=0;const re=/([-+]?((\d+\.\d+)|((\d+)|(\.\d+)))(?:e[-+]?\d+)?)/gi;let match;for(let n=1,len=arr.length;n<len;n++){let str=arr[n],c=str.charAt(0);for(str=str.slice(1),coords.length=0;match=re.exec(str);)coords.push(match[0]);const p=[];for(let j=0,jLen=coords.length;j<jLen;j++){if(coords[j]==="00"){p.push(0,0);continue}const parsed=Number.parseFloat(coords[j]);isNaN(parsed)?p.push(0):p.push(parsed)}for(;p.length>0&&!isNaN(p[0]);){let cmd,points=[];const startX=cpx,startY=cpy;let prevCmd,ctlPtx,ctlPty,rx,ry,psi,fa,fs,x1,y1;switch(c){case"l":cpx+=p.shift()||0,cpy+=p.shift()||0,cmd="L",points.push(cpx,cpy);break;case"L":cpx=p.shift()||0,cpy=p.shift()||0,points.push(cpx,cpy);break;case"m":{const dx=p.shift()||0,dy=p.shift()||0;if(cpx+=dx,cpy+=dy,cmd="M",ca.length>2&&ca[ca.length-1].command==="z"){for(let idx=ca.length-2;idx>=0;idx--)if(ca[idx].command==="M"){cpx=ca[idx].points[0]+dx,cpy=ca[idx].points[1]+dy;break}}points.push(cpx,cpy),c="l";break}case"M":cpx=p.shift()||0,cpy=p.shift()||0,cmd="M",points.push(cpx,cpy),c="L";break;case"h":cpx+=p.shift()||0,cmd="L",points.push(cpx,cpy);break;case"H":cpx=p.shift()||0,cmd="L",points.push(cpx,cpy);break;case"v":cpy+=p.shift()||0,cmd="L",points.push(cpx,cpy);break;case"V":cpy=p.shift()||0,cmd="L",points.push(cpx,cpy);break;case"C":points.push(p.shift()||0,p.shift()||0,p.shift()||0,p.shift()||0),cpx=p.shift()||0,cpy=p.shift()||0,points.push(cpx,cpy);break;case"c":points.push(cpx+(p.shift()||0),cpy+(p.shift()||0),cpx+(p.shift()||0),cpy+(p.shift()||0)),cpx+=p.shift()||0,cpy+=p.shift()||0,cmd="C",points.push(cpx,cpy);break;case"S":ctlPtx=cpx,ctlPty=cpy,prevCmd=ca[ca.length-1],prevCmd.command==="C"&&(ctlPtx=cpx+(cpx-prevCmd.points[2]),ctlPty=cpy+(cpy-prevCmd.points[3])),points.push(ctlPtx,ctlPty,p.shift()||0,p.shift()||0),cpx=p.shift()||0,cpy=p.shift()||0,cmd="C",points.push(cpx,cpy);break;case"s":ctlPtx=cpx,ctlPty=cpy,prevCmd=ca[ca.length-1],prevCmd.command==="C"&&(ctlPtx=cpx+(cpx-prevCmd.points[2]),ctlPty=cpy+(cpy-prevCmd.points[3])),points.push(ctlPtx,ctlPty,cpx+(p.shift()||0),cpy+(p.shift()||0)),cpx+=p.shift()||0,cpy+=p.shift()||0,cmd="C",points.push(cpx,cpy);break;case"Q":points.push(p.shift()||0,p.shift()||0),cpx=p.shift()||0,cpy=p.shift()||0,points.push(cpx,cpy);break;case"q":points.push(cpx+(p.shift()||0),cpy+(p.shift()||0)),cpx+=p.shift()||0,cpy+=p.shift()||0,cmd="Q",points.push(cpx,cpy);break;case"T":ctlPtx=cpx,ctlPty=cpy,prevCmd=ca[ca.length-1],prevCmd.command==="Q"&&(ctlPtx=cpx+(cpx-prevCmd.points[0]),ctlPty=cpy+(cpy-prevCmd.points[1])),cpx=p.shift()||0,cpy=p.shift()||0,cmd="Q",points.push(ctlPtx,ctlPty,cpx,cpy);break;case"t":ctlPtx=cpx,ctlPty=cpy,prevCmd=ca[ca.length-1],prevCmd.command==="Q"&&(ctlPtx=cpx+(cpx-prevCmd.points[0]),ctlPty=cpy+(cpy-prevCmd.points[1])),cpx+=p.shift()||0,cpy+=p.shift()||0,cmd="Q",points.push(ctlPtx,ctlPty,cpx,cpy);break;case"A":rx=p.shift()||0,ry=p.shift()||0,psi=p.shift()||0,fa=p.shift()||0,fs=p.shift()||0,x1=cpx,y1=cpy,cpx=p.shift()||0,cpy=p.shift()||0,cmd="A",points=this.convertEndpointToCenterParameterization(x1,y1,cpx,cpy,fa,fs,rx,ry,psi);break;case"a":rx=p.shift()||0,ry=p.shift()||0,psi=p.shift()||0,fa=p.shift()||0,fs=p.shift()||0,x1=cpx,y1=cpy,cpx+=p.shift()||0,cpy+=p.shift()||0,cmd="A",points=this.convertEndpointToCenterParameterization(x1,y1,cpx,cpy,fa,fs,rx,ry,psi);break}ca.push({command:cmd||c,points,start:{x:startX,y:startY},pathLength:this.calcLength(startX,startY,cmd||c,points)})}(c==="z"||c==="Z")&&ca.push({command:"z",points:[],start:{x:0,y:0},pathLength:0})}return ca}static calcLength(x,y,cmd,points){let len,p1,p2,t;const path=_Path;switch(cmd){case"L":return path.getLineLength(x,y,points[0],points[1]);case"C":for(len=0,p1=path.getPointOnCubicBezier(0,x,y,points[0],points[1],points[2],points[3],points[4],points[5]),t=.01;t<=1;t+=.01)p2=path.getPointOnCubicBezier(t,x,y,points[0],points[1],points[2],points[3],points[4],points[5]),len+=path.getLineLength(p1.x,p1.y,p2.x,p2.y),p1=p2;return len;case"Q":for(len=0,p1=path.getPointOnQuadraticBezier(0,x,y,points[0],points[1],points[2],points[3]),t=.01;t<=1;t+=.01)p2=path.getPointOnQuadraticBezier(t,x,y,points[0],points[1],points[2],points[3]),len+=path.getLineLength(p1.x,p1.y,p2.x,p2.y),p1=p2;return len;case"A":{len=0;const start=points[4],dTheta=points[5],end=points[4]+dTheta;let inc=Math.PI/180;if(Math.abs(start-end)<inc&&(inc=Math.abs(start-end)),p1=path.getPointOnEllipticalArc(points[0],points[1],points[2],points[3],start,0),dTheta<0)for(t=start-inc;t>end;t-=inc)p2=path.getPointOnEllipticalArc(points[0],points[1],points[2],points[3],t,0),len+=path.getLineLength(p1.x,p1.y,p2.x,p2.y),p1=p2;else for(t=start+inc;t<end;t+=inc)p2=path.getPointOnEllipticalArc(points[0],points[1],points[2],points[3],t,0),len+=path.getLineLength(p1.x,p1.y,p2.x,p2.y),p1=p2;return p2=path.getPointOnEllipticalArc(points[0],points[1],points[2],points[3],end,0),len+=path.getLineLength(p1.x,p1.y,p2.x,p2.y),len}}return 0}static convertEndpointToCenterParameterization(x1,y1,x2,y2,fa,fs,rx,ry,psiDeg){const psi=psiDeg*(Math.PI/180),xp=Math.cos(psi)*(x1-x2)/2+Math.sin(psi)*(y1-y2)/2,yp=-1*Math.sin(psi)*(x1-x2)/2+Math.cos(psi)*(y1-y2)/2,lambda=xp*xp/(rx*rx)+yp*yp/(ry*ry);lambda>1&&(rx*=Math.sqrt(lambda),ry*=Math.sqrt(lambda));let f=Math.sqrt((rx*rx*(ry*ry)-rx*rx*(yp*yp)-ry*ry*(xp*xp))/(rx*rx*(yp*yp)+ry*ry*(xp*xp)));fa===fs&&(f*=-1),isNaN(f)&&(f=0);const cxp=f*rx*yp/ry,cyp=f*-ry*xp/rx,cx=(x1+x2)/2+Math.cos(psi)*cxp-Math.sin(psi)*cyp,cy=(y1+y2)/2+Math.sin(psi)*cxp+Math.cos(psi)*cyp,vMag=__name(v2=>Math.sqrt(v2[0]*v2[0]+v2[1]*v2[1]),"vMag"),vRatio=__name((u2,v2)=>(u2[0]*v2[0]+u2[1]*v2[1])/(vMag(u2)*vMag(v2)),"vRatio"),vAngle=__name((u2,v2)=>(u2[0]*v2[1]<u2[1]*v2[0]?-1:1)*Math.acos(vRatio(u2,v2)),"vAngle"),theta=vAngle([1,0],[(xp-cxp)/rx,(yp-cyp)/ry]),u=[(xp-cxp)/rx,(yp-cyp)/ry],v=[(-1*xp-cxp)/rx,(-1*yp-cyp)/ry];let dTheta=vAngle(u,v);return vRatio(u,v)<=-1&&(dTheta=Math.PI),vRatio(u,v)>=1&&(dTheta=0),fs===0&&dTheta>0&&(dTheta-=2*Math.PI),fs===1&&dTheta<0&&(dTheta+=2*Math.PI),[cx,cy,rx,ry,theta,dTheta,psi,fs]}toJson(){const props={};return PATH_OBJECT_ARRAY.forEach(key=>{this[key]&&(props[key]=this[key])}),{...super.toJson(),...props}}getState(){const{left,top,width,height}=this.getRect();return{left,top,width,height,scaleX:this.scaleX,scaleY:this.scaleY,angle:this.angle,skewX:this.skewX,skewY:this.skewY,flipX:this.flipX,flipY:this.flipY}}getRect(){const{left,top,width,height}=this._getSelfRect();return{left:left*this.scaleX+this.left,top:top*this.scaleY+this.top,width:width*this.scaleX,height:height*this.scaleY}}getLength(){return this._pathLength}getPointAtLength(length){let point,i=0;const ii=this.dataArray.length;if(!ii)return null;for(;i<ii&&length>this.dataArray[i].pathLength;)length-=this.dataArray[i].pathLength,++i;if(i===ii)return point=this.dataArray[i-1].points.slice(-2),{x:point[0],y:point[1]};if(length<.01)return point=this.dataArray[i].points.slice(0,2),{x:point[0],y:point[1]};const cp=this.dataArray[i],p=cp.points;switch(cp.command){case"L":return _Path.getPointOnLine(length,cp.start.x,cp.start.y,p[0],p[1]);case"C":return _Path.getPointOnCubicBezier(length/cp.pathLength,cp.start.x,cp.start.y,p[0],p[1],p[2],p[3],p[4],p[5]);case"Q":return _Path.getPointOnQuadraticBezier(length/cp.pathLength,cp.start.x,cp.start.y,p[0],p[1],p[2],p[3]);case"A":{const cx=p[0],cy=p[1],rx=p[2],ry=p[3];let theta=p[4];const dTheta=p[5],psi=p[6];return theta+=dTheta*length/cp.pathLength,_Path.getPointOnEllipticalArc(cx,cy,rx,ry,theta,psi)}}return null}_draw(ctx){_Path.drawWith(ctx,this)}_setFixBoundingBox(){const{left,top,width,height}=this._getSelfRect(),fixScaleX=this.width/width,fixScaleY=this.height/height;this.left=this.left-left*fixScaleX,this.top=this.top-top*fixScaleY,this.scaleX=fixScaleX,this.scaleY=fixScaleY,this.width=width,this.height=height,this._setTransForm()}_getSelfRect(){if(!this._reCalculateCache)return this._selfRectCache;let points=[];this.dataArray.forEach(data2=>{if(data2.command==="A"){const start=data2.points[4],dTheta=data2.points[5],end=data2.points[4]+dTheta;let inc=Math.PI/180;if(Math.abs(start-end)<inc&&(inc=Math.abs(start-end)),dTheta<0)for(let t=start-inc;t>end;t-=inc){const point=_Path.getPointOnEllipticalArc(data2.points[0],data2.points[1],data2.points[2],data2.points[3],t,0);points.push(point.x,point.y)}else for(let t=start+inc;t<end;t+=inc){const point=_Path.getPointOnEllipticalArc(data2.points[0],data2.points[1],data2.points[2],data2.points[3],t,0);points.push(point.x,point.y)}}else if(data2.command==="C")for(let t=0;t<=1;t+=.01){const point=_Path.getPointOnCubicBezier(t,data2.start.x,data2.start.y,data2.points[0],data2.points[1],data2.points[2],data2.points[3],data2.points[4],data2.points[5]);points.push(point.x,point.y)}else points=points.concat(data2.points)});let minX=points[0],maxX=points[0],minY=points[1],maxY=points[1],x,y;for(let i=0;i<points.length/2;i++)x=points[i*2],y=points[i*2+1],isNaN(x)||(minX=Math.min(minX,x),maxX=Math.max(maxX,x)),isNaN(y)||(minY=Math.min(minY,y),maxY=Math.max(maxY,y));const cache={left:minX,top:minY,width:maxX-minX,height:maxY-minY};return this._selfRectCache=cache,cache}};__name(_Path,"Path");let Path=_Path;const REGULAR_POLYGON_OBJECT_ARRAY=["pointsGroup"],_RegularPolygon=class _RegularPolygon extends Shape{constructor(key,props){super(key,props);__publicField(this,"_pointsGroup");this._pointsGroup=(props==null?void 0:props.pointsGroup)||[[]],this._setFixBoundingBox(),this.onTransformChange$.subscribeEvent(changeState=>{const{type,value,preValue}=changeState;(type===TRANSFORM_CHANGE_OBSERVABLE_TYPE.resize||type===TRANSFORM_CHANGE_OBSERVABLE_TYPE.all)&&this.resizePolygon(preValue)})}get pointsGroup(){return this._pointsGroup}static drawWith(ctx,props){let{pointsGroup}=props;pointsGroup=pointsGroup!=null?pointsGroup:[[]],props.strokeDashArray&&ctx.setLineDash(props.strokeDashArray),ctx.beginPath();for(const points of pointsGroup){ctx.moveTo(points[0].x,points[0].y);for(let n=1;n<points.length;n++){const point=points[n];ctx.lineTo(point.x,point.y)}}ctx.closePath(),this._renderPaintInOrder(ctx,props)}isHit(coord){const oCoord=this.getInverseCoord(coord);return!!(oCoord.x>=-this.strokeWidth/2&&oCoord.x<=this.width+this.strokeWidth/2&&oCoord.y>=-this.strokeWidth/2&&oCoord.y<=this.height+this.strokeWidth/2&&this._contains(oCoord))}_contains(point){let inside=!1;for(const vertices of this._pointsGroup){let count=0;const n=vertices.length;for(let i=0;i<n;i++){const v1=vertices[i],v2=vertices[(i+1)%n];if(this._isOnLine(point,v1,v2))return!0;if(v1.y>point.y!=v2.y>point.y){const xCross=v1.x+(point.y-v1.y)*(v2.x-v1.x)/(v2.y-v1.y);point.x<xCross&&count++}}count%2!==0&&(inside=!inside)}return inside}_isOnLine(point,v1,v2){return(v1.x-point.x)*(v2.y-point.y)-(v2.x-point.x)*(v1.y-point.y)!==0?!1:point.x>=Math.min(v1.x,v2.x)&&point.x<=Math.max(v1.x,v2.x)&&point.y>=Math.min(v1.y,v2.y)&&point.y<=Math.max(v1.y,v2.y)}updatePointGroup(pointGroup){this._pointsGroup=pointGroup,this._setFixBoundingBox()}resizePolygon(preValue){const{left,top,width,height}=this._getSelfRect(),{width:preWidth,height:preHeight}=preValue;let fixX,fixY;preWidth?fixX=this.width-preWidth:fixX=0,preHeight?fixY=this.height-preHeight:fixY=0;const increaseScaleX=fixX/width,increaseScaleY=fixY/height;this.scaleX+=increaseScaleX,this.scaleY+=increaseScaleY,this.left=this.left-left*increaseScaleX,this.top=this.top-top*increaseScaleY,this._setTransForm()}toJson(){const props={};return REGULAR_POLYGON_OBJECT_ARRAY.forEach(key=>{this[key]&&(props[key]=this[key])}),{...super.toJson(),...props}}getState(){const{left,top,width,height}=this.getRect();return{left,top,width,height,scaleX:this.scaleX,scaleY:this.scaleY,angle:this.angle,skewX:this.skewX,skewY:this.skewY,flipX:this.flipX,flipY:this.flipY}}getRect(){const{left,top,width,height}=this._getSelfRect();return{left:left*this.scaleX+this.left,top:top*this.scaleY+this.top,width:width*this.scaleX,height:height*this.scaleY}}_draw(ctx){_RegularPolygon.drawWith(ctx,this)}_setFixBoundingBox(){const{width,height,left,top}=this._getSelfRect();this.left=this.left+left,this.top=this.top+top,this.width=width,this.height=height;const pointsGroup=this.pointsGroup;for(const points of pointsGroup)for(const point of points)point.x-=left,point.y-=top;this._setTransForm()}_getSelfRect(){const pointsGroup=this.pointsGroup;let minX=pointsGroup[0][0].x,maxX=pointsGroup[0][0].x,minY=pointsGroup[0][0].y,maxY=pointsGroup[0][0].y;for(const points of pointsGroup)for(const point of points)minX=Math.min(minX,point.x),maxX=Math.max(maxX,point.x),minY=Math.min(minY,point.y),maxY=Math.max(maxY,point.y);return{left:minX,top:minY,width:maxX-minX,height:maxY-minY}}};__name(_RegularPolygon,"RegularPolygon");let RegularPolygon=_RegularPolygon;const RICHTEXT_OBJECT_ARRAY=["text","richText","fs"],_RichText=class _RichText extends BaseObject{constructor(_localeService,key,props){super(key);__publicField(this,"_documentData");__publicField(this,"_documentSkeleton");__publicField(this,"_documents");__publicField(this,"documentModel");__publicField(this,"_ff");__publicField(this,"_fs",12);__publicField(this,"_it",core.BooleanNumber.FALSE);__publicField(this,"_bl",core.BooleanNumber.FALSE);__publicField(this,"_ul",{s:core.BooleanNumber.FALSE});__publicField(this,"_st",{s:core.BooleanNumber.FALSE});__publicField(this,"_ol",{s:core.BooleanNumber.FALSE});__publicField(this,"_bg");__publicField(this,"_bd");__publicField(this,"_cl");__publicField(this,"objectType",ObjectType.RICH_TEXT);this._localeService=_localeService,props!=null&&props.richText?this._documentData=props.richText:props&&(this._fs=props.fs,this._ff=props.ff,this._it=props.it,this._bl=props.bl,this._ul=props.ul,this._st=props.st,this._ol=props.ol,this._bg=props.bg,this._bd=props.bd,this._cl=props.cl,this._documentData=this._convertToDocumentData(props.text||""));const docModel=this.documentModel=new core.DocumentDataModel(this._documentData),docViewModel=new DocumentViewModel(docModel);this._documentSkeleton=DocumentSkeleton.create(docViewModel,this._localeService),this._documents=new Documents(`${this.oKey}_DOCUMENTS`,this._documentSkeleton,{pageMarginLeft:0,pageMarginTop:0}),this._initialProps(props),this.onTransformChange$.subscribeEvent(changeState=>{const{type}=changeState;if(type===TRANSFORM_CHANGE_OBSERVABLE_TYPE.resize||type===TRANSFORM_CHANGE_OBSERVABLE_TYPE.all){docModel.updateDocumentDataPageSize(this.width),this._documentSkeleton.makeDirty(!0),this._documentSkeleton.calculate();const size=this.getDocsSkeletonPageSize();this.height=(size==null?void 0:size.height)||this.height,this._setTransForm(),this.refreshDocumentByDocData()}})}get fs(){return this._fs}get text(){const textBody=this._documentData.body;if(!textBody)return"";const texts=[];if(textBody.textRuns)for(const run of textBody.textRuns){const st=run.st||0,ed=run.ed||0;texts.push(textBody.dataStream.slice(st,ed))}return texts.join("")}get documentData(){return this._documentData}getDocsSkeletonPageSize(){var _a10;const skeletonData=(_a10=this._documentSkeleton)==null?void 0:_a10.getSkeletonData();if(!skeletonData)return;const{pages}=skeletonData,lastPage=pages[pages.length-1],{width,height}=lastPage;return{width,height}}setProps(props){if(!props)return;const themeKeys=Object.keys(props);if(themeKeys.length!==0)return themeKeys.forEach(key=>{if(props[key]===void 0)return!0;RICHTEXT_OBJECT_ARRAY.indexOf(key)===-1&&(this[`_${key}`]=props[key])}),this.makeDirty(!0),this}render(mainCtx,bounds){if(!this.visible)return this.makeDirty(!1),this;if(this.isRender(bounds)){const{top,left,bottom,right}=bounds.viewBound;if(this.width+this.strokeWidth<left||right<0||this.height+this.strokeWidth<top||bottom<0)return this}const m=this.transform.getMatrix();return mainCtx.save(),mainCtx.transform(m[0],m[1],m[2],m[3],m[4],m[5]),this._draw(mainCtx),mainCtx.restore(),this.makeDirty(!1),this}toJson(){const props={};return RICHTEXT_OBJECT_ARRAY.forEach(key=>{this[key]&&(props[key]=this[key])}),{...super.toJson(),...props}}_draw(ctx){this._documents.render(ctx)}_convertToDocumentData(text){const contentLength=text.length;return{id:"d",body:{dataStream:`${text}${core.DEFAULT_EMPTY_DOCUMENT_VALUE}`,textRuns:[{ts:{fs:this._fs||14,ff:this._ff,it:this._it,bl:this._bl,ul:this._ul,st:this._st,ol:this._ol,bg:this._bg,bd:this._bd,cl:this._cl},st:0,ed:contentLength}]},documentStyle:{pageSize:{width:Number.POSITIVE_INFINITY,height:Number.POSITIVE_INFINITY}}}}_initialProps(props){this._documentSkeleton.getViewModel().getDataModel().updateDocumentDataPageSize(props==null?void 0:props.width,props==null?void 0:props.height),this._documentSkeleton.calculate();const contentSize=this.getDocsSkeletonPageSize();this.transformByState({width:(contentSize==null?void 0:contentSize.width)||0,height:(contentSize==null?void 0:contentSize.height)||0,left:(props==null?void 0:props.left)||0,top:(props==null?void 0:props.top)||0,angle:props==null?void 0:props.angle}),this.setProps(props),this.makeDirty(!0)}refreshDocumentByDocData(){const docModel=this.documentModel=new core.DocumentDataModel(this._documentData),docViewModel=new DocumentViewModel(docModel);this._documentSkeleton=DocumentSkeleton.create(docViewModel,this._localeService),this._documents=new Documents(`${this.oKey}_DOCUMENTS`,this._documentSkeleton,{pageMarginLeft:0,pageMarginTop:0}),this._documentSkeleton.getViewModel().getDataModel().updateDocumentDataPageSize(this.width,1/0),this._documentSkeleton.calculate()}resizeToContentSize(){const contentSize=this.getDocsSkeletonPageSize();contentSize&&contentSize.width!==0&&contentSize.height!==0&&this.transformByState({height:(contentSize==null?void 0:contentSize.height)||0})}};__name(_RichText,"RichText");let RichText=_RichText;const _BaseScrollBar=class _BaseScrollBar extends core.Disposable{constructor(){super(...arguments);__publicField(this,"enableHorizontal",!0);__publicField(this,"enableVertical",!0);__publicField(this,"horizontalThumbWidth",0);__publicField(this,"horizontalMinusMiniThumb",0);__publicField(this,"horizontalBarWidth",0);__publicField(this,"verticalThumbHeight",0);__publicField(this,"verticalBarHeight",0);__publicField(this,"verticalMinusMiniThumb",0);__publicField(this,"horizonScrollTrack");__publicField(this,"horizonThumbRect");__publicField(this,"verticalScrollTrack");__publicField(this,"verticalThumbRect");__publicField(this,"placeholderBarRect")}get limitX(){var _a10;return(_a10=this.horizonThumbRect)!=null&&_a10.visible?this.horizontalBarWidth-this.horizontalThumbWidth:0}get limitY(){var _a10;return(_a10=this.verticalThumbRect)!=null&&_a10.visible?this.verticalBarHeight-this.verticalThumbHeight:0}get ratioScrollX(){if(this.enableHorizontal===!1||this.horizontalThumbWidth===void 0||this.horizontalBarWidth===void 0)return 1;const ratio=(this.horizontalThumbWidth-this.horizontalMinusMiniThumb)*this.miniThumbRatioX/this.horizontalBarWidth;return Number.isNaN(ratio)?1:ratio}get ratioScrollY(){if(this.enableVertical===!1||this.verticalThumbHeight===void 0||this.verticalBarHeight===void 0)return 1;const ratio=(this.verticalThumbHeight-this.verticalMinusMiniThumb)*this.miniThumbRatioY/this.verticalBarHeight;return Number.isNaN(ratio)?1:ratio}get miniThumbRatioX(){const limit=this.horizontalBarWidth-this.horizontalThumbWidth;if(limit===0)return 0;const actual=this.horizontalBarWidth-(this.horizontalThumbWidth-this.horizontalMinusMiniThumb);return actual===0?0:limit/actual}get miniThumbRatioY(){const limit=this.verticalBarHeight-this.verticalThumbHeight;if(limit===0)return 0;const actual=this.verticalBarHeight-(this.verticalThumbHeight-this.verticalMinusMiniThumb);return actual===0?0:limit/actual}pick(coord){var _a10,_b,_c,_d;return(_a10=this.horizonThumbRect)!=null&&_a10.isHit(coord)?this.horizonThumbRect:(_b=this.verticalThumbRect)!=null&&_b.isHit(coord)?this.verticalThumbRect:(_c=this.horizonScrollTrack)!=null&&_c.isHit(coord)?this.horizonScrollTrack:(_d=this.verticalScrollTrack)!=null&&_d.isHit(coord)?this.verticalScrollTrack:null}dispose(){var _a10,_b,_c,_d,_e;(_a10=this.horizonScrollTrack)==null||_a10.dispose(),(_b=this.horizonThumbRect)==null||_b.dispose(),(_c=this.verticalScrollTrack)==null||_c.dispose(),(_d=this.verticalThumbRect)==null||_d.dispose(),(_e=this.placeholderBarRect)==null||_e.dispose(),this.horizonScrollTrack=null,this.horizonThumbRect=null,this.verticalScrollTrack=null,this.verticalThumbRect=null,this.placeholderBarRect=null}hasHorizonThumb(){var _a10;return((_a10=this.horizonThumbRect)==null?void 0:_a10.visible)||!1}hasVerticalThumb(){var _a10;return((_a10=this.verticalThumbRect)==null?void 0:_a10.visible)||!1}};__name(_BaseScrollBar,"BaseScrollBar");let BaseScrollBar=_BaseScrollBar;const MINI_THUMB_SIZE=17,_ScrollBar=class _ScrollBar extends BaseScrollBar{constructor(view,props){super();__publicField(this,"_viewport");__publicField(this,"_mainScene");__publicField(this,"_lastX",-1);__publicField(this,"_lastY",-1);__publicField(this,"_isHorizonMove",!1);__publicField(this,"_isVerticalMove",!1);__publicField(this,"_horizonPointerMoveSub");__publicField(this,"_horizonPointerUpSub");__publicField(this,"_verticalPointerMoveSub");__publicField(this,"_verticalPointerUpSub");__publicField(this,"barSize",14);__publicField(this,"barBorder",1);__publicField(this,"thumbMargin",2);__publicField(this,"thumbLengthRatio",1);__publicField(this,"thumbBackgroundColor","#cccccc");__publicField(this,"thumbHoverBackgroundColor","#b2b2b2");__publicField(this,"thumbActiveBackgroundColor","#999999");__publicField(this,"barBackgroundColor","rgba(255,255,255,0.5)");__publicField(this,"barBorderColor","rgba(255,255,255,0.7)");__publicField(this,"_eventSub",new rxjs.Subscription);view||console.warn("Missing viewport"),this.setProps(props),this._viewport=view,this._initialScrollRect(),this._initialVerticalEvent(),this._initialHorizontalEvent(),this._viewport.setScrollBar(this)}static attachTo(view,props){return new _ScrollBar(view,props)}dispose(){var _a10,_b,_c,_d;super.dispose(),(_a10=this._horizonPointerMoveSub)==null||_a10.unsubscribe(),(_b=this._horizonPointerUpSub)==null||_b.unsubscribe(),(_c=this._verticalPointerMoveSub)==null||_c.unsubscribe(),(_d=this._verticalPointerUpSub)==null||_d.unsubscribe(),this._eventSub.unsubscribe(),this._mainScene=null,this._viewport.removeScrollBar()}render(ctx,left=0,top=0){const{scrollX,scrollY}=this._viewport;ctx.save();const m=new Transform([1,0,0,1,left,top]).getMatrix();ctx.transform(m[0],m[1],m[2],m[3],m[4],m[5]),this.enableHorizontal&&(this.horizonScrollTrack.render(ctx),this.horizonThumbRect.translate(scrollX).render(ctx)),this.enableVertical&&(this.verticalScrollTrack.render(ctx),this.verticalThumbRect.translate(void 0,scrollY).render(ctx)),this.enableHorizontal&&this.enableVertical&&this.placeholderBarRect.render(ctx),ctx.restore()}resize(parentWidth=0,parentHeight=0,contentWidth=0,contentHeight=0){var _a10;parentWidth===0&&parentWidth===0||(this._resizeHorizontal(parentWidth,parentHeight,contentWidth),this._resizeVertical(parentWidth,parentHeight,contentHeight),this.enableHorizontal&&this.enableVertical&&((_a10=this.placeholderBarRect)==null||_a10.transformByState({left:parentWidth-this.barSize,top:parentHeight-this.barSize,width:this.barSize-this.barBorder,height:this.barSize-this.barBorder})))}makeDirty(state){var _a10,_b,_c,_d,_e;(_a10=this.horizonScrollTrack)==null||_a10.makeDirty(state),(_b=this.horizonThumbRect)==null||_b.makeDirty(state),(_c=this.verticalScrollTrack)==null||_c.makeDirty(state),(_d=this.verticalThumbRect)==null||_d.makeDirty(state),(_e=this.placeholderBarRect)==null||_e.makeDirty(state),this.makeViewDirty(state)}makeViewDirty(state){(this._mainScene||this._viewport.scene).makeDirty(state)}pick(coord){var _a10,_b,_c,_d;return(_a10=this.horizonThumbRect)!=null&&_a10.isHit(coord)?this.horizonThumbRect:(_b=this.verticalThumbRect)!=null&&_b.isHit(coord)?this.verticalThumbRect:(_c=this.horizonScrollTrack)!=null&&_c.isHit(coord)?this.horizonScrollTrack:(_d=this.verticalScrollTrack)!=null&&_d.isHit(coord)?this.verticalScrollTrack:null}setProps(props){if(!props)return;const themeKeys=Object.keys(props);themeKeys.length!==0&&themeKeys.forEach(key=>{props[key]!==void 0&&(this[`${key}`]=props[key])})}_resizeHorizontal(parentWidth,parentHeight,contentWidth){var _a10,_b,_c,_d,_e;this.enableHorizontal&&(this.horizontalMinusMiniThumb=0,this.horizontalBarWidth=parentWidth-(this.enableVertical?this.barSize:0)-this.barBorder,this.horizontalThumbWidth=this.horizontalBarWidth*(this.horizontalBarWidth-this.barBorder)/contentWidth*this.thumbLengthRatio,this.horizontalThumbWidth<MINI_THUMB_SIZE&&(this.horizontalMinusMiniThumb=MINI_THUMB_SIZE-this.horizontalThumbWidth,this.horizontalThumbWidth=MINI_THUMB_SIZE),(_a10=this.horizonScrollTrack)==null||_a10.transformByState({left:0,top:parentHeight-this.barSize,width:this.horizontalBarWidth,height:this.barSize-this.barBorder}),this.horizontalThumbWidth>=parentWidth-this.barSize?(_b=this.horizonThumbRect)==null||_b.setProps({visible:!1}):((_c=this.horizonThumbRect)!=null&&_c.visible||(_d=this.horizonThumbRect)==null||_d.setProps({visible:!0}),(_e=this.horizonThumbRect)==null||_e.transformByState({left:this._viewport.scrollX,top:parentHeight-this.barSize+this.thumbMargin,width:this.horizontalThumbWidth,height:this.barSize-this.thumbMargin*2})))}_resizeVertical(parentWidth,parentHeight,contentHeight){var _a10,_b,_c,_d,_e;this.enableVertical&&(this.verticalMinusMiniThumb=0,this.verticalBarHeight=parentHeight-(this.enableHorizontal?this.barSize:0)-this.barBorder,this.verticalThumbHeight=this.verticalBarHeight*this.verticalBarHeight/contentHeight*this.thumbLengthRatio,this.verticalThumbHeight<MINI_THUMB_SIZE&&(this.verticalMinusMiniThumb=MINI_THUMB_SIZE-this.verticalThumbHeight,this.verticalThumbHeight=MINI_THUMB_SIZE),(_a10=this.verticalScrollTrack)==null||_a10.transformByState({left:parentWidth-this.barSize,top:0,width:this.barSize-this.barBorder,height:this.verticalBarHeight}),this.verticalThumbHeight>=parentHeight-this.barSize?(_b=this.verticalThumbRect)==null||_b.setProps({visible:!1}):((_c=this.verticalThumbRect)!=null&&_c.visible||(_d=this.verticalThumbRect)==null||_d.setProps({visible:!0}),(_e=this.verticalThumbRect)==null||_e.transformByState({left:parentWidth-this.barSize+this.thumbMargin,top:this._viewport.scrollY,width:this.barSize-this.thumbMargin*2,height:this.verticalThumbHeight})))}_initialScrollRect(){this.enableHorizontal&&(this.horizonScrollTrack=new Rect("__horizonBarRect__",{fill:this.barBackgroundColor,strokeWidth:this.barBorder,stroke:this.barBorderColor}),this.horizonThumbRect=new Rect("__horizonThumbRect__",{radius:6,fill:this.thumbBackgroundColor})),this.enableVertical&&(this.verticalScrollTrack=new Rect("__verticalBarRect__",{fill:this.barBackgroundColor,strokeWidth:this.barBorder,stroke:this.barBorderColor}),this.verticalThumbRect=new Rect("__verticalThumbRect__",{radius:6,fill:this.thumbBackgroundColor})),this.enableHorizontal&&this.enableVertical&&(this.placeholderBarRect=new Rect("__placeholderBarRect__",{fill:this.barBackgroundColor,strokeWidth:this.barBorder,stroke:this.barBorderColor}))}_initialVerticalEvent(){if(!this.enableVertical)return;const mainScene=this._mainScene||this._viewport.scene;this.verticalThumbRect&&this._eventSub.add(this.verticalThumbRect.onPointerEnter$.subscribeEvent((_evt,_state)=>{this._hoverFunc(this.thumbHoverBackgroundColor,this.verticalThumbRect)})),this.verticalThumbRect&&this._eventSub.add(this.verticalThumbRect.onPointerLeave$.subscribeEvent((_evt,_state)=>{this._hoverFunc(this.thumbHoverBackgroundColor,this.verticalThumbRect)})),this.verticalScrollTrack&&this._eventSub.add(this.verticalScrollTrack.onPointerDown$.subscribeEvent((evt,state)=>{const e=evt;this._viewport.scrollToBarPos({y:e.offsetY-this._viewport.top-this.verticalThumbHeight/2}),state.stopPropagation()})),this.verticalThumbRect&&this._eventSub.add(this.verticalThumbRect.onPointerDown$.subscribeEvent((evt,state)=>{const e=evt,srcElement=this.verticalThumbRect;this._isVerticalMove=!0,this._lastX=e.offsetX,this._lastY=e.offsetY,srcElement==null||srcElement.setProps({fill:this.thumbActiveBackgroundColor}),mainScene.disableObjectsEvent(),this.makeViewDirty(!0),state.stopPropagation()})),this._verticalPointerMoveSub=mainScene.onPointerMove$.subscribeEvent((evt,_state)=>{var _a10;const e=evt;this._isVerticalMove&&(this._viewport.scrollByBarDeltaValue({y:e.offsetY-this._lastY}),this._lastY=e.offsetY,(_a10=mainScene.getEngine())==null||_a10.setRemainCapture())}),this._verticalPointerUpSub=mainScene.onPointerUp$.subscribeEvent((_evt,_state)=>{const srcElement=this.verticalThumbRect;this._isVerticalMove=!1,mainScene.enableObjectsEvent(),srcElement==null||srcElement.setProps({fill:this.thumbBackgroundColor}),this.makeViewDirty(!0)})}_hoverFunc(color,object){return(evt,state)=>{if(this._isHorizonMove||this._isVerticalMove)return;object.setProps({fill:color}),this.makeViewDirty(!0)}}_initialHorizontalEvent(){if(!this.enableHorizontal)return;const mainScene=this._mainScene||this._viewport.scene;this.horizonThumbRect&&this._eventSub.add(this.horizonThumbRect.onPointerEnter$.subscribeEvent((_evt,_state)=>{this._hoverFunc(this.thumbHoverBackgroundColor,this.horizonThumbRect)})),this.horizonThumbRect&&this._eventSub.add(this.horizonThumbRect.onPointerLeave$.subscribeEvent((_evt,_state)=>{this._hoverFunc(this.thumbHoverBackgroundColor,this.horizonThumbRect)})),this.horizonScrollTrack&&this._eventSub.add(this.horizonScrollTrack.onPointerDown$.subscribeEvent((evt,state)=>{const e=evt;this._viewport.scrollToBarPos({x:e.offsetX-this._viewport.left-this.horizontalThumbWidth/2}),state.stopPropagation()})),this.horizonThumbRect&&this._eventSub.add(this.horizonThumbRect.onPointerDown$.subscribeEvent((evt,state)=>{var _a10;const e=evt;this._isHorizonMove=!0,this._lastX=e.offsetX,this._lastY=e.offsetY,(_a10=this.horizonThumbRect)==null||_a10.setProps({fill:this.thumbActiveBackgroundColor}),this.makeViewDirty(!0),mainScene.disableObjectsEvent(),state.stopPropagation()})),this._horizonPointerMoveSub=mainScene.onPointerMove$.subscribeEvent((evt,_state)=>{var _a10;const e=evt;this._isHorizonMove&&(this._viewport.scrollByBarDeltaValue({x:e.offsetX-this._lastX}),this._lastX=e.offsetX,(_a10=mainScene.getEngine())==null||_a10.setRemainCapture())}),this._horizonPointerUpSub=mainScene.onPointerUp$.subscribeEvent((evt,state)=>{const srcElement=this.horizonThumbRect;this._isHorizonMove=!1,mainScene.enableObjectsEvent(),srcElement==null||srcElement.setProps({fill:this.thumbBackgroundColor}),this.makeViewDirty(!0)})}};__name(_ScrollBar,"ScrollBar");let ScrollBar=_ScrollBar;const UNIQUE_KEY$1="DefaultDocsFontAndBaseLineExtension",DOC_EXTENSION_Z_INDEX$1=20,_FontAndBaseLine=class _FontAndBaseLine extends docExtension{constructor(){super(...arguments);__publicField(this,"uKey",UNIQUE_KEY$1);__publicField(this,"Z_INDEX",DOC_EXTENSION_Z_INDEX$1);__publicField(this,"_preFontString","");__publicField(this,"_preFontColor","")}draw(ctx,parentScale,glyph){var _a10;if(!((_a10=glyph.parent)==null?void 0:_a10.parent))return;const{ts:textStyle,content,fontStyle,bBox}=glyph,{spanPointWithFont=Vector2.create(0,0)}=this.extensionOffset;if(content==null)return;if(!textStyle){this._fillText(ctx,glyph,spanPointWithFont);return}this._preFontString!==(fontStyle==null?void 0:fontStyle.fontString)&&(ctx.font=this._preFontString=(fontStyle==null?void 0:fontStyle.fontString)||"");const{cl:colorStyle,va:baselineOffset}=textStyle,fontColor=core.getColorStyle(colorStyle)||COLOR_BLACK_RGB;fontColor&&this._preFontColor!==fontColor&&(ctx.fillStyle=fontColor),baselineOffset===core.BaselineOffset.SUPERSCRIPT?spanPointWithFont.y+=-bBox.spo:baselineOffset===core.BaselineOffset.SUBSCRIPT&&(spanPointWithFont.y+=bBox.sbo),this._fillText(ctx,glyph,spanPointWithFont)}_fillText(ctx,glyph,spanPointWithFont){var _a10,_b;const{renderConfig,spanStartPoint,centerPoint}=this.extensionOffset,{content,width,bBox}=glyph,{aba,abd}=bBox;if(content==null||spanStartPoint==null||centerPoint==null)return;const{vertexAngle,centerAngle}=renderConfig!=null?renderConfig:{},VERTICAL_DEG=90;if(vertexAngle===VERTICAL_DEG&¢erAngle===VERTICAL_DEG&&!hasCJK(content))ctx.save(),ctx.translate(spanStartPoint.x+centerPoint.x,spanStartPoint.y+centerPoint.y),ctx.rotate(Math.PI/2),ctx.translate(-width/2,(aba+abd)/2-abd),ctx.fillText(content,0,0),ctx.restore();else{const CHECKED_GLYPH="☑";if((content==="☐"||content===CHECKED_GLYPH)&&glyph.glyphType===GlyphType.LIST){const size=Math.ceil(((_b=(_a10=glyph.ts)==null?void 0:_a10.fs)!=null?_b:12)*1.2);ctx.save();const fontHeight=glyph.bBox.aba-glyph.bBox.abd,bottom=spanPointWithFont.y,top=bottom-fontHeight,left=spanPointWithFont.x,topOffset=top+(bottom-top-size)/2,leftOffset=left,BORDER_WIDTH=1;ctx.translate(leftOffset-BORDER_WIDTH/2,topOffset-BORDER_WIDTH/2),Checkbox.drawWith(ctx,{width:size,height:size,checked:content===CHECKED_GLYPH}),ctx.restore()}else ctx.fillText(content,spanPointWithFont.x,spanPointWithFont.y)}}clearCache(){this._preFontString="",this._preFontColor=""}};__name(_FontAndBaseLine,"FontAndBaseLine");let FontAndBaseLine=_FontAndBaseLine;DocumentsSpanAndLineExtensionRegistry.add(new FontAndBaseLine);const UNIQUE_KEY="DefaultDocsLineExtension",DOC_EXTENSION_Z_INDEX=40,_Line=class _Line extends docExtension{constructor(){super(...arguments);__publicField(this,"uKey",UNIQUE_KEY);__publicField(this,"Z_INDEX",DOC_EXTENSION_Z_INDEX);__publicField(this,"_preBackgroundColor","")}draw(ctx,parentScale,glyph){var _a10;const line2=(_a10=glyph.parent)==null?void 0:_a10.parent,{renderConfig}=this.extensionOffset,vertexAngle=(renderConfig==null?void 0:renderConfig.vertexAngle)||0,drawStrikeAndUnderline=!(((renderConfig==null?void 0:renderConfig.centerAngle)||0)===0&&vertexAngle!==0&&vertexAngle%90===0),{ts:textStyle,bBox,content}=glyph;if(line2==null||textStyle==null||content==="\r")return;const{asc,dsc}=line2,{sp:strikeoutPosition,spo,sbo,bd}=bBox,scale=getScale(parentScale),DELTA=.5,{ul:underline,st:strikethrough,ol:overline,va:baselineOffset,bbl:bottomBorderLine}=textStyle;if(drawStrikeAndUnderline&&underline){const startY=asc+dsc;this._drawLine(ctx,glyph,underline,startY,scale)}if(bottomBorderLine){const startY=asc+dsc+3;this._drawLine(ctx,glyph,bottomBorderLine,startY,scale,2)}if(drawStrikeAndUnderline&&strikethrough){let startY=asc+bd-strikeoutPosition-DELTA;baselineOffset===core.BaselineOffset.SUPERSCRIPT?startY-=spo:baselineOffset===core.BaselineOffset.SUBSCRIPT&&(startY+=sbo),this._drawLine(ctx,glyph,strikethrough,startY,scale)}if(overline){const startY=-DEFAULT_OFFSET_SPACING-DELTA;this._drawLine(ctx,glyph,overline,startY,scale)}}clearCache(){this._preBackgroundColor=""}_drawLine(ctx,glyph,line2,startY,_scale,lineWidth=1){var _a10;let{s:show,cl:colorStyle,t:lineType,c=core.BooleanNumber.TRUE}=line2;if(show!==core.BooleanNumber.TRUE)return;c==null&&(c=core.BooleanNumber.TRUE);const{originTranslate=Vector2.create(0,0),alignOffset=Vector2.create(0,0),renderConfig={}}=this.extensionOffset,{left,width}=glyph,{centerAngle:centerAngleDeg=0,vertexAngle:vertexAngleDeg=0}=renderConfig,centerAngle=degToRad(centerAngleDeg),vertexAngle=degToRad(vertexAngleDeg);ctx.save(),ctx.translateWithPrecisionRatio(FIX_ONE_PIXEL_BLUR_OFFSET,FIX_ONE_PIXEL_BLUR_OFFSET);const color=(c===core.BooleanNumber.TRUE?core.getColorStyle((_a10=glyph.ts)==null?void 0:_a10.cl):core.getColorStyle(colorStyle))||COLOR_BLACK_RGB;ctx.strokeStyle=color,ctx.lineWidth=lineWidth,this._setLineType(ctx,lineType||core.TextDecoration.SINGLE);const start=calculateRectRotate(originTranslate.addByPoint(left,startY),Vector2.create(0,0),centerAngle,vertexAngle,alignOffset),end=calculateRectRotate(originTranslate.addByPoint(left+width,startY),Vector2.create(0,0),centerAngle,vertexAngle,alignOffset);ctx.beginPath(),ctx.moveToByPrecision(start.x,start.y),ctx.lineToByPrecision(end.x,end.y),ctx.stroke(),ctx.restore()}_setLineType(ctx,style){style===core.TextDecoration.DASH_DOT_DOT_HEAVY||style===core.TextDecoration.DOT_DOT_DASH?ctx.setLineDash([2,2,5,2,2]):style===core.TextDecoration.DASH_DOT_HEAVY||style===core.TextDecoration.DOT_DASH?ctx.setLineDash([2,5,2]):style===core.TextDecoration.DOTTED||style===core.TextDecoration.DOTTED_HEAVY?ctx.setLineDash([2]):style===core.TextDecoration.DASH||style===core.TextDecoration.DASHED_HEAVY?ctx.setLineDash([3]):style===core.TextDecoration.DASH_LONG||style===core.TextDecoration.DASH_LONG_HEAVY?ctx.setLineDash([6]):ctx.setLineDash([0])}};__name(_Line,"Line");let Line=_Line;DocumentsSpanAndLineExtensionRegistry.add(new Line);const _Documents=class _Documents extends DocComponent{constructor(oKey,documentSkeleton,config){super(oKey,documentSkeleton,config);__publicField(this,"_pageRender$",new rxjs.Subject);__publicField(this,"pageRender$",this._pageRender$.asObservable());__publicField(this,"docsLeft",0);__publicField(this,"docsTop",0);__publicField(this,"_drawLiquid",new Liquid);this._initialDefaultExtension(),this.makeDirty(!0)}static create(oKey,documentSkeleton,config){return new _Documents(oKey,documentSkeleton,config)}dispose(){super.dispose(),this._pageRender$.complete(),this._drawLiquid=null}getOffsetConfig(){const{transform:documentTransform,pageLayoutType,pageMarginLeft,pageMarginTop,left:docsLeft,top:docsTop}=this;return{documentTransform,pageLayoutType,pageMarginLeft,pageMarginTop,docsLeft,docsTop}}getEngine(){return this.getScene().getEngine()}changeSkeleton(newSkeleton){return this.setSkeleton(newSkeleton),this}_draw(ctx,bounds){this.draw(ctx,bounds)}draw(ctx,bounds){var _a10,_b,_c,_d;const skeletonData=(_a10=this.getSkeleton())==null?void 0:_a10.getSkeletonData();if(skeletonData==null||this._drawLiquid==null)return;this._drawLiquid.reset();const{pages,skeHeaders,skeFooters}=skeletonData,parentScale=this.getParentScale(),extensions=this.getExtensionsByOrder();for(const extension of extensions)extension.clearCache();const backgroundExtension=extensions.find(e=>e.uKey==="DefaultDocsBackgroundExtension"),glyphExtensionsExcludeBackground=extensions.filter(e=>e.type===DOCS_EXTENSION_TYPE.SPAN&&e.uKey!=="DefaultDocsBackgroundExtension");let pageTop=0,pageLeft=0;for(let i=0,len=pages.length;i<len;i++){const page=pages[i],{sections,marginTop:pagePaddingTop=0,marginBottom:pagePaddingBottom=0,marginLeft:pagePaddingLeft=0,marginRight:pagePaddingRight=0,width:actualWidth,height:actualHeight,pageWidth,headerId,footerId,renderConfig={},skeTables}=page,{verticalAlign=core.VerticalAlign.TOP,horizontalAlign=core.HorizontalAlign.LEFT,centerAngle:centerAngleDeg=0,vertexAngle:vertexAngleDeg=0,wrapStrategy=core.WrapStrategy.UNSPECIFIED,cellValueType}=renderConfig,horizontalOffsetNoAngle=this._horizontalHandler(actualWidth,pagePaddingLeft,pagePaddingRight,horizontalAlign,vertexAngleDeg,centerAngleDeg,cellValueType),verticalOffsetNoAngle=this._verticalHandler(actualHeight,pagePaddingTop,pagePaddingBottom,verticalAlign),alignOffsetNoAngle=Vector2.create(horizontalOffsetNoAngle,verticalOffsetNoAngle),centerAngle=degToRad(centerAngleDeg),vertexAngle=degToRad(vertexAngleDeg),finalAngle=vertexAngle-centerAngle;if(this.isSkipByDiffBounds(page,pageTop,pageLeft,bounds)){const{x:x2,y:y2}=this._drawLiquid.translatePage(page,this.pageLayoutType,this.pageMarginLeft,this.pageMarginTop);pageLeft+=x2,pageTop+=y2;continue}skeTables.size>0&&this._drawTable(ctx,page,skeTables,extensions,backgroundExtension,glyphExtensionsExcludeBackground,alignOffsetNoAngle,centerAngle,vertexAngle,renderConfig,parentScale);const headerSkeletonPage=(_b=skeHeaders.get(headerId))==null?void 0:_b.get(pageWidth),headerAlignOffsetNoAngle=Vector2.create(horizontalOffsetNoAngle,(_c=headerSkeletonPage==null?void 0:headerSkeletonPage.marginTop)!=null?_c:0);headerSkeletonPage&&this._drawHeaderFooter(headerSkeletonPage,ctx,extensions,backgroundExtension,glyphExtensionsExcludeBackground,headerAlignOffsetNoAngle,centerAngle,vertexAngle,renderConfig,parentScale,page,!0),this._startRotation(ctx,finalAngle);for(const section of sections){const{columns}=section;this._drawLiquid.translateSection(section);for(const column of columns){const{lines,width:columnWidth}=column;this._drawLiquid.translateSave(),this._drawLiquid.translateColumn(column);const linesCount=lines.length;let alignOffset=alignOffsetNoAngle,rotateTranslateXListApply=null;if(vertexAngle!==0){const{rotateTranslateXList,rotatedHeight,rotatedWidth,fixOffsetX,fixOffsetY,rotateTranslateY}=getRotateOffsetAndFarthestHypotenuse(lines,columnWidth,vertexAngle);let exceedWidthFix=rotatedWidth;rotatedHeight>this.height&&wrapStrategy!==core.WrapStrategy.WRAP&&(wrapStrategy===core.WrapStrategy.OVERFLOW||vertexAngle>0)&&(exceedWidthFix=this.height/Math.tan(Math.abs(vertexAngle)));const horizontalOffset=this._horizontalHandler(exceedWidthFix,pagePaddingLeft,pagePaddingRight,horizontalAlign,vertexAngleDeg,centerAngleDeg);let exceedHeightFix=this._verticalHandler(rotatedHeight,pagePaddingTop,pagePaddingBottom,verticalAlign)-fixOffsetY;rotatedHeight>this.height&&(vertexAngle<0?exceedHeightFix=this.height-(rotatedHeight+fixOffsetY):exceedHeightFix=-fixOffsetY),alignOffset=Vector2.create(horizontalOffset+fixOffsetX,exceedHeightFix),this._drawLiquid.translate(0,-rotateTranslateY),rotateTranslateXListApply=rotateTranslateXList}else wrapStrategy===core.WrapStrategy.WRAP&&(horizontalAlign!==core.HorizontalAlign.UNSPECIFIED||cellValueType!==core.CellValueType.NUMBER)&&(alignOffset.x=pagePaddingLeft);for(let i2=0;i2<linesCount;i2++){const line2=lines[i2],{divides,asc=0,type,lineHeight=0}=line2,maxLineAsc=asc,maxLineAscSin=maxLineAsc*Math.sin(centerAngle),maxLineAscCos=maxLineAsc*Math.cos(centerAngle);if(type===LineType.BLOCK)for(const extension of extensions)extension.type===DOCS_EXTENSION_TYPE.LINE&&(extension.extensionOffset={alignOffset,renderConfig},extension.draw(ctx,parentScale,line2));else{this._drawLiquid.translateSave(),this._drawLiquid.translateLine(line2,!0,!0),rotateTranslateXListApply&&this._drawLiquid.translate(rotateTranslateXListApply[i2]);const divideLength=divides.length;for(let i3=0;i3<divideLength;i3++){const divide=divides[i3],{glyphGroup}=divide;this._drawLiquid.translateSave(),this._drawLiquid.translateDivide(divide);for(const glyph of glyphGroup){if(!glyph.content||glyph.content.length===0)continue;const{width:spanWidth,left:spanLeft}=glyph,{x:translateX,y:translateY}=this._drawLiquid,originTranslate=Vector2.create(translateX,translateY),centerPoint=Vector2.create(spanWidth/2,lineHeight/2),extensionOffset={spanStartPoint:calculateRectRotate(originTranslate.addByPoint(spanLeft,0),centerPoint,centerAngle,vertexAngle,alignOffset)};backgroundExtension&&(backgroundExtension.extensionOffset=extensionOffset,backgroundExtension.draw(ctx,parentScale,glyph))}for(const glyph of glyphGroup){if(!glyph.content||glyph.content.length===0)continue;const{width:spanWidth,left:spanLeft,xOffset}=glyph,{x:translateX,y:translateY}=this._drawLiquid,originTranslate=Vector2.create(translateX,translateY),centerPoint=Vector2.create(spanWidth/2,lineHeight/2),spanStartPoint=calculateRectRotate(originTranslate.addByPoint(spanLeft+xOffset,0),centerPoint,centerAngle,vertexAngle,alignOffset),spanPointWithFont=calculateRectRotate(originTranslate.addByPoint(spanLeft+maxLineAscSin+xOffset,maxLineAscCos),centerPoint,centerAngle,vertexAngle,alignOffset),extensionOffset={originTranslate,spanStartPoint,spanPointWithFont,centerPoint,alignOffset,renderConfig};for(const extension of glyphExtensionsExcludeBackground)extension.extensionOffset=extensionOffset,extension.draw(ctx,parentScale,glyph)}this._drawLiquid.translateRestore()}this._drawLiquid.translateRestore()}}this._drawLiquid.translateRestore()}}this._resetRotation(ctx,finalAngle);const footerSkeletonPage=(_d=skeFooters.get(footerId))==null?void 0:_d.get(pageWidth);if(footerSkeletonPage){const footerAlignOffsetNoAngle=Vector2.create(horizontalOffsetNoAngle,page.pageHeight-(footerSkeletonPage==null?void 0:footerSkeletonPage.height)-footerSkeletonPage.marginBottom);this._drawHeaderFooter(footerSkeletonPage,ctx,extensions,backgroundExtension,glyphExtensionsExcludeBackground,footerAlignOffsetNoAngle,centerAngle,vertexAngle,renderConfig,parentScale,page,!1)}this._pageRender$.next({page,pageLeft,pageTop,ctx});const{x,y}=this._drawLiquid.translatePage(page,this.pageLayoutType,this.pageMarginLeft,this.pageMarginTop);pageLeft+=x,pageTop+=y}}_drawTable(ctx,page,skeTables,extensions,backgroundExtension,glyphExtensionsExcludeBackground,alignOffsetNoAngle,centerAngle,vertexAngle,renderConfig,parentScale){var _a10,_b,_c,_d,_e,_f,_g,_h,_i;for(const[_tableId,tableSkeleton]of skeTables){const{top:tableTop,left:tableLeft,rows}=tableSkeleton;(_a10=this._drawLiquid)==null||_a10.translateSave(),(_b=this._drawLiquid)==null||_b.translate(tableLeft,tableTop);for(const row of rows){const{top:rowTop,cells}=row;(_c=this._drawLiquid)==null||_c.translateSave(),(_d=this._drawLiquid)==null||_d.translate(0,rowTop);for(const cell of cells){const{left:cellLeft}=cell;(_e=this._drawLiquid)==null||_e.translateSave(),(_f=this._drawLiquid)==null||_f.translate(cellLeft,0),this._drawTableCell(ctx,page,cell,extensions,backgroundExtension,glyphExtensionsExcludeBackground,alignOffsetNoAngle,centerAngle,vertexAngle,renderConfig,parentScale),(_g=this._drawLiquid)==null||_g.translateRestore()}(_h=this._drawLiquid)==null||_h.translateRestore()}(_i=this._drawLiquid)==null||_i.translateRestore()}}_drawTableCell(ctx,page,cell,extensions,backgroundExtension,glyphExtensionsExcludeBackground,alignOffsetNoAngle,centerAngle,vertexAngle,renderConfig,parentScale){if(this._drawLiquid==null)return;this._drawTableCellBorders(ctx,page,cell);const{sections,marginLeft,marginTop}=cell;alignOffsetNoAngle=Vector2.create(alignOffsetNoAngle.x+marginLeft,alignOffsetNoAngle.y+marginTop);for(const section of sections){const{columns}=section;this._drawLiquid.translateSave(),this._drawLiquid.translateSection(section);for(const column of columns){const{lines}=column;this._drawLiquid.translateSave(),this._drawLiquid.translateColumn(column);const linesCount=lines.length,alignOffset=alignOffsetNoAngle;for(let i=0;i<linesCount;i++){const line2=lines[i],{divides,asc=0,type,lineHeight=0}=line2,maxLineAsc=asc,maxLineAscSin=maxLineAsc*Math.sin(centerAngle),maxLineAscCos=maxLineAsc*Math.cos(centerAngle);if(type===LineType.BLOCK)for(const extension of extensions)extension.type===DOCS_EXTENSION_TYPE.LINE&&(extension.extensionOffset={alignOffset,renderConfig},extension.draw(ctx,parentScale,line2));else{this._drawLiquid.translateSave(),this._drawLiquid.translateLine(line2,!0,!0);const divideLength=divides.length;for(let i2=0;i2<divideLength;i2++){const divide=divides[i2],{glyphGroup}=divide;this._drawLiquid.translateSave(),this._drawLiquid.translateDivide(divide);for(const glyph of glyphGroup){if(!glyph.content||glyph.content.length===0)continue;const{width:spanWidth,left:spanLeft}=glyph,{x:translateX,y:translateY}=this._drawLiquid,originTranslate=Vector2.create(translateX,translateY),centerPoint=Vector2.create(spanWidth/2,lineHeight/2),extensionOffset={spanStartPoint:calculateRectRotate(originTranslate.addByPoint(spanLeft,0),centerPoint,centerAngle,vertexAngle,alignOffset)};backgroundExtension&&(backgroundExtension.extensionOffset=extensionOffset,backgroundExtension.draw(ctx,parentScale,glyph))}for(const glyph of glyphGroup){if(!glyph.content||glyph.content.length===0)continue;const{width:spanWidth,left:spanLeft,xOffset}=glyph,{x:translateX,y:translateY}=this._drawLiquid,originTranslate=Vector2.create(translateX,translateY),centerPoint=Vector2.create(spanWidth/2,lineHeight/2),spanStartPoint=calculateRectRotate(originTranslate.addByPoint(spanLeft+xOffset,0),centerPoint,centerAngle,vertexAngle,alignOffset),spanPointWithFont=calculateRectRotate(originTranslate.addByPoint(spanLeft+maxLineAscSin+xOffset,maxLineAscCos),centerPoint,centerAngle,vertexAngle,alignOffset),extensionOffset={originTranslate,spanStartPoint,spanPointWithFont,centerPoint,alignOffset,renderConfig};for(const extension of glyphExtensionsExcludeBackground)extension.extensionOffset=extensionOffset,extension.draw(ctx,parentScale,glyph)}this._drawLiquid.translateRestore()}this._drawLiquid.translateRestore()}}this._drawLiquid.translateRestore()}this._drawLiquid.translateRestore()}}_drawTableCellBorders(ctx,page,cell){const{marginLeft,marginTop}=page,{pageWidth,pageHeight}=cell;if(this._drawLiquid==null)return;let{x,y}=this._drawLiquid;x+=marginLeft,y+=marginTop,drawLineByBorderType(ctx,BORDER_TYPE.LEFT,0,{startX:x,startY:y,endX:x+pageWidth,endY:y+pageHeight}),drawLineByBorderType(ctx,BORDER_TYPE.TOP,0,{startX:x,startY:y,endX:x+pageWidth,endY:y+pageHeight}),drawLineByBorderType(ctx,BORDER_TYPE.RIGHT,0,{startX:x,startY:y,endX:x+pageWidth,endY:y+pageHeight}),drawLineByBorderType(ctx,BORDER_TYPE.BOTTOM,0,{startX:x,startY:y,endX:x+pageWidth,endY:y+pageHeight})}_drawHeaderFooter(page,ctx,extensions,backgroundExtension,glyphExtensionsExcludeBackground,alignOffsetNoAngle,centerAngle,vertexAngle,renderConfig,parentScale,parentPage,isHeader=!0){if(this._drawLiquid==null)return;const{sections}=page,{y:originY}=this._drawLiquid;for(const section of sections){const{columns}=section;this._drawLiquid.translateSave(),this._drawLiquid.translateSection(section);for(const column of columns){const{lines}=column;this._drawLiquid.translateSave(),this._drawLiquid.translateColumn(column);const linesCount=lines.length,alignOffset=alignOffsetNoAngle;for(let i=0;i<linesCount;i++){const line2=lines[i],{divides,asc=0,type,lineHeight=0}=line2,maxLineAsc=asc,maxLineAscSin=maxLineAsc*Math.sin(centerAngle),maxLineAscCos=maxLineAsc*Math.cos(centerAngle);if(type===LineType.BLOCK)for(const extension of extensions)extension.type===DOCS_EXTENSION_TYPE.LINE&&(extension.extensionOffset={alignOffset,renderConfig},extension.draw(ctx,parentScale,line2));else{this._drawLiquid.translateSave(),this._drawLiquid.translateLine(line2,!0,!0);const{y}=this._drawLiquid;if(isHeader){if(y-originY+alignOffset.y>(parentPage.pageHeight-100)/2){this._drawLiquid.translateRestore();continue}}else if(y-originY+alignOffset.y+lineHeight<(parentPage.pageHeight-100)/2+100){this._drawLiquid.translateRestore();continue}const divideLength=divides.length;for(let i2=0;i2<divideLength;i2++){const divide=divides[i2],{glyphGroup}=divide;this._drawLiquid.translateSave(),this._drawLiquid.translateDivide(divide);for(const glyph of glyphGroup){if(!glyph.content||glyph.content.length===0)continue;const{width:spanWidth,left:spanLeft}=glyph,{x:translateX,y:translateY}=this._drawLiquid,originTranslate=Vector2.create(translateX,translateY),centerPoint=Vector2.create(spanWidth/2,lineHeight/2),extensionOffset={spanStartPoint:calculateRectRotate(originTranslate.addByPoint(spanLeft,0),centerPoint,centerAngle,vertexAngle,alignOffset)};backgroundExtension&&(backgroundExtension.extensionOffset=extensionOffset,backgroundExtension.draw(ctx,parentScale,glyph))}for(const glyph of glyphGroup){if(!glyph.content||glyph.content.length===0)continue;const{width:spanWidth,left:spanLeft,xOffset}=glyph,{x:translateX,y:translateY}=this._drawLiquid,originTranslate=Vector2.create(translateX,translateY),centerPoint=Vector2.create(spanWidth/2,lineHeight/2),spanStartPoint=calculateRectRotate(originTranslate.addByPoint(spanLeft+xOffset,0),centerPoint,centerAngle,vertexAngle,alignOffset),spanPointWithFont=calculateRectRotate(originTranslate.addByPoint(spanLeft+maxLineAscSin+xOffset,maxLineAscCos),centerPoint,centerAngle,vertexAngle,alignOffset),extensionOffset={originTranslate,spanStartPoint,spanPointWithFont,centerPoint,alignOffset,renderConfig};for(const extension of glyphExtensionsExcludeBackground)extension.extensionOffset=extensionOffset,extension.draw(ctx,parentScale,glyph)}this._drawLiquid.translateRestore()}this._drawLiquid.translateRestore()}}this._drawLiquid.translateRestore()}this._drawLiquid.translateRestore()}}_horizontalHandler(pageWidth,pagePaddingLeft,pagePaddingRight,horizontalAlign,vertexAngleDeg=0,centerAngleDeg=0,cellValueType){horizontalAlign===core.HorizontalAlign.UNSPECIFIED&&(centerAngleDeg===VERTICAL_ROTATE_ANGLE&&vertexAngleDeg===VERTICAL_ROTATE_ANGLE?horizontalAlign=core.HorizontalAlign.CENTER:vertexAngleDeg>0&&vertexAngleDeg!==VERTICAL_ROTATE_ANGLE||vertexAngleDeg===-VERTICAL_ROTATE_ANGLE||cellValueType===core.CellValueType.NUMBER?horizontalAlign=core.HorizontalAlign.RIGHT:cellValueType===core.CellValueType.BOOLEAN?horizontalAlign=core.HorizontalAlign.CENTER:horizontalAlign=core.HorizontalAlign.LEFT);let offsetLeft=0;return horizontalAlign===core.HorizontalAlign.CENTER?offsetLeft=(this.width-pageWidth)/2:horizontalAlign===core.HorizontalAlign.RIGHT?offsetLeft=this.width-pageWidth-pagePaddingRight:offsetLeft=pagePaddingLeft,offsetLeft}_verticalHandler(pageHeight,pagePaddingTop,pagePaddingBottom,verticalAlign){let offsetTop=0;return verticalAlign===core.VerticalAlign.MIDDLE?offsetTop=(this.height-pageHeight)/2:verticalAlign===core.VerticalAlign.TOP?offsetTop=pagePaddingTop:offsetTop=this.height-pageHeight-pagePaddingBottom,offsetTop}_startRotation(ctx,textAngle){ctx.rotate(textAngle||0)}_resetRotation(ctx,textAngle){ctx.rotate(-textAngle||0)}_initialDefaultExtension(){DocumentsSpanAndLineExtensionRegistry.getData().forEach(extension=>{this.register(extension)})}};__name(_Documents,"Documents");let Documents=_Documents;const OBJECT_KEY="__SHEET_EXTENSION_FONT_DOCUMENT_INSTANCE__",_Spreadsheet=class _Spreadsheet extends SheetComponent{constructor(oKey,spreadsheetSkeleton,_allowCache=!0){super(oKey,spreadsheetSkeleton);__publicField(this,"_backgroundExtension");__publicField(this,"_borderExtension");__publicField(this,"_fontExtension");__publicField(this,"_refreshIncrementalState",!1);__publicField(this,"_dirtyBounds",[]);__publicField(this,"_forceDisableGridlines",!1);__publicField(this,"_documents",new Documents(OBJECT_KEY,void 0,{pageMarginLeft:0,pageMarginTop:0}));__publicField(this,"isPrinting",!1);this._allowCache=_allowCache,this._initialDefaultExtension(),this.makeDirty(!0)}get backgroundExtension(){return this._backgroundExtension}get borderExtension(){return this._borderExtension}get fontExtension(){return this._fontExtension}getDocuments(){return this._documents}get allowCache(){return this._allowCache}get forceDisableGridlines(){return this._forceDisableGridlines}dispose(){var _a10;super.dispose(),(_a10=this._documents)==null||_a10.dispose(),this._documents=null,this._backgroundExtension=null,this._borderExtension=null,this._fontExtension=null}draw(ctx,viewportInfo){var _a10;const spreadsheetSkeleton=this.getSkeleton();if(!spreadsheetSkeleton)return;this._drawAuxiliary(ctx);const parentScale=this.getParentScale(),diffRanges=this._refreshIncrementalState&&viewportInfo.diffBounds?(_a10=viewportInfo.diffBounds)==null?void 0:_a10.map(bound=>spreadsheetSkeleton.getRowColumnSegmentByViewBound(bound)):[],viewRanges=[spreadsheetSkeleton.getRowColumnSegmentByViewBound(viewportInfo.cacheBound)],extensions=this.getExtensionsByOrder(),scene=this.getScene();for(const extension of extensions){const timeKey=`${SHEET_EXTENSION_PREFIX}${extension.uKey}`,st=core.Tools.now();extension.draw(ctx,parentScale,spreadsheetSkeleton,diffRanges,{viewRanges,checkOutOfViewBound:!0,viewportKey:viewportInfo.viewportKey,viewBound:viewportInfo.cacheBound}),this.addRenderFrameTimeMetricToScene(timeKey,core.Tools.now()-st,scene)}}addRenderFrameTimeMetricToScene(timeKey,val,scene){scene=scene!=null?scene:this.getScene(),scene.getEngine().renderFrameTimeMetric$.next([timeKey,val])}addRenderTagToScene(renderKey,val,scene){scene=scene!=null?scene:this.getScene(),scene.getEngine().renderFrameTags$.next([renderKey,val])}getScene(){return super.getScene()}isHit(coord){const oCoord=this.getInverseCoord(coord),skeleton=this.getSkeleton();if(!skeleton)return!1;const{rowHeaderWidth,columnHeaderHeight}=skeleton;return oCoord.x>rowHeaderWidth&&oCoord.y>columnHeaderHeight}getNoMergeCellPositionByIndex(rowIndex,columnIndex){const spreadsheetSkeleton=this.getSkeleton();if(!spreadsheetSkeleton)return;const{rowHeightAccumulation,columnWidthAccumulation,rowHeaderWidth,columnHeaderHeight}=spreadsheetSkeleton;let{startY,endY,startX,endX}=getCellPositionByIndex(rowIndex,columnIndex,rowHeightAccumulation,columnWidthAccumulation);return startY+=columnHeaderHeight,endY+=columnHeaderHeight,startX+=rowHeaderWidth,endX+=rowHeaderWidth,{startY,endY,startX,endX}}getScrollXYByRelativeCoords(coord){const scene=this.getParent();let x=0,y=0;const viewPort=scene.findViewportByPosToViewport(coord);if(viewPort){const actualX=viewPort.viewportScrollX||0,actualY=viewPort.viewportScrollY||0;x+=actualX,y+=actualY}return{x,y}}isForceDirty(){return this._forceDirty}makeForceDirty(state=!0){this.makeDirty(state),this._forceDirty=state}setForceDisableGridlines(disabled){this._forceDisableGridlines=disabled}getSelectionBounding(startRow,startColumn,endRow,endColumn){var _a10;return(_a10=this.getSkeleton())==null?void 0:_a10.getMergeBounding(startRow,startColumn,endRow,endColumn)}makeDirty(state=!0){var _a10;return(_a10=this.getParent())==null||_a10.getViewports().forEach(vp=>vp.markDirty(state)),super.makeDirty(state),state===!1&&(this._dirtyBounds=[]),this}setDirtyArea(dirtyBounds){this._dirtyBounds=dirtyBounds}renderByViewport(mainCtx,viewportInfo,spreadsheetSkeleton){const{diffBounds,diffX,diffY,viewPortPosition,cacheCanvas,leftOrigin,topOrigin,bufferEdgeX,bufferEdgeY,isDirty:isViewportDirty,isForceDirty:isViewportForceDirty}=viewportInfo,{rowHeaderWidth,columnHeaderHeight}=spreadsheetSkeleton,{a:scaleX=1,d:scaleY=1}=mainCtx.getTransform(),bufferEdgeSizeX=bufferEdgeX*scaleX/window.devicePixelRatio,bufferEdgeSizeY=bufferEdgeY*scaleY/window.devicePixelRatio,cacheCtx=cacheCanvas.getContext();cacheCtx.save();const{left,top,right,bottom}=viewPortPosition,dw=right-left+rowHeaderWidth,dh=bottom-top+columnHeaderHeight,isForceDirty=isViewportForceDirty||this.isForceDirty(),isDirty=isViewportDirty||this.isDirty();diffBounds.length===0||diffX===0&&diffY===0||isForceDirty||isDirty?(isDirty||isForceDirty)&&(this.addRenderTagToScene("scrolling",!1),this.refreshCacheCanvas(viewportInfo,{cacheCanvas,cacheCtx,mainCtx,topOrigin,leftOrigin,bufferEdgeX,bufferEdgeY})):(diffBounds.length!==0||diffX!==0||diffY!==0)&&(this.addRenderTagToScene("scrolling",!0),this.paintNewAreaForScrolling(viewportInfo,{cacheCanvas,cacheCtx,mainCtx,topOrigin,leftOrigin,bufferEdgeX,bufferEdgeY,scaleX,scaleY,columnHeaderHeight,rowHeaderWidth}));const sourceLeft=bufferEdgeSizeX*Math.min(1,window.devicePixelRatio),sourceTop=bufferEdgeSizeY*Math.min(1,window.devicePixelRatio);this._applyCache(cacheCanvas,mainCtx,sourceLeft,sourceTop,dw,dh,left,top,dw,dh),cacheCtx.restore()}paintNewAreaForScrolling(viewportInfo,param){const{cacheCanvas,cacheCtx,mainCtx,topOrigin,leftOrigin,bufferEdgeX,bufferEdgeY,scaleX,scaleY,columnHeaderHeight,rowHeaderWidth}=param,{shouldCacheUpdate,diffCacheBounds,diffX,diffY}=viewportInfo;cacheCtx.save(),cacheCtx.setTransform(1,0,0,1,0,0),cacheCtx.globalCompositeOperation="copy",cacheCtx.drawImage(cacheCanvas.getCanvasEle(),diffX*scaleX,diffY*scaleY),cacheCtx.restore(),this._refreshIncrementalState=!0;const m=mainCtx.getTransform();if(cacheCtx.setTransform(m.a,m.b,m.c,m.d,0,0),cacheCtx.translateWithPrecision(m.e/m.a-leftOrigin+bufferEdgeX,m.f/m.d-topOrigin+bufferEdgeY),shouldCacheUpdate)for(const diffBound of diffCacheBounds){const{left:diffLeft,right:diffRight,bottom:diffBottom,top:diffTop}=diffBound,x=diffLeft-rowHeaderWidth,y=diffTop-columnHeaderHeight,w=diffRight-diffLeft,h=diffBottom-diffTop;cacheCtx.clearRectByPrecision(x,y,w,h),cacheCtx.save(),cacheCtx.beginPath(),cacheCtx.rectByPrecision(x,y,w,h),cacheCtx.closePath(),cacheCtx.clip(),this.draw(cacheCtx,{...viewportInfo,diffBounds:[diffBound]}),cacheCtx.restore()}this._refreshIncrementalState=!1}refreshCacheCanvas(viewportInfo,param){const{cacheCanvas,cacheCtx,mainCtx,topOrigin,leftOrigin,bufferEdgeX,bufferEdgeY}=param;cacheCtx.save(),cacheCtx.setTransform(1,0,0,1,0,0),cacheCanvas.clear(),cacheCtx.restore(),cacheCtx.save();const m=mainCtx.getTransform();cacheCtx.setTransform(m.a,m.b,m.c,m.d,0,0),cacheCtx.translateWithPrecision(m.e/m.a-leftOrigin+bufferEdgeX,m.f/m.d-topOrigin+bufferEdgeY),this.draw(cacheCtx,viewportInfo),cacheCtx.restore()}render(mainCtx,viewportInfo){if(!this.visible)return this.makeDirty(!1),this;const spreadsheetSkeleton=this.getSkeleton();if(!spreadsheetSkeleton)return;spreadsheetSkeleton.calculateWithoutClearingCache(viewportInfo);const segment=spreadsheetSkeleton.rowColumnSegment;if(!segment||segment.startRow===-1&&segment.endRow===-1||segment.startColumn===-1&&segment.endColumn===-1)return;mainCtx.save();const{rowHeaderWidth,columnHeaderHeight}=spreadsheetSkeleton;mainCtx.translateWithPrecision(rowHeaderWidth,columnHeaderHeight);const{viewportKey}=viewportInfo;return this.sheetContentViewport().includes(viewportKey)?viewportInfo&&viewportInfo.cacheCanvas?this.renderByViewport(mainCtx,viewportInfo,spreadsheetSkeleton):this._draw(mainCtx,viewportInfo):this.sheetHeaderViewport().includes(viewportKey)||(viewportInfo&&viewportInfo.cacheCanvas?this.renderByViewport(mainCtx,viewportInfo,spreadsheetSkeleton):this._draw(mainCtx,viewportInfo)),mainCtx.restore(),this}_applyCache(cacheCanvas,ctx,sx=0,sy=0,sw=0,sh=0,dx=0,dy=0,dw=0,dh=0){if(!ctx)return;const pixelRatio=cacheCanvas.getPixelRatio(),cacheCtx=cacheCanvas.getContext();cacheCtx.save(),ctx.save(),ctx.setTransform(1,0,0,1,0,0),cacheCtx.setTransform(1,0,0,1,0,0);const fn=__name((num,scale)=>Math.round(num*scale),"fn");ctx.imageSmoothingEnabled=!1,ctx.drawImage(cacheCanvas.getCanvasEle(),fn(sx,pixelRatio),fn(sy,pixelRatio),sw*pixelRatio,sh*pixelRatio,fn(dx,pixelRatio),fn(dy,pixelRatio),dw*pixelRatio,dh*pixelRatio),ctx.restore(),cacheCtx.restore()}_draw(ctx,bounds){this.draw(ctx,bounds)}_getAncestorSize(){const parent=this._getAncestorParent();if(parent){if(parent.classType===RENDER_CLASS_TYPE.ENGINE){const mainCanvas=parent.getCanvas();return{width:mainCanvas.getWidth(),height:mainCanvas.getHeight()}}if(parent.classType===RENDER_CLASS_TYPE.SCENE_VIEWER)return{width:parent.width,height:parent.height}}}_getAncestorParent(){let parent=this.parent;for(;parent;){if(parent.classType===RENDER_CLASS_TYPE.ENGINE||parent.classType===RENDER_CLASS_TYPE.SCENE_VIEWER)return parent;parent=(parent==null?void 0:parent.getParent)&&(parent==null?void 0:parent.getParent())}}_initialDefaultExtension(){SpreadsheetExtensionRegistry.getData().sort(core.sortRules).forEach(Extension=>{this.register(new Extension)}),this._backgroundExtension=this.getExtensionByKey("DefaultBackgroundExtension"),this._borderExtension=this.getExtensionByKey("DefaultBorderExtension"),this._fontExtension=this.getExtensionByKey("DefaultFontExtension")}_drawAuxiliary(ctx){const spreadsheetSkeleton=this.getSkeleton();if(spreadsheetSkeleton==null)return;const{rowColumnSegment,overflowCache,showGridlines}=spreadsheetSkeleton,mergeCellRanges=spreadsheetSkeleton.getCurrentRowColumnSegmentMergeData(rowColumnSegment),{startRow,endRow,startColumn,endColumn}=rowColumnSegment;if(!spreadsheetSkeleton||showGridlines===core.BooleanNumber.FALSE||this._forceDisableGridlines)return;const{rowHeightAccumulation,columnTotalWidth,columnWidthAccumulation,rowTotalHeight}=spreadsheetSkeleton;if(!rowHeightAccumulation||!columnWidthAccumulation||columnTotalWidth===void 0||rowTotalHeight===void 0)return;ctx.save(),ctx.setLineWidthByPrecision(1),ctx.strokeStyle=getColor([214,216,219]);const columnWidthAccumulationLength=columnWidthAccumulation.length,rowHeightAccumulationLength=rowHeightAccumulation.length,EXTRA_BOUND=.4,rowCount=endRow-startRow+1,columnCount=endColumn-startColumn+1,extraRowCount=Math.ceil(rowCount*EXTRA_BOUND),extraColumnCount=Math.ceil(columnCount*EXTRA_BOUND),rowStart=Math.max(Math.floor(startRow-extraRowCount),0),rowEnd=Math.min(Math.ceil(endRow+extraRowCount),rowHeightAccumulationLength-1),columnEnd=Math.min(Math.ceil(endColumn+extraColumnCount),columnWidthAccumulationLength-1),columnStart=Math.max(Math.floor(startColumn-extraColumnCount),0),startX=columnWidthAccumulation[columnStart-1]||0,startY=rowHeightAccumulation[rowStart-1]||0,endX=columnWidthAccumulation[columnEnd],endY=rowHeightAccumulation[rowEnd];ctx.translateWithPrecisionRatio(FIX_ONE_PIXEL_BLUR_OFFSET,FIX_ONE_PIXEL_BLUR_OFFSET),ctx.beginPath(),ctx.moveToByPrecision(startX,startY),ctx.lineToByPrecision(endX,startY),ctx.moveToByPrecision(startX,startY),ctx.lineToByPrecision(startX,endY),ctx.closePathByEnv(),ctx.stroke();for(let r=rowStart;r<=rowEnd;r++){if(r<0||r>rowHeightAccumulationLength-1)continue;const rowEndPosition=rowHeightAccumulation[r];ctx.beginPath(),ctx.moveToByPrecision(startX,rowEndPosition),ctx.lineToByPrecision(endX,rowEndPosition),ctx.closePathByEnv(),ctx.stroke()}for(let c=columnStart;c<=columnEnd;c++){if(c<0||c>columnWidthAccumulationLength-1)continue;const columnEndPosition=columnWidthAccumulation[c];ctx.beginPath(),ctx.moveToByPrecision(columnEndPosition,startY),ctx.lineToByPrecision(columnEndPosition,endY),ctx.closePathByEnv(),ctx.stroke()}this._clearRectangle(ctx,rowHeightAccumulation,columnWidthAccumulation,mergeCellRanges),this._clearRectangle(ctx,rowHeightAccumulation,columnWidthAccumulation,overflowCache.toNativeArray()),ctx.restore()}_clearRectangle(ctx,rowHeightAccumulation,columnWidthAccumulation,cellRanges){var _a10,_b,_c,_d;if(cellRanges!=null)for(const range of cellRanges){const{startRow,endRow,startColumn,endColumn}=range,startY=(_a10=rowHeightAccumulation[startRow-1])!=null?_a10:0,endY=(_b=rowHeightAccumulation[endRow])!=null?_b:rowHeightAccumulation[rowHeightAccumulation.length-1],startX=(_c=columnWidthAccumulation[startColumn-1])!=null?_c:0,endX=(_d=columnWidthAccumulation[endColumn])!=null?_d:columnWidthAccumulation[columnWidthAccumulation.length-1];ctx.clearRectByPrecision(startX,startY,endX-startX,endY-startY),ctx.beginPath(),ctx.moveToByPrecision(startX,startY),ctx.lineToByPrecision(endX,startY),ctx.lineToByPrecision(endX,endY),ctx.lineToByPrecision(startX,endY),ctx.lineToByPrecision(startX,startY),ctx.stroke(),ctx.closePath()}}_clearBackground(ctx,backgroundPositions){backgroundPositions==null||backgroundPositions.forValue((row,column,cellInfo)=>{let{startY,endY,startX,endX}=cellInfo;const{isMerged,isMergedMainCell,mergeInfo}=cellInfo;if(isMerged)return!0;isMergedMainCell&&(startY=mergeInfo.startY,endY=mergeInfo.endY,startX=mergeInfo.startX,endX=mergeInfo.endX),ctx.clearRectForTexture(startX,startY,endX-startX+.5,endY-startY+.5)})}sheetContentViewport(){return[SHEET_VIEWPORT_KEY.VIEW_MAIN,SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT_TOP,SHEET_VIEWPORT_KEY.VIEW_MAIN_TOP,SHEET_VIEWPORT_KEY.VIEW_MAIN_LEFT]}sheetHeaderViewport(){return[SHEET_VIEWPORT_KEY.VIEW_ROW_TOP,SHEET_VIEWPORT_KEY.VIEW_ROW_BOTTOM,SHEET_VIEWPORT_KEY.VIEW_COLUMN_LEFT,SHEET_VIEWPORT_KEY.VIEW_COLUMN_RIGHT,SHEET_VIEWPORT_KEY.VIEW_LEFT_TOP]}testShowRuler(cacheCtx,viewportInfo){const{cacheBound}=viewportInfo,spreadsheetSkeleton=this.getSkeleton(),{rowHeaderWidth,columnHeaderHeight}=spreadsheetSkeleton,{left,top,right,bottom}=cacheBound,findClosestHundred=__name(number=>{const remainder=number%100;return number+(100-remainder)},"findClosestHundred"),startX=findClosestHundred(left),endX=findClosestHundred(right),startY=findClosestHundred(top),endY=findClosestHundred(bottom);cacheCtx.save(),cacheCtx.beginPath(),cacheCtx.strokeStyle="#000000",cacheCtx.fillStyle="#000000",cacheCtx.font="16px Arial",cacheCtx.lineWidth=1,cacheCtx.textAlign="center",cacheCtx.textBaseline="middle";for(let i=startX;i<=endX;i+=50)cacheCtx.beginPath(),cacheCtx.strokeStyle=i%100===0?"red":"#aaa",cacheCtx.moveTo(i-rowHeaderWidth,top-columnHeaderHeight),cacheCtx.lineTo(i-rowHeaderWidth,bottom-columnHeaderHeight),cacheCtx.stroke(),cacheCtx.closePath();for(let j=startY;j<=endY;j+=50)cacheCtx.beginPath(),cacheCtx.strokeStyle=j%100===0?"red":"#aaa",cacheCtx.moveTo(left-rowHeaderWidth,j-columnHeaderHeight),cacheCtx.lineTo(right-rowHeaderWidth,j-columnHeaderHeight),cacheCtx.stroke(),cacheCtx.closePath();cacheCtx.fillStyle="#666";for(let i=startX;i<=endX;i+=100)for(let j=startY;j<=endY;j+=100)cacheCtx.fillText(`${i},${j}`,i-rowHeaderWidth,j-columnHeaderHeight);cacheCtx.closePath(),cacheCtx.restore()}testGetRandomLightColor(){const letters2="ABCDEF";let color="#";for(let i=0;i<6;i++)color+=letters2[Math.floor(Math.random()*6)];const r=Number.parseInt(color.substring(1,3),16),g=Number.parseInt(color.substring(3,5),16),b=Number.parseInt(color.substring(5,7),16);return r+g+b<610?this.testGetRandomLightColor():color}};__name(_Spreadsheet,"Spreadsheet");let Spreadsheet=_Spreadsheet;function attachObjectHover(o,hoverIn,hoverOut){o.onPointerEnter$.subscribeEvent(evt=>{hoverIn(o,evt)}),o.onPointerLeave$.subscribeEvent(evt=>{hoverOut(o,evt)})}__name(attachObjectHover,"attachObjectHover");const _SceneViewer=class _SceneViewer extends BaseObject{constructor(key,props){super(key);__publicField(this,"_subScenes",new Map);__publicField(this,"_activeSubScene");__publicField(this,"_allowSelectedClipElement",!1);this._initialProps(props)}get classType(){return RENDER_CLASS_TYPE.SCENE_VIEWER}render(mainCtx,bounds){var _a10;if(!this.visible)return this.makeDirty(!1),this;if(bounds){const{left,top,right,bottom}=bounds.cacheBound||bounds.viewBound;if(this.width+this.strokeWidth+this.left<left||right<this.left||this.height+this.strokeWidth+this.top<top||bottom<this.top)return this}const m=this.transform.getMatrix();return mainCtx.save(),mainCtx.transform(m[0],m[1],m[2],m[3],m[4],m[5]),(_a10=this._activeSubScene)==null||_a10.makeDirtyNoParent(!0).render(mainCtx),mainCtx.restore(),this.makeDirty(!1),this}getSubScenes(){return this._subScenes}getActiveSubScene(){return this._activeSubScene}getSubScene(sceneKey){for(const[key,scene]of this._subScenes)if(key===sceneKey)return scene}addSubScene(scene){this._activeSubScene=scene,this._subScenes.set(scene.sceneKey,scene),this.makeDirty()}removeSubScene(key){const subScene=this._subScenes.get(key);this._subScenes.delete(key),this._activeSubScene===subScene&&(this._activeSubScene=this._subScenes.values().next().value),this.makeDirty()}activeSubScene(key){if(key==null)return;const subScene=this._subScenes.get(key);this._activeSubScene!==subScene&&(this._activeSubScene=subScene,this.makeDirty())}enableSelectedClipElement(){this._allowSelectedClipElement=!0}disableSelectedClipElement(){this._allowSelectedClipElement=!1}allowSelectedClipElement(){return this._allowSelectedClipElement}pick(coord){var _a10;if(this._activeSubScene===void 0)return;const tCoord=this.transform.invert().applyPoint(coord);return(_a10=this._activeSubScene)==null?void 0:_a10.pick(tCoord)}dispose(){super.dispose(),this._subScenes.forEach(scene=>{scene.dispose()})}_initialProps(props){if(!props)return;const themeKeys=Object.keys(props);if(themeKeys.length===0)return;const transformState={};let hasTransformState=!1;themeKeys.forEach(key=>{if(props[key]===void 0)return!0;transformState[key]=props[key],hasTransformState=!0}),hasTransformState&&this.transformByState(transformState),this.makeDirty(!0)}};__name(_SceneViewer,"SceneViewer");let SceneViewer=_SceneViewer;var SLIDE_NAVIGATION_KEY=(SLIDE_NAVIGATION_KEY2=>(SLIDE_NAVIGATION_KEY2.LEFT="__slideNavigationLeft__",SLIDE_NAVIGATION_KEY2.RIGHT="__slideNavigationRight__",SLIDE_NAVIGATION_KEY2))(SLIDE_NAVIGATION_KEY||{});const arrowPath="M512 1024C229.248 1024 0 794.752 0 512S229.248 0 512 0s512 229.248 512 512-229.248 512-512 512z m200.746667-478.506667l1.749333-1.664 30.165333-30.165333-330.496-330.581333a42.837333 42.837333 0 0 0-60.288 0 42.538667 42.538667 0 0 0 0 60.330666l270.08 270.165334-270.08 269.952a42.496 42.496 0 0 0 0 60.288c16.64 16.64 43.861333 16.469333 60.288 0.042666l298.581334-298.368z",_Slide=class _Slide extends SceneViewer{constructor(){super(...arguments);__publicField(this,"slideChangePageByNavigation$",new core.EventSubject);__publicField(this,"subSceneChanged$",new core.EventSubject);__publicField(this,"_navigationEnabled",!1)}activeFirstPage(){const firstKey=this.getSubScenes().keys().next().value;firstKey!=null&&this.changePage(firstKey)}addPageScene(pageScene){const key=pageScene.sceneKey;this.getSubScene(key)||this.addSubScene(pageScene),this.addNavigation(),this.subSceneChanged$.emitEvent(pageScene)}changePage(id){id!==null&&(this.removeNavigation(),this.activeSubScene(id),this.addNavigation())}hasPage(key){return this.getSubScene(key)}addNavigation(){const scene=this.getActiveSubScene();if(scene==null||this._navigationEnabled===!1)return;const leftArrow=new Path("__slideNavigationLeft__",{data:arrowPath,width:60,height:60,left:90,top:(this.height-30)/2,fill:this._getArrowColor(),flipX:!0}),rightArrow=new Path("__slideNavigationRight__",{data:arrowPath,width:60,height:60,left:this.width-90,top:(this.height-30)/2,fill:this._getArrowColor()}),hoverIn=__name((o,evt)=>{o.setCursor(CURSOR_TYPE.POINTER),o.setProps({fill:this._getArrowColor(!0)})},"hoverIn"),hoverOut=__name((o,evt)=>{o.setCursor(CURSOR_TYPE.DEFAULT),o.setProps({fill:this._getArrowColor()})},"hoverOut");attachObjectHover(leftArrow,hoverIn,hoverOut),attachObjectHover(rightArrow,hoverIn,hoverOut),this._addNavTrigger(leftArrow,rightArrow),scene.addObjects([leftArrow,rightArrow],7)}removeNavigation(){var _a10,_b;const scene=this.getActiveSubScene();scene==null||this._navigationEnabled===!1||((_a10=scene.getObject("__slideNavigationLeft__"))==null||_a10.dispose(),(_b=scene.getObject("__slideNavigationRight__"))==null||_b.dispose())}enableNav(){this._navigationEnabled=!0}disableNav(){this._navigationEnabled=!1}hiddenNav(){var _a10,_b;const scene=this.getActiveSubScene();scene==null||this._navigationEnabled===!1||((_a10=scene.getObject("__slideNavigationLeft__"))==null||_a10.hide(),(_b=scene.getObject("__slideNavigationRight__"))==null||_b.hide())}showNav(){var _a10,_b;const scene=this.getActiveSubScene();scene==null||this._navigationEnabled===!1||((_a10=scene.getObject("__slideNavigationLeft__"))==null||_a10.show(),(_b=scene.getObject("__slideNavigationRight__"))==null||_b.show())}renderToThumb(mainCtx,pageId,scaleX=1,scaleY=1){const scene=this.getSubScene(pageId);scene!=null&&(mainCtx.save(),mainCtx.scale(scaleX,scaleY),scene.makeDirtyNoParent(!0).render(mainCtx),mainCtx.restore())}_getSubScenesIndex(key){if(key==null)return;const subScenes=Array.from(this.getSubScenes()),subScenesLen=subScenes.length;let currentIndex=0;for(let i=0;i<subScenesLen;i++){const[sceneKey]=subScenes[i];if(key===sceneKey){currentIndex=i;break}}let next=currentIndex+1,prev=currentIndex-1;return next=next>=subScenesLen?0:next,prev=prev<0?subScenesLen-1:prev,{nextScene:subScenes[next][1],previousScene:subScenes[prev][1]}}_addNavTrigger(leftArrow,rightArrow){leftArrow.onPointerDown$.subscribeEvent(()=>{var _a10;const result=this._getSubScenesIndex((_a10=this.getActiveSubScene())==null?void 0:_a10.sceneKey),prevKey=result==null?void 0:result.previousScene.sceneKey;this.changePage(prevKey),this.slideChangePageByNavigation$.emitEvent(prevKey)}),rightArrow.onPointerDown$.subscribeEvent(()=>{var _a10;const result=this._getSubScenesIndex((_a10=this.getActiveSubScene())==null?void 0:_a10.sceneKey),nextKey=result==null?void 0:result.nextScene.sceneKey;this.changePage(nextKey),this.slideChangePageByNavigation$.emitEvent(nextKey)})}_getArrowColor(isHover=!1){return isHover?getColor(core.COLORS.white,.8):getColor(core.COLORS.white,.5)}};__name(_Slide,"Slide");let Slide=_Slide;const PAGE_STROKE_COLOR="rgba(198, 198, 198, 1)",PAGE_FILL_COLOR="rgba(255, 255, 255, 1)",MARGIN_STROKE_COLOR="rgba(158, 158, 158, 1)",_DocBackground=class _DocBackground extends DocComponent{constructor(oKey,documentSkeleton,config){super(oKey,documentSkeleton,config);__publicField(this,"_drawLiquid");this._drawLiquid=new Liquid,this.makeDirty(!0)}static create(oKey,documentSkeleton,config){return new _DocBackground(oKey,documentSkeleton,config)}draw(ctx,bounds){var _a10,_b;const skeletonData=(_a10=this.getSkeleton())==null?void 0:_a10.getSkeletonData(),docDataModel=(_b=this.getSkeleton())==null?void 0:_b.getViewModel().getDataModel();if(skeletonData==null||docDataModel==null)return;const documentFlavor=docDataModel.getSnapshot().documentStyle.documentFlavor;this._drawLiquid.reset();const{pages}=skeletonData;let pageTop=0,pageLeft=0;for(let i=0,len=pages.length;i<len;i++){const page=pages[i];if(this.isSkipByDiffBounds(page,pageTop,pageLeft,bounds)){const{x:x2,y:y2}=this._drawLiquid.translatePage(page,this.pageLayoutType,this.pageMarginLeft,this.pageMarginTop);pageLeft+=x2,pageTop+=y2;continue}const{width,pageWidth,height,pageHeight,originMarginTop,originMarginBottom,marginLeft,marginRight}=page;ctx.save(),ctx.translate(pageLeft-.5,pageTop-.5);const backgroundOptions={width:pageWidth!=null?pageWidth:width,height:pageHeight!=null?pageHeight:height,strokeWidth:1,stroke:PAGE_STROKE_COLOR,fill:PAGE_FILL_COLOR,zIndex:3};if(Rect.drawWith(ctx,backgroundOptions),documentFlavor===core.DocumentFlavor.TRADITIONAL){const marginIdentification={dataArray:[{command:"M",points:[marginLeft-15,originMarginTop]},{command:"L",points:[marginLeft,originMarginTop]},{command:"L",points:[marginLeft,originMarginTop-15]},{command:"M",points:[pageWidth-marginRight+15,originMarginTop]},{command:"L",points:[pageWidth-marginRight,originMarginTop]},{command:"L",points:[pageWidth-marginRight,originMarginTop-15]},{command:"M",points:[marginLeft-15,pageHeight-originMarginBottom]},{command:"L",points:[marginLeft,pageHeight-originMarginBottom]},{command:"L",points:[marginLeft,pageHeight-originMarginBottom+15]},{command:"M",points:[pageWidth-marginRight+15,pageHeight-originMarginBottom]},{command:"L",points:[pageWidth-marginRight,pageHeight-originMarginBottom]},{command:"L",points:[pageWidth-marginRight,pageHeight-originMarginBottom+15]}],strokeWidth:1.5,stroke:MARGIN_STROKE_COLOR};Path.drawWith(ctx,marginIdentification)}ctx.restore();const{x,y}=this._drawLiquid.translatePage(page,this.pageLayoutType,this.pageMarginLeft,this.pageMarginTop);pageLeft+=x,pageTop+=y}}changeSkeleton(newSkeleton){return this.setSkeleton(newSkeleton),this}_draw(ctx,bounds){this.draw(ctx,bounds)}};__name(_DocBackground,"DocBackground");let DocBackground=_DocBackground;const _CustomObject=class _CustomObject extends BaseObject{constructor(key,_render=mainCtx=>{},_isHitCustom){super(key),this._render=_render,this._isHitCustom=_isHitCustom}toJson(){return{...super.toJson()}}render(mainCtx,bounds){if(!this.visible)return this.makeDirty(!1),this;if(bounds&&!this.isInGroup){const{top,left,bottom,right}=bounds.viewBound;if(this.width+this.strokeWidth<left||right<0||this.height+this.strokeWidth<top||bottom<0)return this}const m=this.transform.getMatrix();return mainCtx.save(),mainCtx.transform(m[0],m[1],m[2],m[3],m[4],m[5]),this._render(mainCtx),mainCtx.restore(),this.makeDirty(!1),this}isHit(coord){return this._isHitCustom?this._isHitCustom(coord):super.isHit(coord)}};__name(_CustomObject,"CustomObject");let CustomObject=_CustomObject;const min=Math.min,max=Math.max,floor=Math.floor;function hasWindow(){return typeof window<"u"}__name(hasWindow,"hasWindow");function getNodeName(node){return isNode(node)?(node.nodeName||"").toLowerCase():"#document"}__name(getNodeName,"getNodeName");function getWindow(node){var _node$ownerDocument;return(node==null||(_node$ownerDocument=node.ownerDocument)==null?void 0:_node$ownerDocument.defaultView)||window}__name(getWindow,"getWindow");function getDocumentElement(node){var _ref;return(_ref=(isNode(node)?node.ownerDocument:node.document)||window.document)==null?void 0:_ref.documentElement}__name(getDocumentElement,"getDocumentElement");function isNode(value){return hasWindow()?value instanceof Node||value instanceof getWindow(value).Node:!1}__name(isNode,"isNode");function isHTMLElement(value){return hasWindow()?value instanceof HTMLElement||value instanceof getWindow(value).HTMLElement:!1}__name(isHTMLElement,"isHTMLElement");function isShadowRoot(value){return!hasWindow()||typeof ShadowRoot>"u"?!1:value instanceof ShadowRoot||value instanceof getWindow(value).ShadowRoot}__name(isShadowRoot,"isShadowRoot");function isOverflowElement(element){const{overflow,overflowX,overflowY,display}=getComputedStyle$1(element);return/auto|scroll|overlay|hidden|clip/.test(overflow+overflowY+overflowX)&&!["inline","contents"].includes(display)}__name(isOverflowElement,"isOverflowElement");function isLastTraversableNode(node){return["html","body","#document"].includes(getNodeName(node))}__name(isLastTraversableNode,"isLastTraversableNode");function getComputedStyle$1(element){return getWindow(element).getComputedStyle(element)}__name(getComputedStyle$1,"getComputedStyle$1");function getParentNode(node){if(getNodeName(node)==="html")return node;const result=node.assignedSlot||node.parentNode||isShadowRoot(node)&&node.host||getDocumentElement(node);return isShadowRoot(result)?result.host:result}__name(getParentNode,"getParentNode");function getNearestOverflowAncestor(node){const parentNode=getParentNode(node);return isLastTraversableNode(parentNode)?node.ownerDocument?node.ownerDocument.body:node.body:isHTMLElement(parentNode)&&isOverflowElement(parentNode)?parentNode:getNearestOverflowAncestor(parentNode)}__name(getNearestOverflowAncestor,"getNearestOverflowAncestor");function getOverflowAncestors(node,list,traverseIframes){var _node$ownerDocument2;list===void 0&&(list=[]),traverseIframes===void 0&&(traverseIframes=!0);const scrollableAncestor=getNearestOverflowAncestor(node),isBody=scrollableAncestor===((_node$ownerDocument2=node.ownerDocument)==null?void 0:_node$ownerDocument2.body),win=getWindow(scrollableAncestor);if(isBody){const frameElement=getFrameElement(win);return list.concat(win,win.visualViewport||[],isOverflowElement(scrollableAncestor)?scrollableAncestor:[],frameElement&&traverseIframes?getOverflowAncestors(frameElement):[])}return list.concat(scrollableAncestor,getOverflowAncestors(scrollableAncestor,[],traverseIframes))}__name(getOverflowAncestors,"getOverflowAncestors");function getFrameElement(win){return win.parent&&Object.getPrototypeOf(win.parent)?win.frameElement:null}__name(getFrameElement,"getFrameElement");function observeClientRect(containerElement){return new rxjs.Observable(observer=>{const disposable=autoClientRect(containerElement,()=>observer.next());return()=>disposable()})}__name(observeClientRect,"observeClientRect");function observeMove(element,onMove){let io=null,timeoutId;const root=getDocumentElement(element);function cleanup(){clearTimeout(timeoutId),io==null||io.disconnect(),io=null}__name(cleanup,"cleanup");function refresh(skip2=!1,threshold=1){cleanup();const{left,top,width,height}=element.getBoundingClientRect();if(skip2||onMove(),!width||!height)return;const insetTop=floor(top),insetRight=floor(root.clientWidth-(left+width)),insetBottom=floor(root.clientHeight-(top+height)),insetLeft=floor(left),options={rootMargin:`${-insetTop}px ${-insetRight}px ${-insetBottom}px ${-insetLeft}px`,threshold:max(0,min(1,threshold))||1};let isFirstUpdate=!0;function handleObserve(entries){const ratio=entries[0].intersectionRatio;if(ratio!==threshold){if(!isFirstUpdate)return refresh();ratio?refresh(!1,ratio):timeoutId=setTimeout(()=>{refresh(!1,1e-7)},1e3)}isFirstUpdate=!1}__name(handleObserve,"handleObserve");try{io=new IntersectionObserver(handleObserve,{...options,root:root.ownerDocument})}catch{io=new IntersectionObserver(handleObserve,options)}io.observe(element)}return __name(refresh,"refresh"),refresh(!0),cleanup}__name(observeMove,"observeMove");function autoClientRect(reference,update){const referenceEl=reference,ancestors=[...referenceEl?getOverflowAncestors(referenceEl):[]];ancestors.forEach(ancestor=>{ancestor.addEventListener("scroll",update,{passive:!0}),ancestor.addEventListener("resize",update)});const cleanupIo=referenceEl?observeMove(referenceEl,update):null;let resizeObserver=null;return update(),()=>{ancestors.forEach(ancestor=>{ancestor.removeEventListener("scroll",update),ancestor.removeEventListener("resize",update)}),cleanupIo==null||cleanupIo(),resizeObserver==null||resizeObserver.disconnect(),resizeObserver=null}}__name(autoClientRect,"autoClientRect");const _ThinEngine=class _ThinEngine extends core.Disposable{constructor(){super(...arguments);__publicField(this,"onInputChanged$",new core.EventSubject);__publicField(this,"onTransformChange$",new core.EventSubject);__publicField(this,"_scenes",{});__publicField(this,"_activeScene",null)}get classType(){return RENDER_CLASS_TYPE.ENGINE}get activeScene(){return this._activeScene}get width(){return 0}get height(){return 0}getScenes(){return this._scenes}getScene(sceneKey){return this._scenes[sceneKey]}hasScene(sceneKey){return sceneKey in this._scenes}addScene(sceneInstance){const sceneKey=sceneInstance.sceneKey;return this.hasScene(sceneKey)&&console.warn("Scenes has similar key, it will be covered"),this._scenes[sceneKey]=sceneInstance,sceneInstance}setActiveScene(sceneKey){const scene=this.getScene(sceneKey);return scene&&(this._activeScene=scene),scene}hasActiveScene(){return this._activeScene!=null}dispose(){super.dispose();const scenes={...this.getScenes()};Object.keys(scenes).forEach(key=>{scenes[key].dispose()}),this._scenes={}}getParent(){}remainScene(key){const scenes=this.getScenes();if(scenes[key]){const scene=scenes[key];return delete scenes[key],scene}}};__name(_ThinEngine,"ThinEngine");let ThinEngine=_ThinEngine;const _Engine=class _Engine extends ThinEngine{constructor(elemWidth=1,elemHeight=1,pixelRatio,mode){super();__publicField(this,"renderEvenInBackground",!0);__publicField(this,"_beginFrame$",new rxjs.Subject);__publicField(this,"beginFrame$",this._beginFrame$.asObservable());__publicField(this,"_endFrame$",new rxjs.Subject);__publicField(this,"endFrame$",this._endFrame$.asObservable());__publicField(this,"renderFrameTimeMetric$",new rxjs.Subject);__publicField(this,"renderFrameTags$",new rxjs.Subject);__publicField(this,"_renderStartTime",0);__publicField(this,"_rect$",null);__publicField(this,"_container");__publicField(this,"_canvas");__publicField(this,"_renderingQueueLaunched",!1);__publicField(this,"_renderFrameTasks",new Array);__publicField(this,"_renderFunction",__name(_timestamp=>{},"_renderFunction"));__publicField(this,"_requestNewFrameHandler",-1);__publicField(this,"_frameId",-1);__publicField(this,"_usingSafari",IsSafari());__publicField(this,"_resizeObserver");__publicField(this,"_fps",60);__publicField(this,"_deltaTime",0);__publicField(this,"_performanceMonitor");__publicField(this,"_pointerMoveEvent");__publicField(this,"_pointerDownEvent");__publicField(this,"_pointerUpEvent");__publicField(this,"_pointerOutEvent");__publicField(this,"_pointerCancelEvent");__publicField(this,"_pointerBlurEvent");__publicField(this,"_pointerWheelEvent");__publicField(this,"_pointerEnterEvent");__publicField(this,"_pointerLeaveEvent");__publicField(this,"_dragEnterEvent");__publicField(this,"_dragLeaveEvent");__publicField(this,"_dragOverEvent");__publicField(this,"_dropEvent");__publicField(this,"_remainCapture",-1);__publicField(this,"_pointer",{});__publicField(this,"_mouseId",-1);__publicField(this,"_isUsingFirefox",navigator.userAgent.indexOf("Firefox")!==-1);__publicField(this,"_previousWidth",-1e3);__publicField(this,"_previousHeight",-1e3);__publicField(this,"_unitId","");this._canvas=new Canvas({mode,width:elemWidth,height:elemHeight,pixelRatio}),this._init(),this._handleKeyboardAction(),this._handlePointerAction(),this._handleDragAction(),mode!==CanvasRenderMode.Printing&&this._matchMediaHandler()}get clientRect$(){return this._rect$||(this._rect$=new rxjs.Observable(subscriber=>{if(!this._container)throw new Error("[Engine]: cannot subscribe to rect changes when container is not set!");const sub=observeClientRect(this._container).subscribe(()=>subscriber.next());return()=>{sub.unsubscribe(),this._rect$=null}})).pipe(rxjs.shareReplay(1))}_init(){this._performanceMonitor=new PerformanceMonitor}get elapsedTime(){return core.Tools.now()-this._renderStartTime}get width(){return this.getCanvas().getWidth()}get height(){return this.getCanvas().getHeight()}get requestNewFrameHandler(){return this._requestNewFrameHandler}get frameId(){return this._frameId}setCanvasCursor(val){const canvasEl=this.getCanvas().getCanvasEle();canvasEl.style.cursor=val}clearCanvas(){this.getCanvas().clear()}getCanvas(){return this._canvas}getCanvasElement(){return this.getCanvas().getCanvasEle()}setRemainCapture(){try{this.getCanvasElement().setPointerCapture(this._remainCapture)}catch{console.warn("no capture")}}getPixelRatio(){return this.getCanvas().getPixelRatio()}setContainer(elem,resize=!0){var _a10;if(this._container!==elem&&(this._container=elem,this._container.appendChild(this.getCanvasElement()),resize)){this.resize(),(_a10=this._resizeObserver)==null||_a10.unobserve(this._container),this._resizeObserver=null;let timer;this._resizeObserver=new ResizeObserver(()=>{timer||(timer=window.requestIdleCallback(()=>{this.resize(),timer=void 0}))}),this._resizeObserver.observe(this._container),this.disposeWithMe(()=>{var _a11;(_a11=this._resizeObserver)==null||_a11.unobserve(this._container),timer!==void 0&&window.cancelIdleCallback(timer)})}}resize(){if(!this._container)return;const{width,height}=getSizeForDom(this._container);width===this._previousWidth&&height===this._previousHeight||(this._previousWidth=width,this._previousHeight=height,this.resizeBySize(width,height))}resizeBySize(width,height){const preWidth=this.width,preHeight=this.height;this.getCanvas().setSize(width,height),this.onTransformChange$.emitEvent({type:TRANSFORM_CHANGE_OBSERVABLE_TYPE.resize,value:{width,height},preValue:{width:preWidth,height:preHeight}})}dispose(){var _a10;super.dispose();const eventPrefix=getPointerPrefix(),canvasEle=this.getCanvasElement();canvasEle.removeEventListener(`${eventPrefix}leave`,this._pointerLeaveEvent),canvasEle.removeEventListener(`${eventPrefix}enter`,this._pointerEnterEvent),canvasEle.removeEventListener(`${eventPrefix}move`,this._pointerMoveEvent),canvasEle.removeEventListener(`${eventPrefix}down`,this._pointerDownEvent),canvasEle.removeEventListener(`${eventPrefix}up`,this._pointerUpEvent),canvasEle.removeEventListener(`${eventPrefix}out`,this._pointerOutEvent),canvasEle.removeEventListener(`${eventPrefix}cancel`,this._pointerCancelEvent),canvasEle.removeEventListener("blur",this._pointerBlurEvent),canvasEle.removeEventListener("dragenter",this._dragEnterEvent),canvasEle.removeEventListener("dragleave",this._dragLeaveEvent),canvasEle.removeEventListener("dragover",this._dragOverEvent),canvasEle.removeEventListener("drop",this._dropEvent),canvasEle.removeEventListener(this._getWheelEventName(),this._pointerWheelEvent),this._renderFrameTasks=[],this._performanceMonitor.dispose(),this.getCanvas().dispose(),this.onTransformChange$.complete(),this.onTransformChange$.complete(),this._beginFrame$.complete(),this._endFrame$.complete(),(_a10=this._resizeObserver)==null||_a10.disconnect(),this._container=null}addFunction2RenderLoop(renderFunction){this._renderFrameTasks.indexOf(renderFunction)===-1&&this._renderFrameTasks.push(renderFunction)}startRenderLoop(){this._renderingQueueLaunched||(this._renderStartTime=performance.now(),this._renderingQueueLaunched=!0,this._renderFunction=this._renderFunctionCore.bind(this),this._requestNewFrameHandler=requestNewFrame(this._renderFunction))}runRenderLoop(renderFunction){this.addFunction2RenderLoop(renderFunction),this.startRenderLoop()}stopRenderLoop(renderFunction){if(!renderFunction){this._renderFrameTasks.length=0,this._cancelFrame();return}const index2=this._renderFrameTasks.indexOf(renderFunction);index2>=0&&(this._renderFrameTasks.splice(index2,1),this._renderFrameTasks.length===0&&this._cancelFrame())}_beginFrame(_timestamp){this._frameId++,this._beginFrame$.next(this._frameId)}_endFrame(timestamp){this._performanceMonitor.endFrame(timestamp),this._fps=this._performanceMonitor.averageFPS,this._deltaTime=this._performanceMonitor.instantaneousFrameTime||0,this._endFrame$.next({FPS:this.getFps(),frameTime:this.getDeltaTime(),elapsedTime:this.elapsedTime})}getFps(){return this._fps}getDeltaTime(){return this._deltaTime}_renderFrame(_timestamp){for(let index2=0;index2<this._renderFrameTasks.length;index2++){const renderFunction=this._renderFrameTasks[index2];renderFunction()}}_cancelFrame(){if(this._renderingQueueLaunched&&this._requestNewFrameHandler){if(this._renderingQueueLaunched=!1,typeof window>"u"){if(typeof cancelAnimationFrame=="function")return cancelAnimationFrame(this._requestNewFrameHandler)}else{const{cancelAnimationFrame:cancelAnimationFrame2}=this._getHostWindow()||window;if(typeof cancelAnimationFrame2=="function")return cancelAnimationFrame2(this._requestNewFrameHandler)}return clearTimeout(this._requestNewFrameHandler)}}_getHostWindow(){var _a10;return typeof window>"u"?null:(_a10=this.getCanvasElement().ownerDocument)!=null&&_a10.defaultView?this.getCanvasElement().ownerDocument.defaultView:window}_renderFunctionCore(timestamp){let shouldRender=!0;this.renderEvenInBackground||(shouldRender=!1),shouldRender&&(this._beginFrame(timestamp),this._renderFrame(timestamp),this._endFrame(timestamp)),this._renderFrameTasks.length>0?this._requestNewFrameHandler=requestNewFrame(this._renderFunction):this._renderingQueueLaunched=!1}_handleKeyboardAction(){const keyboardDownEvent=__name(evt=>{const deviceEvent=evt;deviceEvent.deviceType=DeviceType.Keyboard,deviceEvent.inputIndex=evt.keyCode,deviceEvent.previousState=0,deviceEvent.currentState=1,this.onInputChanged$.emitEvent(deviceEvent)},"keyboardDownEvent"),keyboardUpEvent=__name(evt=>{const deviceEvent=evt;deviceEvent.deviceType=DeviceType.Keyboard,deviceEvent.inputIndex=evt.keyCode,deviceEvent.previousState=1,deviceEvent.currentState=0,this.onInputChanged$.emitEvent(deviceEvent)},"keyboardUpEvent"),canvasEle=this.getCanvasElement();canvasEle.addEventListener("keydown",keyboardDownEvent),canvasEle.addEventListener("keyup",keyboardUpEvent)}_handlePointerAction(){const eventPrefix=getPointerPrefix();this._pointerMoveEvent=e=>{const evt=e,deviceType=this._getPointerType(evt);this._pointer[PointerInput.Horizontal]=evt.clientX,this._pointer[PointerInput.Vertical]=evt.clientY,this._pointer[PointerInput.DeltaHorizontal]=evt.movementX,this._pointer[PointerInput.DeltaVertical]=evt.movementY;const deviceEvent=evt;deviceEvent.deviceType=deviceType,deviceEvent.inputIndex=PointerInput.Horizontal,this.onInputChanged$.emitEvent(deviceEvent),!this._usingSafari&&evt.button!==-1&&(deviceEvent.inputIndex=evt.button+2,deviceEvent.previousState=this._pointer[evt.button+2],this._pointer[evt.button+2]=this._pointer[evt.button+2]?0:1,deviceEvent.currentState=this._pointer[evt.button+2],this.onInputChanged$.emitEvent(deviceEvent))},this._pointerDownEvent=nativeEvent=>{const evt=nativeEvent,deviceType=this._getPointerType(evt),previousHorizontal=this._pointer[PointerInput.Horizontal],previousVertical=this._pointer[PointerInput.Vertical],previousButton=this._pointer[evt.button+2];deviceType===DeviceType.Mouse?(this._mouseId===-1&&(evt.pointerId===void 0?this._mouseId=this._isUsingFirefox?0:1:this._mouseId=evt.pointerId),document.pointerLockElement||(this._remainCapture=this._mouseId,this.getCanvasElement().setPointerCapture(this._mouseId))):evt.pointerId&&!document.pointerLockElement&&(this._remainCapture=evt.pointerId,this.getCanvasElement().setPointerCapture(evt.pointerId)),this._pointer[PointerInput.Horizontal]=evt.clientX,this._pointer[PointerInput.Vertical]=evt.clientY,this._pointer[evt.button+2]=1;const deviceEvent=evt;deviceEvent.deviceType=deviceType,previousHorizontal!==evt.clientX&&(deviceEvent.inputIndex=PointerInput.Horizontal,deviceEvent.previousState=previousHorizontal,deviceEvent.currentState=this._pointer[PointerInput.Horizontal],this.onInputChanged$.emitEvent(deviceEvent)),previousVertical!==evt.clientY&&(deviceEvent.inputIndex=PointerInput.Vertical,deviceEvent.previousState=previousVertical,deviceEvent.currentState=this._pointer[PointerInput.Vertical],this.onInputChanged$.emitEvent(deviceEvent)),deviceEvent.inputIndex=evt.button+2,deviceEvent.previousState=previousButton,deviceEvent.currentState=this._pointer[evt.button+2],this.onInputChanged$.emitEvent(deviceEvent)},this._pointerUpEvent=_evt=>{const evt=_evt,deviceType=this._getPointerType(evt),previousHorizontal=this._pointer[PointerInput.Horizontal],previousVertical=this._pointer[PointerInput.Vertical],previousButton=this._pointer[evt.button+2];this._pointer[PointerInput.Horizontal]=evt.clientX,this._pointer[PointerInput.Vertical]=evt.clientY,this._pointer[evt.button+2]=0;const deviceEvent=evt;deviceEvent.deviceType=deviceType,previousHorizontal!==evt.clientX&&(deviceEvent.inputIndex=PointerInput.Horizontal,deviceEvent.previousState=previousHorizontal,deviceEvent.currentState=this._pointer[PointerInput.Horizontal],this.onInputChanged$.emitEvent(deviceEvent)),previousVertical!==evt.clientY&&(deviceEvent.inputIndex=PointerInput.Vertical,deviceEvent.previousState=previousVertical,deviceEvent.currentState=this._pointer[PointerInput.Vertical],this.onInputChanged$.emitEvent(deviceEvent)),deviceEvent.inputIndex=evt.button+2,deviceEvent.previousState=previousButton,deviceEvent.currentState=this._pointer[evt.button+2];const canvasEle2=this.getCanvasElement();deviceType===DeviceType.Mouse&&this._mouseId>=0&&canvasEle2.hasPointerCapture(this._mouseId)?(this._remainCapture=this._mouseId,canvasEle2.releasePointerCapture(this._mouseId)):deviceEvent.pointerId&&canvasEle2.hasPointerCapture(deviceEvent.pointerId)&&(this._remainCapture=deviceEvent.pointerId,canvasEle2.releasePointerCapture(deviceEvent.pointerId)),this.onInputChanged$.emitEvent(deviceEvent),deviceType!==DeviceType.Mouse&&(this._pointer={})},this._pointerEnterEvent=evt=>{const deviceType=this._getPointerType(evt),deviceEvent=evt;deviceEvent.deviceType=deviceType,deviceEvent.currentState=2,this.onInputChanged$.emitEvent(deviceEvent)},this._pointerLeaveEvent=evt=>{const deviceType=this._getPointerType(evt),deviceEvent=evt;deviceEvent.deviceType=deviceType,deviceEvent.currentState=3,this.onInputChanged$.emitEvent(deviceEvent)},this._pointerOutEvent=evt=>{const deviceType=this._getPointerType(evt),deviceEvent=evt;deviceEvent.deviceType=deviceType,deviceEvent.currentState=3,this.onInputChanged$.emitEvent(deviceEvent)},this._pointerCancelEvent=evt=>{const deviceType=this._getPointerType(evt),deviceEvent=evt;deviceEvent.deviceType=deviceType,deviceEvent.currentState=3,this.onInputChanged$.emitEvent(deviceEvent)},this._pointerBlurEvent=()=>{this._mouseId>=0&&this.getCanvasElement().hasPointerCapture(this._mouseId),this._pointer={}},this._pointerWheelEvent=evt=>{const deviceType=DeviceType.Mouse,previousWheelScrollX=this._pointer[PointerInput.MouseWheelX],previousWheelScrollY=this._pointer[PointerInput.MouseWheelY],previousWheelScrollZ=this._pointer[PointerInput.MouseWheelZ];this._pointer[PointerInput.MouseWheelX]=evt.deltaX||0,this._pointer[PointerInput.MouseWheelY]=evt.deltaY||evt.wheelDelta||0,this._pointer[PointerInput.MouseWheelZ]=evt.deltaZ||0;const deviceEvent=evt;deviceEvent.deviceType=deviceType,this._pointer[PointerInput.MouseWheelX]!==0&&(deviceEvent.inputIndex=PointerInput.MouseWheelX,deviceEvent.previousState=previousWheelScrollX,deviceEvent.currentState=this._pointer[PointerInput.MouseWheelX],this.onInputChanged$.emitEvent(deviceEvent)),this._pointer[PointerInput.MouseWheelY]!==0&&(deviceEvent.inputIndex=PointerInput.MouseWheelY,deviceEvent.previousState=previousWheelScrollY,deviceEvent.currentState=this._pointer[PointerInput.MouseWheelY],this.onInputChanged$.emitEvent(deviceEvent)),this._pointer[PointerInput.MouseWheelZ]!==0&&(deviceEvent.inputIndex=PointerInput.MouseWheelZ,deviceEvent.previousState=previousWheelScrollZ,deviceEvent.currentState=this._pointer[PointerInput.MouseWheelZ],this.onInputChanged$.emitEvent(deviceEvent))};const canvasEle=this.getCanvasElement();canvasEle.addEventListener(`${eventPrefix}enter`,this._pointerEnterEvent),canvasEle.addEventListener(`${eventPrefix}leave`,this._pointerLeaveEvent),canvasEle.addEventListener(`${eventPrefix}move`,this._pointerMoveEvent),canvasEle.addEventListener(`${eventPrefix}down`,this._pointerDownEvent),canvasEle.addEventListener(`${eventPrefix}up`,this._pointerUpEvent),canvasEle.addEventListener(`${eventPrefix}out`,this._pointerOutEvent),canvasEle.addEventListener(`${eventPrefix}cancel`,this._pointerCancelEvent),canvasEle.addEventListener("blur",this._pointerBlurEvent),canvasEle.addEventListener(this._getWheelEventName(),this._pointerWheelEvent,this._getPassive()?{passive:!1}:!1)}_handleDragAction(){this._dragEnterEvent=evt=>{const deviceType=this._getPointerType(evt),deviceEvent=evt;deviceEvent.deviceType=deviceType,deviceEvent.currentState=4,this.onInputChanged$.emitEvent(deviceEvent)},this._dragLeaveEvent=evt=>{const deviceType=this._getPointerType(evt),deviceEvent=evt;deviceEvent.deviceType=deviceType,deviceEvent.currentState=5,this.onInputChanged$.emitEvent(deviceEvent)},this._dragOverEvent=evt=>{evt.preventDefault();const deviceType=this._getPointerType(evt),previousHorizontal=this._pointer[PointerInput.Horizontal],previousVertical=this._pointer[PointerInput.Vertical],previousDeltaHorizontal=this._pointer[PointerInput.DeltaHorizontal],previousDeltaVertical=this._pointer[PointerInput.DeltaVertical];this._pointer[PointerInput.Horizontal]=evt.clientX,this._pointer[PointerInput.Vertical]=evt.clientY,this._pointer[PointerInput.DeltaHorizontal]=evt.movementX,this._pointer[PointerInput.DeltaVertical]=evt.movementY;const deviceEvent=evt;deviceEvent.deviceType=deviceType,previousHorizontal!==evt.clientX&&(deviceEvent.inputIndex=PointerInput.Horizontal,deviceEvent.previousState=previousHorizontal,deviceEvent.currentState=this._pointer[PointerInput.Horizontal],this.onInputChanged$.emitEvent(deviceEvent)),previousVertical!==evt.clientY&&(deviceEvent.inputIndex=PointerInput.Vertical,deviceEvent.previousState=previousVertical,deviceEvent.currentState=this._pointer[PointerInput.Vertical],this.onInputChanged$.emitEvent(deviceEvent)),this._pointer[PointerInput.DeltaHorizontal]!==0&&(deviceEvent.inputIndex=PointerInput.DeltaHorizontal,deviceEvent.previousState=previousDeltaHorizontal,deviceEvent.currentState=this._pointer[PointerInput.DeltaHorizontal],this.onInputChanged$.emitEvent(deviceEvent)),this._pointer[PointerInput.DeltaVertical]!==0&&(deviceEvent.inputIndex=PointerInput.DeltaVertical,deviceEvent.previousState=previousDeltaVertical,deviceEvent.currentState=this._pointer[PointerInput.DeltaVertical],this.onInputChanged$.emitEvent(deviceEvent)),!this._usingSafari&&evt.button!==-1&&(deviceEvent.inputIndex=evt.button+2,deviceEvent.previousState=this._pointer[evt.button+2],this._pointer[evt.button+2]=this._pointer[evt.button+2]?0:1,deviceEvent.currentState=this._pointer[evt.button+2],this.onInputChanged$.emitEvent(deviceEvent))},this._dropEvent=evt=>{const deviceType=this._getPointerType(evt),deviceEvent=evt;deviceEvent.deviceType=deviceType,deviceEvent.currentState=6,this.onInputChanged$.emitEvent(deviceEvent)};const canvasEle=this.getCanvasElement();canvasEle.addEventListener("dragenter",this._dragEnterEvent),canvasEle.addEventListener("dragleave",this._dragLeaveEvent),canvasEle.addEventListener("dragover",this._dragOverEvent),canvasEle.addEventListener("drop",this._dropEvent)}_getWheelEventName(){return"onwheel"in document.createElement("div")?"wheel":document.onmousewheel!==void 0?"mousewheel":"DOMMouseScroll"}_getPassive(){let passiveSupported=!1;const noop=__name(()=>{},"noop");try{const options={passive:{get(){passiveSupported=!0}}},canvasEle=this.getCanvasElement();canvasEle.addEventListener("test",noop,options),canvasEle.removeEventListener("test",noop,options)}catch{}return passiveSupported}_getPointerType(evt){let deviceType=DeviceType.Mouse;return(evt.pointerType==="touch"||evt.pointerType==="pen"||evt.touches)&&(deviceType=DeviceType.Touch),deviceType}_matchMediaHandler(){if(!(window!=null&&window.matchMedia))return;const mediaQueryList=window.matchMedia(`(resolution: ${window.devicePixelRatio}dppx)`),_handleMediaChange=__name(()=>{this.resize()},"_handleMediaChange");mediaQueryList.addEventListener("change",_handleMediaChange),this.disposeWithMe(core.toDisposable(()=>{mediaQueryList.removeEventListener("change",_handleMediaChange)}))}};__name(_Engine,"Engine");let Engine=_Engine;const _Group=class _Group extends BaseObject{constructor(key,...objects){super(key);__publicField(this,"_objects",[]);__publicField(this,"_selfSizeMode",!1);this.addObjects(...objects)}get classType(){return RENDER_CLASS_TYPE.GROUP}set cursor(val){this.setCursor(val)}getState(){return this._selfSizeMode?super.getState():getGroupState(this.left,this.top,this._objects.map(o=>o.getState()))}get width(){return this._selfSizeMode?super.width:this.getState().width||0}get height(){return this._selfSizeMode?super.height:this.getState().height||0}set width(val){if(this._selfSizeMode){super.width=val;return}const preWidth=this.width,numDelta=val-preWidth;this._objects.forEach(o=>{o.resize(o.width+numDelta)})}set height(val){if(this._selfSizeMode){super.height=val;return}const preHeight=this.height,numDelta=val-preHeight;this._objects.forEach(o=>{o.resize(void 0,o.height+numDelta)})}get maxZIndex(){let maxZIndex=0;for(const object of this._objects)maxZIndex=Math.max(maxZIndex,object.zIndex);return maxZIndex}openSelfSizeMode(){this._selfSizeMode=!0}closeSelfSizeMode(){this._selfSizeMode=!1}reCalculateObjects(){if(this._selfSizeMode)return;const state=this.getState(),{left=0,top=0}=state;for(const object of this._objects)object.transformByState({left:object.left-left,top:object.top-top});this.transformByState({left,top})}addObjects(...objects){for(const object of objects)this.addObject(object)}addObject(o){let object=o;if(isString(o)){const scene=this.getScene();if(object=scene==null?void 0:scene.getObject(o),!object)return;object.parent=this,object.isInGroup=!0,object.groupKey=this.oKey,this._objects.push(object)}else o.parent=this,o.isInGroup=!0,o.groupKey=this.oKey,this._objects.push(o)}removeObject(object){const objects=this.getObjects(),objectsLength=objects.length;if(isString(object))for(let i=0;i<objectsLength;i++){const o=objects[i];if(o.oKey===object){objects.splice(i,1),this.parent.removeObject(o);return}}else for(let i=0;i<objectsLength;i++){const o=objects[i];if(o===object){objects.splice(i,1),this.parent.removeObject(o);return}}}removeSelfObjectAndTransform(oKey,width,height,isTransform=!1){const objects=[...this.getObjects()],objectsLength=objects.length;width==null&&(width=this.width),height==null&&(height=this.height);for(let i=0;i<objectsLength;i++){const o=objects[i];if(o.oKey===oKey){objects.splice(i,1),isTransform&&this._transformObject(o,width,height),o.parent=this.parent,o.groupKey=void 0,o.isInGroup=!1,this._objects=objects;return}}}_transformObject(object,groupWidth,groupHeight){const transform=transformObjectOutOfGroup(object.getState(),this.getState(),groupWidth,groupHeight);object.classType===RENDER_CLASS_TYPE.GROUP?object.transformByState({left:transform.left,top:transform.top}):object.transformByState(transform)}getObjectsByOrder(){const objects=[];this._objects.sort(core.sortRules);for(const o of this._objects)o.visible&&objects.push(o);return objects}getObjects(){return this._objects}render(ctx,bounds){ctx.save();const m=this.transform.getMatrix();ctx.transform(m[0],m[1],m[2],m[3],m[4],m[5]);const objects=this.getObjectsByOrder();for(let i=0;i<objects.length;i++)objects[i].render(ctx,bounds);ctx.restore()}resize(width,height){return this}scale(scaleX,scaleY){return this}skew(skewX,skewY){return this}flip(flipX,flipY){return this}isHit(coord){return!0}_clear(){this._objects=[]}dispose(){[...this.getObjects()].forEach(o=>{o.dispose()}),this._clear(),super.dispose()}_transformBounds(bounds){return bounds}};__name(_Group,"Group");let Group=_Group;const _Layer=class _Layer extends core.Disposable{constructor(_scene,objects=[],_zIndex=1,_allowCache=!1){super();__publicField(this,"_objects",[]);__publicField(this,"_cacheCanvas");__publicField(this,"_dirty",!0);__publicField(this,"_debounceDirtyFunc");this._scene=_scene,this._zIndex=_zIndex,this._allowCache=_allowCache,this.addObjects(objects),this._allowCache&&this._initialCacheCanvas()}get scene(){return this._scene}get zIndex(){return this._zIndex}enableCache(){this._allowCache=!0,this._initialCacheCanvas()}disableCache(){var _a10;this._allowCache=!1,(_a10=this._cacheCanvas)==null||_a10.dispose(),this._cacheCanvas=null}isAllowCache(){return this._allowCache}getObjectsByOrder(){const objects=[];this._objects.sort(core.sortRules);for(const o of this._objects)!o.isInGroup&&o.visible&&objects.push(o);return objects}getObjectsByOrderForPick(){const objects=[];this._objects.sort(core.sortRules);for(const o of this._objects)o.classType!==RENDER_CLASS_TYPE.GROUP&&o.visible&&o.evented&&objects.push(o);return objects}getObjects(){return this._objects}addObject(o){if(o.classType===RENDER_CLASS_TYPE.GROUP){const objects=o.getObjects();for(const object of objects)this.scene.getObject(object.oKey)||(this._objects.push(object),this.scene.setObjectBehavior(object),this._layerBehavior(object))}return this._objects.push(o),this.scene.setObjectBehavior(o),this._layerBehavior(o),this}removeObject(object){const objects=this.getObjects(),objectsLength=objects.length;if(object instanceof BaseObject){for(let i=0;i<objectsLength;i++)if(objects[i]===object){objects.splice(i,1);return}}else for(let i=0;i<objectsLength;i++)if(objects[i].oKey===object){objects.splice(i,1);return}}addObjects(objects){return objects.forEach(o=>{this.addObject(o)}),this}removeObjects(objects){const allObjects=this.getObjects(),allObjectsLength=allObjects.length;for(let i=allObjectsLength-1;i>=0;i--){let o=allObjects[i];const objectsLength=objects.length;if(objectsLength===0)break;for(let j=0;j<objectsLength;j++){const object=objects[j];if(o=object instanceof BaseObject?o:o.oKey,o===object){allObjects.splice(i,1);break}}}}makeDirty(state=!0){this._dirty=state;const parent=this.scene.getParent();return parent.classType===RENDER_CLASS_TYPE.SCENE_VIEWER&&parent.makeDirty(!0),this}makeDirtyWithDebounce(state=!0){this._debounceDirtyFunc&&this._debounceDirtyFunc(),this._debounceDirtyFunc=core.requestImmediateMacroTask(()=>{this.makeDirty(state),this._debounceDirtyFunc=null})}isDirty(){return this._dirty}render(parentCtx,isMaxLayer=!1){var _a10;const mainCtx=parentCtx||((_a10=this._scene.getEngine())==null?void 0:_a10.getCanvas().getContext());if(mainCtx)if(this._allowCache&&this._cacheCanvas){if(this.isDirty()){const ctx=this._cacheCanvas.getContext();this._cacheCanvas.clear(),ctx.save(),ctx.setTransform(mainCtx.getTransform()),this._draw(ctx,isMaxLayer),ctx.restore()}this._applyCache(mainCtx)}else mainCtx.save(),this._draw(mainCtx,isMaxLayer),mainCtx.restore();return this.makeDirty(!1),this}_layerBehavior(o){this.disposeWithMe(core.toDisposable(o.onTransformChange$.subscribeEvent(()=>{this.makeDirty(!0)}))),o.layer=this}_initialCacheCanvas(){this._cacheCanvas=new Canvas;const engine=this.scene.getEngine();engine&&this.disposeWithMe(engine.onTransformChange$.subscribeEvent(()=>{this._resizeCacheCanvas()}))}_draw(mainCtx,isMaxLayer){const viewports=this._scene.getViewports().filter(vp=>vp.shouldIntoRender()),objects=this.getObjectsByOrder();for(const[_index,vp]of viewports.entries())vp.render(mainCtx,objects,isMaxLayer);objects.forEach(o=>{var _a10;o.makeDirty(!1),(_a10=o.makeForceDirty)==null||_a10.call(o,!1)})}_applyCache(ctx){if(!ctx||this._cacheCanvas==null)return;const width=this._cacheCanvas.getWidth(),height=this._cacheCanvas.getHeight();width!==0&&height!==0&&ctx.drawImage(this._cacheCanvas.getCanvasEle(),0,0,width,height)}_resizeCacheCanvas(){var _a10;const engine=this._scene.getEngine();engine&&((_a10=this._cacheCanvas)==null||_a10.setSize(engine.width,engine.height)),this.makeDirty(!0)}clear(){this._objects=[]}dispose(){var _a10,_b;super.dispose(),[...this.getObjects()].forEach(o=>{o.dispose()}),this.clear(),(_a10=this._debounceDirtyFunc)==null||_a10.call(this),this._debounceDirtyFunc=null,(_b=this._cacheCanvas)==null||_b.dispose(),this._cacheCanvas=null}};__name(_Layer,"Layer");let Layer=_Layer;const _InputManager=class _InputManager extends core.Disposable{constructor(scene){super();__publicField(this,"_scene");__publicField(this,"_alreadyAttached",!1);__publicField(this,"_onInput$");__publicField(this,"_onPointerMove");__publicField(this,"_onPointerDown");__publicField(this,"_onPointerUp");__publicField(this,"_onPointerOut");__publicField(this,"_onPointerCancel");__publicField(this,"_onPointerEnter");__publicField(this,"_onPointerLeave");__publicField(this,"_onMouseWheel");__publicField(this,"_onKeyDown");__publicField(this,"_onKeyUp");__publicField(this,"_onDragEnter");__publicField(this,"_onDragLeave");__publicField(this,"_onDragOver");__publicField(this,"_onDrop");__publicField(this,"_currentMouseEnterPicked");__publicField(this,"_startingPosition",new Vector2(Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY));__publicField(this,"_delayedTimeout",-1);__publicField(this,"_delayedTripeTimeout",-1);__publicField(this,"_doubleClickOccurred",0);__publicField(this,"_tripleClickState",!1);__publicField(this,"_currentObject");this._scene=scene}dispose(){super.dispose(),this.detachControl(),this._scene=null,this._currentMouseEnterPicked=null,this._currentObject=null,this._startingPosition=null,clearTimeout(this._delayedTimeout),clearTimeout(this._delayedTripeTimeout),this._onPointerMove=null,this._onPointerDown=null,this._onPointerUp=null,this._onPointerEnter=null,this._onPointerLeave=null,this._onMouseWheel=null,this._onKeyDown=null,this._onKeyUp=null,this._onDragEnter=null,this._onDragLeave=null,this._onDragOver=null,this._onDrop=null}mouseLeaveEnterHandler(evt){var _a10;const o=this._currentObject;if(o==null)(_a10=this._currentMouseEnterPicked)==null||_a10.triggerPointerLeave(evt),this._currentMouseEnterPicked=null;else if(o!==this._currentMouseEnterPicked){const previousPicked=this._currentMouseEnterPicked;this._currentMouseEnterPicked=o,previousPicked==null||previousPicked.triggerPointerLeave(evt),o==null||o.triggerPointerEnter(evt)}}dragLeaveEnterHandler(evt){var _a10;const o=this._currentObject;if(o==null)(_a10=this._currentMouseEnterPicked)==null||_a10.triggerDragLeave(evt),this._currentMouseEnterPicked=null;else if(o!==this._currentMouseEnterPicked){const previousPicked=this._currentMouseEnterPicked;this._currentMouseEnterPicked=o,previousPicked==null||previousPicked.triggerDragLeave(evt),o==null||o.triggerDragEnter(evt)}}attachControl(hasDown=!0,hasUp=!0,enableMove=!0,hasWheel=!0,hasEnter=!0,hasLeave=!0){const engine=this._scene.getEngine();engine&&(this._onPointerEnter=evt=>{var _a10;evt.pointerId===void 0&&(evt.pointerId=0),this._currentObject=this._getObjectAtPos(evt.offsetX,evt.offsetY),(_a10=this._currentObject)==null||_a10.triggerPointerMove(evt),this.mouseLeaveEnterHandler(evt)},this._onPointerLeave=evt=>{evt.pointerId===void 0&&(evt.pointerId=0),this._currentObject=null,this.mouseLeaveEnterHandler(evt)},this._onPointerMove=evt=>{var _a10;evt.pointerId===void 0&&(evt.pointerId=0);const currentObject=this._currentObject=this._getObjectAtPos(evt.offsetX,evt.offsetY),isStop=currentObject==null?void 0:currentObject.triggerPointerMove(evt);this.mouseLeaveEnterHandler(evt),this._checkDirectSceneEventTrigger(!isStop,this._currentObject)&&(this._scene.onPointerMove$.emitEvent(evt),(_a10=this._scene.getEngine())==null||_a10.setRemainCapture())},this._onPointerDown=evt=>{evt.pointerId===void 0&&(evt.pointerId=0);const currentObject=this._getObjectAtPos(evt.offsetX,evt.offsetY),isStop=currentObject==null?void 0:currentObject.triggerPointerDown(evt);this._checkDirectSceneEventTrigger(!isStop,currentObject)&&this._scene.onPointerDown$.emitEvent(evt)},this._onPointerUp=evt=>{evt.pointerId===void 0&&(evt.pointerId=0);const currentObject=this._getObjectAtPos(evt.offsetX,evt.offsetY),isStop=currentObject==null?void 0:currentObject.triggerPointerUp(evt);this._checkDirectSceneEventTrigger(!isStop,currentObject)&&this._scene.onPointerUp$.emitEvent(evt),this._prePointerDoubleOrTripleClick(evt)},this._onPointerCancel=evt=>{this._scene.onPointerCancel$.emitEvent(evt)},this._onPointerOut=evt=>{this._scene.onPointerOut$.emitEvent(evt)},this._onMouseWheel=evt=>{const currentObject=this._getObjectAtPos(evt.offsetX,evt.offsetY),isStop=currentObject==null?void 0:currentObject.triggerMouseWheel(evt);this._scene.getViewports().forEach(vp=>{vp.onMouseWheel$.emitEvent(evt)}),this._checkDirectSceneEventTrigger(!isStop,currentObject)&&this._scene.onMouseWheel$.emitEvent(evt)},this._onKeyDown=evt=>{this._scene.onKeyDown$.emitEvent(evt)},this._onKeyUp=evt=>{this._scene.onKeyUp$.emitEvent(evt)},this._onDragEnter=evt=>{var _a10;this._currentObject=this._getObjectAtPos(evt.offsetX,evt.offsetY),(_a10=this._currentObject)==null||_a10.triggerDragOver(evt),this.dragLeaveEnterHandler(evt)},this._onDragLeave=evt=>{this._currentObject=null,this.dragLeaveEnterHandler(evt)},this._onDragOver=evt=>{var _a10,_b;this._currentObject=this._getObjectAtPos(evt.offsetX,evt.offsetY);const isStop=(_a10=this._currentObject)==null?void 0:_a10.triggerDragOver(evt);this.dragLeaveEnterHandler(evt),this._checkDirectSceneEventTrigger(!isStop,this._currentObject)&&(this._scene.onDragOver$.emitEvent(evt),(_b=this._scene.getEngine())==null||_b.setRemainCapture())},this._onDrop=evt=>{const currentObject=this._getObjectAtPos(evt.offsetX,evt.offsetY),isStop=currentObject==null?void 0:currentObject.triggerDrop(evt);this._checkDirectSceneEventTrigger(!isStop,currentObject)&&this._scene.onDrop$.emitEvent(evt)},this._onInput$=engine.onInputChanged$.subscribeEvent(eventData=>{const evt=eventData;if(eventData.deviceType===DeviceType.Keyboard&&(eventData.currentState===1&&this._onKeyDown(evt),eventData.currentState===0&&this._onKeyUp(evt)),eventData.dataTransfer){enableMove&&(eventData.inputIndex===PointerInput.Horizontal||eventData.inputIndex===PointerInput.Vertical||eventData.inputIndex===PointerInput.DeltaHorizontal||eventData.inputIndex===PointerInput.DeltaVertical)?this._onDragOver(evt):hasEnter&&eventData.currentState===4?this._onDragEnter(evt):hasLeave&&eventData.currentState===5?this._onDragLeave(evt):hasUp&&eventData.currentState===6&&this._onDrop(evt);return}if(eventData.deviceType===DeviceType.Mouse||eventData.deviceType===DeviceType.Touch)switch(hasDown&&eventData.inputIndex>=PointerInput.LeftClick&&eventData.inputIndex<=PointerInput.RightClick&&eventData.currentState===1&&this._onPointerDown(evt),hasUp&&eventData.inputIndex>=PointerInput.LeftClick&&eventData.inputIndex<=PointerInput.RightClick&&eventData.currentState===0&&this._onPointerUp(evt),enableMove&&eventData.type==="pointermove"?this._onPointerMove(evt):hasWheel&&(eventData.inputIndex===PointerInput.MouseWheelX||eventData.inputIndex===PointerInput.MouseWheelY||eventData.inputIndex===PointerInput.MouseWheelZ)?this._onMouseWheel(evt):hasEnter&&eventData.currentState===2?this._onPointerEnter(evt):hasLeave&&eventData.currentState===3&&this._onPointerLeave(evt),evt.type){case"pointerout":this._onPointerOut(evt);break;case"pointercancel":this._onPointerCancel(evt);break}}),this.disposeWithMe(core.toDisposable(this._onInput$)),this._alreadyAttached=!0)}detachControl(){var _a10;!this._alreadyAttached||!this._scene.getEngine()||((_a10=this._onInput$)==null||_a10.unsubscribe(),this._alreadyAttached=!1)}_getObjectAtPos(offsetX,offsetY){var _a10;return(_a10=this._scene)==null?void 0:_a10.pick(Vector2.FromArray([offsetX,offsetY]))}_checkDirectSceneEventTrigger(isTrigger,currentObject){let notObject=!1;currentObject==null&&(notObject=!0);let isNotInSceneViewer=!0;if(currentObject&¤tObject.classType===RENDER_CLASS_TYPE.BASE_OBJECT){const scene=currentObject.getScene();scene&&(isNotInSceneViewer=scene.getParent().classType!==RENDER_CLASS_TYPE.SCENE_VIEWER)}return!this._scene.objectsEvented&&isTrigger&&isNotInSceneViewer||notObject}_isPointerSwiping(pointerX,pointerY){return Math.abs(this._startingPosition.x-pointerX)>_InputManager.DragMovementThreshold||Math.abs(this._startingPosition.y-pointerY)>_InputManager.DragMovementThreshold}_prePointerDoubleOrTripleClick(evt){var _a10,_b,_c,_d;const{clientX,clientY}=evt;this._isPointerSwiping(clientX,clientY)&&this._resetDoubleClickParam(),this._delayedTimeout=setTimeout(()=>{this._resetDoubleClickParam()},_InputManager.DoubleClickDelay),this._doubleClickOccurred+=1,this._tripleClickState&&((_b=(_a10=this._scene)==null?void 0:_a10.pick(Vector2.FromArray([evt.offsetX,evt.offsetY])))==null||_b.triggerTripleClick(evt),this._scene.onTripleClick$.emitEvent(evt)),this._doubleClickOccurred===2&&((_d=(_c=this._scene)==null?void 0:_c.pick(Vector2.FromArray([evt.offsetX,evt.offsetY])))==null||_d.triggerDblclick(evt),this._scene.onDblclick$.emitEvent(evt),this._resetDoubleClickParam(),this._tripleClickState=!0,clearTimeout(this._delayedTripeTimeout),this._delayedTripeTimeout=setTimeout(()=>{this._tripleClickState=!1},_InputManager.TripleClickDelay)),this._startingPosition.x=clientX,this._startingPosition.y=clientY}_resetDoubleClickParam(){this._doubleClickOccurred=0,clearTimeout(this._delayedTimeout)}};__name(_InputManager,"InputManager"),__publicField(_InputManager,"DragMovementThreshold",2),__publicField(_InputManager,"LongPressDelay",500),__publicField(_InputManager,"DoubleClickDelay",500),__publicField(_InputManager,"TripleClickDelay",300),__publicField(_InputManager,"ExclusiveDoubleClickMode",!1);let InputManager=_InputManager;var ScrollTimerType=(ScrollTimerType2=>(ScrollTimerType2[ScrollTimerType2.NONE=0]="NONE",ScrollTimerType2[ScrollTimerType2.X=1]="X",ScrollTimerType2[ScrollTimerType2.Y=2]="Y",ScrollTimerType2[ScrollTimerType2.ALL=3]="ALL",ScrollTimerType2))(ScrollTimerType||{});const _ScrollTimer=class _ScrollTimer{constructor(_scene,_scrollTimerType=3,_padding){__publicField(this,"_requestNewFrameNumber",-1);__publicField(this,"_viewport");__publicField(this,"_offsetX",0);__publicField(this,"_offsetY",0);__publicField(this,"_moveX",0);__publicField(this,"_moveY",0);__publicField(this,"_scrollX",0);__publicField(this,"_scrollY",0);__publicField(this,"_scrollFunction");this._scene=_scene,this._scrollTimerType=_scrollTimerType,this._padding=_padding,this._padding||(this._padding={t:0,b:15,l:0,r:60})}static create(scene,scrollTimerType=3,padding){return new _ScrollTimer(scene,scrollTimerType,padding)}set scrollTimerType(type){this._scrollTimerType=type}get scrollTimerType(){return this._scrollTimerType}setActiveViewport(viewport){this._viewport=viewport}getActiveViewport(){return this._viewport}startScroll(offsetX,offsetY,targetViewport){this._offsetX=offsetX,this._offsetY=offsetY,this._moveX=offsetX,this._moveY=offsetY,targetViewport!=null?this._viewport=targetViewport:this._viewport=this.getViewportByCoord(this._scene),this._runRenderLoop()}_autoScroll(viewport){const topBounding=(viewport==null?void 0:viewport.top)||0,bottomBounding=topBounding+((viewport==null?void 0:viewport.height)||0),leftBounding=(viewport==null?void 0:viewport.left)||0,rightBounding=leftBounding+((viewport==null?void 0:viewport.width)||0),{t=0,b=0,r=0,l=0}=this._padding;let x=0,y=0,shouldScroll=!1;if(this._scrollTimerType&1&&(this._moveX<leftBounding+l&&(x=this._moveX-leftBounding-l,shouldScroll=!0),this._moveX>rightBounding-r&&(x=this._moveX-rightBounding+r,shouldScroll=!0)),this._scrollTimerType&2&&(this._moveY<topBounding+t&&(y=this._moveY-topBounding-t,shouldScroll=!0),this._moveY>bottomBounding-b&&(y=this._moveY-bottomBounding+b,shouldScroll=!0)),!shouldScroll)return;const limited=viewport==null?void 0:viewport.scrollByViewportDeltaVal({viewportScrollX:x,viewportScrollY:y}),viewportScrollVal=viewport==null?void 0:viewport.transScroll2ViewportScrollValue(x,y);if(this._scrollX=(viewportScrollVal==null?void 0:viewportScrollVal.x)||0,this._scrollY=(viewportScrollVal==null?void 0:viewportScrollVal.y)||0,limited){const ancestorScene=this._findAncestorScene(viewport==null?void 0:viewport.scene),newViewport=this.getViewportByCoord(ancestorScene);newViewport&&this._autoScroll(newViewport)}}scrolling(offsetX,offsetY,scrollFunction){this._moveX=offsetX,this._moveY=offsetY,this._scrollFunction=scrollFunction}stopScroll(){cancelRequestFrame(this._requestNewFrameNumber)}dispose(){this.stopScroll(),delete this._scrollFunction}getViewportByCoord(scene){return scene==null?void 0:scene.findViewportByPosToViewport(Vector2.FromArray([this._offsetX,this._offsetY]))}getScene(){return this._scene}_runRenderLoop(){this._autoScroll(this._viewport),this._scrollFunction&&this._scrollFunction(this._scrollX,this._scrollY),this._requestNewFrameNumber=requestNewFrame(this._runRenderLoop.bind(this))}_findAncestorScene(scene){let parent=scene==null?void 0:scene.getParent();for(;parent;){if(parent.classType===RENDER_CLASS_TYPE.SCENE)return parent;parent=(parent==null?void 0:parent.getParent)&&(parent==null?void 0:parent.getParent())}}};__name(_ScrollTimer,"ScrollTimer");let ScrollTimer=_ScrollTimer;const TransformerManagerTypeArray=["__SpreadsheetTransformerResizeLT__","__SpreadsheetTransformerResizeCT__","__SpreadsheetTransformerResizeRT__","__SpreadsheetTransformerResizeLM__","__SpreadsheetTransformerResizeRM__","__SpreadsheetTransformerResizeLB__","__SpreadsheetTransformerResizeCB__","__SpreadsheetTransformerResizeRB__"],DEFAULT_TRANSFORMER_LAYER_INDEX=2,MINI_WIDTH_LIMIT=20,MINI_HEIGHT_LIMIT=20,DEFAULT_CONTROL_PLUS_INDEX=5e3,_Transformer=class _Transformer extends core.Disposable{constructor(_scene,config){super();__publicField(this,"isCropper",!1);__publicField(this,"hoverEnabled",!1);__publicField(this,"hoverEnterFunc");__publicField(this,"hoverLeaveFunc");__publicField(this,"resizeEnabled",!0);__publicField(this,"rotateEnabled",!0);__publicField(this,"rotationSnaps",[]);__publicField(this,"rotationSnapTolerance",5);__publicField(this,"rotateAnchorOffset",50);__publicField(this,"rotateSize",10);__publicField(this,"rotateCornerRadius",10);__publicField(this,"borderEnabled",!0);__publicField(this,"borderStroke","rgb(97, 97, 97)");__publicField(this,"borderStrokeWidth",1);__publicField(this,"borderDash",[]);__publicField(this,"borderSpacing",0);__publicField(this,"anchorFill","rgb(255, 255, 255)");__publicField(this,"anchorStroke","rgb(185, 185, 185)");__publicField(this,"anchorStrokeWidth",1);__publicField(this,"anchorSize",10);__publicField(this,"anchorCornerRadius",10);__publicField(this,"keepRatio",!0);__publicField(this,"centeredScaling",!1);__publicField(this,"zeroLeft",0);__publicField(this,"zeroTop",0);__publicField(this,"enabledAnchors",[1,1,1,1,1,1,1,1]);__publicField(this,"flipEnabled",!1);__publicField(this,"ignoreStroke",!1);__publicField(this,"boundBoxFunc");__publicField(this,"useSingleNodeRotation",!1);__publicField(this,"shouldOverdrawWholeArea",!1);__publicField(this,"_changeStart$",new rxjs.Subject);__publicField(this,"changeStart$",this._changeStart$.asObservable());__publicField(this,"_changing$",new rxjs.Subject);__publicField(this,"changing$",this._changing$.asObservable());__publicField(this,"_changeEnd$",new rxjs.Subject);__publicField(this,"changeEnd$",this._changeEnd$.asObservable());__publicField(this,"_clearControl$",new rxjs.Subject);__publicField(this,"clearControl$",this._clearControl$.asObservable());__publicField(this,"_createControl$",new rxjs.Subject);__publicField(this,"createControl$",this._createControl$.asObservable());__publicField(this,"_startOffsetX",-1);__publicField(this,"_startOffsetY",-1);__publicField(this,"_startStateMap",new Map);__publicField(this,"_viewportScrollX",-1);__publicField(this,"_viewportScrollY",-1);__publicField(this,"_topScenePointerMoveSub");__publicField(this,"_topScenePointerUpSub");__publicField(this,"_cancelFocusSubscription");__publicField(this,"_transformerControlMap",new Map);__publicField(this,"_selectedObjectMap",new Map);__publicField(this,"_subscriptionObjectMap",new Map);__publicField(this,"_copperControl");__publicField(this,"_copperSelectedObject");__publicField(this,"_moveBufferSkip",!1);__publicField(this,"_debounceClearFunc");this._scene=_scene,this._initialProps(config)}changeNotification(){return this._changing$.next({objects:this._selectedObjectMap,type:0}),this}getSelectedObjectMap(){return this._selectedObjectMap}resetProps(config){this._initialProps(config)}getScene(){return this._scene}clearControls(changeSelf=!1){this._clearControls(changeSelf)}updateControl(){this._updateControl()}debounceRefreshControls(){this._debounceClearFunc&&this._debounceClearFunc(),this._debounceClearFunc=core.requestImmediateMacroTask(()=>{this.refreshControls(),this._debounceClearFunc=null})}clearSelectedObjects(){var _a10;this._selectedObjectMap.clear(),(_a10=this._cancelFocusSubscription)==null||_a10.unsubscribe(),this._cancelFocusSubscription=null,this._clearControls(!0)}refreshControls(){return this._clearControlMap(),this._selectedObjectMap.forEach(object=>{this._createControl(object)}),this}createControlForCopper(applyObject){this._createControl(applyObject,!1)}clearCopperControl(){var _a10;(_a10=this._copperControl)==null||_a10.dispose(),this._copperControl=null}setSelectedControl(applyObject){applyObject=this._findGroupObject(applyObject),this._selectedObjectMap.set(applyObject.oKey,applyObject),this._createControl(applyObject)}_getConfig(applyObject){var _a10,_b,_c,_d,_e,_f,_g,_h,_i,_j,_k,_l,_m,_n,_o,_p,_q,_r,_s,_t,_u,_v,_w,_x,_y,_z,_A,_B,_C;const objectTransformerConfig=applyObject.transformerConfig;let{isCropper,hoverEnabled,hoverEnterFunc,hoverLeaveFunc,resizeEnabled,rotateEnabled,rotationSnaps,rotationSnapTolerance,rotateAnchorOffset,rotateSize,rotateCornerRadius,borderEnabled,borderStroke,borderStrokeWidth,borderDash,borderSpacing,anchorFill,anchorStroke,anchorStrokeWidth,anchorSize,anchorCornerRadius,keepRatio,centeredScaling,enabledAnchors,flipEnabled,ignoreStroke,boundBoxFunc,useSingleNodeRotation,shouldOverdrawWholeArea}=this;return objectTransformerConfig!=null&&(isCropper=(_a10=objectTransformerConfig.isCropper)!=null?_a10:isCropper,hoverEnabled=(_b=objectTransformerConfig.hoverEnabled)!=null?_b:hoverEnabled,hoverEnterFunc=(_c=objectTransformerConfig.hoverEnterFunc)!=null?_c:hoverEnterFunc,hoverLeaveFunc=(_d=objectTransformerConfig.hoverLeaveFunc)!=null?_d:hoverLeaveFunc,resizeEnabled=(_e=objectTransformerConfig.resizeEnabled)!=null?_e:resizeEnabled,rotateEnabled=(_f=objectTransformerConfig.rotateEnabled)!=null?_f:rotateEnabled,rotationSnaps=(_g=objectTransformerConfig.rotationSnaps)!=null?_g:rotationSnaps,rotationSnapTolerance=(_h=objectTransformerConfig.rotationSnapTolerance)!=null?_h:rotationSnapTolerance,rotateAnchorOffset=(_i=objectTransformerConfig.rotateAnchorOffset)!=null?_i:rotateAnchorOffset,rotateSize=(_j=objectTransformerConfig.rotateSize)!=null?_j:rotateSize,rotateCornerRadius=(_k=objectTransformerConfig.rotateCornerRadius)!=null?_k:rotateCornerRadius,borderEnabled=(_l=objectTransformerConfig.borderEnabled)!=null?_l:borderEnabled,borderStroke=(_m=objectTransformerConfig.borderStroke)!=null?_m:borderStroke,borderStrokeWidth=(_n=objectTransformerConfig.borderStrokeWidth)!=null?_n:borderStrokeWidth,borderDash=(_o=objectTransformerConfig.borderDash)!=null?_o:borderDash,borderSpacing=(_p=objectTransformerConfig.borderSpacing)!=null?_p:borderSpacing,anchorFill=(_q=objectTransformerConfig.anchorFill)!=null?_q:anchorFill,anchorStroke=(_r=objectTransformerConfig.anchorStroke)!=null?_r:anchorStroke,anchorStrokeWidth=(_s=objectTransformerConfig.anchorStrokeWidth)!=null?_s:anchorStrokeWidth,anchorSize=(_t=objectTransformerConfig.anchorSize)!=null?_t:anchorSize,anchorCornerRadius=(_u=objectTransformerConfig.anchorCornerRadius)!=null?_u:anchorCornerRadius,keepRatio=(_v=objectTransformerConfig.keepRatio)!=null?_v:keepRatio,centeredScaling=(_w=objectTransformerConfig.centeredScaling)!=null?_w:centeredScaling,enabledAnchors=(_x=objectTransformerConfig.enabledAnchors)!=null?_x:enabledAnchors,flipEnabled=(_y=objectTransformerConfig.flipEnabled)!=null?_y:flipEnabled,ignoreStroke=(_z=objectTransformerConfig.ignoreStroke)!=null?_z:ignoreStroke,boundBoxFunc=(_A=objectTransformerConfig.boundBoxFunc)!=null?_A:boundBoxFunc,useSingleNodeRotation=(_B=objectTransformerConfig.useSingleNodeRotation)!=null?_B:useSingleNodeRotation,shouldOverdrawWholeArea=(_C=objectTransformerConfig.shouldOverdrawWholeArea)!=null?_C:shouldOverdrawWholeArea),{isCropper,hoverEnabled,hoverEnterFunc,hoverLeaveFunc,resizeEnabled,rotateEnabled,rotationSnaps,rotationSnapTolerance,rotateAnchorOffset,rotateSize,rotateCornerRadius,borderEnabled,borderStroke,borderStrokeWidth,borderDash,borderSpacing,anchorFill,anchorStroke,anchorStrokeWidth,anchorSize,anchorCornerRadius,keepRatio,centeredScaling,enabledAnchors,flipEnabled,ignoreStroke,boundBoxFunc,useSingleNodeRotation,shouldOverdrawWholeArea}}attachTo(applyObject){this.hoverEnabled&&(this.hoverEnterFunc&&applyObject.onPointerEnter$.subscribeEvent(this.hoverEnterFunc),this.hoverLeaveFunc&&applyObject.onPointerLeave$.subscribeEvent(this.hoverLeaveFunc));const observer=applyObject.onPointerDown$.subscribeEvent((evt,state)=>{const{offsetX:evtOffsetX,offsetY:evtOffsetY}=evt;this._startOffsetX=evtOffsetX,this._startOffsetY=evtOffsetY;const{isCropper}=this._getConfig(applyObject),scene=this._getTopScene();if(!scene)return;this._addCancelObserver(scene),scene.disableObjectsEvent();const scrollTimer=ScrollTimer.create(scene);scrollTimer.startScroll(evtOffsetX,evtOffsetY);const{scrollX,scrollY}=getCurrentScrollXY(scrollTimer);this._viewportScrollX=scrollX,this._viewportScrollY=scrollY,isCropper?(this._copperSelectedObject=applyObject,this._changeStart$.next({target:applyObject,objects:new Map([[applyObject.oKey,applyObject]]),type:0})):(this._updateActiveObjectList(applyObject,evt),this._changeStart$.next({target:applyObject,objects:this._selectedObjectMap,type:0})),this._moveBufferSkip=!1;const scenePointerMoveSub=scene.onPointerMove$.subscribeEvent(moveEvt=>{const{offsetX:moveOffsetX,offsetY:moveOffsetY}=moveEvt;this._moving(moveOffsetX,moveOffsetY,scrollTimer,isCropper),!isCropper&&this._clearControlMap(),scrollTimer.scrolling(moveOffsetX,moveOffsetY,()=>{this._moving(moveOffsetX,moveOffsetY,scrollTimer,isCropper)})}),scenePointerUpSub=scene.onPointerUp$.subscribeEvent(event=>{scenePointerMoveSub==null||scenePointerMoveSub.unsubscribe(),scenePointerUpSub==null||scenePointerUpSub.unsubscribe(),scene.enableObjectsEvent(),!isCropper&&this.refreshControls(),scrollTimer.dispose();const{offsetX,offsetY}=event;isCropper?this._changeEnd$.next({objects:new Map([[applyObject.oKey,applyObject]]),type:2,offsetX,offsetY}):this._changeEnd$.next({objects:this._selectedObjectMap,type:2,offsetX,offsetY})});state.stopPropagation()});return this.disposeWithMe(core.toDisposable(observer)),this._subscriptionObjectMap.set(applyObject.oKey,observer),applyObject}detachFrom(applyObject){const subscription=this._subscriptionObjectMap.get(applyObject.oKey);return subscription&&(subscription.unsubscribe(),this._subscriptionObjectMap.delete(applyObject.oKey)),applyObject}dispose(){var _a10,_b,_c;super.dispose(),(_a10=this._topScenePointerMoveSub)==null||_a10.unsubscribe(),(_b=this._topScenePointerUpSub)==null||_b.unsubscribe(),(_c=this._cancelFocusSubscription)==null||_c.unsubscribe(),this._cancelFocusSubscription=null,this._topScenePointerMoveSub=null,this._topScenePointerUpSub=null,this._cancelFocusSubscription=null,this._transformerControlMap.forEach(control=>control.dispose()),this._selectedObjectMap.forEach(control=>control.dispose()),this._changeStart$.complete(),this._changing$.complete(),this._changeEnd$.complete()}_initialProps(props){if(!props)return;const propsKeys=Object.keys(props);propsKeys.length!==0&&propsKeys.forEach(key=>{if(props[key]===void 0)return!0;this[key]=props[key]})}_checkMoveBoundary(moveObject,moveLeft,moveTop,ancestorLeft,ancestorTop,topSceneWidth,topSceneHeight){const{left,top,width,height}=moveObject;return moveLeft+left+ancestorLeft<this.zeroLeft&&(moveLeft=-ancestorLeft),moveTop+top+ancestorTop<this.zeroTop&&(moveTop=-ancestorTop),moveLeft+left+width+ancestorLeft>topSceneWidth+this.zeroLeft&&(moveLeft=this.zeroLeft+topSceneWidth-width-left-ancestorLeft),moveTop+top+height+ancestorTop>topSceneHeight+this.zeroTop&&(moveTop=this.zeroTop+topSceneHeight-height-top-ancestorTop),{moveLeft,moveTop}}_moving(moveOffsetX,moveOffsetY,scrollTimer,isCropper=!1){const{scrollX,scrollY}=getCurrentScrollXY(scrollTimer),x=moveOffsetX-this._viewportScrollX+scrollX,y=moveOffsetY-this._viewportScrollY+scrollY,{ancestorScaleX,ancestorScaleY,ancestorLeft,ancestorTop}=this._scene;let moveLeft=this._smoothAccuracy((x-this._startOffsetX)/ancestorScaleX,isCropper),moveTop=this._smoothAccuracy((y-this._startOffsetY)/ancestorScaleY,isCropper);if(this._moveBufferBlocker(moveOffsetX,moveOffsetY))return;const topScene=this._getTopScene();if(!topScene)return;const{width:topSceneWidth,height:topSceneHeight}=topScene;if(isCropper){if(this._copperSelectedObject){const cropper=this._copperSelectedObject,boundary=this._checkMoveBoundary(cropper,moveLeft,moveTop,ancestorLeft,ancestorTop,topSceneWidth,topSceneHeight);moveLeft=boundary.moveLeft,moveTop=boundary.moveTop,cropper.translate(moveLeft+cropper.left,moveTop+cropper.top),this._changing$.next({objects:new Map([[cropper.oKey,cropper]]),moveX:moveLeft,moveY:moveTop,type:1,offsetX:moveOffsetX,offsetY:moveOffsetY})}}else{const selectedObjects=Array.from(this._selectedObjectMap.values());for(let i=0;i<selectedObjects.length;i++){const moveObject=selectedObjects[i],boundary=this._checkMoveBoundary(moveObject,moveLeft,moveTop,ancestorLeft,ancestorTop,topSceneWidth,topSceneHeight);moveLeft=boundary.moveLeft,moveTop=boundary.moveTop}this._selectedObjectMap.forEach(moveObject=>{moveObject.translate(moveLeft+moveObject.left,moveTop+moveObject.top)}),this._changing$.next({objects:this._selectedObjectMap,moveX:moveLeft,moveY:moveTop,type:1,offsetX:moveOffsetX,offsetY:moveOffsetY})}this._startOffsetX=x,this._startOffsetY=y}_moveBufferBlocker(x,y){return!this._moveBufferSkip&&Math.abs(x-this._startOffsetX)<core.MOVE_BUFFER_VALUE&&Math.abs(y-this._startOffsetY)<core.MOVE_BUFFER_VALUE?!0:(this._moveBufferSkip=!0,!1)}_anchorMoving(type,moveOffsetX,moveOffsetY,scrollTimer,keepRatio,isCropper=!1,applyObject){const{scrollX,scrollY}=getCurrentScrollXY(scrollTimer),x=moveOffsetX-this._viewportScrollX+scrollX,y=moveOffsetY-this._viewportScrollY+scrollY;if(this._moveBufferBlocker(moveOffsetX,moveOffsetY))return;const isGroup=applyObject instanceof Group;isCropper?(this._moveFunc(applyObject,type,x,y,keepRatio,isCropper,isGroup),this._changing$.next({objects:new Map([[applyObject.oKey,applyObject]]),type:1,offsetX:moveOffsetX,offsetY:moveOffsetY})):(this._selectedObjectMap.forEach(moveObject=>{this._moveFunc(moveObject,type,x,y,keepRatio,isCropper,isGroup)}),this._changing$.next({objects:this._selectedObjectMap,type:1,offsetX:moveOffsetX,offsetY:moveOffsetY})),keepRatio&&type!=="__SpreadsheetTransformerResizeCT__"&&type!=="__SpreadsheetTransformerResizeCB__"&&type!=="__SpreadsheetTransformerResizeLM__"&&type!=="__SpreadsheetTransformerResizeRM__"&&!isGroup||(this._startOffsetX=x,this._startOffsetY=y)}_moveFunc(moveObject,type,x,y,keepRatio,isCropper=!1,isGroup=!1){const{left,top,width,height,angle}=moveObject,originState=this._startStateMap.get(moveObject.oKey)||{};let state={};const{moveLeft,moveTop}=this._getMovePoint(x,y,moveObject);if(keepRatio&&type!=="__SpreadsheetTransformerResizeCT__"&&type!=="__SpreadsheetTransformerResizeCB__"&&type!=="__SpreadsheetTransformerResizeLM__"&&type!=="__SpreadsheetTransformerResizeRM__"&&!isGroup)switch(type){case"__SpreadsheetTransformerResizeLT__":state=this._resizeLeftTop(moveObject,moveLeft,moveTop,originState);break;case"__SpreadsheetTransformerResizeRT__":state=this._resizeRightTop(moveObject,moveLeft,moveTop,originState);break;case"__SpreadsheetTransformerResizeLB__":state=this._resizeLeftBottom(moveObject,moveLeft,moveTop,originState);break;case"__SpreadsheetTransformerResizeRB__":state=this._resizeRightBottom(moveObject,moveLeft,moveTop,originState);break}else state=this._updateCloseKeepRatioState(type,left,top,width,height,moveLeft,moveTop);moveObject.transformByState(this._applyRotationForResult(state,{left,top,width,height},angle,isCropper))}_getMovePoint(x,y,moveObject){const{ancestorScaleX,ancestorScaleY}=this._scene,{left,top,width,height,angle}=moveObject,cx=left+width/2,cy=top+height/2,centerPoint=new Vector2(cx,cy),xyPoint=new Vector2(x,y);xyPoint.rotateByPoint(degToRad(-angle),centerPoint);const startPoint=new Vector2(this._startOffsetX,this._startOffsetY);startPoint.rotateByPoint(degToRad(-angle),centerPoint);const moveLeft=(xyPoint.x-startPoint.x)/ancestorScaleX,moveTop=(xyPoint.y-startPoint.y)/ancestorScaleY;return{moveLeft,moveTop}}_applyRotationForResult(newsState,oldState,angle,isCropper=!1){if(angle===0)return newsState;const{left=0,top=0,width=0,height=0}=newsState,{left:oldLeft=0,top:oldTop=0,width:oldWidth=0,height:oldHeight=0}=oldState,oldCx=oldWidth/2,oldCy=oldHeight/2,newCx=width/2+left-oldLeft,newCy=height/2+top-oldTop,finalPoint=offsetRotationAxis(new Vector2(oldCx,oldCy),angle,new Vector2(left,top),new Vector2(newCx,newCy));return{width:this._smoothAccuracy(width,isCropper),height:this._smoothAccuracy(height,isCropper),left:this._smoothAccuracy(finalPoint.x,isCropper),top:this._smoothAccuracy(finalPoint.y,isCropper)}}_updateCloseKeepRatioState(type,left,top,width,height,moveLeft,moveTop){const state={left,top,width,height};switch(type){case"__SpreadsheetTransformerResizeLT__":state.width=width-moveLeft<MINI_WIDTH_LIMIT?MINI_WIDTH_LIMIT:width-moveLeft,state.height=height-moveTop<MINI_HEIGHT_LIMIT?MINI_HEIGHT_LIMIT:height-moveTop,state.left=left+width-state.width,state.top=top+height-state.height;break;case"__SpreadsheetTransformerResizeCT__":state.height=height-moveTop<MINI_HEIGHT_LIMIT?MINI_HEIGHT_LIMIT:height-moveTop,state.top=top+height-state.height;break;case"__SpreadsheetTransformerResizeRT__":state.width=width+moveLeft<MINI_WIDTH_LIMIT?MINI_WIDTH_LIMIT:width+moveLeft,state.height=height-moveTop<MINI_HEIGHT_LIMIT?MINI_HEIGHT_LIMIT:height-moveTop,state.top=top+height-state.height;break;case"__SpreadsheetTransformerResizeLM__":state.width=width-moveLeft<MINI_WIDTH_LIMIT?MINI_WIDTH_LIMIT:width-moveLeft,state.left=left+width-state.width;break;case"__SpreadsheetTransformerResizeRM__":state.width=moveLeft+width<MINI_WIDTH_LIMIT?MINI_WIDTH_LIMIT:moveLeft+width;break;case"__SpreadsheetTransformerResizeLB__":state.width=width-moveLeft<MINI_WIDTH_LIMIT?MINI_WIDTH_LIMIT:width-moveLeft,state.height=height+moveTop<MINI_HEIGHT_LIMIT?MINI_HEIGHT_LIMIT:height+moveTop,state.left=state.width<=MINI_WIDTH_LIMIT?left:left+moveLeft;break;case"__SpreadsheetTransformerResizeCB__":state.height=moveTop+height<MINI_HEIGHT_LIMIT?MINI_HEIGHT_LIMIT:moveTop+height;break;case"__SpreadsheetTransformerResizeRB__":state.width=moveLeft+width<MINI_WIDTH_LIMIT?MINI_WIDTH_LIMIT:moveLeft+width,state.height=moveTop+height<MINI_HEIGHT_LIMIT?MINI_HEIGHT_LIMIT:moveTop+height;break}return state}_getLimitedSize(newWidth,newHeight){let limitWidth=MINI_WIDTH_LIMIT,limitHeight=MINI_HEIGHT_LIMIT;return newWidth>newHeight?limitWidth=limitWidth*Math.abs(newWidth/newHeight):limitHeight=limitHeight*Math.abs(newHeight/newWidth),{limitWidth,limitHeight}}_resizeLeftTop(moveObject,moveLeft,moveTop,originState){const{left=0,top=0,width=0,height=0}=moveObject.getState(),{width:originWidth=width,height:originHeight=height,left:originLeft=left,top:originTop=top}=originState,aspectRatio=originWidth/originHeight,{moveLeft:moveLeftFix,moveTop:moveTopFix}=this._fixMoveLtRb(moveLeft,moveTop,originWidth,originHeight,aspectRatio);let newWidth=originWidth-moveLeftFix,newHeight=originHeight-moveTopFix;const{limitWidth,limitHeight}=this._getLimitedSize(originWidth,originHeight);return newWidth<limitWidth&&(newWidth=limitWidth),newHeight<limitHeight&&(newHeight=limitHeight),{left:left+width-newWidth,top:top+height-newHeight,width:newWidth,height:newHeight}}_resizeRightBottom(moveObject,moveLeft,moveTop,originState){const{left=0,top=0,width=0,height=0}=moveObject.getState(),{width:originWidth=width,height:originHeight=height,left:originLeft=left,top:originTop=top}=originState,aspectRatio=originWidth/originHeight,{moveLeft:moveLeftFix,moveTop:moveTopFix}=this._fixMoveLtRb(moveLeft,moveTop,originWidth,originHeight,aspectRatio);let newWidth=originWidth+moveLeftFix,newHeight=originHeight+moveTopFix;const{limitWidth,limitHeight}=this._getLimitedSize(originWidth,originHeight);return newWidth<limitWidth&&(newWidth=limitWidth),newHeight<limitHeight&&(newHeight=limitHeight),{left,top,width:newWidth,height:newHeight}}_resizeLeftBottom(moveObject,moveLeft,moveTop,originState){const{left=0,top=0,width=0,height=0}=moveObject.getState(),{width:originWidth=width,height:originHeight=height,left:originLeft=left,top:originTop=top}=originState,aspectRatio=originWidth/originHeight,{moveLeft:moveLeftFix,moveTop:moveTopFix}=this._fixMoveLbRt(moveLeft,moveTop,originWidth,originHeight,aspectRatio);let newWidth=originWidth-moveLeftFix,newHeight=originHeight+moveTopFix;const{limitWidth,limitHeight}=this._getLimitedSize(originWidth,originHeight);return newWidth<limitWidth&&(newWidth=limitWidth),newHeight<limitHeight&&(newHeight=limitHeight),{left:left+width-newWidth,top,width:newWidth,height:newHeight}}_resizeRightTop(moveObject,moveLeft,moveTop,originState){const{left=0,top=0,width=0,height=0}=moveObject.getState(),{width:originWidth=width,height:originHeight=height,left:originLeft=left,top:originTop=top}=originState,aspectRatio=originWidth/originHeight,{moveLeft:moveLeftFix,moveTop:moveTopFix}=this._fixMoveLbRt(moveLeft,moveTop,originWidth,originHeight,aspectRatio);let newWidth=originWidth+moveLeftFix,newHeight=originHeight-moveTopFix;const{limitWidth,limitHeight}=this._getLimitedSize(originWidth,originHeight);return newWidth<limitWidth&&(newWidth=limitWidth),newHeight<limitHeight&&(newHeight=limitHeight),{left,top:top+height-newHeight,width:newWidth,height:newHeight}}_fixMoveLtRb(moveLeft,moveTop,originWidth,originHeight,aspectRatio){let moveLeftFix=moveLeft,moveTopFix=moveTop;return(originWidth+moveLeftFix)/(originHeight+moveTopFix)>aspectRatio?moveTopFix=moveLeftFix/aspectRatio:moveLeftFix=moveTopFix*aspectRatio,{moveLeft:moveLeftFix,moveTop:moveTopFix}}_fixMoveLbRt(moveLeft,moveTop,originWidth,originHeight,aspectRatio){let moveLeftFix=moveLeft,moveTopFix=moveTop;return Math.abs((originWidth-moveLeftFix)/(originHeight+moveTopFix))>aspectRatio?moveTopFix=-moveLeftFix/aspectRatio:moveLeftFix=-moveTopFix*aspectRatio,{moveLeft:moveLeftFix,moveTop:moveTopFix}}_attachEventToAnchor(anchor,type="__SpreadsheetTransformerResizeLT__",applyObject){this.disposeWithMe(core.toDisposable(anchor.onPointerDown$.subscribeEvent((evt,state)=>{const{offsetX:evtOffsetX,offsetY:evtOffsetY}=evt;this._startOffsetX=evtOffsetX,this._startOffsetY=evtOffsetY;const topScene=this._getTopScene(),{keepRatio,isCropper}=this._getConfig(applyObject);if(topScene==null)return;topScene.disableObjectsEvent();const scrollTimer=ScrollTimer.create(topScene);scrollTimer.startScroll(evtOffsetX,evtOffsetY);const{scrollX,scrollY}=getCurrentScrollXY(scrollTimer);this._viewportScrollX=scrollX,this._viewportScrollY=scrollY;const{ancestorLeft,ancestorTop}=this._scene,{width:topSceneWidth,height:topSceneHeight}=topScene,cursor=this._getRotateAnchorCursor(type);if(!isCropper)this._clearControlMap(),this._changeStart$.next({objects:this._selectedObjectMap,type:0}),this._selectedObjectMap.forEach(moveObject=>{const{width,height,left,top}=moveObject.getState();this._startStateMap.set(moveObject.oKey,{width,height,left,top})});else{this._changeStart$.next({objects:new Map([[applyObject.oKey,applyObject]]),type:0});const{width,height,left,top}=applyObject.getState();this._startStateMap.set(applyObject.oKey,{width,height,left,top})}this._moveBufferSkip=!1,this._topScenePointerMoveSub=topScene.onPointerMove$.subscribeEvent(moveEvt=>{const{offsetX:moveOffsetX,offsetY:moveOffsetY}=moveEvt;this._anchorMoving(type,moveOffsetX,moveOffsetY,scrollTimer,keepRatio,isCropper,applyObject),scrollTimer.scrolling(moveOffsetX,moveOffsetY,()=>{this._anchorMoving(type,moveOffsetX,moveOffsetY,scrollTimer,keepRatio,isCropper,applyObject)}),topScene.setCursor(cursor)}),this._topScenePointerUpSub=topScene.onPointerUp$.subscribeEvent(event=>{var _a10,_b;(_a10=this._topScenePointerMoveSub)==null||_a10.unsubscribe(),(_b=this._topScenePointerUpSub)==null||_b.unsubscribe(),topScene.enableObjectsEvent(),topScene.resetCursor(),scrollTimer.dispose(),this._startStateMap.clear();const{offsetX,offsetY}=event;isCropper?(this._recoverySizeBoundary([applyObject],ancestorLeft,ancestorTop,topSceneWidth,topSceneHeight),this._changeEnd$.next({objects:new Map([[applyObject.oKey,applyObject]]),type:2,offsetX,offsetY})):(this._recoverySizeBoundary(Array.from(this._selectedObjectMap.values()),ancestorLeft,ancestorTop,topSceneWidth,topSceneHeight),this._changeEnd$.next({objects:this._selectedObjectMap,type:2,offsetX,offsetY})),this.refreshControls()}),state.stopPropagation()})))}_recoverySizeBoundary(selectedObjects,ancestorLeft,ancestorTop,topSceneWidth,topSceneHeight){for(let i=0;i<selectedObjects.length;i++){const moveObject=selectedObjects[i],{left,top,width,height}=moveObject,newTransform={};left+ancestorLeft<this.zeroLeft?(newTransform.left=this.zeroLeft-ancestorLeft,newTransform.width=width+left):left+width+ancestorLeft>topSceneWidth+this.zeroLeft&&(newTransform.width=this.zeroLeft+topSceneWidth-left-ancestorLeft),top+ancestorTop<this.zeroTop?(newTransform.top=this.zeroTop-ancestorTop,newTransform.height=height+top):top+height+ancestorTop>topSceneHeight+this.zeroTop&&(newTransform.height=this.zeroTop+topSceneHeight-top-ancestorTop),moveObject.transformByState(newTransform)}}_attachEventToRotate(rotateControl,applyObject){this.disposeWithMe(core.toDisposable(rotateControl.onPointerDown$.subscribeEvent((evt,state)=>{const{offsetX:evtOffsetX,offsetY:evtOffsetY}=evt;this._startOffsetX=evtOffsetX,this._startOffsetY=evtOffsetY;const topScene=this._getTopScene();if(topScene==null)return;topScene.disableObjectsEvent();const viewportActualXY=topScene.getVpScrollXYInfoByPosToVp(Vector2.create(evtOffsetX,evtOffsetY));this._viewportScrollX=viewportActualXY.x,this._viewportScrollY=viewportActualXY.y;const cursor=this._getRotateAnchorCursor("__SpreadsheetTransformerRotateLine__"),{ancestorLeft,ancestorTop,width,height,angle:agentOrigin}=applyObject,centerX=width/2+ancestorLeft,centerY=height/2+ancestorTop;this._clearControlMap(),this._changeStart$.next({objects:this._selectedObjectMap,type:0}),this._moveBufferSkip=!1;const topScenePointerMoveSub=topScene.onPointerMove$.subscribeEvent(moveEvt=>{const{offsetX:moveOffsetX,offsetY:moveOffsetY}=moveEvt;this._rotateMoving(moveOffsetX,moveOffsetY,centerX,centerY,agentOrigin),topScene.setCursor(cursor)}),topScenePointerUpSub=topScene.onPointerUp$.subscribeEvent(event=>{topScenePointerMoveSub==null||topScenePointerMoveSub.unsubscribe(),topScenePointerUpSub==null||topScenePointerUpSub.unsubscribe(),topScene.enableObjectsEvent(),topScene.resetCursor(),this.refreshControls();const{offsetX,offsetY}=event;this._changeEnd$.next({objects:this._selectedObjectMap,type:2,offsetX,offsetY})});state.stopPropagation()})))}_rotateMoving(moveOffsetX,moveOffsetY,centerX,centerY,agentOrigin){const{ancestorScaleX,ancestorScaleY}=this._scene;if(this._moveBufferBlocker(moveOffsetX,moveOffsetY))return;const angle1=Math.atan2((moveOffsetY-centerY)/ancestorScaleY+this._viewportScrollY,(moveOffsetX-centerX)/ancestorScaleX+this._viewportScrollX),angle2=Math.atan2((this._startOffsetY-centerY)/ancestorScaleY+this._viewportScrollY,(this._startOffsetX-centerX)/ancestorScaleX+this._viewportScrollX);let angle=agentOrigin+radToDeg(angle1-angle2);angle<0&&(angle=360+angle),angle%=360,angle=this._smoothAccuracy(angle),this._selectedObjectMap.forEach(moveObject=>{moveObject.transformByState({angle})}),this._changing$.next({objects:this._selectedObjectMap,angle,type:1,offsetX:moveOffsetX,offsetY:moveOffsetY})}_getOutlinePosition(width,height,borderSpacing,borderStrokeWidth){return{left:borderSpacing-borderStrokeWidth,top:-borderSpacing-this.borderStrokeWidth,width:width+borderSpacing*2,height:height+borderSpacing*2}}_getRotateAnchorCursor(type){let cursor=CURSOR_TYPE.NORTH_WEST_RESIZE;switch(type){case"__SpreadsheetTransformerRotate__":cursor=CURSOR_TYPE.MOVE;break;case"__SpreadsheetTransformerRotateLine__":cursor=CURSOR_TYPE.MOVE;break;case"__SpreadsheetTransformerResizeLT__":break;case"__SpreadsheetTransformerResizeCT__":cursor=CURSOR_TYPE.NORTH_RESIZE;break;case"__SpreadsheetTransformerResizeRT__":cursor=CURSOR_TYPE.NORTH_EAST_RESIZE;break;case"__SpreadsheetTransformerResizeLM__":cursor=CURSOR_TYPE.WEST_RESIZE;break;case"__SpreadsheetTransformerResizeRM__":cursor=CURSOR_TYPE.EAST_RESIZE;break;case"__SpreadsheetTransformerResizeLB__":cursor=CURSOR_TYPE.SOUTH_WEST_RESIZE;break;case"__SpreadsheetTransformerResizeCB__":cursor=CURSOR_TYPE.SOUTH_RESIZE;break;case"__SpreadsheetTransformerResizeRB__":cursor=CURSOR_TYPE.SOUTH_EAST_RESIZE;break}return cursor}_getCopperAnchorPosition(type,height,width,applyObject){const{borderStrokeWidth,borderSpacing,anchorSize}=this._getConfig(applyObject);let left=0,top=0;const longEdge=anchorSize,shortEdge=anchorSize/4;switch(type){case"__SpreadsheetTransformerResizeLT__":left+=-borderSpacing-borderStrokeWidth,top+=-borderSpacing-borderStrokeWidth;break;case"__SpreadsheetTransformerResizeCT__":left+=width/2-longEdge/2,top+=-borderSpacing-borderStrokeWidth;break;case"__SpreadsheetTransformerResizeRT__":left+=width+borderSpacing-borderStrokeWidth-longEdge,top+=-borderSpacing-borderStrokeWidth;break;case"__SpreadsheetTransformerResizeLM__":left+=borderSpacing-borderStrokeWidth,top+=height/2-longEdge/2;break;case"__SpreadsheetTransformerResizeRM__":left+=width+borderSpacing-borderStrokeWidth-shortEdge,top+=height/2-longEdge/2;break;case"__SpreadsheetTransformerResizeLB__":left+=-this.borderSpacing-borderStrokeWidth,top+=height+borderSpacing-borderStrokeWidth-longEdge;break;case"__SpreadsheetTransformerResizeCB__":left+=width/2-longEdge/2,top+=height+borderSpacing-borderStrokeWidth-shortEdge;break;case"__SpreadsheetTransformerResizeRB__":left+=width+borderSpacing-borderStrokeWidth-longEdge,top+=height+borderSpacing-borderStrokeWidth-longEdge;break}return{left,top}}_getRotateAnchorPosition(type,height,width,applyObject){const{rotateAnchorOffset,rotateSize,borderStrokeWidth,borderSpacing,anchorSize}=this._getConfig(applyObject);let left=-anchorSize/2,top=-anchorSize/2;switch(type){case"__SpreadsheetTransformerRotate__":left=width/2-rotateSize/2,top=-rotateAnchorOffset-borderSpacing-borderStrokeWidth*2-rotateSize;break;case"__SpreadsheetTransformerRotateLine__":left=width/2,top=-rotateAnchorOffset-borderSpacing-borderStrokeWidth;break;case"__SpreadsheetTransformerResizeLT__":left+=-borderSpacing-borderStrokeWidth,top+=-borderSpacing-borderStrokeWidth;break;case"__SpreadsheetTransformerResizeCT__":left+=width/2,top+=-borderSpacing-borderStrokeWidth;break;case"__SpreadsheetTransformerResizeRT__":left+=width+borderSpacing-borderStrokeWidth,top+=-borderSpacing-borderStrokeWidth;break;case"__SpreadsheetTransformerResizeLM__":left+=borderSpacing-borderStrokeWidth,top+=height/2;break;case"__SpreadsheetTransformerResizeRM__":left+=width+borderSpacing-borderStrokeWidth,top+=height/2;break;case"__SpreadsheetTransformerResizeLB__":left+=-this.borderSpacing-borderStrokeWidth,top+=height+borderSpacing-borderStrokeWidth;break;case"__SpreadsheetTransformerResizeCB__":left+=width/2,top+=height+borderSpacing-borderStrokeWidth;break;case"__SpreadsheetTransformerResizeRB__":left+=width+borderSpacing-borderStrokeWidth,top+=height+borderSpacing-borderStrokeWidth;break}return{left,top}}_createResizeAnchor(type,applyObject,zIndex){const{height=0,width=0,scaleX=1,scaleY=1}=applyObject.getState(),{anchorFill,anchorStroke,anchorStrokeWidth,anchorCornerRadius,anchorSize}=this._getConfig(applyObject),{left,top}=this._getRotateAnchorPosition(type,height,width,applyObject),cursor=this._getRotateAnchorCursor(type),anchor=new Rect(`${type}_${zIndex}`,{zIndex:zIndex-1,fill:anchorFill,stroke:anchorStroke,strokeWidth:anchorStrokeWidth,width:anchorSize,height:anchorSize,radius:anchorCornerRadius,left,top});return this._attachHover(anchor,cursor,CURSOR_TYPE.DEFAULT),anchor}_createCopperResizeAnchor(type,applyObject,zIndex){const{height=0,width=0,scaleX=1,scaleY=1}=applyObject.getState(),{anchorFill,anchorStroke,anchorStrokeWidth,anchorSize}=this._getConfig(applyObject),{left,top}=this._getCopperAnchorPosition(type,height,width,applyObject),cursor=this._getRotateAnchorCursor(type);let anchor;const oKey=`${type}_${zIndex}`,config={zIndex:zIndex-1,fill:anchorFill,stroke:anchorStroke,strokeWidth:anchorStrokeWidth,width:anchorSize,height:anchorSize,left,top},longEdge=anchorSize,shortEdge=anchorSize/4;return cursor===CURSOR_TYPE.EAST_RESIZE?(config.width=shortEdge,config.height=longEdge,anchor=new Rect(oKey,config)):cursor===CURSOR_TYPE.WEST_RESIZE?(config.width=shortEdge,config.height=longEdge,anchor=new Rect(oKey,config)):cursor===CURSOR_TYPE.NORTH_RESIZE?(config.width=longEdge,config.height=shortEdge,anchor=new Rect(oKey,config)):cursor===CURSOR_TYPE.SOUTH_RESIZE?(config.width=longEdge,config.height=shortEdge,anchor=new Rect(oKey,config)):cursor===CURSOR_TYPE.NORTH_EAST_RESIZE?(config.pointsGroup=this._getNorthEastPoints(longEdge,shortEdge),anchor=new RegularPolygon(oKey,config)):cursor===CURSOR_TYPE.NORTH_WEST_RESIZE?(config.pointsGroup=this._getNorthWestPoints(longEdge,shortEdge),anchor=new RegularPolygon(oKey,config)):cursor===CURSOR_TYPE.SOUTH_EAST_RESIZE?(config.pointsGroup=this._getSouthEastPoints(longEdge,shortEdge),anchor=new RegularPolygon(oKey,config)):cursor===CURSOR_TYPE.SOUTH_WEST_RESIZE&&(config.pointsGroup=this._getSouthWestPoints(longEdge,shortEdge),anchor=new RegularPolygon(oKey,config)),this._attachHover(anchor,cursor,CURSOR_TYPE.DEFAULT),anchor}_getNorthEastPoints(longEdge,shortEdge){const minusL_S=longEdge-shortEdge;return[[{x:0,y:0},{x:longEdge,y:0},{x:longEdge,y:longEdge},{x:minusL_S,y:longEdge},{x:minusL_S,y:shortEdge},{x:0,y:shortEdge}]]}_getNorthWestPoints(longEdge,shortEdge){return[[{x:0,y:0},{x:longEdge,y:0},{x:longEdge,y:shortEdge},{x:shortEdge,y:shortEdge},{x:shortEdge,y:longEdge},{x:0,y:longEdge}]]}_getSouthEastPoints(longEdge,shortEdge){const minusL_S=longEdge-shortEdge;return[[{x:minusL_S,y:0},{x:longEdge,y:0},{x:longEdge,y:longEdge},{x:0,y:longEdge},{x:0,y:minusL_S},{x:minusL_S,y:minusL_S},{x:minusL_S,y:0}]]}_getSouthWestPoints(longEdge,shortEdge){const minusL_S=longEdge-shortEdge;return[[{x:0,y:0},{x:shortEdge,y:0},{x:shortEdge,y:minusL_S},{x:longEdge,y:minusL_S},{x:longEdge,y:longEdge},{x:0,y:longEdge},{x:0,y:0}]]}_checkTransformerType(oKey){if(oKey.indexOf("__SpreadsheetTransformerOutline__")>-1)return"__SpreadsheetTransformerOutline__";if(oKey.indexOf("__SpreadsheetTransformerRotate__")>-1)return"__SpreadsheetTransformerRotate__";if(oKey.indexOf("__SpreadsheetTransformerRotateLine__")>-1)return"__SpreadsheetTransformerRotateLine__";if(oKey.indexOf("__SpreadsheetTransformerResizeLT__")>-1)return"__SpreadsheetTransformerResizeLT__";if(oKey.indexOf("__SpreadsheetTransformerResizeCT__")>-1)return"__SpreadsheetTransformerResizeCT__";if(oKey.indexOf("__SpreadsheetTransformerResizeRT__")>-1)return"__SpreadsheetTransformerResizeRT__";if(oKey.indexOf("__SpreadsheetTransformerResizeLM__")>-1)return"__SpreadsheetTransformerResizeLM__";if(oKey.indexOf("__SpreadsheetTransformerResizeRM__")>-1)return"__SpreadsheetTransformerResizeRM__";if(oKey.indexOf("__SpreadsheetTransformerResizeLB__")>-1)return"__SpreadsheetTransformerResizeLB__";if(oKey.indexOf("__SpreadsheetTransformerResizeCB__")>-1)return"__SpreadsheetTransformerResizeCB__";if(oKey.indexOf("__SpreadsheetTransformerResizeRB__")>-1)return"__SpreadsheetTransformerResizeRB__"}_updateControlIterator(func){this._transformerControlMap.forEach((control,oKey)=>{const applyObject=this._selectedObjectMap.get(oKey);if(!applyObject)return!0;func(control,applyObject)})}_updateControl(){this._updateControlIterator((control,applyObject)=>{const{left,top,height,width,angle}=applyObject.getState();control.transformByState({left,top,height,width,angle}),control.show(),control.makeDirty(!0)})}_hideControl(){this._transformerControlMap.forEach(control=>{control.hide(),control.makeDirty(!0)})}_attachHover(o,cursorIn,cursorOut){this.disposeWithMe(core.toDisposable(o.onPointerEnter$.subscribeEvent(()=>{o.cursor=cursorIn}))),this.disposeWithMe(core.toDisposable(o.onPointerLeave$.subscribeEvent(()=>{o.cursor=cursorOut})))}_clearControls(changeSelf=!1){this._clearControlMap(),this._clearControl$.next(changeSelf)}_clearControlMap(){this._transformerControlMap.forEach(control=>{control.dispose()}),this._transformerControlMap.clear()}_createControl(applyObject,isSkipOnCropper=!0){const{left=0,top=0,height=0,width=0}=applyObject.getState(),angle=applyObject.angle,{isCropper,resizeEnabled,rotateEnabled,rotateAnchorOffset,rotateSize,rotateCornerRadius,borderEnabled,borderStroke,borderStrokeWidth,borderSpacing,enabledAnchors}=this._getConfig(applyObject);if(isSkipOnCropper&&isCropper)return;const oKey=applyObject.oKey,zIndex=this._selectedObjectMap.size+applyObject.maxZIndex+DEFAULT_CONTROL_PLUS_INDEX,layerIndex=applyObject.getLayerIndex()||DEFAULT_TRANSFORMER_LAYER_INDEX,groupElements=[];if(borderEnabled&&!isCropper){const outline=new Rect(`__SpreadsheetTransformerOutline___${zIndex}`,{zIndex:zIndex-1,evented:!1,strokeWidth:borderStrokeWidth,stroke:borderStroke,...this._getOutlinePosition(width,height,borderSpacing,borderStrokeWidth)});groupElements.push(outline)}if(resizeEnabled&&!isCropper){const{left:lineLeft,top:lineTop}=this._getRotateAnchorPosition("__SpreadsheetTransformerRotateLine__",height,width,applyObject);if(rotateEnabled){const rotateLine=new Rect(`__SpreadsheetTransformerRotateLine___${zIndex}`,{zIndex:zIndex-1,evented:!1,left:lineLeft,top:lineTop,height:rotateAnchorOffset,width:1,strokeWidth:borderStrokeWidth,stroke:borderStroke}),{left:left2,top:top2}=this._getRotateAnchorPosition("__SpreadsheetTransformerRotate__",height,width,applyObject),cursor=this._getRotateAnchorCursor("__SpreadsheetTransformerRotate__"),rotate=new Rect(`__SpreadsheetTransformerRotate___${zIndex}`,{zIndex:zIndex-1,left:left2,top:top2,height:rotateSize,width:rotateSize,radius:rotateCornerRadius,strokeWidth:borderStrokeWidth*2,stroke:borderStroke});this._attachEventToRotate(rotate,applyObject),this._attachHover(rotate,cursor,CURSOR_TYPE.DEFAULT),groupElements.push(rotateLine,rotate)}}if(resizeEnabled)for(let i=0,len=enabledAnchors.length;i<len;i++){if(enabledAnchors[i]!==1)continue;const type=TransformerManagerTypeArray[i];let anchor;isCropper?anchor=this._createCopperResizeAnchor(type,applyObject,zIndex):anchor=this._createResizeAnchor(type,applyObject,zIndex),this._attachEventToAnchor(anchor,type,applyObject),groupElements.push(anchor)}const transformerControl=new Group(`__SpreadsheetTransformer___${oKey}`,...groupElements);return transformerControl.zIndex=zIndex,transformerControl.evented=!1,transformerControl.openSelfSizeMode(),transformerControl.transformByState({left,top,angle,width,height}),this.getScene().addObject(transformerControl,layerIndex),isCropper?this._copperControl=transformerControl:(this._transformerControlMap.has(oKey)&&this._transformerControlMap.get(oKey).dispose(),this._transformerControlMap.set(oKey,transformerControl),this._createControl$.next(transformerControl)),transformerControl}_getTopScene(){var _a10;return(_a10=this.getScene().getEngine())==null?void 0:_a10.activeScene}activeAnObject(applyObject){this._updateActiveObjectList(applyObject,{}),this._changeStart$.next({target:applyObject,objects:this._selectedObjectMap,type:0})}_updateActiveObjectList(applyObject,evt){const{isCropper}=this._getConfig(applyObject);applyObject=this._findGroupObject(applyObject),!this._selectedObjectMap.has(applyObject.oKey)&&(evt.ctrlKey||(this._selectedObjectMap.clear(),this._clearControlMap()),isCropper||this._selectedObjectMap.set(applyObject.oKey,applyObject),this._createControl(applyObject))}_findGroupObject(applyObject){if(!applyObject.isInGroup)return applyObject;const group=applyObject.ancestorGroup;return group||applyObject}_addCancelObserver(scene){var _a10;(_a10=this._cancelFocusSubscription)==null||_a10.unsubscribe(),this._cancelFocusSubscription=scene.onPointerDown$.subscribeEvent(()=>{this.clearSelectedObjects()})}_smoothAccuracy(num,isCropper=!1,accuracy=1){return isCropper?precisionTo(num,3):precisionTo(num,accuracy)}};__name(_Transformer,"Transformer");let Transformer=_Transformer;const _ThinScene=class _ThinScene extends core.Disposable{constructor(sceneKey){super();__publicField(this,"onTransformChange$",new core.EventSubject);__publicField(this,"onFileLoaded$",new core.EventSubject);__publicField(this,"onPointerDown$",new core.EventSubject);__publicField(this,"onPointerMove$",new core.EventSubject);__publicField(this,"onPointerUp$",new core.EventSubject);__publicField(this,"onPointerEnter$",new core.EventSubject);__publicField(this,"onPointerOut$",new core.EventSubject);__publicField(this,"onPointerCancel$",new core.EventSubject);__publicField(this,"onPointerLeave$",new core.EventSubject);__publicField(this,"onDragEnter$",new core.EventSubject);__publicField(this,"onDragOver$",new core.EventSubject);__publicField(this,"onDragLeave$",new core.EventSubject);__publicField(this,"onDrop$",new core.EventSubject);__publicField(this,"onDblclick$",new core.EventSubject);__publicField(this,"onTripleClick$",new core.EventSubject);__publicField(this,"onMouseWheel$",new core.EventSubject);__publicField(this,"onKeyDown$",new core.EventSubject);__publicField(this,"onKeyUp$",new core.EventSubject);__publicField(this,"debounceParentTimeout",-1);__publicField(this,"_sceneKey","");__publicField(this,"_width",100);__publicField(this,"_height",100);__publicField(this,"_scaleX",1);__publicField(this,"_scaleY",1);__publicField(this,"_transform",new Transform);__publicField(this,"_evented",!0);this._sceneKey=sceneKey}get classType(){return RENDER_CLASS_TYPE.SCENE}get transform(){return this._transform}get width(){return this._width}get height(){return this._height}get scaleX(){return this._scaleX}get scaleY(){return this._scaleY}get sceneKey(){return this._sceneKey}get objectsEvented(){return this._evented}set transform(trans){this._transform=trans}set width(num){this._width=num}set height(num){this._height=num}set scaleX(scaleX){this._scaleX=scaleX}set scaleY(scaleY){this._scaleY=scaleY}enableObjectsEvent(){this._evented=!0}disableObjectsEvent(){this._evented=!1}triggerKeyDown(evt){this.onKeyDown$.emitEvent(evt)}triggerKeyUp(evt){this.onKeyUp$.emitEvent(evt)}dispose(){this.onTransformChange$.complete(),this.onFileLoaded$.complete(),this.onPointerDown$.complete(),this.onPointerMove$.complete(),this.onPointerUp$.complete(),this.onPointerEnter$.complete(),this.onPointerLeave$.complete(),this.onDragEnter$.complete(),this.onDragOver$.complete(),this.onDragLeave$.complete(),this.onDrop$.complete(),this.onDblclick$.complete(),this.onTripleClick$.complete(),this.onMouseWheel$.complete(),this.onKeyDown$.complete(),this.onKeyUp$.complete(),this.onPointerOut$.complete(),this.onPointerCancel$.complete(),super.dispose()}attachTransformerTo(o){}detachTransformerFrom(o){}makeDirtyNoParent(state=!0){return this}makeDirty(state=!0){return this}getViewports(){return[]}getAncestorScale(){return{scaleX:1,scaleY:1}}getPrecisionScale(){return{scaleX:1,scaleY:1}}};__name(_ThinScene,"ThinScene");let ThinScene=_ThinScene;const _Scene=class _Scene extends ThinScene{constructor(sceneKey,_parent,state){var _a10;super(sceneKey);__publicField(this,"_layers",[]);__publicField(this,"_viewports",[]);__publicField(this,"_cursor",CURSOR_TYPE.DEFAULT);__publicField(this,"_defaultCursor",CURSOR_TYPE.DEFAULT);__publicField(this,"_addObject$",new rxjs.BehaviorSubject(this));__publicField(this,"addObject$",this._addObject$.asObservable());__publicField(this,"_beforeRender$",new rxjs.BehaviorSubject(null));__publicField(this,"beforeRender$",this._beforeRender$.asObservable());__publicField(this,"_afterRender$",new rxjs.BehaviorSubject(null));__publicField(this,"afterRender$",this._afterRender$.asObservable());__publicField(this,"_transformer");__publicField(this,"_inputManager");if(this._parent=_parent,state&&this.transformByState(state),this._parent.classType===RENDER_CLASS_TYPE.ENGINE){const parent=this._parent;parent.addScene(this),parent.hasActiveScene()||parent.setActiveScene(sceneKey),this._inputManager=new InputManager(this)}else this._parent.classType===RENDER_CLASS_TYPE.SCENE_VIEWER&&this._parent.addSubScene(this);this.disposeWithMe(core.toDisposable((_a10=this._parent)==null?void 0:_a10.onTransformChange$.subscribeEvent(_change=>{this._setTransForm()})))}get ancestorScaleX(){const p=this.getParent();let pScale=1;return p.classType===RENDER_CLASS_TYPE.SCENE_VIEWER&&(pScale=p.ancestorScaleX),this.scaleX*pScale}get ancestorScaleY(){const p=this.getParent();let pScale=1;return p.classType===RENDER_CLASS_TYPE.SCENE_VIEWER&&(pScale=p.ancestorScaleY),this.scaleY*pScale}get ancestorLeft(){const p=this.getParent();let pOffsetX=0;return p.classType===RENDER_CLASS_TYPE.SCENE_VIEWER&&(pOffsetX=p.ancestorLeft),pOffsetX}get ancestorTop(){const p=this.getParent();let pOffsetY=0;return p.classType===RENDER_CLASS_TYPE.SCENE_VIEWER&&(pOffsetY=p.ancestorTop),pOffsetY}set cursor(val){this.setCursor(val)}attachControl(hasDown=!0,hasUp=!0,hasMove=!0,hasWheel=!0){var _a10;if(this._parent.classType===RENDER_CLASS_TYPE.ENGINE)return(_a10=this._inputManager)==null||_a10.attachControl(hasDown,hasUp,hasMove,hasWheel),this}detachControl(){var _a10;return(_a10=this._inputManager)==null||_a10.detachControl(),this}makeDirty(state=!0){var _a10;return this._layers.forEach(layer=>{layer.makeDirty(state)}),this._parent.classType===RENDER_CLASS_TYPE.SCENE_VIEWER&&((_a10=this._parent)==null||_a10.makeDirty(state)),this}makeDirtyNoParent(state=!0){return this._layers.forEach(layer=>{layer.makeDirty(state)}),this}enableLayerCache(...layerIndexes){layerIndexes.forEach(zIndex=>{this.getLayer(zIndex).enableCache()})}disableLayerCache(...layerIndexes){layerIndexes.forEach(zIndex=>{this.getLayer(zIndex).disableCache()})}isDirty(){for(let i=0;i<this._layers.length;i++)if(this._layers[i].isDirty()===!0)return!0;return!1}getCursor(){return this._cursor}resetCursor(){this.setCursor(this._defaultCursor)}setCursor(val){this._cursor=val;const engine=this.getEngine();engine&&engine.setCanvasCursor(val)}setDefaultCursor(val){this._defaultCursor=val,this.resetCursor()}resize(width,height){const preWidth=this.width;width!==void 0&&(this.width=width);const preHeight=this.height;return height!==void 0&&(this.height=height),this._setTransForm(),this.onTransformChange$.emitEvent({type:TRANSFORM_CHANGE_OBSERVABLE_TYPE.resize,value:{width:this.width,height:this.height},preValue:{width:preWidth,height:preHeight}}),this}setScaleValue(scaleX,scaleY){scaleX!==void 0&&(this.scaleX=scaleX),scaleY!==void 0&&(this.scaleY=scaleY)}scale(scaleX,scaleY){const preScaleX=this.scaleX;scaleX!==void 0&&(this.scaleX=scaleX);const preScaleY=this.scaleY;return scaleY!==void 0&&(this.scaleY=scaleY),this._setTransForm(),this.onTransformChange$.emitEvent({type:TRANSFORM_CHANGE_OBSERVABLE_TYPE.scale,value:{scaleX:this.scaleX,scaleY:this.scaleY},preValue:{scaleX:preScaleX,scaleY:preScaleY}}),this}scaleBy(scaleX,scaleY){const preScaleX=this.scaleX;scaleX!==void 0&&(this.scaleX+=scaleX);const preScaleY=this.scaleY;return scaleY!==void 0&&(this.scaleY+=scaleY),this.scaleX=precisionTo(this.scaleX,1),this.scaleY=precisionTo(this.scaleY,1),this._setTransForm(),this.onTransformChange$.emitEvent({type:TRANSFORM_CHANGE_OBSERVABLE_TYPE.scale,value:{scaleX:this.scaleX,scaleY:this.scaleY},preValue:{scaleX:preScaleX,scaleY:preScaleY}}),this}transformByState(state){const optionKeys=Object.keys(state),preKeys={};optionKeys.length!==0&&(optionKeys.forEach(pKey=>{state[pKey]!==void 0&&(preKeys[pKey]=this[pKey],this[pKey]=state[pKey])}),this._setTransForm(),this.onTransformChange$.emitEvent({type:TRANSFORM_CHANGE_OBSERVABLE_TYPE.all,value:state,preValue:preKeys}))}getParent(){return this._parent}getEngine(){if(this._parent.classType===RENDER_CLASS_TYPE.ENGINE)return this._parent;let parent=this._parent;for(;parent;){if(parent.classType===RENDER_CLASS_TYPE.ENGINE)return parent;parent=parent==null?void 0:parent.getParent()}return null}getLayers(){return this._layers}getLayer(zIndex=1){for(const layer of this._layers)if(layer.zIndex===zIndex)return layer;return this._createDefaultLayer(zIndex)}findLayerByZIndex(zIndex=1){for(const layer of this.getLayers())if(layer.zIndex===zIndex)return layer}getLayerMaxZIndex(){let maxIndex=Number.MIN_VALUE;for(let i=0;i<this._layers.length;i++){const layer=this._layers[i];layer.zIndex>=maxIndex&&(maxIndex=layer.zIndex)}return maxIndex}addLayer(...argument2){this._layers.push(...argument2)}addObjects(objects,zIndex=1){var _a10;return(_a10=this.getLayer(zIndex))==null||_a10.addObjects(objects),this._addObject$.next(this),this}addObject(o,zIndex=1){var _a10;return(_a10=this.getLayer(zIndex))==null||_a10.addObject(o),this._addObject$.next(this),this}setObjectBehavior(o){o.parent||(o.parent=this),o.onIsAddedToParent$.emitEvent(this)}removeObject(object){if(object==null)return;const layers=this.getLayers();for(const layer of layers)layer.removeObject(object);return this}removeObjects(objects){if(objects==null)return;const layers=this.getLayers();for(const layer of layers)layer.removeObjects(objects);return this}getObjectsByLayer(zIndex){const objects=[];this._layers.sort(core.sortRules);for(const layer of this._layers)layer.zIndex===zIndex&&objects.push(...layer.getObjects());return objects}getAllObjects(){const objects=[];this._layers.sort(core.sortRules);for(const layer of this._layers)objects.push(...layer.getObjects());return objects}getAllObjectsByOrder(){const objects=[];this._layers.sort(core.sortRules);for(const layer of this._layers)objects.push(...layer.getObjectsByOrder());return objects}getAllObjectsByDescOrder(isDesc=!1){const objects=[],useSortRules=isDesc?core.sortRulesByDesc:core.sortRules;this._layers.sort(useSortRules);for(const layer of this._layers)objects.push(...layer.getObjectsByOrder().sort(useSortRules));return objects}getAllObjectsByOrderForPick(isDesc=!1){const objects=[],useSortRules=isDesc?core.sortRulesByDesc:core.sortRules;this._layers.sort(useSortRules);for(const layer of this._layers)objects.push(...layer.getObjectsByOrderForPick().sort(useSortRules));return objects}getObject(oKey){for(const layer of this._layers){const objects=layer.getObjectsByOrder();for(const object of objects)if(object.oKey===oKey)return object}}getObjectIncludeInGroup(oKey){for(const layer of this._layers){const objects=layer.getObjects();for(const object of objects)if(object.oKey===oKey)return object}}fuzzyMathObjects(oKey,matchStart=!1){const results=[];for(const layer of this._layers){const objects=layer.getObjectsByOrder();for(const object of objects)(matchStart?object.oKey.startsWith(oKey):object.oKey.indexOf(oKey)>-1)&&results.push(object)}return results}addViewport(...viewport){return this._viewports.push(...viewport),this}removeViewport(key){for(let i=0,len=this._viewports.length;i<len;i++){const viewport=this._viewports[i];if(viewport.viewportKey===key)return this._viewports.splice(i,1),viewport}}getViewports(){return this._viewports}getViewport(key){for(const viewport of this._viewports)if(viewport.viewportKey===key)return viewport}render(parentCtx){var _a10,_b;if(!this.isDirty())return;!parentCtx&&((_a10=this.getEngine())==null||_a10.clearCanvas());const layers=this._layers.sort(core.sortRules),canvasInstance=(_b=this.getEngine())==null?void 0:_b.getCanvas();this._beforeRender$.next(canvasInstance);for(let i=0,len=layers.length;i<len;i++)layers[i].render(parentCtx,i===len-1);this._afterRender$.next(canvasInstance)}async requestRender(parentCtx){return new Promise((resolve,_reject)=>{this.render(parentCtx),requestNewFrame(resolve)})}attachTransformerTo(o){var _a10;this._transformer||this.initTransformer(),(_a10=this._transformer)==null||_a10.attachTo(o)}detachTransformerFrom(o){var _a10;(_a10=this._transformer)==null||_a10.detachFrom(o)}initTransformer(config){if(this._transformer){this._transformer.resetProps(config);return}this._transformer=new Transformer(this,config)}getTransformerByCreate(){return this._transformer||this.initTransformer(),this._transformer}getTransformer(){return this._transformer}findViewportByPosToViewport(coord){return this._viewports.find(vp=>vp.isHit(coord))}getActiveViewportByCoord(coord){return coord=this.getRelativeToViewportCoord(coord),this.findViewportByPosToViewport(coord)}getVpScrollXYInfoByPosToVp(pos,viewPort){return viewPort||(viewPort=this.findViewportByPosToViewport(pos)),viewPort?this.getViewportScrollXY(viewPort):{x:0,y:0}}getViewportScrollXY(viewPort){let x=0,y=0;if(viewPort){const actualX=viewPort.viewportScrollX||0,actualY=viewPort.viewportScrollY||0;x+=actualX,y+=actualY}return{x,y}}getRelativeToViewportCoord(coord){let parent=this.getParent();const parentList=[];for(;parent;)(parent.classType===RENDER_CLASS_TYPE.SCENE||parent.classType===RENDER_CLASS_TYPE.SCENE_VIEWER)&&parentList.push(parent),parent=(parent==null?void 0:parent.getParent)&&(parent==null?void 0:parent.getParent());parentList.reverse();for(const parent2 of parentList)if(parent2.classType===RENDER_CLASS_TYPE.SCENE){const viewPort=parent2.getActiveViewportByCoord(coord);if(viewPort){const actualX=viewPort.viewportScrollX||0,actualY=viewPort.viewportScrollY||0;coord=coord.addByPoint(actualX,actualY)}}else parent2.classType===RENDER_CLASS_TYPE.SCENE_VIEWER&&(coord=parent2.transform.clone().invert().applyPoint(coord));return coord}clearLayer(){this._layers=[]}clearViewports(){this._viewports=[]}getAncestorScale(){let{scaleX=1,scaleY=1}=this;return this.classType===RENDER_CLASS_TYPE.SCENE_VIEWER&&(scaleX=this.ancestorScaleX||1,scaleY=this.ancestorScaleY||1),{scaleX,scaleY}}getPrecisionScale(){var _a10;const pixelRatio=((_a10=this.getEngine())==null?void 0:_a10.getPixelRatio())||1,{scaleX,scaleY}=this.getAncestorScale();return{scaleX:scaleX*pixelRatio,scaleY:scaleY*pixelRatio}}dispose(){var _a10,_b,_c;let layers=[...this.getLayers()];layers.forEach(layer=>{layer.dispose()}),layers=[];let viewports=[...this.getViewports()];viewports.forEach(viewport=>{viewport.dispose()}),viewports=[],this.clearLayer(),this.clearViewports(),this.detachControl(),(_a10=this.onTransformChange$)==null||_a10.complete(),(_b=this._inputManager)==null||_b.dispose(),this._inputManager=null,(_c=this._transformer)==null||_c.dispose(),this._transformer=null,this.onPointerDown$.complete(),this.onPointerMove$.complete(),this.onPointerUp$.complete(),this.onPointerEnter$.complete(),this.onPointerLeave$.complete(),this.onDblclick$.complete(),this.onTripleClick$.complete(),this.onMouseWheel$.complete(),this.onKeyDown$.complete(),this.onKeyUp$.complete(),this._addObject$.complete(),super.dispose()}pick(coord){let pickedViewport=this.getActiveViewportByCoord(coord);if(pickedViewport||(pickedViewport=this._viewports[0]),!this.objectsEvented||!pickedViewport)return null;const scrollBarRect=pickedViewport.pickScrollBar(coord);if(scrollBarRect)return scrollBarRect;const vecFromSheetContent=pickedViewport.transformVector2SceneCoord(coord);let isPickedObject=null;const objectOrder=this.getAllObjectsByOrderForPick().reverse(),objectLength=objectOrder.length;for(let i=0;i<objectLength;i++){const o=objectOrder[i];if(!o.visible||!o.evented||o.classType===RENDER_CLASS_TYPE.GROUP)continue;const svCoord=vecFromSheetContent;if(o.isHit(svCoord)){if(o.classType===RENDER_CLASS_TYPE.SCENE_VIEWER){const pickedObject=o.pick(svCoord);pickedObject?isPickedObject=pickedObject:isPickedObject=o.getActiveSubScene()}else isPickedObject=o;break}else if(o.classType===RENDER_CLASS_TYPE.SCENE_VIEWER&&o.allowSelectedClipElement()){const pickedObject=o.pick(svCoord);if(pickedObject){isPickedObject=pickedObject;break}}}return!isPickedObject&&this._parent.classType===RENDER_CLASS_TYPE.ENGINE?this:isPickedObject}triggerKeyDown(evt){this.onKeyDown$.emitEvent(evt)}triggerKeyUp(evt){this.onKeyUp$.emitEvent(evt)}triggerPointerUp(evt){var _a10,_b;return!((_a10=this.onPointerUp$.emitEvent(evt))!=null&&_a10.stopPropagation)&&this._parent.classType===RENDER_CLASS_TYPE.SCENE_VIEWER?((_b=this._parent)==null||_b.triggerPointerUp(evt),!1):!0}triggerMouseWheel(evt){var _a10,_b;return!((_a10=this.onMouseWheel$.emitEvent(evt))!=null&&_a10.stopPropagation)&&this._parent.classType===RENDER_CLASS_TYPE.SCENE_VIEWER?((_b=this._parent)==null||_b.triggerMouseWheel(evt),!1):!0}triggerPointerMove(evt){var _a10,_b;return!((_a10=this.onPointerMove$.emitEvent(evt))!=null&&_a10.stopPropagation)&&this._parent.classType===RENDER_CLASS_TYPE.SCENE_VIEWER?((_b=this._parent)==null||_b.triggerPointerMove(evt),!1):!0}triggerDblclick(evt){var _a10,_b;return!((_a10=this.onDblclick$.emitEvent(evt))!=null&&_a10.stopPropagation)&&this._parent.classType===RENDER_CLASS_TYPE.SCENE_VIEWER?((_b=this._parent)==null||_b.triggerDblclick(evt),!1):!0}triggerTripleClick(evt){var _a10,_b;return!((_a10=this.onTripleClick$.emitEvent(evt))!=null&&_a10.stopPropagation)&&this._parent.classType===RENDER_CLASS_TYPE.SCENE_VIEWER?((_b=this._parent)==null||_b.triggerTripleClick(evt),!1):!0}triggerPointerDown(evt){var _a10,_b;return!((_a10=this.onPointerDown$.emitEvent(evt))!=null&&_a10.stopPropagation)&&this._parent.classType===RENDER_CLASS_TYPE.SCENE_VIEWER?((_b=this._parent)==null||_b.triggerPointerDown(evt),!1):!0}triggerPointerOut(evt){var _a10;return this._parent.classType===RENDER_CLASS_TYPE.SCENE_VIEWER?((_a10=this._parent)==null||_a10.triggerPointerOut(evt),!1):!0}triggerPointerLeave(evt){var _a10,_b;return!((_a10=this.onPointerLeave$.emitEvent(evt))!=null&&_a10.stopPropagation)&&this._parent.classType===RENDER_CLASS_TYPE.SCENE_VIEWER?((_b=this._parent)==null||_b.triggerPointerLeave(evt),!1):!0}triggerPointerOver(evt){var _a10;return this._parent.classType===RENDER_CLASS_TYPE.SCENE_VIEWER?((_a10=this._parent)==null||_a10.triggerPointerOver(evt),!1):!0}triggerPointerEnter(evt){var _a10,_b;return!((_a10=this.onPointerEnter$.emitEvent(evt))!=null&&_a10.stopPropagation)&&this._parent.classType===RENDER_CLASS_TYPE.SCENE_VIEWER?((_b=this._parent)==null||_b.triggerPointerEnter(evt),!1):!0}triggerDragLeave(evt){var _a10,_b;return!((_a10=this.onDragLeave$.emitEvent(evt))!=null&&_a10.stopPropagation)&&this._parent.classType===RENDER_CLASS_TYPE.SCENE_VIEWER?((_b=this._parent)==null||_b.triggerDragLeave(evt),!1):!0}triggerDragOver(evt){var _a10,_b;return!((_a10=this.onDragOver$.emitEvent(evt))!=null&&_a10.stopPropagation)&&this._parent.classType===RENDER_CLASS_TYPE.SCENE_VIEWER?((_b=this._parent)==null||_b.triggerDragOver(evt),!1):!0}triggerDragEnter(evt){var _a10,_b;return!((_a10=this.onDragEnter$.emitEvent(evt))!=null&&_a10.stopPropagation)&&this._parent.classType===RENDER_CLASS_TYPE.SCENE_VIEWER?((_b=this._parent)==null||_b.triggerDragEnter(evt),!1):!0}triggerDrop(evt){var _a10,_b;return!((_a10=this.onDrop$.emitEvent(evt))!=null&&_a10.stopPropagation)&&this._parent.classType===RENDER_CLASS_TYPE.SCENE_VIEWER?((_b=this._parent)==null||_b.triggerDrop(evt),!1):!0}_createDefaultLayer(zIndex=1){const defaultLayer=new Layer(this,[],zIndex);return this.addLayer(defaultLayer),defaultLayer}_setTransForm(){const composeResult=Transform.create().composeMatrix({scaleX:this.scaleX,scaleY:this.scaleY});this.transform=composeResult,this.getViewports().forEach(vp=>{vp.resetCanvasSizeAndUpdateScroll()}),this.makeDirty(!0)}_getGroupCumLeftRight(object){let parent=object.parent,cumLeft=0,cumTop=0;for(;parent.classType===RENDER_CLASS_TYPE.GROUP;){const{left,top}=parent;cumLeft+=left,cumTop+=top,parent=parent.parent}return{cumLeft,cumTop}}};__name(_Scene,"Scene");let Scene=_Scene;var __defProp$2=Object.defineProperty,__getOwnPropDesc$2=Object.getOwnPropertyDescriptor,__decorateClass$2=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$2(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$2(target,key,result),result},"__decorateClass$2"),__decorateParam$2=__name((index2,decorator)=>(target,key)=>decorator(target,key,index2),"__decorateParam$2"),_a7;exports.RenderUnit=(_a7=class extends core.Disposable{constructor(init,parentInjector){super();__publicField(this,"isRenderUnit",!0);__publicField(this,"_injector");__publicField(this,"_renderContext");this._injector=parentInjector.createChild(),this._renderContext={unit:init.unit,unitId:init.unit.getUnitId(),type:init.unit.type,components:new Map,mainComponent:null,isMainScene:init.isMainScene,engine:init.engine,scene:init.scene}}get unitId(){return this._renderContext.unitId}get type(){return this._renderContext.type}set isMainScene(is){this._renderContext.isMainScene=is}get isMainScene(){return this._renderContext.isMainScene}set engine(engine){this._renderContext.engine=engine}get engine(){return this._renderContext.engine}set mainComponent(component){this._renderContext.mainComponent=component}get mainComponent(){return this._renderContext.mainComponent}set scene(scene){this._renderContext.scene=scene}get scene(){return this._renderContext.scene}get components(){return this._renderContext.components}dispose(){this._injector.dispose(),super.dispose()}with(dependency){return this._injector.get(dependency)}addRenderDependencies(dependencies){this._initDependencies(dependencies)}_initDependencies(dependencies){const j=this._injector;dependencies.forEach(dep=>{const[identifier,implOrNull]=Array.isArray(dep)?dep:[dep,null];if(!implOrNull)j.add([identifier,{useFactory:__name(()=>j.createInstance(identifier,this._renderContext),"useFactory")}]);else if(core.isClassDependencyItem(implOrNull))j.add([identifier,{useFactory:__name(()=>j.createInstance(implOrNull.useClass,this._renderContext),"useFactory")}]);else throw new Error("[RenderUnit]: render dependency could only be an class!")}),dependencies.forEach(dep=>{const[identifier]=Array.isArray(dep)?dep:[dep,null];j.get(identifier)})}},__name(_a7,"RenderUnit"),_a7);exports.RenderUnit=__decorateClass$2([__decorateParam$2(1,core.Inject(core.Injector))],exports.RenderUnit);var __defProp$1=Object.defineProperty,__getOwnPropDesc$1=Object.getOwnPropertyDescriptor,__decorateClass$1=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$1(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$1(target,key,result),result},"__decorateClass$1"),__decorateParam$1=__name((index2,decorator)=>(target,key)=>decorator(target,key,index2),"__decorateParam$1");const DEFAULT_SCENE_SIZE={width:1500,height:1e3},SCENE_NAMESPACE="_UNIVER_SCENE_";var _a8;exports.RenderManagerService=(_a8=class extends core.Disposable{constructor(_injector,_univerInstanceService){super();__publicField(this,"_defaultEngine");__publicField(this,"_currentUnitId","");__publicField(this,"_renderMap",new Map);__publicField(this,"_currentRender$",new rxjs.BehaviorSubject(this._currentUnitId));__publicField(this,"currentRender$",this._currentRender$.asObservable());__publicField(this,"_createRender$",new rxjs.Subject);__publicField(this,"createRender$",this._createRender$.asObservable());__publicField(this,"_renderCreated$",new rxjs.Subject);__publicField(this,"created$",this._renderCreated$.asObservable());__publicField(this,"_renderDisposed$",new rxjs.Subject);__publicField(this,"disposed$",this._renderDisposed$.asObservable());__publicField(this,"_renderDependencies",new Map);this._injector=_injector,this._univerInstanceService=_univerInstanceService}get defaultEngine(){return this._defaultEngine||(this._defaultEngine=new Engine),this._defaultEngine}dispose(){super.dispose(),this._renderMap.forEach(item=>this._disposeItem(item)),this._renderDependencies.clear(),this._renderMap.clear(),this._currentRender$.complete(),this._renderCreated$.complete(),this._renderDisposed$.complete()}registerRenderModules(type,deps){this._renderDependencies.has(type)||this._renderDependencies.set(type,[]);const dependencies=this._renderDependencies.get(type);dependencies.push(...deps);for(const[_2,render]of this._renderMap)render.type===type&&this._tryAddRenderDependencies(render,deps);return core.toDisposable(()=>{deps.forEach(dep=>core.remove(dependencies,dep))})}registerRenderModule(type,depCtor){this._renderDependencies.has(type)||this._renderDependencies.set(type,[]);const dependencies=this._renderDependencies.get(type);dependencies.push(depCtor);for(const[_2,render]of this._renderMap)render.type===type&&this._tryAddRenderDependencies(render,[depCtor]);return core.toDisposable(()=>core.remove(dependencies,depCtor))}_getRenderDepsByType(type){var _a10;return Array.from((_a10=this._renderDependencies.get(type))!=null?_a10:[])}create(unitId){this._createRender$.next(unitId)}createRender(unitId){const renderer=this._createRender(unitId,new Engine);return this._renderCreated$.next(renderer),renderer}getAllRenderersOfType(type){const renderUnits=[];for(const[_2,render]of this._renderMap)render.type===type&&renderUnits.push(render);return renderUnits}getCurrentTypeOfRenderer(type){const current=this._univerInstanceService.getCurrentUnitForType(type);return current?this.getRenderById(current.getUnitId()):null}withCurrentTypeOfUnit(type,id){var _a10;const current=this._univerInstanceService.getCurrentUnitForType(type);return current?(_a10=this.getRenderById(current.getUnitId()))==null?void 0:_a10.with(id):null}_tryAddRenderDependencies(renderer,deps){renderer instanceof exports.RenderUnit&&renderer.addRenderDependencies(deps)}_createRender(unitId,engine,isMainScene=!0){const existItem=this.getRenderById(unitId);let shouldDestroyEngine=!0;existItem!=null&&existItem.engine===engine&&(shouldDestroyEngine=!1),this._disposeItem(existItem,shouldDestroyEngine);const{width,height}=DEFAULT_SCENE_SIZE,scene=new Scene(SCENE_NAMESPACE+unitId,engine,{width,height}),unit=this._univerInstanceService.getUnit(unitId);let renderUnit;if(unit){const type=this._univerInstanceService.getUnitType(unitId),ctorOfDeps=this._getRenderDepsByType(type);renderUnit=this._injector.createInstance(exports.RenderUnit,{unit,engine,scene,isMainScene}),this._addRenderUnit(unitId,renderUnit),this._tryAddRenderDependencies(renderUnit,ctorOfDeps)}else renderUnit={isThumbNail:!0,type:core.UniverInstanceType.UNIVER_SLIDE,unitId,engine,scene,mainComponent:null,components:new Map,isMainScene,with(_dependency){return null}},this._addRenderUnit(unitId,renderUnit);return renderUnit}addRender(unitId,renderUnit){this._addRenderUnit(unitId,renderUnit)}_addRenderUnit(unitId,renderUnit){this._renderMap.set(unitId,renderUnit)}removeRender(unitId){const item=this._renderMap.get(unitId);item!=null&&this._disposeItem(item),this._renderMap.delete(unitId)}has(unitId){return this._renderMap.has(unitId)}setCurrent(unitId){this._currentUnitId=unitId,this._currentRender$.next(unitId)}getCurrent(){return this._renderMap.get(this._currentUnitId)}getFirst(){return[...this.getRenderAll().values()][0]}getRenderById(unitId){return this._renderMap.get(unitId)}getRenderAll(){return this._renderMap}_disposeItem(item,shouldDestroyEngine=!0){if(item==null)return;const{engine,scene,components}=item;components==null||components.forEach(component=>component.dispose()),scene.dispose(),isDisposable(item)&&item.dispose(),shouldDestroyEngine&&engine.dispose(),this._renderDisposed$.next(item.unitId)}},__name(_a8,"RenderManagerService"),_a8);exports.RenderManagerService=__decorateClass$1([__decorateParam$1(0,core.Inject(core.Injector)),__decorateParam$1(1,core.IUniverInstanceService)],exports.RenderManagerService);const IRenderManagerService=core.createIdentifier("engine-render.render-manager.service");function isDisposable(thing){return!!thing&&typeof thing.dispose=="function"}__name(isDisposable,"isDisposable");const PLUGIN_CONFIG_KEY="engine-render.config",defaultPluginConfig={};var __defProp2=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__decorateClass=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp2(target,key,result),result},"__decorateClass"),__decorateParam=__name((index2,decorator)=>(target,key)=>decorator(target,key,index2),"__decorateParam");const IRenderingEngine=core.createIdentifier("univer.render-engine"),PLUGIN_NAME="UNIVER_RENDER_ENGINE_PLUGIN";var _a9;exports.UniverRenderEnginePlugin=(_a9=class extends core.Plugin{constructor(_config=defaultPluginConfig,_injector,_configService){super(),this._config=_config,this._injector=_injector,this._configService=_configService;const{...rest}=this._config;this._configService.setConfig(PLUGIN_CONFIG_KEY,rest),this._injector.add([IRenderingEngine,{useFactory:__name(()=>new Engine,"useFactory")}]),this._injector.add([IRenderManagerService,{useClass:exports.RenderManagerService}])}},__name(_a9,"UniverRenderEnginePlugin"),__publicField(_a9,"pluginName",PLUGIN_NAME),_a9);exports.UniverRenderEnginePlugin=__decorateClass([__decorateParam(1,core.Inject(core.Injector)),__decorateParam(2,core.IConfigService)],exports.UniverRenderEnginePlugin);function subtractViewportRange(range1,range2){if(range2.startRow>=range1.endRow||range2.endRow<=range1.startRow||range2.startColumn>=range1.endColumn||range2.endColumn<=range1.startColumn)return[range1];const ranges=[];range2.startRow>range1.startRow&&ranges.push({startRow:range1.startRow,startColumn:range1.startColumn,endRow:range2.startRow,endColumn:range1.endColumn}),range2.endRow<range1.endRow&&ranges.push({startRow:range2.endRow,startColumn:range1.startColumn,endRow:range1.endRow,endColumn:range1.endColumn});const topBoundary=Math.max(range1.startRow,range2.startRow),bottomBoundary=Math.min(range1.endRow,range2.endRow);return range2.startColumn>range1.startColumn&&ranges.push({startRow:topBoundary,startColumn:range1.startColumn,endRow:bottomBoundary,endColumn:range2.startColumn}),range2.endColumn<range1.endColumn&&ranges.push({startRow:topBoundary,startColumn:range2.endColumn,endRow:bottomBoundary,endColumn:range1.endColumn}),ranges}__name(subtractViewportRange,"subtractViewportRange");const MOUSE_WHEEL_SPEED_SMOOTHING_FACTOR=3,_Viewport=class _Viewport{constructor(viewportKey,scene,props){__publicField(this,"scrollX",0);__publicField(this,"scrollY",0);__publicField(this,"_preScrollX",0);__publicField(this,"_preScrollY",0);__publicField(this,"_viewportScrollX",0);__publicField(this,"_viewportScrollY",0);__publicField(this,"_preViewportScrollX",0);__publicField(this,"_preViewportScrollY",0);__publicField(this,"_sceneWCurrVpAfterScale",0);__publicField(this,"_sceneHCurrVpAfterScale",0);__publicField(this,"_sceneWidthAfterScale");__publicField(this,"_sceneHeightAfterScale");__publicField(this,"onMouseWheel$",new core.EventSubject);__publicField(this,"onScrollAfter$",new core.EventSubject);__publicField(this,"onScrollEnd$",new core.EventSubject);__publicField(this,"onScrollByBar$",new core.EventSubject);__publicField(this,"_viewportKey","");__publicField(this,"_topOrigin",0);__publicField(this,"_leftOrigin",0);__publicField(this,"_bottomOrigin",0);__publicField(this,"_rightOrigin",0);__publicField(this,"_widthOrigin");__publicField(this,"_heightOrigin");__publicField(this,"_top",0);__publicField(this,"_left",0);__publicField(this,"_bottom",0);__publicField(this,"_right",0);__publicField(this,"_width");__publicField(this,"_height");__publicField(this,"_scene");__publicField(this,"_scrollBar");__publicField(this,"_isWheelPreventDefaultX",!1);__publicField(this,"_isWheelPreventDefaultY",!1);__publicField(this,"_scrollStopNum",0);__publicField(this,"_clipViewport",!0);__publicField(this,"_active",!0);__publicField(this,"_paddingStartX",0);__publicField(this,"_paddingEndX",0);__publicField(this,"_paddingStartY",0);__publicField(this,"_paddingEndY",0);__publicField(this,"_explicitViewportWidthSet",!1);__publicField(this,"_explicitViewportHeightSet",!1);__publicField(this,"_cacheBound");__publicField(this,"_preCacheBound");__publicField(this,"_preCacheVisibleBound");__publicField(this,"_viewBound");__publicField(this,"_preViewBound");__publicField(this,"_isDirty",!0);__publicField(this,"_cacheCanvas",null);__publicField(this,"_allowCache",!1);__publicField(this,"bufferEdgeX",0);__publicField(this,"bufferEdgeY",0);__publicField(this,"_isForceDirty",!0);var _a10;this._viewportKey=viewportKey,this._scene=scene,this._scene.addViewport(this),this._active=core.Tools.isDefine(props==null?void 0:props.active)?props==null?void 0:props.active:!0,this._explicitViewportWidthSet=(props==null?void 0:props.explicitViewportWidthSet)||!1,this._explicitViewportHeightSet=(props==null?void 0:props.explicitViewportHeightSet)||!1,this._setViewportSize(props),this.initCacheCanvas(props),this._isWheelPreventDefaultX=(props==null?void 0:props.isWheelPreventDefaultX)||!1,this._isWheelPreventDefaultY=(props==null?void 0:props.isWheelPreventDefaultY)||!1,this.resetCanvasSizeAndUpdateScroll(),this.getBounding(),(_a10=this.scene.getEngine())==null||_a10.onTransformChange$.subscribeEvent(()=>{this._mainCanvasResizeHandler()}),this._mainCanvasResizeHandler()}initCacheCanvas(props){this._allowCache=(props==null?void 0:props.allowCache)||!1,this._allowCache&&(this._cacheCanvas=new Canvas,this.bufferEdgeX=(props==null?void 0:props.bufferEdgeX)||0,this.bufferEdgeY=(props==null?void 0:props.bufferEdgeY)||0)}_testDisplayCache(){const globalThis=window;globalThis.cacheSet||(globalThis.cacheSet=new Set);const showCache=__name(cacheCanvas=>{cacheCanvas.getCanvasEle().classList.remove("univer-render-canvas"),cacheCanvas.getCanvasEle().classList.add("viewport-cache-canvas"),cacheCanvas.getCanvasEle().classList.add("cache-canvas",this.viewportKey),cacheCanvas.getCanvasEle().style.zIndex="100",cacheCanvas.getCanvasEle().style.position="fixed",cacheCanvas.getCanvasEle().style.background="pink",cacheCanvas.getCanvasEle().style.pointerEvents="none",cacheCanvas.getCanvasEle().style.border="1px solid black",cacheCanvas.getCanvasEle().style.transformOrigin="100% 100%",cacheCanvas.getCanvasEle().style.transform="scale(0.5)",cacheCanvas.getCanvasEle().style.translate="-20% 0%",cacheCanvas.getCanvasEle().style.opacity="1",document.body.appendChild(cacheCanvas.getCanvasEle())},"showCache");["viewMain","viewMainLeftTop","viewMainTop","viewMainLeft"].includes(this.viewportKey)&&this._cacheCanvas&&showCache(this._cacheCanvas),this.viewportKey==="spreadInSlideViewMaintable1"&&this._cacheCanvas&&showCache(this._cacheCanvas)}get scene(){return this._scene}get width(){return this._width}get height(){return this._height}get viewportKey(){return this._viewportKey}get topOrigin(){return this._topOrigin}get leftOrigin(){return this._leftOrigin}get bottomOrigin(){return this._bottomOrigin}get rightOrigin(){return this._rightOrigin}get top(){return this._top}get left(){return this._left}get bottom(){return this._bottom}get right(){return this._right}get isWheelPreventDefaultX(){return this._isWheelPreventDefaultX}get isWheelPreventDefaultY(){return this._isWheelPreventDefaultY}set width(w){this._width=w}set height(height){const maxHeight=this.scene.getParent().height;core.Tools.isDefine(height)?this._height=core.Tools.clamp(height,0,maxHeight):this._height=height}get isActive(){return this._active===!1||(this.height||0)<=0||(this.width||0)<=0?!1:this._active}set viewportScrollX(val){this._viewportScrollX=val}get viewportScrollX(){return this._viewportScrollX}set viewportScrollY(val){this._viewportScrollY=val}get viewportScrollY(){return this._viewportScrollY}set top(num){var _a10,_b;this._topOrigin=num,this._top=toPx(num,(_b=(_a10=this._scene)==null?void 0:_a10.getParent())==null?void 0:_b.height)}set left(num){var _a10;this._leftOrigin=num,this._left=toPx(num,(_a10=this.scene.getParent())==null?void 0:_a10.width)}set bottom(num){var _a10;this._bottomOrigin=num,this._bottom=toPx(num,(_a10=this.scene.getParent())==null?void 0:_a10.height)}set right(num){var _a10;this._rightOrigin=num,this._right=toPx(num,(_a10=this.scene.getParent())==null?void 0:_a10.width)}get viewBound(){return this._viewBound}get cacheBound(){return this._cacheBound}set cacheBound(val){this._cacheBound=val}get preCacheBound(){return this._preCacheBound}set preCacheBound(val){this._preCacheBound=val,this._preCacheVisibleBound=Object.assign({},val)}get _deltaScrollX(){return this.scrollX-this._preScrollX}get _deltaScrollY(){return this.scrollY-this._preScrollY}get _deltaViewportScrollX(){return this.viewportScrollX-this._preViewportScrollX}get _deltaViewportScrollY(){return this.viewportScrollY-this._preViewportScrollY}enable(){this._active=!0}disable(){this._active=!1}resetCanvasSizeAndUpdateScroll(){this._resizeCacheCanvas(),this._updateScrollByViewportScrollValue()}setScrollBar(instance){this._scrollBar=instance,this._updateScrollByViewportScrollValue()}removeScrollBar(){this._scrollBar=null}resizeWhenFreezeChange(position){Object.keys(position).length!==0&&(this._setViewportSize(position),this.resetCanvasSizeAndUpdateScroll())}setPadding(param){const{startX=0,startY=0,endX=0,endY=0}=param;this._paddingStartX=startX,this._paddingEndX=endX,this._paddingStartY=startY,this._paddingEndY=endY,this.resetCanvasSizeAndUpdateScroll()}resetPadding(){this.setPadding({startX:0,endX:0,startY:0,endY:0})}scrollToBarPos(pos){return this._scrollToBarPosCore(pos)}scrollByBarDeltaValue(delta,isTrigger=!0){const x=this.scrollX+(delta.x||0),y=this.scrollY+(delta.y||0);return this._scrollToBarPosCore({x,y},isTrigger)}scrollToViewportPos(pos,isTrigger=!0){if(!this._scrollBar)return;const{viewportScrollX,viewportScrollY}=pos;return this._scrollToViewportPosCore({viewportScrollX,viewportScrollY},isTrigger)}scrollByViewportDeltaVal(delta,isTrigger=!0){if(!this._scrollBar||this.isActive===!1)return;const viewportScrollX=this.viewportScrollX+(delta.viewportScrollX||0),viewportScrollY=this.viewportScrollY+(delta.viewportScrollY||0);return this._scrollToViewportPosCore({viewportScrollX,viewportScrollY},isTrigger)}transViewportScroll2ScrollValue(viewportScrollX,viewportScrollY){let x=viewportScrollX-this._paddingStartX,y=viewportScrollY-this._paddingStartY;if(this._scrollBar){x*=this._scrollBar.ratioScrollX,y*=this._scrollBar.ratioScrollY;const{scaleX,scaleY}=this.scene;x*=scaleX,y*=scaleY}else this.scrollX!==void 0&&(x=this.scrollX),this.scrollY!==void 0&&(y=this.scrollY);return{x,y}}transScroll2ViewportScrollValue(scrollX,scrollY){let x=scrollX,y=scrollY;if(this._scrollBar){const{scaleX:scaleX2,scaleY:scaleY2}=this.scene;this._scrollBar.ratioScrollX!==0?(x/=this._scrollBar.ratioScrollX,x/=scaleX2):this.viewportScrollX!==void 0?x=this.viewportScrollX:x=0,this._scrollBar.ratioScrollY!==0?(y/=this._scrollBar.ratioScrollY,y/=scaleY2):this.viewportScrollY!==void 0?y=this.viewportScrollY:y=0}else this.viewportScrollX!==void 0?x=this.viewportScrollX:x=0,this.viewportScrollY!==void 0?y=this.viewportScrollY:y=0;const{scaleX,scaleY}=this._scene.getPrecisionScale();return{x:fixLineWidthByScale(x+this._paddingStartX,scaleX),y:fixLineWidthByScale(y+this._paddingStartY,scaleY)}}getViewportScrollByScrollXY(){const x=this.scrollX,y=this.scrollY;return this.transScroll2ViewportScrollValue(x,y)}getScrollBar(){return this._scrollBar}updateScrollVal(current){this._preScrollX=this.scrollX,this._preScrollY=this.scrollY;const{scrollX,scrollY,viewportScrollX,viewportScrollY}=current;return scrollX!==void 0&&(this.scrollX=scrollX),scrollY!==void 0&&(this.scrollY=scrollY),viewportScrollX!==void 0&&(this._preViewportScrollX=this.viewportScrollX,this.viewportScrollX=viewportScrollX),viewportScrollY!==void 0&&(this._preViewportScrollY=this.viewportScrollY,this.viewportScrollY=viewportScrollY),this}getScrollBarTransForm(){const composeResult=Transform.create();return composeResult.multiply(Transform.create([1,0,0,1,this._left,this._top])),composeResult}shouldIntoRender(){return!(this.isActive===!1||this.width==null||this.height==null||this.width<=1||this.height<=1)}render(parentCtx,objects=[],isMaxLayer=!1){var _a10;if(!this.shouldIntoRender())return;const mainCtx=parentCtx||((_a10=this._scene.getEngine())==null?void 0:_a10.getCanvas().getContext()),sceneTrans=this._scene.transform.clone();sceneTrans.multiply(Transform.create([1,0,0,1,-this.viewportScrollX||0,-this.viewportScrollY||0]));const tm=sceneTrans.getMatrix();mainCtx.save(),this._clipViewport&&(mainCtx.beginPath(),mainCtx.rect(this.left,this.top,this.width||0,this.height||0),mainCtx.clip()),mainCtx.transform(tm[0],tm[1],tm[2],tm[3],tm[4],tm[5]);const viewPortInfo=this._calcViewportInfo();for(let i=0,length=objects.length;i<length;i++)objects[i].render(mainCtx,viewPortInfo);if(this.markDirty(!1),this.markForceDirty(!1),this._preViewBound=this._viewBound,viewPortInfo.shouldCacheUpdate&&(this.preCacheBound=this._cacheBound),mainCtx.restore(),this._scrollBar&&isMaxLayer){mainCtx.save();const scrollbarTM=this.getScrollBarTransForm().getMatrix();mainCtx.transform(scrollbarTM[0],scrollbarTM[1],scrollbarTM[2],scrollbarTM[3],scrollbarTM[4],scrollbarTM[5]),this._drawScrollbar(mainCtx),mainCtx.restore()}this._afterRender()}_makeDefaultViewport(){return{viewBound:{left:-1,top:-1,right:-1,bottom:-1},diffBounds:[],diffX:-1,diffY:-1,viewPortPosition:{top:0,left:0,bottom:0,right:0},viewportKey:this.viewportKey,isDirty:0,isForceDirty:this.isForceDirty,allowCache:!1,cacheBound:{left:-1,top:-1,right:-1,bottom:-1},diffCacheBounds:[],cacheViewPortPosition:{top:0,left:0,bottom:0,right:0},shouldCacheUpdate:0,sceneTrans:Transform.create([1,0,0,1,0,0]),leftOrigin:0,topOrigin:0,bufferEdgeX:this.bufferEdgeX,bufferEdgeY:this.bufferEdgeY}}_calcViewportInfo(){if(this.isActive===!1)return this._makeDefaultViewport();const sceneTrans=this._scene.transform.clone();let width=this._width,height=this._height;const size=this._calcViewPortSize();width=size.width,height=size.height;const xFrom=this.left,xTo=(width||0)+this.left,yFrom=this.top,yTo=(height||0)+this.top,topLeft=this.transformVector2SceneCoord(Vector2.FromArray([xFrom,yFrom])),bottomRight=this.transformVector2SceneCoord(Vector2.FromArray([xTo,yTo])),viewBound={left:topLeft.x,right:bottomRight.x,top:topLeft.y,bottom:bottomRight.y};this._viewBound=viewBound;const preViewBound=this._preViewBound,diffBounds=this._diffViewBound(viewBound,preViewBound),diffX=((preViewBound==null?void 0:preViewBound.left)||0)-viewBound.left,diffY=((preViewBound==null?void 0:preViewBound.top)||0)-viewBound.top,viewPortPosition={top:yFrom,left:xFrom,bottom:yTo,right:xTo},cacheBound=this.expandBounds(viewBound);this.cacheBound=cacheBound,this.preCacheBound||(this.preCacheBound=this.expandBounds(viewBound));let diffCacheBounds=[];this._preCacheVisibleBound&&(diffX<0?this._preCacheVisibleBound.left-=diffX:diffX>0&&(this._preCacheVisibleBound.right-=diffX),diffY<0?this._preCacheVisibleBound.top-=diffY:diffY>0&&(this._preCacheVisibleBound.bottom-=diffY));const cacheViewPortPosition=this.expandBounds(viewPortPosition),shouldCacheUpdate=this._calcCacheUpdate(viewBound,this._preCacheVisibleBound,diffX,diffY);return shouldCacheUpdate&&(diffCacheBounds=this._calcDiffCacheBound(this._preCacheBound,cacheBound)),{viewBound,diffBounds,diffX,diffY,viewPortPosition,viewportKey:this.viewportKey,isDirty:this.isDirty?2:0,isForceDirty:this.isForceDirty,allowCache:this._allowCache,cacheBound,diffCacheBounds,cacheViewPortPosition,shouldCacheUpdate,sceneTrans,cacheCanvas:this._cacheCanvas,leftOrigin:this._leftOrigin,topOrigin:this._topOrigin,bufferEdgeX:this.bufferEdgeX,bufferEdgeY:this.bufferEdgeY,updatePrevCacheBounds:__name(viewbound=>{this.updatePrevCacheBounds(viewbound)},"updatePrevCacheBounds")}}getBounding(){return this._calcViewportInfo()}transformVector2SceneCoord(vec){const sceneTrans=this.scene.transform.clone().invert(),scroll=this.getViewportScrollByScrollXY();return sceneTrans.applyPoint(vec).add(Vector2.FromArray([scroll.x,scroll.y]))}getAbsoluteVector(coord){const sceneTrans=this.scene.transform.clone(),scroll=this.getViewportScrollByScrollXY();return sceneTrans.applyPoint(coord.subtract(Vector2.FromArray([scroll.x,scroll.y])))}onMouseWheel(evt,state){if(!this._scrollBar||this.isActive===!1)return;let isLimitedStore;if(evt.inputIndex===PointerInput.MouseWheelX){const deltaFactor=Math.abs(evt.deltaX),allWidth=this._scene.width,scrollNum=(this.width||1)/allWidth*deltaFactor;evt.deltaX>0?isLimitedStore=this.scrollByBarDeltaValue({x:scrollNum}):isLimitedStore=this.scrollByBarDeltaValue({x:-scrollNum}),this._scene.getParent().classType===RENDER_CLASS_TYPE.SCENE_VIEWER?isLimitedStore!=null&&isLimitedStore.isLimitedX||state.stopPropagation():this._isWheelPreventDefaultX?evt.preventDefault():isLimitedStore!=null&&isLimitedStore.isLimitedX||evt.preventDefault()}if(evt.inputIndex===PointerInput.MouseWheelY){const deltaFactor=Math.abs(evt.deltaY),allHeight=this._scene.height;let scrollNum=(this.height||1)/allHeight*deltaFactor;evt.shiftKey?(scrollNum*=MOUSE_WHEEL_SPEED_SMOOTHING_FACTOR,evt.deltaY>0?isLimitedStore=this.scrollByBarDeltaValue({x:scrollNum}):isLimitedStore=this.scrollByBarDeltaValue({x:-scrollNum}),this._scene.getParent().classType===RENDER_CLASS_TYPE.SCENE_VIEWER?isLimitedStore!=null&&isLimitedStore.isLimitedX||state.stopPropagation():this._isWheelPreventDefaultX?evt.preventDefault():isLimitedStore!=null&&isLimitedStore.isLimitedX||evt.preventDefault()):(evt.deltaY>0?isLimitedStore=this.scrollByBarDeltaValue({y:scrollNum}):isLimitedStore=this.scrollByBarDeltaValue({y:-scrollNum}),this._scene.getParent().classType===RENDER_CLASS_TYPE.SCENE_VIEWER?isLimitedStore!=null&&isLimitedStore.isLimitedY||state.stopPropagation():this._isWheelPreventDefaultY?evt.preventDefault():isLimitedStore!=null&&isLimitedStore.isLimitedY||evt.preventDefault())}evt.inputIndex,PointerInput.MouseWheelZ,this._scene.makeDirty(!0)}isHit(coord){if(this.isActive===!1)return;const{width,height}=this._calcViewPortSize();return coord.x>=this.left&&coord.x<=this.left+(width||0)&&coord.y>=this.top&&coord.y<=this.top+(height||0)}pickScrollBar(coord){if(!this._scrollBar)return;const svCoord=this.getScrollBarTransForm().invert().applyPoint(coord);return this._scrollBar.pick(svCoord)}openClip(){this._clipViewport=!0}closeClip(){this._clipViewport=!1}dispose(){var _a10,_b;this.onMouseWheel$.complete(),this.onScrollAfter$.complete(),this.onScrollEnd$.complete(),(_a10=this._scrollBar)==null||_a10.dispose(),(_b=this._cacheCanvas)==null||_b.dispose(),this._scene.removeViewport(this._viewportKey)}limitedScroll(scrollX,scrollY){var _a10,_b;if(!this._scrollBar)return{scrollX:0,scrollY:0,isLimitedX:!1,isLimitedY:!1};scrollX=scrollX!=null?scrollX:this.scrollX,scrollY=scrollY!=null?scrollY:this.scrollY;const{height,width}=this._calcViewPortSize();this._sceneWCurrVpAfterScale<=width&&(scrollX=0),this._sceneHCurrVpAfterScale<=height&&(scrollY=0);const limitX=(_a10=this._scrollBar)==null?void 0:_a10.limitX,limitY=(_b=this._scrollBar)==null?void 0:_b.limitY;let isLimitedX=!1,isLimitedY=!1;return(scrollX<0||scrollX>limitX)&&(isLimitedX=!0),(scrollY<0||scrollY>limitY)&&(isLimitedY=!0),scrollX=core.Tools.clamp(scrollX,0,limitX),scrollY=core.Tools.clamp(scrollY,0,limitY),{scrollX,scrollY,isLimitedX,isLimitedY}}_limitViewportScroll(viewportScrollX,viewportScrollY){const{width,height}=this._calcViewPortSize(),freezeHeight=this._paddingEndY-this._paddingStartY,freezeWidth=this._paddingEndX-this._paddingStartX,scaleY=this.scene.scaleY,scaleX=this.scene.scaleX,maxViewportScrollX=this._sceneWidthAfterScale-freezeWidth*scaleX-width,maxViewportScrollY=this._sceneHeightAfterScale-freezeHeight*scaleY-height;return{viewportScrollX:core.Tools.clamp(viewportScrollX,this._paddingStartX,maxViewportScrollX/scaleX),viewportScrollY:core.Tools.clamp(viewportScrollY,this._paddingStartY,maxViewportScrollY/scaleY),isLimitedX:viewportScrollX>maxViewportScrollX,isLimitedY:viewportScrollY>maxViewportScrollY}}markDirty(state){state===void 0&&(state=!0),this._isDirty=state}get isDirty(){return this._isDirty}markForceDirty(state){state===void 0&&(state=!0),this._isForceDirty=state}resetPrevCacheBounds(){this._preCacheBound=null}get isForceDirty(){return this._isForceDirty}_resizeCacheCanvas(){var _a10;const{width,height}=this._calcViewPortSize();this.width=width,this.height=height;const scaleX=this.scene.scaleX,scaleY=this.scene.scaleY,canvasW=width!==0?width+this.bufferEdgeX*2*scaleX:0,canvasH=height!==0?height+this.bufferEdgeY*2*scaleY:0;(_a10=this._cacheCanvas)==null||_a10.setSize(canvasW,canvasH),this.cacheBound=this._viewBound,this.preCacheBound=null,this.markForceDirty(!0)}_updateScrollByViewportScrollValue(){if(!this.width||this.width<0||!this.height||this.height<0)return;const{width,height}=this._calcViewPortSize(),sceneWidthCurrVpAfterScale=(this._scene.width-this._paddingEndX)*this._scene.scaleX,sceneHeightCurrVpAfterScale=(this._scene.height-this._paddingEndY)*this._scene.scaleY;if(this._sceneWCurrVpAfterScale=sceneWidthCurrVpAfterScale,this._sceneHCurrVpAfterScale=sceneHeightCurrVpAfterScale,this._sceneWidthAfterScale=this._scene.width*this._scene.scaleX,this._sceneHeightAfterScale=this._scene.height*this._scene.scaleY,this._scrollBar){this._scrollBar.resize(width,height,sceneWidthCurrVpAfterScale,sceneHeightCurrVpAfterScale);const viewportScrollX=this.viewportScrollX,viewportScrollY=this.viewportScrollY;this.scrollToViewportPos({viewportScrollX,viewportScrollY})}this.markForceDirty(!0)}_calcViewPortSize(){const parent=this._scene.getParent(),{width:parentWidth,height:parentHeight}=parent,{scaleX=1,scaleY=1}=this._scene;let width,height;const left=this._leftOrigin*scaleX,top=this._topOrigin*scaleY;return this._left=left,this._top=top,core.Tools.isDefine(this._widthOrigin)||this._explicitViewportWidthSet?width=(this._widthOrigin||0)*scaleX:width=parentWidth-(this._left+this._right),core.Tools.isDefine(this._heightOrigin)||this._explicitViewportHeightSet?height=(this._heightOrigin||0)*scaleY:height=parentHeight-(this._top+this._bottom),{width,height,parentHeight}}_afterRender(){}_emitScrollEnd$(scrollSubParam){clearTimeout(this._scrollStopNum),this._scrollStopNum=setTimeout(()=>{var _a10,_b;this.onScrollEnd$.emitEvent({rawScrollX:scrollSubParam.rawScrollX,rawScrollY:scrollSubParam.rawScrollY,viewport:this,scrollX:this.scrollX,scrollY:this.scrollY,viewportScrollX:this.viewportScrollX,viewportScrollY:this.viewportScrollY,limitX:(_a10=this._scrollBar)==null?void 0:_a10.limitX,limitY:(_b=this._scrollBar)==null?void 0:_b.limitY,isTrigger:!1})},2)}_scrollToBarPosCore(rawScrollXY,isTrigger=!0){var _a10,_b,_c,_d,_e;if(this._scrollBar==null)return;let scrollX=rawScrollXY.x,scrollY=rawScrollXY.y;const afterLimit=this.limitedScroll(scrollX,scrollY),viewportScrollXY=this.transScroll2ViewportScrollValue(afterLimit.scrollX,afterLimit.scrollY);this.scrollX=scrollX=afterLimit.scrollX,this.scrollY=scrollY=afterLimit.scrollY,this.viewportScrollX=viewportScrollXY.x,this.viewportScrollY=viewportScrollXY.y;const scrollSubParam={viewport:this,scrollX,scrollY,viewportScrollX:viewportScrollXY.x,viewportScrollY:viewportScrollXY.y,rawScrollX:rawScrollXY.x,rawScrollY:rawScrollXY.y,limitX:(_a10=this._scrollBar)==null?void 0:_a10.limitX,limitY:(_b=this._scrollBar)==null?void 0:_b.limitY,isTrigger};return(_c=this._scrollBar)==null||_c.makeDirty(!0),this.onScrollAfter$.emitEvent(scrollSubParam),this._emitScrollEnd$(scrollSubParam),this.onScrollByBar$.emitEvent({viewport:this,scrollX:this.scrollX,scrollY:this.scrollY,viewportScrollX:this.viewportScrollX,viewportScrollY:this.viewportScrollY,limitX:(_d=this._scrollBar)==null?void 0:_d.limitX,limitY:(_e=this._scrollBar)==null?void 0:_e.limitY,isTrigger}),afterLimit}_scrollToViewportPosCore(scrollVpPos,isTrigger=!0){var _a10,_b,_c,_d,_e;if(this._scrollBar==null)return;let viewportScrollX=(_a10=scrollVpPos.viewportScrollX)!=null?_a10:this.viewportScrollX,viewportScrollY=(_b=scrollVpPos.viewportScrollY)!=null?_b:this.viewportScrollY;const rawScrollXY=this.transViewportScroll2ScrollValue(viewportScrollX,viewportScrollY),afterLimitViewportXY=this._limitViewportScroll(viewportScrollX,viewportScrollY);viewportScrollX=afterLimitViewportXY.viewportScrollX,viewportScrollY=afterLimitViewportXY.viewportScrollY;const afterLimitScrollXY=this.transViewportScroll2ScrollValue(viewportScrollX,viewportScrollY),scrollX=afterLimitScrollXY.x,scrollY=afterLimitScrollXY.y;this._preScrollX=this.scrollX,this._preScrollY=this.scrollY,this._preViewportScrollX=this.viewportScrollX,this._preViewportScrollY=this.viewportScrollY,this.scrollX=scrollX,this.scrollY=scrollY,this.viewportScrollX=viewportScrollX,this.viewportScrollY=viewportScrollY;const scrollSubParam={isTrigger,viewport:this,scrollX:this.scrollX,scrollY:this.scrollY,viewportScrollX,viewportScrollY,rawScrollX:rawScrollXY.x,rawScrollY:rawScrollXY.y,limitX:(_c=this._scrollBar)==null?void 0:_c.limitX,limitY:(_d=this._scrollBar)==null?void 0:_d.limitY};return(_e=this._scrollBar)==null||_e.makeDirty(!0),this.onScrollAfter$.emitEvent(scrollSubParam),this._emitScrollEnd$(scrollSubParam),afterLimitViewportXY}expandBounds(value){return{left:value.left-this.bufferEdgeX-0,right:value.right+this.bufferEdgeX+0,top:value.top-this.bufferEdgeY-0,bottom:value.bottom+this.bufferEdgeY+0}}updatePrevCacheBounds(viewBound){viewBound&&(this.preCacheBound=this.cacheBound=this.expandBounds(viewBound))}_calcCacheUpdate(viewBound,preCacheVisibleBound,_diffX,_diffY){if(!this._cacheCanvas)return 0;if(!preCacheVisibleBound)return 1;const viewBoundOutCacheArea=viewBound.right>preCacheVisibleBound.right||viewBound.top<preCacheVisibleBound.top||viewBound.left<preCacheVisibleBound.left||viewBound.bottom>preCacheVisibleBound.bottom?1:0,edgeX=this.bufferEdgeX/50,edgeY=this.bufferEdgeY/50;return(preCacheVisibleBound.right-viewBound.right<edgeX||viewBound.left-preCacheVisibleBound.left<edgeX||viewBound.top-preCacheVisibleBound.top<edgeY||preCacheVisibleBound.bottom-viewBound.bottom<edgeY?5:0)|viewBoundOutCacheArea}_diffViewBound(mainBound,subBound){if(subBound==null)return[mainBound];const range1={startRow:mainBound.top,endRow:mainBound.bottom,startColumn:mainBound.left,endColumn:mainBound.right},range2={startRow:subBound.top,endRow:subBound.bottom,startColumn:subBound.left,endColumn:subBound.right};return subtractViewportRange(range1,range2).map(range=>{const{startRow,endRow,startColumn,endColumn}=range;return{left:startColumn,top:startRow,right:endColumn,bottom:endRow}})}_calcDiffCacheBound(prevBound,currBound){if(!prevBound)return[currBound];const additionalAreas=[];currBound.left<prevBound.left&&additionalAreas.push({top:currBound.top,bottom:currBound.bottom,left:currBound.left,right:prevBound.left}),currBound.right>prevBound.right&&additionalAreas.push({top:currBound.top,bottom:currBound.bottom,left:prevBound.right,right:currBound.right}),currBound.top<prevBound.top&&additionalAreas.push({top:currBound.top,bottom:prevBound.top,left:Math.max(prevBound.left,currBound.left),right:Math.min(prevBound.right,currBound.right)}),currBound.bottom>prevBound.bottom&&additionalAreas.push({top:prevBound.bottom,bottom:currBound.bottom,left:Math.max(prevBound.left,currBound.left),right:Math.min(prevBound.right,currBound.right)});const expandX=this.bufferEdgeX,expandY=this.bufferEdgeY;for(const bound of additionalAreas)bound.left=bound.left-expandX,bound.right=bound.right+expandX,bound.top=bound.top-expandY,bound.bottom=bound.bottom+expandY;return additionalAreas}_drawScrollbar(ctx){if(!this._scrollBar)return;const parent=this._scene.getParent();parent.classType===RENDER_CLASS_TYPE.SCENE_VIEWER?this._scrollBar.render(ctx):parent.classType===RENDER_CLASS_TYPE.ENGINE&&this._scrollBar.render(ctx)}_setViewportSize(props){core.Tools.isDefine(props==null?void 0:props.top)&&(this.top=props.top),core.Tools.isDefine(props==null?void 0:props.left)&&(this.left=props.left),core.Tools.isDefine(props==null?void 0:props.bottom)&&(this.bottom=props.bottom),core.Tools.isDefine(props==null?void 0:props.right)&&(this.right=props.right),core.Tools.isDefine(props==null?void 0:props.width)?(this.width=props==null?void 0:props.width,this._widthOrigin=props==null?void 0:props.width):(this.width=null,this._widthOrigin=null),core.Tools.isDefine(props==null?void 0:props.height)?(this.height=props==null?void 0:props.height,this._heightOrigin=props==null?void 0:props.height):(this.height=null,this._heightOrigin=null)}_mainCanvasResizeHandler(){this.markForceDirty(!0)}};__name(_Viewport,"Viewport");let Viewport=_Viewport;exports.BASE_OBJECT_ARRAY=BASE_OBJECT_ARRAY;exports.BORDER_TYPE=BORDER_TYPE;exports.Background=Background$1;exports.BaseObject=BaseObject;exports.Border=Border$1;exports.BreakType=BreakType;exports.CHECK_OBJECT_ARRAY=CHECK_OBJECT_ARRAY;exports.CIRCLE_OBJECT_ARRAY=CIRCLE_OBJECT_ARRAY;exports.COLOR_BLACK_RGB=COLOR_BLACK_RGB;exports.CURSOR_TYPE=CURSOR_TYPE;exports.Canvas=Canvas;exports.CanvasRenderMode=CanvasRenderMode;exports.Checkbox=Checkbox;exports.Circle=Circle;exports.ColumnHeaderLayout=ColumnHeaderLayout;exports.ComponentExtension=ComponentExtension;exports.Control=Control;exports.Custom=Custom;exports.CustomObject=CustomObject;exports.DEFAULT_DOCUMENT_FONTSIZE=DEFAULT_DOCUMENT_FONTSIZE;exports.DEFAULT_FONTFACE_PLANE=DEFAULT_FONTFACE_PLANE;exports.DEFAULT_FRAME_LIST_SIZE=DEFAULT_FRAME_LIST_SIZE;exports.DEFAULT_FRAME_SAMPLE_SIZE=DEFAULT_FRAME_SAMPLE_SIZE;exports.DEFAULT_MEASURE_TEXT=DEFAULT_MEASURE_TEXT;exports.DEFAULT_OFFSET_SPACING=DEFAULT_OFFSET_SPACING;exports.DEFAULT_PADDING_DATA=DEFAULT_PADDING_DATA;exports.DEFAULT_SKELETON_FOOTER=DEFAULT_SKELETON_FOOTER;exports.DEFAULT_SKELETON_HEADER=DEFAULT_SKELETON_HEADER;exports.DOCUMENT_CONTEXT_CLIP_TYPE=DOCUMENT_CONTEXT_CLIP_TYPE;exports.DRAWING_OBJECT_LAYER_INDEX=DRAWING_OBJECT_LAYER_INDEX;exports.DRAWING_OBJECT_LOWER_LAYER_INDEX=DRAWING_OBJECT_LOWER_LAYER_INDEX;exports.DRAWING_OBJECT_UPPER_LAYER_INDEX=DRAWING_OBJECT_UPPER_LAYER_INDEX;exports.DashedRect=DashedRect;exports.DataStreamTreeNode=DataStreamTreeNode;exports.DeviceInputEventType=DeviceInputEventType;exports.DeviceType=DeviceType;exports.DocBackground=DocBackground;exports.DocumentEditArea=DocumentEditArea;exports.DocumentSkeleton=DocumentSkeleton;exports.DocumentSkeletonPageType=DocumentSkeletonPageType;exports.DocumentViewModel=DocumentViewModel;exports.Documents=Documents;exports.DocumentsSpanAndLineExtensionRegistry=DocumentsSpanAndLineExtensionRegistry;exports.Drawing=Drawing;exports.EMOJI_REG=EMOJI_REG;exports.Engine=Engine;exports.EventConstants=EventConstants;exports.FIX_ONE_PIXEL_BLUR_OFFSET=FIX_ONE_PIXEL_BLUR_OFFSET;exports.Font=Font;exports.FontCache=FontCache;exports.GlyphType=GlyphType;exports.Group=Group;exports.HitCanvas=HitCanvas;exports.INITIAL_MATRIX=INITIAL_MATRIX;exports.INITIAL_Path2=INITIAL_Path2;exports.IRenderManagerService=IRenderManagerService;exports.IRenderingEngine=IRenderingEngine;exports.Image=Image;exports.IsSafari=IsSafari;exports.LINK_VIEW_PORT_TYPE=LINK_VIEW_PORT_TYPE;exports.Layer=Layer;exports.LineType=LineType;exports.Liquid=Liquid;exports.MAXIMUM_ROW_HEIGHT=MAXIMUM_ROW_HEIGHT;exports.MIDDLE_CELL_POS_MAGIC_NUMBER=MIDDLE_CELL_POS_MAGIC_NUMBER;exports.Marker=Marker;exports.NORMAL_TEXT_SELECTION_PLUGIN_STYLE=NORMAL_TEXT_SELECTION_PLUGIN_STYLE;exports.ORIENTATION_TYPE=ORIENTATION_TYPE;exports.ObjectType=ObjectType;exports.PATH_OBJECT_ARRAY=PATH_OBJECT_ARRAY;exports.PageLayoutType=PageLayoutType;exports.Path=Path;exports.Path2=Path2;exports.PerformanceMonitor=PerformanceMonitor;exports.PointerInput=PointerInput;exports.RECT_OBJECT_ARRAY=RECT_OBJECT_ARRAY;exports.REGULAR_POLYGON_OBJECT_ARRAY=REGULAR_POLYGON_OBJECT_ARRAY;exports.RENDER_CLASS_TYPE=RENDER_CLASS_TYPE;exports.RENDER_RAW_FORMULA_KEY=RENDER_RAW_FORMULA_KEY;exports.RICHTEXT_OBJECT_ARRAY=RICHTEXT_OBJECT_ARRAY;exports.Rect=Rect;exports.RegularPolygon=RegularPolygon;exports.RenderComponent=RenderComponent;exports.RichText=RichText;exports.RollingAverage=RollingAverage;exports.RowHeaderLayout=RowHeaderLayout;exports.SHAPE_OBJECT_ARRAY=SHAPE_OBJECT_ARRAY;exports.SHAPE_TYPE=SHAPE_TYPE;exports.SHEET_EXTENSION_PREFIX=SHEET_EXTENSION_PREFIX;exports.SHEET_EXTENSION_TYPE=SHEET_EXTENSION_TYPE;exports.SHEET_VIEWPORT_KEY=SHEET_VIEWPORT_KEY;exports.SLIDE_NAVIGATION_KEY=SLIDE_NAVIGATION_KEY;exports.Scene=Scene;exports.SceneCanvas=SceneCanvas;exports.SceneViewer=SceneViewer;exports.ScrollBar=ScrollBar;exports.ScrollTimer=ScrollTimer;exports.ScrollTimerType=ScrollTimerType;exports.Shape=Shape;exports.SheetColumnHeaderExtensionRegistry=SheetColumnHeaderExtensionRegistry;exports.SheetComponent=SheetComponent;exports.SheetExtension=SheetExtension;exports.SheetRowHeaderExtensionRegistry=SheetRowHeaderExtensionRegistry;exports.ShowGridlinesState=ShowGridlinesState;exports.SkeletonType=SkeletonType;exports.Slide=Slide;exports.Spreadsheet=Spreadsheet;exports.SpreadsheetColumnHeader=SpreadsheetColumnHeader;exports.SpreadsheetExtensionRegistry=SpreadsheetExtensionRegistry;exports.SpreadsheetHeader=SpreadsheetHeader;exports.SpreadsheetRowHeader=SpreadsheetRowHeader;exports.TRANSFORM_CHANGE_OBSERVABLE_TYPE=TRANSFORM_CHANGE_OBSERVABLE_TYPE;exports.ThinEngine=ThinEngine;exports.ThinScene=ThinScene;exports.Transform=Transform;exports.UniverPrintingContext=UniverPrintingContext;exports.UniverRenderingContext=UniverRenderingContext;exports.UniverRenderingContext2D=UniverRenderingContext2D;exports.UniverRenderingContextWebGL=UniverRenderingContextWebGL;exports.UniverRenderingContextWebGPU=UniverRenderingContextWebGPU;exports.VERTICAL_ROTATE_ANGLE=VERTICAL_ROTATE_ANGLE;exports.Vector2=Vector2;exports.Viewport=Viewport;exports.calculateRectRotate=calculateRectRotate;exports.cancelRequestFrame=cancelRequestFrame;exports.checkStyle=checkStyle;exports.clampRange=clampRange;exports.clearLineByBorderType=clearLineByBorderType;exports.convertTextRotation=convertTextRotation;exports.createCanvasElement=createCanvasElement;exports.createImageElement=createImageElement;exports.degToRad=degToRad;exports.drawDiagonalLineByBorderType=drawDiagonalLineByBorderType;exports.drawLineByBorderType=drawLineByBorderType;exports.expandRangeIfIntersects=expandRangeIfIntersects;exports.fixLineWidthByScale=fixLineWidthByScale;exports.generateRandomKey=generateRandomKey;exports.getCellByIndex=getCellByIndex;exports.getCellByIndexWithMergeInfo=getCellByIndexWithMergeInfo;exports.getCellPositionByIndex=getCellPositionByIndex;exports.getCharSpaceApply=getCharSpaceApply;exports.getColor=getColor;exports.getCurrentScrollXY=getCurrentScrollXY;exports.getDPI=getDPI;exports.getDevicePixelRatio=getDevicePixelRatio;exports.getDocsSkeletonPageSize=getDocsSkeletonPageSize;exports.getFontStyleString=getFontStyleString;exports.getGroupState=getGroupState;exports.getLastLine=getLastLine;exports.getLineOffset=getLineOffset;exports.getLineWidth=getLineWidth;exports.getLineWith=getLineWith;exports.getNumberUnitValue=getNumberUnitValue;exports.getOffsetRectForDom=getOffsetRectForDom;exports.getPageFromPath=getPageFromPath;exports.getParagraphByGlyph=getParagraphByGlyph;exports.getPointerPrefix=getPointerPrefix;exports.getRotateOffsetAndFarthestHypotenuse=getRotateOffsetAndFarthestHypotenuse;exports.getRotateOrientation=getRotateOrientation;exports.getScale=getScale;exports.getSizeForDom=getSizeForDom;exports.getSystemHighlightColor=getSystemHighlightColor;exports.getTableIdAndSliceIndex=getTableIdAndSliceIndex;exports.getTranslateInSpreadContextWithPixelRatio=getTranslateInSpreadContextWithPixelRatio;exports.getValueType=getValueType;exports.glyphIterator=glyphIterator;exports.hasAllLatin=hasAllLatin;exports.hasArabic=hasArabic;exports.hasBasicLatin=hasBasicLatin;exports.hasCJK=hasCJK;exports.hasCJKPunctuation=hasCJKPunctuation;exports.hasCJKText=hasCJKText;exports.hasLatinExtendedA=hasLatinExtendedA;exports.hasLatinExtendedB=hasLatinExtendedB;exports.hasLatinOneSupplement=hasLatinOneSupplement;exports.hasListGlyph=hasListGlyph;exports.hasSpace=hasSpace;exports.hasTibetan=hasTibetan;exports.hasUnMergedCellInRow=hasUnMergedCellInRow;exports.inCurrentAndAboveViewRanges=inCurrentAndAboveViewRanges;exports.inRowViewRanges=inRowViewRanges;exports.inViewRanges=inViewRanges;exports.injectStyle=injectStyle;exports.isArray=isArray;exports.isCjkCenterAlignedPunctuation=isCjkCenterAlignedPunctuation;exports.isCjkLeftAlignedPunctuation=isCjkLeftAlignedPunctuation;exports.isCjkRightAlignedPunctuation=isCjkRightAlignedPunctuation;exports.isDate=isDate;exports.isFirstGlyph=isFirstGlyph;exports.isFunction=isFunction;exports.isIndentByGlyph=isIndentByGlyph;exports.isLastGlyph=isLastGlyph;exports.isNumber=isNumber;exports.isObject=isObject;exports.isPlaceholderOrSpace=isPlaceholderOrSpace;exports.isRectIntersect=isRectIntersect;exports.isRegExp=isRegExp;exports.isSameLine=isSameLine;exports.isString=isString;exports.lineIterator=lineIterator;exports.mergeInfoOffset=mergeInfoOffset;exports.parseDataStreamToTree=parseDataStreamToTree;exports.pixelToPt=pixelToPt;exports.precisionTo=precisionTo;exports.ptToMM=ptToMM;exports.ptToPixel=ptToPixel;exports.ptToPx=ptToPx;exports.pxToInch=pxToInch;exports.pxToNum=pxToNum;exports.pxToPt=pxToPt;exports.radToDeg=radToDeg;exports.requestNewFrame=requestNewFrame;exports.setLineType=setLineType;exports.startWithEmoji=startWithEmoji;exports.toPx=toPx;exports.transformObjectOutOfGroup=transformObjectOutOfGroup;
|